用modbus模块读取单片机无法显示负数的问题

当我用mbus msg 读取单片机时,为什么读取出来的数字总是正数,明明单片机上显示的是负数,但是在状态图标中还是正的,而且数字还很不稳定,一直在跳动。
请问各位老师可以帮忙解答一下吗?

问题补充:
后面改了一下,还是一样的,不管是vb还是vd,最后的结果都是正数。
是不是单片机内部的格式有问题?

图片说明:

用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题    用modbus模块读取单片机无法显示负数的问题   

最佳答案

VW1596 在状态表中用有符号数监视
就是1号从站保持寄存器 40163 的值。
补充:
从最上面左数第4张图,看你分配的存储区,与程序中中用到的V存储区有重叠,它将 VB1596、VB1597,VW1596 包含了。这是不对的,一定不能有重叠。先保证这个。
另外还有一种可能性就是数据格式不同,将高低字节交换一下呢?

提问者对于答案的评价:
o

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论