找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
通过Modbus读取s7-200 smart的数据,那SMRT 200 就是MODBUS RTU 服务器,则要使用SM0.0调用MBUS_SLAVE,SMART 200的物理点以及保持寄存器区的对应关系如下。
00001 - 09999:数字量输出( 线圈)
Q0.0 对应 00001
Q0.1 对应 00002
Q0.2 对应 00003
依此类推
10001 - 19999:数字量输入(触点)
I0.0 对应 10001
I0.1 对应 10002
I0.2 对应 10002
依此类推
30001 - 39999:输入数据寄存器(通常为模拟量输入)
AIW0 对应 30001
AIW2 对应 30002
依此类推,根据实际的模块组态,你会发现中间有一些点是没有的。
以上三类对应关系是固定的。
40001 - 49999:
这一区域的数据是你要组织的,比如你定义了VB1000-VB1999 这500个字的空间为保持寄存器区,则
VW1000 对应 40001
VW1002 对应 40002
依此类推。
主要参考这个链接
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/communication/serial_port/modbus/Master/Master.htm
如果要控制,你可以利用保持寄存器区,这个区有很大的灵活性。
模拟量转的结果、以及与上位机交互的一些控制字都可以利用这个区域去实现。
比如SMART 200 程序中 VW1000=1 时启动电机,则客户端只要给 40001 写1就可以了。
更多内容参考
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
当用s7-200 smart cpu sr60,作为从站时候,那么就是第三方设备(支持Modbus RTU协议)去读写s7-200 smart cpu sr60里面参数(00001 - 09999(数字量输出); 10001 - 19999(数字量输入) 30001 - 39999(模拟量输入),40001 - 49999(对应V区,自己定义);可以用ModScan32.exe(软件:扫描从站数据)(准备:485转USB通讯线,然后在sr60调用从站库,通讯线接SR60的38)去扫描00001----09999,10001~19999的部分数据,在SR60里面强制Q点,I点,你观察一下就知道怎么看点表了。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!