求教:smart在进行modbus通信时,smart做主站读取多个从站的数据,数据不稳定!

smart用做modbus 主站,读取多个从站(电表),且从站中数据寄存器不连续,需要分段、分站读取,出现一个问题:
第一种情况,一个分站读两段数据,分别是三相电压值41000-41011和频率值41026-41029,如果将数据保存在VB1000-VB1011和VB1012-VB1015,(后续从站类型相同,数据从VB1016往后排),结果发现从VB1012往后的数据值会出现闪烁,频率在50和0之间跳动,电压在220.000和0之间跳动。
第二种情况,如果拉大V寄存器间隔,将数据保存在VB1000-VB1011、VB1100-VB1103、VB1200-VB1211、VB1300-VB1303,。。。,则数据稳定。
第三种情况,后又将V寄存器间隔再次缩小至VB1000-VB1011,VB1040,VB1050-1061,VB1090,数据也能稳定。

请教各位,这是什么原因造成的?

还有一个问题,在第一种情况中,相邻存储的模拟量采集值稳定不受影响,请教,这种多从站、分段通信中,用于存储采集数据的寄存器应该怎样分配才能保证通信稳定??

最佳答案

你的问题主要是地址区域重叠造成的。就说你的第一种情况:
三相电压值41000-41011 是 12 个字的存储空间,读到 200 的V区那要占用 VB1000-VB1023这24个字节的存储空间。
频率值在V区中的存放位置与上面的区域有冲突。地址冲突的问题解决了,程序的问题就解决了。

提问者对于答案的评价:
非常感谢,解决了我对modbus通信的一个盲点,谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc289876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐

  • 如何使SMART200的数据永久保存

    在200SMART中,如果在设备停机较长时间,比如1个月,2个月的情况下,那么在V地址中的保持数据就会丢失,有没有能够在长期失电情况下,数据仍然能保持的地址?另外在失电情况下,PL…

    SIMATIC S7-200 SMART 2020年10月31日
  • 与数显表通讯问题

    按照官方例程编写的程序,和数显表通讯的时候,开始done和error都是0,之后done变为1,error变为3,一直读取不到数值是怎么回事 图片说明:    …

    2018年12月6日
  • 伺服问题请教

    使用伺服,我很纠结相对运动多少脉冲,伺服才可以动,比如电机分辨率为160000.我相对运动50个脉冲,这个伺服电机会会动吗?会有完成信号吗?2.跟随偏差是什么概念?我理解比如说跟随…

    SIMATIC S7-200 SMART 2020年10月30日
  • 无法理解的说明书,自由口通讯

    如下所示 ,碰到二道贩子,但是对方的设备便宜,所以买了,买了后发现说明书对%ignore_a_1%的解释看不懂  麻烦大佬帮看一哈 85是起…

    2020年10月30日
  • smart200 AM06

    第一次用smart200  ST40+AM06 办公室测试1.为何AM06通道灯都亮着?2、做了个模拟量输出程序,内部数据27648,用万用表为何测不…

    SIMATIC S7-200 SMART 2020年10月30日
  • s7-200 smart 模拟量采集模块

    请教大家一下:我选用ST30和AE04(4通道模拟量输入模块)连接,AE04的+L和M分别和ST30的+L和M连接了,在microwin smart中查看PLC信息,显示…

    2020年10月30日
  • 200SMART CPU

    200smart CPU的网口未连设备,请问如何将该网口禁用?避免非正常的外部连接或通讯连接导致设备停机或参数被修改,谢谢! 最佳答案 没有这个功能设置。考虑加密吧。还有…

    2021年7月4日
  • 西门子S7-200SMART数据掉电保持的数据范围

    如图中,偏移量,和元素数量的含义是什么,比如说我VB   偏移量100    元素数据500它代表我的掉电保持…

    SIMATIC S7-200 SMART 2017年6月4日
  • 普通电机的精确定位

    各位大师好:1.普通三相电机加编码器如果不用变频器如何实现精确定位?因为虽然编码器可以反馈位置,但是由于电机的惯性(没有减速),最终停止的位置可能不准,哪位大师有这方面的经验请多多…

    SIMATIC S7-200 SMART 2017年6月1日
  • S7-200 SMART485通讯写入的数值与接收到的数值不一致

    MBUS-MSG写入485数值,跟伺服接收到的数值不一致,总是相差几位数。下面是图片。我给VW12的数值为1111,但是到了伺服控制器上面变成了1029,然后VW12的数值又变成了…

    2020年10月31日