MB_Client V5.2 Process status

1.目的

紀錄TIA Portal MB_Client V5.2 Status運作過程狀態

2.初始狀態未連接(ActiveEstablished = FALSE)

ConnectedActiveDoneErrorBusyStatus
FalseFalseFalseTrueFasle80BB

MB_Client需要主動建立連線,需要把ActiveEstablished設定為True,Req訊號才會有作用。

3.初始狀態自動連接(ActiveEstablished = False>True)

ConnectedActiveDoneErrorBusyStatus
FalseFalseFalseFalseFasle7001(觸發連接)
FalseFalseFalseFalseFalse7002(正在建立連接)
TrueFalseFalseFalseFalse0001(連接已建立)
TrueFalseFalseFalseFalse7004(監視中、無活動)
ActiveEstablished = False>True

經過一段時間後,如果沒有動作Socket會進行關閉

ConnectedActiveDoneErrorBusyStatus
TrueFalseFalseFalseFasle7003(正在終止連接)
TrueFalseFalseFalseFalse7004(監視中、無活動)
FalseFalseFalseTrueFalse80C6(無法連接網路錯誤)
FalseFalseFalseFalseFalse7001(觸發連接)
FalseFalseFalseFalseFalse7002(正在建立連接)
TrueFalseFalseFalseFalse0001(連接已建立)
TrueFalseFalseFalseFalse7004(監視中、無活動)
Reconnection

4.ActiveEstablished = True , Disconnect = True

對於任何狀態可使用Disconnect進行終止。

ConnectedActiveDoneErrorBusyStatus
TrueFalseFalseFalseFasle7003(正在終止連接)
FalseFalseFalseTrueFalse0003(連接終止)
FalseFalseFalseFalseFalse7000(無活動、無連接)
Disconnect operation

5.REQ觸發資料讀取

REQ觸發資料讀取如果恆為TRUE會一直連續讀取,一個正常讀取的狀態流程為

ConnectedActiveDoneErrorBusyStatus
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueFalseTrueFalseFalse0000(命令執行完成)
Request Modbus TCP Data

如果Req沒有False狀態,且通訊正常,則會一直重複7005>7006>0000>7005>7006>0000.....

如單次發送命令觸發Req之後設定為False,則會7005>7006>0000>7004進入監視狀態。

6.連接錯誤(ActiveEstablished = False > True)

ConnectedActiveDoneErrorBusyStatus
FalseFalseFalseFalseFalse7001(觸發連接)
FalseFalseFalseFalseFalse7002(正在建連接)
FalseFalseFalseTrueFalse80C6(網路錯誤)
Connection error

當無法進行連接時,會7001>7002然後過一段時間跳80C6,之後會重新7001>7002>80C6

7.Request命令錯誤時

當Modbus Request命令錯誤時(回應Error code)

ConnectedActiveDoneErrorBusyStatus
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueFalseFalseTrueFalse8383(操作錯誤)
Request error

8.Request no response

連線成功,但是要求命令後無回應,MB_Client會重新發送命令,依照Retries參數設定執行重發次數(預設為3,發送次數為1次發送+3次重送共4次,如果要停止重發可設定為0)

ConnectedActiveDoneErrorBusyStatus
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueTrueFalseFalseTrue7005(發送數據Request)
TrueTrueFalseFalseTrue7006(數據接收Response)
TrueFalseFalseTrueFalse80C8(無回應)
Request no response

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料