EtherCAT I/O Solutions-Taiwan Pulse Motion
於Master開卡後,啟動一個輪詢Motionnet Ring狀態的機制,流程圖如右:
各指令說明:
1._mnet_get_ring_error_counter
從API得到一個數值,如果通訊異常時數值會持續上升到最高65535,反之,通訊正常時數值不會增加
格式
I16 status=_mnet_get_ring_error_counter(U16 RingNo, U16*ErrCount)
目的
取得環通信錯誤計數器的值
參數
名稱
類型
說明 :
RingNo
U16
Motionnet環號
ErrCount
U16*
環網通訊錯誤計數器的值
狀態返回
函數名稱
ERR_NoError
API成功回傳
ERR_Invalid_RingNo
確保環處於活動狀態
2._mnet_reset_ring_error_counter
主要用於清除Reset error count的值
I16 status=_mnet_get_ring_error_counter(U16 RingNo)
重置環形通訊錯誤計數器
3.__mnet_get_ring_status
取得Ring的狀態,以bit方式呈現
I16 status=_mnet_get_ring_error_counter(U16 RingNo,U16* status)
獲取活動環狀態
環狀態
位元
意義
0
軸命令為空
1
保留
2
輸入更改
3
IO 設備錯誤
4
軸設備錯誤
5
主站設定
6
主站操作錯誤
7
8
輸出數據
9
新軸命令
A
新軸數據
B
C
IO週期繁忙
D
軟復位
E
軸週期繁忙
F
4._mnet_get_com_status
可以偵測Ring的狀態以數值方式呈現(狀態比較簡化)
I16 status=_mnet_get_com_status(U16 RingNo)
獲取環通信狀態
通訊狀態
00
環斷開
01
環連接
02
從站錯誤
03
環空閒
04
環錯誤
05
CPU存取錯誤
06
IO 週期錯誤
07
數據通訊錯誤