當Magelis HMI通過Modbus TCP/IP或Modbus RTU與Modbus裝置通訊時,出現異常時,PLC可能回傳多個不同的錯誤代碼。請參見下表,查看每個可能的錯誤代碼的描述。
Modbus 說明的異常代碼為:
Modbus 說明的異常代碼為:
異常代碼 | 名稱 | 含義 |
01 (01 十六進位制) | illegal Function | 查詢中接收到的功能代碼不是伺服器允許的操作。 這可能是因為功能代碼僅適用於更新的裝置,並且未在選定的裝置中實現。 也可能表示伺服器處理此類請求時處於錯誤狀態,例如,因為伺服器未配置並被要求返回暫存器值。如果已發出「輪詢程式完成」命令,則此代碼指示之前沒有程式功能。 |
02 (02 十六進位制) | illegal Data Address | 查詢中接收的資料地址不是伺服器允許的地址。更具體地說,參考號和傳輸長度的組合無效。對於一個具有100個暫存器的控制器,如果請求中偏移量為96而長度為4則成功,偏移量為96而長度為5則產生異常02。 |
03 (03 十六進位制) | illegal Data Value | 包含在查詢資料欄位中的值不是伺服器允許的值。 這表示複雜請求的剩餘部分存在結構故障,例如,所表示的長度不正確。具體地說,它並不表示提交到暫存器中儲存的資料項具有超出應用程式預期的值,因為MODBUS協定不知道任何特定暫存器的任何特定值的意義。 |
04 (04 十六進位制) | Slave Device Failure | 伺服器嘗試執行請求的操作時出現不可恢復的錯誤。 |
05 (05 十六進位制) | Acknowledge | 專門針對程式設計命令。 伺服器已接受並正在處理請求,但是需要較長的處理時間。 返回此響應是為了防止客戶端發生超時錯誤。客戶端隨後可以發出「輪詢程式完成」消息以確定處理是否已完成。 |
06 (06 十六進位制) | Slave Device Busy | 專門針對程式設計命令。 伺服器正忙於處理持續時間較長的程式命令。 稍後當伺服器空閒時,客戶端應重新傳輸消息。 |
07 (07 十六進位制) | Negative Acknowledge | 伺服器無法執行查詢中接收到的程式功能。對於不成功的程式設計請求,使用功能代碼13或十進位制的14返回此代碼。客戶端應從伺服器請求診斷或錯誤資訊。 |
08 (08 十六進位制) | Memory Parity Error | 專門針對功能代碼20和21以及參考型別6,表示擴展檔案區域無法通過一致性檢查。 伺服器嘗試讀取擴展儲存器或記錄檔案,但在儲存器中檢測到奇偶校驗錯誤。客戶端可以重試請求,但伺服器裝置上可能需要服務。 |
10 (0A 十六進位制) | Gateway Path Unavailable | 專門用於配合網關使用,表示網關無法將內部通訊路徑從輸入埠分配到輸出埠來處理請求。通常表示網關配置錯誤或過載。 |
11 (0B 十六進位制) | Gateway Target Device Failed to Responsd | 專門用於配合網關使用,表示未從目標裝置獲得響應。通常表示網路上不存在該裝置。 |