Codesys中EtherCAT通信状态判断

sunnyroc  2023-02-02 15:19  阅读 5,175 次 评论 0 条

EtherCAT通信状态的获取,

NO SMC_CommunicationState Axis.wCommunicationState
0 SMC_COMSTATE_NOT_STARTED 0
1 SMC_COMSTATE_VARIABLE_INITIALIZATION, 1~8
2 SMC_COMSTATE_BASE_COM_INITIALIZATION 10
3 SMC_COMSTATE_DRIVE_INITIALIZATION 20~29
4 SMC_COMSTATE_DRIVE_WAITING_FOR_SYNC 80
5 SMC_COMSTATE_INITIALIZATION_DONE 90~91
6 SMC_COMSTATE_OPERATIONAL 100
7 SMC_COMSTATE_REINITIALIZATION 200~210
8 SMC_COMSTATE_ERROR 1000~1999(其值就是为1~7 状态对应值加 1000 ,在1~7 状态下故障后对应状态加 1000
9 SMC_COMSTATE_UNKNOWN 未知状态


一般状态为 SMC_COMSTATE_OPERATIONAL 100 )后可以开始使能 (MC_ 。 通讯原因到时轴异常后该变量一般会为 SMC_COMSTATE_ERROR 1100 )。其他参数:

Bool类型 bCommunication 为 TRUE 表示该轴通讯正常, False 则反之;
测试测试bCommunicationbCommunication、、wCommunicationStatewCommunicationState、、Ethercat.xDistributedClockInSyncEthercat.xDistributedClockInSync三者之间三者之间的关系。的关系。下图为下图为PLCPLC上电总线初始化时上电总线初始化时
1.SMC_COMSTATE_DRIVE_WAITING_FOR_SYNC=80SMC_COMSTATE_DRIVE_WAITING_FOR_SYNC=80时时bCommunication=TRUEbCommunication=TRUE;;
2. 同步一段时间后同步一段时间Ethercat.xDistributedClockInSync=TRUEEthercat.xDistributedClockInSync=TRUE;
3. wCommunicationState =100wCommunicationState =100时时

下图为运行中 DC 同步丢失后三者关系:
1. Ethercat.xDistributedClockInSync=false 时 bCommunication 在同一个周期为 False
2. wCommunicatio nState 一直为 100


下图为运行中 DC 再次同步上三者关系:
1.Ethercat.xDistributedClockInSync=TRUE时 bCommunication 在同一个周期为 TRUE
2.wCommunicationState一直为 100


PLC上电总线初始化完成同步丢失 wCommunicationState 一直为 100

 

via:燕骏博客

本文地址:https://www.roc666.com/2023/02/industry/plc/codesys/axis-wcommunicationstate.html
版权声明:欢迎分享本文,转载请保留出处!

发表评论


表情