temz 2023-03-16 11:48 采纳率: 100%
浏览 56
已结题

kepserver取双字或浮点数有问题

kepserver用modbus-tcp通信取plc双字(Dword)数和plc里的对不上,地址应该是没问题的,取单字(word)都没问题
我用的合信plc226
比如现在取VD100(float)和VW50(short),plc里面VD100的值是5000.25但kepserever得到的是32.068,只有在值是0的时候才是一样的,但是VW50就没问题值一直是对的上的,下面是截图
plc里的值

img

kepserver里面的值

img

kepserver地址设置

img

这到底是是哪里出问题了,有牛人能给解决下吗?

  • 写回答

5条回答 默认 最新

  • Treabhar 2023-03-16 12:41
    关注

    基于GPT的解答
    这种情况可能是由于数据格式或字节顺序不匹配导致的。双字数据(Dword)需要注意字节顺序(即大端或小端)和数据格式(即IEEE 754浮点数或其他格式)。

    根据您提供的信息,PLC中的值为5000.25,这意味着它是一个浮点数。如果您的Kepserver配置不正确,则可能会导致字节顺序或数据格式不匹配,导致读取到的值与预期值不同。

    您可以尝试在Kepserver中更改字节顺序或数据格式以查看是否可以解决此问题。您还可以尝试手动计算字节顺序和数据格式以确保它们匹配PLC中的值。

    如果问题仍然存在,请检查PLC中的值是否正确,并确保使用正确的地址进行通信。您还可以尝试使用其他通信工具或库(如Modbus Poll或Pymodbus)以确保问题不是由Kepserver引起的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂