轴错误定位和错误清除:
新建每个轴系统都会自动创建一个AXIS_REF_SM3类型的实例
1、轴运行状态nAxisState
轴的运行状态从这个实例参数中获取(参数nAxisState)。也可以用指令Mc_readStatus获取轴状态,且该指令还可以获取加减速过程、FB错误更全面。
PLCopen规定的轴的状态表:
0: power_off
1: errorstop
2: stopping
3: standstill
4: discrete_motion
5: continuous_motion
6: synchronized_motion
7: homing
PLCopen定义的状态图,Disabled就是power_off状态。
Mc_ReadStatus功能块
一般我们只需要关心轴为errorstop时就是错误状态
编程:
If Axis0. nAxisState=1 then;
End_if
2、轴通讯状态wCommunicationState
轴的通讯状态从这个实例参数中获取(参数wCommunicationState)。也可以用SMC_CheckAxisCommunication指令获取轴通讯状态
当前轴的通讯状态(SMC_CommunicationState)
SMC_COMSTATE_NOT_STARTED,(0)
SMC_COMSTATE_VARIABLE_INITIALIZATION, (1)
SMC_COMSTATE_BASE_COM_INITIALIZATION, (2)
SMC_COMSTATE_DRIVE_INITIALIZATION, (3)
SMC_COMSTATE_DRIVE_WAITING_FOR_SYNC, (4)
SMC_COMSTATE_INITIALIZATION_DONE, (5)
SMC_COMSTATE_OPERATIONAL, (6)
SMC_COMSTATE_REINITIALIZATION, (7)
SMC_COMSTATE_ERROR, (8)
SMC_COMSTATE_UNKNOWN (9)
与Axis.wCommunicationState对应关系
N0. | 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_CheckAxisCommunication功能块
一般状态为SMC_COMSTATE_OPERATIONAL(100)后可以开始使能(MC_power)。通讯原因到时轴异常后该变量一般会为SMC_COMSTATE_ERROR (1100)。
其他参数:
Bool类型 bCommunication为TRUE表示该轴通讯正常,False则反之;
测试bCommunication、wCommunicationState、Ethercat.xDistributedClockInSync三者之间的关系。下图为PLC上电总线初始化时
- SMC_COMSTATE_DRIVE_WAITING_FOR_SYNC=80时bCommunication=TRUE;
- 同步一段时间后Ethercat.xDistributedClockInSync=TRUE;
- wCommunicationState =100时
下图为运行中DC同步丢失后三者关系:
- Ethercat.xDistributedClockInSync=false时bCommunication在同一个周期为False;
- wCommunicationState一直为100;
下图为运行中DC再次同步上三者关系:
1.Ethercat.xDistributedClockInSync=TRUE时bCommunication在同一个周期为TRUE;
2.wCommunicationState一直为100;
PLC上电总线初始化完成同步丢失wCommunicationState一直为100
3、轴功能块错误fbeFBError
参数fbeFBError提供了轴详细错误和发生时间,一共保存最新6组信息,也可以用SMC_ReadFBError指令读取错误,调试程序或重新报警信息都可以从这里获取信息。查明故障信息,然后在帮助文档SMC_Error中查找对应错误信息描述。
轴名称监控下的参数截图
4、清除故障
Am600提供了三种故障复位指令,SMC3_ReinitDrive、SMC_ClearFBError、MC_Reset。
SMC3_ReinitDrive:在总线同步帧丢失后、轴配置参数修改后需要使用该指令重新初始化轴,所以2000.2.2节重启从站后必须用SMC3_ReinitDrive重启从站。
SMC_ClearFBError:
Mc_ReadStatus指令输出变量FBerroroccured为True时需要用该变量复位。
注意SMC_ClearFBError为函数非功能块,输入参数为指向轴的指针,在需要复位时调用该函数,如果fbeFBError中有多个错误用上升沿调用只能复位最后发送的一个,设计程序时应注意。
一般都函数返回值判断是否完全清除故障信息。
MC_Reset:轴状态为errorstop需要切换到StandStill要用该指令复位。MC_Reset指令使能时将控制值16#6040的bit7设置为ON,伺服状态字16#6041反馈无故障后将轴状态errorstop切换到StandStill,输出复位完成信号。