Siemens 西門子 PLC Modbus寫入float位元組排列

一杯清酒邀明月發表於2024-03-29

寫儲存暫存器功能碼16示意:

  在西門子PLC中,實數,float,的儲存方式遵循“高位元組低地址,低位元組高地址”的方式。

  假設使用16功能碼向PLC的40005寫入一個float,先利用BitConverter.GetBytes(f)得到要寫的float的byte[] A 。根據PLC中的儲存方式,要想獲得正確的float,在字40005的低位元組儲存的應是A[3],高位儲存的是A[2],40006的低位元組儲存的A[1],高位元組儲存的是A[0].而根據16傳遞資料的順序為:40005高位元組,40005低位元組,40006高位元組,40006低位元組,所以在16功能碼中正確的排列順序為:A[2] A[3] A[0]A[1].

相關文章