NModbus4从PLC读取TXT

时间:2016-06-23 10:29:29

标签: c# serial-port ascii modbus plc

我使用带有NModbus4的C#应用​​程序编写Click PLC。 (RS232)

现在我正在尝试读写TXT数据。

这是代码和结果: enter image description here

当我检查Click PLC软件时,我可以看到每个两个字符使用一个 Modbus地址。

enter image description here

如何将文本保存在PLC中?有人有点想法?
存储在PLC中的文本是" Dit是tekst"

1 个答案:

答案 0 :(得分:0)

Modbus寄存器为16位宽,因此可以存储两个字符。这就是为什么每两个字符共享相同的地址。

那就是说,你需要推断使用的字节顺序:两个字符如何填充到寄存器中?哪一个进入最重要的字节?

拿你的示例文本,它有12个字符,所以读取6个寄存器就足够了(436865-436870)。从调试图片中,地址436865在转换为十六进制时存储值26948,0x6944。找到一个ASCII表并查找代码0x69和0x44。这些是字符'i'和'D'的代码。 PLC中的文本以“Di”开头。我们可以推断,对于存储在寄存器中的每对字符,第二个字符放在最重要的字节中。

然后,您可以通过交换每个寄存器中的字节并使用ASCII表转换为字符来从PLC获取文本。