有使用过jlibmodbus插件的吗?tcp module通信的,求大佬解惑

BigBug博客 2020-09-22 02:02:45
使用jlibmodbus插件进行tcp module通信,但是遇到一个问题:
使用writeSingleRegister方法时,输出一个有符号数字,为负数时,比如-10,出现异常信息:
com.intelligt.modbus.jlibmodbus.exception.ModbusNumberException: Register value out of range : -10
这是为什么啊!求各位大佬帮帮忙
...全文
5817 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
BigBug博客 2020-09-25
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
https://www.modbustools.com/modbus.html#function06 你是不是把地址设置为负数了
不是的,地址我不是设置的负数,我已经找到原因了: 原本以为有符号数字我直接输出int类型的负数就可以了(比如:int val=-10;),结果不行,以为jlibmodbus插件直接就给我说超出范围了。 然后我就把int转16进制字符串(4位16进制,如:#FFFF),然后16进制字符串再通过Integer.valueOf()转回int类型写到设备就可以了。 谢谢大佬回答!
tianfang 2020-09-22
  • 打赏
  • 举报
回复
https://www.modbustools.com/modbus.html#function06 你是不是把地址设置为负数了

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧