本產品支持標準modbus指令,有關詳細的指令生成與解析方式,可根據本文中的寄存器表結合參考《MODBUS協議中文版》 即可。
Modbus協議中文版參考:
http://www.juyingele.com.cn/software/software/Modbus%20POLL軟件及使用教程.rar
備註:
①:Modbus設備指令支持下列Modbus地址:
00001至09999是離散輸出(線圈)
10001至19999是離散輸入(觸點)
30001至39999是輸入寄存器(通常是模擬量輸入) 40001至49999是保持寄存器(通常存儲設備配置信息)
採用5位碼格式,第一個字符決定寄存器類型,其餘4個字符代表地址。地址1從0開始,如00001對應0000。
③:繼電器狀態,通過30002地址可以查詢,也可以通過00001---00002地址來查詢,但控制只能使用00001---00002地址。
30002地址數據長度為16bit。最多可表示16個繼電器。
即寄存器30009數據的bit8 與寄存器00001的數據一樣。
同理:光耦輸入也是如此。寄存器30003的bit8、bit9 與寄存器10001、10002都對應到指定的硬件上。
寄存器地址按照PLC命名規則,真實地址為去掉最高位,然後減一。
指令生成說明
應用舉例及其說明:本機地址除了撥碼開關地址之外,還有默認的254為廣播地址。當總線上只有一個設備時,無需關心撥碼開關地址,直接使用254地址即可,當總線上有多個設備時通過撥碼開關選擇為不同地址,發送控制指令時通過地址區別。
注意:RS485總線可以掛載多個設備。
指令可通過“聚英翱翔DAM系列配置軟件”,的調試信息來獲取。
指令生成說明:對於下表中沒有的指令,用戶可以自己根據modbus協議生成,對於繼電器線圈的讀寫,實際就是對modbus寄存器中的線圈寄存器的讀寫,上文中已經說明了繼電器寄存器的地址,用戶只需生成對寄存器操作的讀寫指令即可。例如讀或者寫繼電器1的狀態,實際上是對繼電器1對應的線圈寄存器0001的讀寫操作。
查詢16路繼電器
字段 | 含義 | 備註 |
FE | 設備地址 | 這里為廣播地址 |
01 | 01指令 | 查詢繼電器狀態指令 |
00 00 | 起始地址 | 要查詢的第一個繼電器寄存器地址 |
00 10 | 查詢數量 | 要查詢的繼電器數量 |
29 C9 | CRC16 | 前6字節數據的CRC16校驗和 |
字段 | 含義 | 備註 |
FE | 設備地址 | |
01 | 01指令 | 返回指令:如果查詢錯誤,返回0x81 |
01 | 字節數 | 返回狀態信息的所有字節數。1+(n-1)/8 |
00 | 查詢的狀態 | 返回的繼電器狀態。 Bit0:第一個繼電器狀態 Bit1:第二個繼電器狀態 。。。。。。。 Bit7:第八個繼電器狀態 |
61 9C | CRC16 | 前6字節數據的CRC16校驗和 |
發送碼:FE 02 00 00 00 10 6D C9
字段 | 含義 | 備註 |
FE | 設備地址 | |
02 | 02指令 | 查詢離散量輸入(光耦輸入)狀態指令 |
00 00 | 起始地址 | 要查詢的第一個光耦的寄存器地址 |
00 10 | 查詢數量 | 要查詢的光 耦狀態數量 |
6D C9 | CRC16 | |
3.閃開閃閉指令解析
閃開發送碼:FE 10 00 03 00 02 04 00 04 00 0A 00 D8
閃斷發送碼:FE 10 00 03 00 02 04 00 02 00 14 21 62
返回碼:FE 10 00 03 00 02 A5 C7
4. 全開全關指令解析
全開發送碼:FE 0F 00 00 00 0A 02 FF FF A1 7C
全斷發送碼:FE 0F 00 00 00 0A 02 00 00 A0 CC
全開返回碼:FE 0F 00 00 00 0A C1 C3
全斷返回碼:FE 0F 00 00 00 0A C1 C3
繼電器闆卡供電後使用USB接口無法建立通信,無法控制
1、首先確定USB轉串口驅動是否安裝,
2、測試不同波特率是否可以控制。