modbus读取 s7-200

西门子PLC,s7-200,以modbus的方式访问。

16 位的 word,数据顺序是对应的。

(256 * 161 + 32 = 412480)

// 读寄存器,每个寄存器为个字节。此处读取个寄存器,即个字节长度的结果。
Byte[7, 0, 32, 161]
Uint16[7, 412480]

 

32位,则需要高低 word 颠倒一下。

// 读寄存器,获取西门子s7-200的32位(即4字节,2个寄存器大小)
byte: b2 b1 b4 b3
(b2 * 255 + b1) * 65536 + (b4 * 255 + b3)

 

posted @ 2023-08-02 21:32  蓝色牧客  阅读(217)  评论(0编辑  收藏  举报