- {{item.name}}
S7-1500 CPU 使用"Modbus_Master", "Modbus_Slave" 和 "Modbus_Comm_Load"指 令的注意事项
- 0
- 551
- 1303
当使用'Modbus_Master', 'Modbus_Slave' 和'Modbus_Comm_Load' 指令时,本条目的内容有助于调试和故障诊断。
描述
当使用"Modbus_Master", "Modbus_Slave" 和"Modbus_Comm_Load" 指令时,本条目的内容有助于调试和故障诊断。 "Modbus_Master"注意事项
以下注释是 STEP 7 文件的一个补充说明。
- STATUS 16#818B: "DATA_PTR" 参数指向的是“优化的” DB 块 (与该指令在线帮助相反,STATUS 没有16#818C 的状态输出)。
- 如果参数 "MB_ADDR" 给定不正确,即使 “REQ” 输入信号状态为"false",程序块依然会报错。
- 如果参数 "DATA_PTR" 指向的地址区太小(例如,1个字节),则输出参数如下:
DONE = true, ERROR = true, STATUS = 0 - 如果请求写或者读的区域(参数"DATA_ADDR" 和"DATA_LEN")比允许操作的工作区大,消息请求仍然会被发送到Modbus从站。
"Modbus_Slave"注意事项
本注意事项是STEP 7 文件的一个补充说明。
- STATUS 16#818C: "MB_HOLD_REG" 参数指向的地址区太小(例如,1个字节)(STATUS值 16#8187并不会被做为错误指示而输出,这和文档中的描述不一致)。
- 如果读或写任务超出了参数 ”MB_HOLD_REG" 定义的数据范围或超出了输入和输出区,则来自于公共静态变量的计数值 "Exception_Count"参数不会增加。
"Modbus_Comm_Load"注意事项
为了使用"Modbus_Master"和 "Modbus_Slave"指令,必须使用"Modbus_Comm_Load"指令来对CM PtP 模块进行初始化。
当插拔CM PtP模板或者模板断电导致通讯中断后,必须在"Modbus_Master"或者"Modbus_Slave"指令执行前再次调用"Modbus_Comm_Load"指令。为了保证用户程序无故障运行,必须对用户程序做如下更改。
- 在程序中添加组织块 OB83 ("插拔模板")用来响应通信模块的插拔中断。
图. 01
当S7 站点出现插拔中断时,该块总是会被执行,并且触发该OB 的模块参数也会被传递。
- 打开OB83 ("插拔模板").
在用户程序中比较 "LADDR" 参数和CM PtP模块的硬件标识符。
如果OB83 由执行 “Modbus RTU" 的CM PtP模 块触发,则必须执行重新初始化模块的指令"Modbus_Comm_Load"。
- 为了执行重新初始化的可以设一个标志位信号,例如用一个信号(此处"DB1".Call_Modbus_Comm_Load)来进行评估。
图. 02
只要该标志位被设置为"TRUE",则 "Modbus_Comm_Load" 指令必须重新调用以初始化模块。
- 当CM PTP模块被插拔时,"Modbus_Master" 或 "Modbus_Slave" 希望发送一个确认信号,而这个等待状态必须被终止。在这种情况下,必须将"Modbus_Master" 或 "Modbus_Slave"的背景DB中的静态参数“MB_state”赋值为0,如果是从站,同时需要将Modbus_Slave的背景DB的静态参数"SEND_PTP. y_state"赋值为"0"。
- 只要初始化执行正确,标志位会被再次复位。
在入口ID 68202723 的示例程序中,该评估位同样在OB 83中被检查。
- 为了防止ET 200SP 接口模块出现故障,需要在程序中添加OB86 ("机架或站点故障中断") 。
图. 03
该块会在分布式IO 站出现故障时被调用(例如:掉电)。
- 打开OB86 ("机架故障中断").
在用户程序中比较 "LADDR" 参数和接口模块的硬件标识符。
如果OB 86由ET 200SP 掉站触发执行,则必须再次执行"Modbus_Comm_Load"指令用来初始化模块。
- 可设置标志位来触发重新初始化,例如(此处:"DB1".Call_Modbus_Comm_Load),可用来在程序中查询,一旦标志 位被置为“True”位,则必须再次调用"Modbus_Comm_Load"来重新初始化模块。
- 当分布式IO(IM 模块)接口模块断电时,"Modbus_Master" 或 "Modbus_Slave"希望发送一个确认信号,而这个等待状态必须被终止。在这种情况下,必须将"Modbus_Master" 或 "Modbus_Slave"的背景DB中的静态参数“MB_state”赋值为0,如果是从站,同时需要将Modbus_Slave的背景DB的静态参数"SEND_PTP. y_state"赋值为"0"。
- 一旦初始化执行成功,标志位会再次复位。
在入口 ID 68202723 的示例程序中,该评估位同样在OB 83中被检查。
附加信息
关于 CM PtP 模块如何使用 Modbus RTU 程序块以及例程下载请参见入口 ID 68202723.
附加关键词
Modbus_Master, Modbus RTU, Modbus_Slave, Modbus_Comm_Load
您可以前往全球资源库查看此文档:https://support.industry.siemens.com/cs/cn/zh/view/107248379
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 在变频器二次侧使用3RV马达保护断路器和3RU热过载继电器的双金属片的注意事项
- PROFINET应用中使用过程中断的注意事项
- 从 WinCC/PCS 7 工程师站向操作员站下载程序的注意事项 (ES-OS 下载)?
- PROFINET应用中访问外设IO地址的注意事项
- HSR和MRP在PROFINET应用中的注意事项
- 中国市场进口固态开关元件 3RF2 或3RF24/34的注意事项
- S7-1500 PLC连接SINAMICS S200组态工艺对象时参数设置注意事项
- CFC功能库使用注意事项
- 组态拓扑和使用无CIR功能的IO设备时,有哪些注意事项?
- SINAMICS_SLM 整流回馈模块使用注意事项
{{item.nickName}}