我正在使用带有NModbus4的C#应用程序编写Click PLC。 (RS232)
现在我正在尝试读写TXT数据。
这是代码和结果:当我检查Click PLC软件时,我可以看到……
Modbus寄存器为16位宽,因此可以存储两个字符。这就是为什么每两个字符共享相同的地址。
也就是说,您需要推断使用的字节顺序:两个字符如何填充到寄存器中?哪一个进入最重要的字节?
拿你的示例文本,它有12个字符,所以读取6个寄存器就足够了(436865-436870)。从调试图片中,地址436865在转换为十六进制时存储值26948,0x6944。找到一个ASCII表并查找代码0x69和0x44。这些是字符'i'和'D'的代码。 PLC中的文本以“Di”开头。我们可以推断,对于存储在寄存器中的每对字符,第二个字符放在最重要的字节中。
然后,您可以通过交换每个寄存器中的字节并使用ASCII表转换为char来从PLC获取文本。