找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
S7-1500与变频器采用Modbus RTU通信,S7-1500上的CM PtP RS232 HF或CM PtP RS422/485 HF属于通信主站,变频器属于从站(不同的变频器需要不同的站地址)。
首先,S7-1500需要指令Modbus_Comm_Load初始化通信模块CM PtP,包含:端口CM端口值(可能有等多个通信端口)、奇偶校验、通信速率、工作模式以及与消息指令(这里指主站指令Modbus_Master)关联的MB_DB参数(即Modbus_Master背景数据块中的MB_DB参数)。这一指令只需要执行一次即可,若CM PtP模块在中央机架即CPU机架上可采用FirstsSan调用,若在分布式机架上,考虑通信中断或模块插拔,往往采用循环中断调用。
然后是轮询,必须是轮询,任何时刻只能有一个Modbus_Master指令激活运行。由于有多个变频器,而且对每一个变频器可能涉及读和写,因此必然用到多个Modbus_Master指令,但前面的初始化指令只引用了一个Modbus_Master背景数据块中的MB_DB参数,因此对所有的同一个通信模块的Modbus_Master指令必须采用同一个背景数据块,而对不同的通信模块的Modbus_Master指令必须采用不同的背景数据块。
每一个Modbus_Master指令都有一个参数DATA_PTR 。每一条Modbus_Master把接收到的来自不同类型、不同区域、不同设备的数据存入了DATA_PTR指向的不同存储空间(即要求每一条指令DATA_PTR赋值不同且不能重叠)。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!