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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵