美高快速門控制系統第三方通信協議V1.5
一、概述
系統遵循Modbus協議標準,采用RTU傳輸模式,CRC16校驗(多項式X16+X15+X2+1),第三方軟件可以通過RS485接口與系統控制器通信,從而實現門體的開關門動作控制及工作狀態查詢。
二、通信協議
1、門體控制指令
功能碼:0x05(寫單個線圈) | |||
功能說明 | 輸出地址 | 輸出數值 | 應答數據 |
開門指令 | 0x0004 | 0xFF00:開門 | 原數據應答 |
關門指令 | 0x0005 | 0xFF00:關門 | |
停止運行命令 | 0x000A | 0xFF00:停止 | |
解除停止命令 | 0x000A | 0x0000:解除停止 |
開門指令格式示例:
開門指令 | 數據格式(十六進制) |
1號控制器開門 | 01 05 00 04 FF 00 CD FB |
2號控制器開門 | 02 05 00 04 FF 00 CD C8 |
3號控制器開門 | 03 05 00 04 FF 00 CC 19 |
4號控制器開門 | 04 05 00 04 FF 00 CD AE |
關門指令格式示例:
關門指令 | 數據格式(十六進制) |
1號控制器關門 | 01 05 00 05 FF 00 9C 3B |
2號控制器關門 | 02 05 00 05 FF 00 9C 08 |
3號控制器關門 | 03 05 00 05 FF 00 9D D9 |
4號控制器關門 | 04 05 00 05 FF 00 9C 6E |
停止運行指令格式示例:
停止指令 | 數據格式(十六進制) |
1號控制器停止 | 01 05 00 0A FF 00 AC 38 |
2號控制器停止 | 02 05 00 0A FF 00 AC 0B |
3號控制器停止 | 03 05 00 0A FF 00 AD DA |
4號控制器停止 | 04 05 00 0A FF 00 AC 6D |
解除停止運行指令格式示例:
關門指令 | 數據格式(十六進制) |
1號控制器解除停止 | 01 05 00 0A 00 00 ED C8 |
2號控制器解除停止 | 02 05 00 0A 00 00 ED FB |
3號控制器解除停止 | 03 05 00 0A 00 00 EC 2A |
4號控制器解除停止 | 04 05 00 0A 00 00 ED 9D |
2、狀態查詢指令
功能碼:0x03(讀多個寄存器) | |||
功能說明 | 起始地址 | 寄存器數量 | 應答數據 |
查詢狀態 | 0x0080 | 14 | 狀態寄存器的當前值
(狀態寄存器的定義詳見后表) |
注意:僅支持一次性查詢0x0080 – 0x008D共14個寄存器的狀態。
狀態查詢指令格式示例:
狀態查詢指令 | 數據格式(十六進制) |
查詢1號控制器狀態 | 01 03 00 80 00 0E C5 E6 |
查詢1號控制器應答 | 01 03 1C 00 00 20 83 00 00 04 ED 00 00 00 01 00 64
(1)?? (2)?? (3)?? (4)?? (5)?? (6)?? (7) 01 49 00 00 00 00 00 00 00 00 79 37 00 EE B6 96 (8)?? (9)? (10)? (11)? (12)? (13)? (14) * |
查詢2號控制器狀態 | 02 03 00 80 00 0E C5 D5 |
查詢3號控制器狀態 | 03 03 00 80 00 0E C4 04 |
查詢4號控制器狀態 | 04 03 00 80 00 0E C5 B3 |
*注釋:(1)—(14)表示14個狀態寄存器的值。
3、狀態寄存器
序號 | 寄存器地址 | 功能 | 類型 | 特性 | 備注 |
1 | 0x0080 | 總運行次數Hi | 16bit | 只讀 | |
2 | 0x0081 | 總運行次數Lo | 16bit | 只讀 | |
3 | 0x0082 | 維護后運行次數Hi | 16bit | 只讀 | |
4 | 0x0083 | 維護后運行次數Lo | 16bit | 只讀 | |
5 | 0x0084 | 系統狀態 | 16bit | 只讀 | 0:無故障
其它數值:對應當前故障代碼 |
6 | 0x0085 | 當前運行狀態 | 16bit | 只讀 | 0:在關門位置
1:在開門位置 2:開門中 3:關門中 4:門體運行即將停止 5:門體停在非開、關門位置 |
7 | 0x0086 | 當前門體高度 | 16bit | 只讀 | 數值范圍:0 – 100 |
8 | 0x0087 | 母線電壓 | 16bit | 只讀 | |
9 | 0x0088 | 相線電流 | 16bit | 只讀 | |
10 | 0x0089 | 電機運行速度 | 16bit | 只讀 | |
11 | 0x008A | 輸入傳感器狀態 | 16bit | 只讀 | bit0:手動開門信號
bit1:手動關門信號 bit2:手動停止信號 bit3:急停輸入信號 bit4:安全信號1 bit5:安全信號2 bit6:自動開門信號 bit7:部分開門信號 bit8:單鍵循環信號 bit9:開門限位輸入信號 bit10:關門限位輸入信號 bit11:互鎖輸入信號 bit12:保留 bit13:通信停止信號 bit14:通信開門信號 bit15:通信關門信號 |
12 | 0x008B | 保留 | 16bit | 只讀 | |
13 | 0x008C | 保留 | 16bit | 只讀 | |
14 | 0x008D | 保留 | 16bit | 只讀 |
4、指令優先級
基于安全方面的考慮,開門指令優先級高于關門指令,即:
1)開門過程中,關門指令無效。
2)關門過程中,控制器收到開門指令后,會立即中斷關門流程,開始執行開門流程。
5、通信時間要求
項目 | 時間(ms) | 說明 |
最小發送間隔 | 300 | 收到應答后間隔300ms方可發送下一條指令 |
應答超時時間 | 500 | 指令發出后500ms未收到應答則認定為應答超時 |
6、通信地址配置
在控制器主界面,依次選擇“設置”-“設備高級設定”-“聯網通信設定”-“設備站號設定”,可進入地址設定界面對通信地址進行設定。有效地址范圍為1 – 247,每個臺控制器必須有唯一的通信地址。
7、通信速率與數據格式
通信速率出廠默認為4800bps,8位數據位,1位停止位,無奇偶檢驗位。在控制器主界面,依次選擇“設置”-“設備高級設定”-“聯網通信設定”-“通信速率設定”,可進入速率設定界面對通信速率進行設定,控制器從新上電后即可生效。第三方軟件必須確保與所有控制器的通信速率一致。
三、故障代碼
檢查狀態寄存器0x0084(系統狀態)可以得知是否發生故障,并可根據寄存器數值所指示的故障代碼來確定故障類型。
故障代碼 | 故障名稱 |
1 | 系統過流 |
2 | / |
3 | 系統欠壓 |
4 | 停機時過壓 |
5 | 運行時過壓 |
6 | 電機堵轉 |
7 | 超出限位位置 |
8 | 主板數據存儲故障 |
9 | 超速故障 |
10 | 反轉故障 |
11 | 系統過載 |
12 | 電流檢測回路故障 |
13 | 電機編碼器故障 |
14 | 電機初始角錯誤 |
15 | 通信故障 |
16 | 上電檢測 |
17 | 掉電檢測 |
18 | 制動回路故障 |
19 | 外置編碼器故障 |
20 | 運行超時 |
21 | 單周期內安全信號1異常 |
22 | 單周期內安全信號2異常 |
23 | 未進行電子行程設定 |
24 | 24V電源短路 |
25 | / |
26 | 限位開關故障 |
27 | 系統過熱 |
28 | 電磁制動器故障 |
29 | 絕對值編碼器復位 |
30 | 電機參數匹配故障 |
31 | 電機編碼器故障2 |
32 | 電機編碼器故障3 |
33 | 絕對值編碼器故障2 |
34 | 絕對值編碼器復位2 |
35 | 絕對值編碼器運行時復位 |
36 | 行程設定距離過短 |
37 | / |
38 | 電磁制動器故障2 |
39 | 電機編碼器故障4 |
40 | 電機編碼器故障5 |
四、更多說明與建議
1、狀態查詢指令的用途
通過狀態查詢指令可以了解門體的運行狀態,及當前是否有故障發生。發生故障時,門體將不能正常工作,需要排除故障以使其恢復正常。
?
2、發送開門(關門)指令
當業務邏輯上需要開門(關門)時,請直接發送開門(關門)指令,即使通過查詢指令查到當前運行狀態為在開門(關門)位置,也建議發送開門(關門)指令。
3、確保開門(關門)指令發送成功
開門(關門)指令發送后,收到應答才算發送成功,否則要等超時后從新發送。
4、異常狀態檢查
開門(關門)指令發送成功后,但門體長時間未到達開門(關門)位置,請檢查故障代碼,看是否有故障發生。
5、保證關門過程的安全
關門指令一旦成功發送,最好不要再自動重復發送該次關門指令,否則可能會造成安全隱患。
6、注意開門(關門)指令優先級
開門指令優先級要高于關門指令,設計中需要加以考慮。
?
7、停止運行和解除停止運行
發送停止運行指令后,電機停止運行,此時發送開、關門運行指令(包括本地開、關門信號)都將無效,需發送解除停止運行指令后,才能執行其它運行指令。在停止運行期間,狀態查詢指令可正常使用。