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