NModbus4 从 PLC 读取 TXT

NModbus4 read TXT from PLC

我正在使用 C# 应用程序和 NModbus4 对 Click PLC 进行编程。 (RS232)

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

这是代码和结果:

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

如何获取保存在PLC中的文本?有人有想法吗?
PLC中存储的文本为"Dit is tekst"

一个Modbus寄存器是16位宽的,所以可以存放两个字符。这就是每两个字符共享相同地址的原因。

也就是说,您需要推断使用的字节顺序:这两个字符是如何填充到寄存器中的?哪一个进入最高有效字节?

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

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