天天看點

西門子與施耐德Modbus RTU通信協定不同

如今施耐德與西門子大家用的挺多,同樣的協定,卻不完全一樣,蛋疼的協定如下:

施耐德M241比較符合 通用協定,如下

站号,功能号, 位址高低 資料個數高 低 校驗
01,       03,       00,C8,   00,70,          C5,D0,

寫入時:站号,功能号, 位址高低, 資料個數高低,----- 校驗
01 10 00 C8 00 70 E0 ,資料00 70個字,校驗
           

而西門子協定如下:西門子MB server

寫1站号00位址
29,序号,0,0,0,6,1,6,0,0,0,123
寫1站号03=123
29-序,      N z g ah al dh dl          
29,43,0,0,0,6,1,6,0,3,0,123
寫1站16多個
29,47,0,0,0,13,1,16,0,0,0,3,6,0,11,0,22,0,33
29,x,0,0,0,n
29,48,0,0,0,13,1,16,0,0,0,3,6,0,250,0,22,0,33
讀
[0][1]  0   0   0   n z g d d d,n
29,  49,  0,   0,   0,   6,1,3,0,0,0,10
0x17功能=23讀寫0,5位址讀取0,3個位址,位址0,3寫入0,2個資料4個位元組資料,無校驗
0,4,0,0,0,15,1,23,0,5,0,3,0,3,0,2,4,0,111,0,222
23功能: 0,5位址讀取06個資料,寫入0x0003位址,個數0x0002個資料4個位元組資料如下:
0,0,5,0,0,0,15,1,23,0,5,0,6,0,3,0,2,4,0,111,0,222
讀取0x0000位址,讀取個數0x0001個,寫入位址0x0000,個數0x0003個6位元組資料
29,50,0,0,0,17,1,23,0,0,0,1,0,0,0,3,6,0,17,0,111,0,102
讀取0x0000位址, 個數0x0001, 寫入位址0x0000, 寫入個數0x0004個8位元組 資料
29,51,0,0,0,19,1,23,0,0,0,1,0,0,0,4,8,0,17,0,111,0,102,0,103
0x10=16寫三個
29,52,0,0,0,13,1,16,0,0,0,3,6,0,17,0,111,0,102