找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
主设备电流信号一般保留两位小数就可以了,其实数 VD 可以先用实数乘法指令扩大 100 倍,然后将得到的新的浮点数转换成双整数
1、用 TRUNC 截尾取整指令,将 32 位实数值 IN 转换为双精度整数值,并将结果存入分配给 OUT 的地址中。只有转换了实数的整数部分之后,会丢弃小数部分。
或者用第 2 条的方法
2、用 ROUND 四舍五入取整指令,将 32 位实数值 IN 转换为双精度整数值,并将取整后的结果存入分配给 OUT 的地址中。如果小数部分大于或等于 0.5,该实数值将进位。
3、用DI_I 指令将双精度的32位整数转换成单精度的16整数。要知道一点这个值比实际值大了 100 倍。
4、将最后转换的单精度整数用 MOVW 指令传送到 MODBUS 从站的保持寄存器。这个区域的 V 区地址是由从站 MODBUS 指令指定的。
5、其它的就是 MODBUS 从站的编程了。
S7-200 SMART Modbus通信常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!