今天一个灵感,使我明白了Modbus_RTU的一个重要技术

已锁定

昔日如诗

  • 帖子

    733
  • 精华

    3
  • 被关注

    6

论坛等级:侠圣

注册时间:2018-04-17

钻石 钻石 如何晋级?

今天一个灵感,使我明白了Modbus_RTU的一个重要技术

1832

18

2019-09-05 14:02:16

    我的PLC要接一个变频器的参数,用Modbus_RTU通信。

    一般地,外围设备传给PLC的是一串整数,然后PLC里进行等比例换算才会成为外围设备参数的真实值(就是数似5.5这样的带小数点的数)。比如,如果是接收温度的数值,温度范围是0-100度,那么它传给PLC的数值是0-27648,而不是0-100这样的。如果在某次测量中外围设备传给PLC的数值是16824,那么PLC里就得进行换算,就变成50度这样的了。50度是真实温度,而16824却不是。

     我觉得外围设备不可能会把参数的真实数值(类似5.5这样的)传给PLC,而是把类似16824这样的整数值传给PLC。可是,这次的项目中,变频器厂商明确地说传给我的数值是类似5.5这样的数字。我就犯糊涂了。因为这样就给我带来一个困难:5.5这样的数必然是32位的,没有可能是16位的。而Modbus_RTU是只能接受16位数据的。那么我的PLC里的Modbus_RTU就接不了5.5这样的数值了。

    对方对Modbus_RTU知之甚少,沟通下来没啥结果;它的Modbus_RTU手册也讲得含糊。

    后来我来了灵感,才明白事情的缘由。先看对方的手册,如下图:    

    举个例子,上图中第三行“电机电流”,其“精度”栏里写着0.1A。我判定是这样的,对方传给我的数值是55这样的,我在PLC里得除以10,得到5.5,这才是电流的真实值。上图中红框的“精度”栏的意思是除以整十数。以电流为例,对方永远不可能传给我一个5.5这样的数值,只会传给我55这样的数值。

   精度为0.1就是除以10,精度为0.01就是除以100。再以上图中第一行“输出频率”为例,此变频器传给我的PLC的数值是100,那么我在PLC里得把它除以100,变成1,这个1才是变频器的真实频率,就是1Hz;如果传过来的是200,除以100,就是2,说明这时变频器的频率是2Hz。

    诸位大侠,给个意见,我说得对不对?我是第一次用Modbus_RTU,许多东西还得学习。

今天一个灵感,使我明白了Modbus_RTU的一个重要技术 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13019条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。