SMC provider报错通常指的是在使用SMC(SoftMotion Control)功能块进行运动控制时,系统返回的错误信息,这些错误信息可能由多种原因引起,包括硬件故障、软件配置错误、通信问题等,以下是对SMC provider报错的详细分析,包括常见错误及其解决方式:
一、SMC provider报错常见错误及解决方式
错误编号 | 错误原因 | 处置方式 |
SMC_NO_ERROR | 无错误信息 | — |
SMC_DI_GENERAL_COMMUNICATION_ERROR | 通讯错误 | 确认伺服是否网络线掉线,将网络线插回,重置EtherCATmaster,执行MC_Reset。 |
SMC_DI_AXIS_ERROR | 轴错误 | 确认伺服错误信息,参照伺服手册排除错误,执行MC_Reset。 |
SMC_DI_FIELDBUS_LOST_SYNCRONICITY | 现场总线失去同步 | 执行SMC3_ReinitDrive,如常发生此错误请参照Taskmaxcycletime,调整放大EtherCATDC时间。 |
SMC_DI_SWLIMITS_EXCEEDED | 位置超出SWLimit设定范围 | 执行MC_Reset,反向脱离极限。 |
SMC_DI_HWLIMITS_EXCEEDED | 硬件位置极限异常 | 执行MC_Reset。 |
SMC_DI_LINEAR_AXIS_OUTOFRANGE | 直线轴增量位置溢位 | 执行MC_Reset。 |
SMC_DI_HALT_OR_QUICKSTOP_NOT_SUPPORTED | 不支持驱动器状态Halt或Quickstop | 执行MC_Reset。 |
SMC_DI_POSITIONLAGERROR | 位置误差过大 | 执行MC_Reset。 |
SMC_DI_HOMING_ERROR | 回原点错误 | 执行MC_Reset。 |
SMC_REGULATOR_OR_START_NOT_SET | 轴状态无法执行运动控制指令 | 将伺服使能,执行MC_Reset,并重新执行运动功能块。 |
SMC_WRONG_CONTROLLER_MODE | 轴在错误的控制器模式 | 先执行SMC_SetControllerMode将轴切换至适当模式。 |
SMC_INVALID_ACTION_FOR_LOGICAL | 无效的逻辑轴动作 | 勿对逻辑轴进行不当操作,譬如说poweron逻辑轴。 |
SMC_FB_WASNT_CALLED_DURING_MOTION | 运动指令运行中,无法中断 | 运动功能块请放在buscycletask中执行。 |
SMC_AXIS_IS_NO_AXIS | AXIS_REF变量类型错误 | 指针必须指向轴缓存器位置。 |
SMC_AXIS_REF_CHANGED_DURING_OPERATION | AXIS_REF变量在模块启动时已被变更 | 执行MC_Reset,在功能块执行过程中,勿改变输入进功能块轴引脚轴指标指向的轴。 |
SMC_FB_ACTIVE_AXIS_DISABLED | 轴运动时执行servooff | 将伺服poweron,执行MC_Reset。 |
SMC_AXIS_NOT_READY_FOR_MOTION | 轴状态无法执行运动控制指令 | 轴处于无法被控制状态,请确认是否poweron或处于错误状态,依情况使能轴或执行MC_Reset。 |
SMC_AXIS_ERROR_DURING_MOTION | 运行中发生错误 | 请确认伺服错误信息,参照伺服手册排除错误,执行MC_Reset。 |
SMC_VD_MAX_VELOCITY_EXCEEDED | 超过最大速度fMaxVelocity | 使用MC_Reset排除错误。 |
SMC_VD_MAX_ACCELERATION_EXCEEDED | 超过最大加速度fMaxAcceleration | 使用MC_Reset排除错误。 |
SMC_VD_MAX_DECELERATION_EXCEEDED | 超过最大减速度fMaxDeceleration | 使用MC_Reset排除错误。 |
SMC_3SH_INVALID_VELACC_VALUES | 无效的速度或加速度设定值 | 请输入速度或者加速度值后重新启动功能块。 |
SMC_3SH_MODE_NEEDS_HWLIMIT | 此模式需在硬件极限信号启动下 | 此模式禁止开启bIgnoreHWLimit,请选择正确模式。 |
SMC_SCM_NOT_SUPPORTED | 模式不支持Device不支持此模式 | 请重新选择模式后启动功能块。 |
SMC_SCM_AXIS_IN_WRONG_STATE | 在现在的模式下,控制器模式无法变更 | 使用MC_Reset排除错误。 |
SMC_SCM_INTERRUPTED | SMC_SetControllerMode被MC_Stop或errorstop插断 | 请重新启动功能块。 |
SMC_ST_WRONG_CONTROLLER_MODE | 轴处于错误的控制器模式 | 使用MC_Reset排除错误。 |
SMC_RAG_ERROR_DURING_STARTUP | 轴组启动时发生错误 | 确认总线配置是否正常,请重新执行SMC3_ReinitDrive。 |
SMC_RAG_ERROR_AXIS_NOT_INITIALIZED | 轴不在需求的状态中EtherCATMaster在Initial时无法执行SMC3_ReinitDrive | — |
SMC_PP_WRONG_AXIS_TYPE | 此功能块不支持虚拟轴或逻辑轴 | SMC3_PersistPosition无法使用在虚轴上。 |
SMC_PP_NUMBER_OF_ABSOLUTE_BITS_INVALID | 绝对位数无效,必须在8..32的范围内 | SMC3_PersistPositionSingleturn的usiNumberOfAbsoluteBits引脚数值输入错误,请重新输入。 |
SMC_CGR_ZERO_VALUES | 无效的数值 | 修改dwRatioTechUnitsDenom与iRatioTechUnitsNum为非0数值后重启功能块。 |
二、案例分析
某工厂的生产线上有一台运动控制轴,在运行过程中频繁出现SMC_ERROR_FB错误信息,经过调查发现,主要原因是传感器信号受到干扰,为了解决这个问题,工程师采取了以下措施:
1、更换抗干扰能力更强的传感器:将原有传感器更换为抗干扰能力更强的型号,从而减小外界干扰对反馈信号的影响。
2、增加滤波器:在传感器信号中增加合适的滤波器,可以有效地滤除干扰和噪声,提高反馈信号的稳定性。
3、优化控制器参数:通过调整控制器的增益、积分时间常数等参数,使其更适应新的传感器特性和系统要求。
经过以上措施的实施,该工厂的运动控制轴问题得到了有效解决,SMC_ERROR_FB错误信息的出现频率显著降低。
三、FAQs常见问题
Q1: SMC provider报错中的“SMC_DI_GENERAL_COMMUNICATION_ERROR”是什么意思?
A1: “SMC_DI_GENERAL_COMMUNICATION_ERROR”表示通讯错误,通常是由于伺服网络线掉线或通讯中断引起的,解决方法是确认伺服是否网络线掉线,将网络线插回,重置EtherCATmaster,并执行MC_Reset。
Q2: SMC provider报错中的“SMC_DI_AXIS_ERROR”是什么意思?
A2: “SMC_DI_AXIS_ERROR”表示轴错误,通常是由于驱动器出现错误引起的,解决方法是通过查看驱动器对象字典0x603F或其他可查询错误的位置,查看具体的错误,并查阅驱动器手册找到解决方案。
SMC provider报错可能由多种原因引起,包括通讯错误、轴错误、位置超限、硬件故障等,针对不同类型的错误,需要采取相应的解决措施,如检查通讯线路、重置设备、调整控制器参数等,在实际操作中,建议根据具体的错误信息和系统情况进行分析和处理。