除非特别说明,文中所涉及的PLC编程软件为CoDeSys V3.5版本
一、PLCopen中的部分数据类型
1.SMC_ERROR
SMC_ERROR是SM3_Basic函数库中的一个数据结构,它包含所有的错误序号,这些序号都是运动控制功能块可能返回的错误序号。
二、轴的Disabled状态与StandStill状态切换
1.MC_ReadStatus功能块
MC_ReadStatus功能块是SM3_Basic函数库中的一种数据结构,它返回当前轴处理过程中详细的状态信息。
MC_ReadStatus功能块的各引脚定义:
引脚 | 名称 | 类型 | 描述 |
---|---|---|---|
Axis | 轴 | AXIS_REF | 输入,轴实例,即控制对象 |
Enable | 有效 | bool | 输入,为 TRUE 状态读取伺服的当前状态数据 |
Valid | 数据可获取标志 | bool | 输出,如果数据可用,置为TRUE |
Busy | 忙碌 | bool | 输出,如果功能块处理没有完成则为FALSE |
Error | 错误 | bool | 输出,异常发生时,置为 TRUE |
ErrorID | 错误代码 | SMC_ERROR | 输出,异常发生时,输出错误代码 |
Disabled | 未使能状态 | bool | 输出,轴在没使能状态为 TRUE |
Errorstop | 错误状态 | bool | 输出,轴在错误运行状态为 TRUE |
Stoping | 停止过程状态 | bool | 输出,轴在停止状态中为TRUE |
StandStill | 标准状态 | bool | 输出,轴在标准 ( 能运行 ) 状态中为TRUE |
DiscreteMotion | 离散运动状态 | bool | 输出,轴在离散运动状态中为 TRUE |
ContinuousMotion | 连续运动状态 | bool | 输出,轴在连续运动状态中为 TRUE |
SynchronizedMotion | 同步运行状态 | bool | 输出,轴在同步运动状态中为 TRUE |
Homing | 回原点状态 | bool | 输出,轴在回原点状态中为 TRUE |
ConstantVelocity | 运行速度到达 | bool | 输出,轴达到运行速度中为 TRUE |
Accelerating | 加速过程状态 | bool | 输出,轴加速过程状态为 TRUE |
Dccelerating | 减速过程状态 | bool | 输出,轴减速过程状态为 TRUE |
FBErrorOccured | 功能块错误标志 | bool | 输出,轴功能块错误标志为 TRUE |
Axis引脚所连变量即为该功能块的受控对象,当Enable信号为TRUE时,功能块开始读取参数信息。Valid为轴状态信息是否有效的标志位,当轴成功输出轴状态后该值置位;功能块的处理没有完成时Busy为True;功能块内部发生错误时Error为True并输出ErrorID。
2.MC_Power功能块
MC_Power功能块是Enable类模型,它使轴从Disabled状态切换为StandStill状态。
MC_Power 功能块的各引脚定义:
Axis | 轴 | AXIS_REF | 输入,轴实例,即控制对象 |
Enable | 有效 | bool | 输入,功能块有效,高电平时功能块开始处理 |
bRegulatorOn | 使能 | bool | 输入,轴的上电指令 |
bDrverStart | 允许驱动 | bool | 输入,驱动器启动指令 |
Status | 可运行状态 | bool | 输出,反馈轴电源的状态信息,为 TRUE时表示轴电源已打开 |
bRegulatorRealState | 使能信号状态 | bool | 输出,反馈轴电源调节器的实际状态信息,为TRUE时表示调节器已打开 |
bDrverStartRealState | 允许驱动状态 | bool | 输出,反馈驱动器的实际状态信息,为TRUE时表示驱动器已打开 |
Busy | 输出 | bool | 如果功能块的处理没有完成,置为TRUE |
Error | 错误 | bool | 异常发生时,置为 TRUE |
ErrorID | 错误代码 | SMC_ERROR | 异常发生时,输出错误代码 |
Enable引脚为功能块的使能,当该引脚为False时功能块的其它输入引脚值被“冻结”,即不随引脚所连接变量的变化而变化。
Enable引脚被置位后,如果要激活上电状态参数 bRegulatorOn 必须被设置;通过 bRegulatorRealState 驱动器会反馈当前处理的状态。这时如果轴没有错误发生,功能块将设置轴的状态(nAxisState)为 standstill ,否则输出相应的错误状态。在运动过程中复位 bRegulatorOn 将会立即暂缓力矩输出。
Enable引脚和bRegulatorOn引脚被置位后,变量 bDriveStart 定义驱动器是否允许进行运动;参数 bDriveStartRealState 显示当前状态。参数 bDriveStart 在运动期间被复位将会使驱动器根据设定的参数减速;驱动器将保持此位置直到 bRegulatorOn 重新被置位。
Next