电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> plc工业软件使用 >> 正文

S7-200与变频器的MODBUS RTU通讯实例

作者:佚名    文章来源:本站原创    点击数:    更新时间:2019/6/21

1、本例程的系统配置:

(1)安装Step7Micro/Win software和Modbus协议库,西门子在Micro/WINV4.0 SP5

中正式推出ModbusRTU主站协议库。

(2)PC/PPI电缆、S7-200、电源模块、通信电缆。

(3)V20驱动装置和一台PC机。

2、在使用MicroWinsoftware 创建项目之前,确认Modbus Master 库文件已经安装:

3、创建一个例程:

3.1 设置通讯接口

本例程使用PC/PPI电缆。

3.2 建立PC和PLC之间的连接

“双击刷新”搜索到PLC后,点击”确认”。

3.3 用电缆将S7-200Port 1端口与V20的RS485接口相连(注意端口连接规则:V20的

P+对3、N-对8),如下图所示:

3.4 变频器参数设置:

V20 可以通过选择连接宏Cn011实现ModbusRTU控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:

参数 描述 Cn011默认值 实际设置 备注
P0700[0] 选择命令源 5 5 RS485为命令源
P1000[0] 选择频率 5 5 RS485为速度设定值
P2023[0] RS485协议选择 2 2 MODBUS RTU协议
P2010[0] USS/MODBUS波特率 6 6 波特率为9600bps
P2021[0] MODBUS地址 1 3 V20的MODBUS 地址
P2022[0] MODBUS应答超时 1000 2000 向主站发回应答的最大时间
P2014[0] USS/MODBUS报文间断时间 100 0 接收数据时间
3.5 V20常用寄存器说明
寄存器编号 描述 访问类型 定标系数 读取 写入
控制数据 40100 控制字 R/W 1 PZD1 PZD1
40101 主设定值 R/W 1 PZD2 PZD2
状态数据 40110 状态字 R 1 PZD1
40111 速度实际值 R 1 PZD2
P1120 40322 斜坡上升时间 R/W 100 P1120 P1120
P1121 40323 斜坡下降时间 R/W 100 P1121 P1121

3.6 库存储区分配:在编译程序之前,选择“程序块”->“ 库” 右键,选择“库存储区”。在点击“建议地址” 选择V存储区的地址后点击“OK”退出。

3.6 初始化ModbusMaster端口:

EN 使能:必须保证每一扫描周期都被使能(使用SM0.0)。

Mode 模式:为1 时,使能Modbus 协议功能;为0 时恢复为系统PPI 协议。

Baud 波特率:支持的通讯波特率为4800,9600,19200 。

Parity 校验:校验方式选择(V20采用偶校验)

0=无校验

1=奇较验

2=偶较验

Timeout 超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000 毫秒(1 秒),允许设置的范围为1 - 32767。

注意:这个值必须设置足够大以保证从站有时间响应。

Done 完成位:初始化完成,此位会自动置1。

Error:初始化错误代码。

3.7 调用Modbus RTU 主站读写功能块MBUS_MSG,发送一个Modbus请求:

3.7.1 写入控制字1和速度实际值:

EN 使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能。

注意:V20对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻最大允许操作125 个保持寄存器。

First 读写请求位:每一个新的读写请求必须使用脉冲触发。

Slave 从站地址:可选择的范围1 - 247 。

RW 请求方式:0 =读,1 =写。

Count 数据个数通讯的数据个数(位或字的个数)。

注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG 指令)。

DataPtr 数据指针:1. 如果是读指令,读回的数据放到这个数据区中;

2. 如果是写指令,要写出的数据放到这个数据区中。

Done 完成位:读写功能完成位。

Error 错误代码:只有在Done 位为1时,错误代码才有效。

常用的控制字:

047E :运行准备

047F :正转启动

0C7F :反转启动

04FE :故障确认

3.7.2 读取状态字1和速度实际值:

3.7.3 读取斜坡上升时间P1120:

3.7.4 写入斜坡下降时间P1121:

3.8 通过状态表控制和读取变频器的状态:

对于斜坡上升时间P1120,从寄存器列表中可以看到40322的寄存器的定标系数是100,读取过来的值为:VW1310=1000,所以参数P1120=1000/100=10。

4 Modbus错误代码:

Done 完成位:读写功能完成位

Error 错误代码:只有在Done 位为1时,错误代码才有效

代码

描述

0

无错误

1

响应校验错误

2

未用

3

接收超时(从站无响应)

4

请求参数错误(slave address, modbus address, count ,R/W)

5

Modbus /自由口未使能

6

Modbus 正在忙于其他请求

7

响应错误(响应不是请求的操作)

8

响应CRC校验和错误

101

从站不支持请求的功能

102

从站不支持数据地址

103

从站不支持此种数据类型

104

从站设备故障

105

从站接收了信息,但是响应被延迟

106

从站忙,拒绝了该信息

107

从站拒绝了信息

108

从站存储区奇偶错误

Tags:S7-200,MODBUS,通讯,变频器  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询