ModBus 保持寄存器转换为字符串

ModBus holding register convert to string

我有一个通过 ModBus 连接的设备 TCP/IP。

我在 C# 中读取数据并通过 KepServerEx 检查。如果我比较原始 int 值,我会得到相同的结果,但是当我尝试转换为字符串时,no.

我读取了8个寄存器的值

12544,50,0,0,0,0,0,0

KepSever 显示这个字符串 -> 1

C# 转换 -> (使用 EasyModBus)ATALA 或其他值但不是 1

我尝试“玩”ASCII table 以找到一条路径,只获取带有“1”的字符串,例如 KepServerEX...没有成功。

Modbus没有定义一个字符串如何传输,它只定义了16位字和位的传输。

所以 EasyModBus 可能会显示一个字符串而另一个 modbus 客户端可能会显示另一个,这完全取决于编写代码的程序员,一个人认为他必须以一种方式进行转换而另一个人则以不同的方式进行转换,因为没有标准。