实例之设备组态
1、组态CM1241 RS422/485模块
(1)打开设备视图,添加S7-1200CPU,并在硬件目录里找到“通信模块”→“点到点”→“CM1241(RS422/485)”,拖拽此模块至CPU左侧即可,如下图4所示:
图4. 添加 CM 1241 RS422/485模块
注意:固件版本>=V2.1 的CM1241 RS422/485模块,才支持新版本Modbus RTU指令。
(2)在“设备视图”中用鼠标选中CM1241(RS422/485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数,本例以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1为例。如CM1241 端口组态设置如下图5所示:
图5.CM1241 RS422/485 模块端口组态
(3)Zui后在“硬件标识符”里确认一下硬件标识符为269(该参数在程序编程中会被使用),如下图6所示:
图6 硬件标识符
(4)S7-1200 还提供了系统和时钟存储器功能,为了便于后续指令,建议使能该功能。在CPU“属性”→“常规”→“系统和时钟存储器”使能系统和时钟存储器功能,如图7所示。
图7. 系统和时钟存储器功能
2、组态ET200 SP CM PtP 模块
(1)插入一个ET200SP分布式站点,打开网络视图并拖入一个ET200SP站点,并将其分配给相应的IO 控制器(本例CPU1217C为 IO 控制器),如图8所示:
图8. 插入ET200SP站点
图9. CM PTP 操作模式
注意:ET200SP站点中,服务器模块是必须组态的。服务器模块随接口模块一起采购,无需单独购买。ET200SP接口模块需要为其分配IP地址和DeviceName, 有关ET200 SP 分布式IO 组态详细步骤,请参考《ET200 SP 使用快速入门》,本例不再描述ProfinetIO通信的相关设置与步骤。《ET200 SP 使用快速入门》下载链接:
https://support.industry.siemens.com/cs/cn/zh/view/78304711
(3)在“属性”→“常规”→“接口”→“端口组态”中配置此模块端口组态参数,本例设定"协议":"Freeport/Modbus";"端口参数"设置:传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1为例。端口组态设置如下图10所示:
图10. CM PTP 端口组态
(4)Zui后需要在“硬件标识符”里确认一下CM PTP 模块硬件标识符,该参数在程序编程中会被使用。
(四)实例之软件编程
1、Modbus RTU 主站编程
Modbus RTU主站编程需要调用Modbus_Comm_Load 指令和Modbus_Master指令,其中Modbus_Comm_Load 指令通过 Modbus RTU 协议对通信模块进行组态,Modbus_Master指令可通过由 Modbus_Comm_Load 指令组态的端口作为 Modbus 主站进行通信, Modbus_Comm_Load指令的 MB_DB 参数必须连接到 Modbus_Master 指令的(静态)MB_DB 参数。本例中分布式机架ET200SP中 CM PTP 模块作为Modbus RTU主站,其相关编程步骤如下:
(1)OB1 中插入一个FC函数,并在函数中拖入Modbus_Comm_Load 指令和Modbus_Master指令。如图11所示:
图11. 拖入Modbus RTU 主站指令
Modbus_Comm_Load指令各参数意义如下表1所示:
引脚 | 说明 |
---|---|
REQ | 上升沿触发 |
PORT | 通信端口的硬件标识符 |
BAUD | 波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 |
PARITY | 奇偶检验选择:0-无;1-奇校验;2-偶校验 |
FLOW_CTRL | 流控制选择:0-(默认值)无流控制 |
RTS_ON_DLY | RTS延时选择:0-(默认值) |
RTS_OFF_DLY | RTS关断延时选择:0-(默认值) |
RESP_TO | 响应超时:默认值 = 1000 ms。MB_MASTER 允许用于从站响应的时间(以毫秒为单位)。 |
MB_DB | 对 Modbus_Master 或 Modbus_Slave 指令的背景数据块的引用。 |
DONE | 如果上一个请求完成并且没有错误,DONE 位将变为 TRUE 并保持一个周期。 |
ERROR | 如果上一个请求完成出错,则 ERROR 位将变为 TRUE 并保持一个周期。STATUS 参数中的错误代码仅在 ERROR =TRUE 的周期内有效。 |
STATUS | 端口组态错误代码,请参考TIA 软件在线帮助或S7-1200 系统手册。 |
表1 MB_COMM_LOAD指令参数意义