這是一個廠家給的通訊協(xié)議:
樓層提升機受控于 PLC,Lothar 系統(tǒng)與 PLC 以 Modbus TCP/IP 協(xié)議通信。
Lothar 系統(tǒng)為 MasterClient,PLC 為 SlaveServer,寄存器開始地址:0x0000
MODBUS TCP/IP 協(xié)議
⚫ ADU=MBAP+PDU=MBAP+功 能碼+數(shù) 據(jù)
⚫ MBAP
描述 長度(字節(jié)) 描述 客戶端表示 服務(wù)端表示
事務(wù)識別號 2 Modbus 請求/響應(yīng)任務(wù)的識別號 由客戶端初始化時形成 由接收到的請求信息復(fù)制
協(xié)議識別號 2 0=Modbus 協(xié)議 由客戶端初始化時形成 由接收到的請求信息復(fù)制
長度 2 后面的字節(jié)數(shù)量 由客戶端發(fā)送請求時形成 由服務(wù)端響應(yīng)請求時形成
設(shè)備識別號 1 連接的從站地址 由客戶端初始化時形成 由接收到的請求信息復(fù)制
⚫ 功能 碼
0x03 讀取數(shù)據(jù) readHoldingRegistersAsync
0x10 寫入數(shù)據(jù) writeMultipleRegistersAsync
數(shù)據(jù)報 文示 例
信號 數(shù)據(jù)流向 值 寄存器地址
數(shù)提升機狀態(tài) PLC>>>Lothar 0x0000(異常) / 0x0001(正常) 0x0000
提升機門狀態(tài) PLC>>>Lothar 0x0000(已關(guān)) / 0x0001(已開) 0x0001
提升機樓層狀態(tài) PLC>>>Lothar 0x0000(未知) / 0x0001(已抵達1樓)/0x0002(已抵達2樓) 0x0002
呼叫提升機 Lothar>>>PLC 0x0000(否)/0x0001(呼叫提升機抵達 1 樓并自動開門 )
0x0002( 呼 叫 提 升 機 抵 達 2 樓 并 自 動 開門) 0x0003
0x0003(呼叫提升機抵達 3 樓并自動開門)
釋放提升機 Lothar>>>PLC 0x0000(否)/0x0001(是) 0x0004
其中Lothar 系統(tǒng)為主客戶端。比如西門子SMART是不是作為從服務(wù)器使用 ,是用client模塊建立鏈接還是用Server模塊建立鏈接,寄存器地址0x000是PLC上的地址還是Lothar 系統(tǒng)為主客戶端地址,