找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1、编程时使用SM0.1调用子程序MBUS_INIT进行初始化;
2、MBUS_INIT 指令的主要管脚
Mode 模式选择:1 启动/停止Modbus,1=启动;0=停止
Addr 从站地址:2 Modbus从站地址,取值1~247
Baut 波特率: 9600
Parity 0 奇偶校验:0=无校验;1=奇校验;2=偶校验
Port 端口:0 CPU 本体的 RS 485口 0=CPU中集成的 RS-485,1=可选信号板上的RS-485 或 RS-232。
MaxHold: 一个浮点数是2个WORD ,所以这里最小要填 2,不能填1,如果还有更多的 VW 要做为保持寄存器区,这个值还要填的更大,并且将从 VB1000 开始的一片连续的 VW 作为从站的保持寄存器区
另外还要注意波特率、无校验、数据位8位、停止位1 位 这些通讯参数与主站要统一。
https://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Slave/Slave.htm
补充:
在线的网络1,传送浮点数不能用 MOV_B 指令,还是要用 MOV_R 指令;
你现在是从站,它等待主站发起数据请求,作为从站的它是被动响应主站的请求。主站没有请求,它就不会有通讯。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!