除非特别说明,文中所涉及的PLC编程软件为CoDeSys V3.5版本
一、SM3_Basic函数库
1.SM3_Basic
SM3_Basic函数库是CODESYS SoftMotion V3 应用中的一个基本函数库。它在CODESYS SoftMotion V3项目被创建之后自动添加。SM3_Basic函数库包含一些专有的运动控制功能块及实用功能块例如文件操作或者错误报告。
2.驱动器接口功能块
运动控制项目中,创建功能块或者生成所有功能块,都会有一个 VAR_IN_OUT 类型的变量AXIS_REF,这是一个指向驱动器接口功能块实例的指针类型的变量,例如AXIS_REF_SM3,AXIS_REF_VIRTUAL_SM3, AXIS_REF_MAPPING_SM3,这些功能块需要在总线任务中调用。
二、单轴运动控制的状态图
1.状态图
状态图用于描述实体在不同事件条件的状态改变,它反映所有的动态行为。轴运动控制状态图是专门为运动控制中控制轴的目的而设计的,它展示了将轴切换至相应运动状态的运动命令。
单轴运动控制的状态包含:未使能(Disabled)、保持静止(StandStill)、回原点(Homing)、故障停止(Errorstop)、减速停止(Stopping)、离散运动(DiscreteMotion)、和连续运动(ContinuousMotion)。
![](https://i-blog.csdnimg.cn/blog_migrate/b1766f3db7fd1d2da5591a2c7cd3a0cf.png)
2.轴状态简介
1).Disabled
未使能(Disabled)状态是轴的初始状态。对于非抱闸或抱闸已打开的伺服电机来说,在未使能状态下电机是非制动的,电机可以随外部施加的压力而动。在没有故障的情况(严格来说是非故障停止状态)下,可以通过MC_Power上电指令将轴状态从未使能切换到保持静止状态。
2).Errorstop
无论在任何状态下,一旦检测到轴有故障发生,轴即刻切换为故障停止(Errorstop)状态,调用Reset命令解除故障停止状态。注意区分轴功能块报错和伺服驱动器硬件报错,此文非特指的情况下所提到的故障都是轴功能块报错。
3).StandStill
保持静止(StandStill)状态是其他运动的源状态,可由保持静止切换到回原点、减速停止、离散运动、连续运动及同步运动状态,也可以通过MC_Power指令切换到未使能状态。回原点、离散运动或减速停止完成后,或者故障停止状态被复位、未使能状态执行MC_Power上电指令后,轴会进入保持静止状态
4).Stopping
轴可通过调用MC_Stop指令,从保持静止、回原点、离散运动、连续运动或同步运动状态切换到减速停止(Stopping)状态,轴执行完减速停止后自动切换到保持静止状态。
5).Homing
轴只能从保持静止状态切换到回原点,执行完成后自动切换到保持静止状态。
6).DiscreteMotion
轴可以从保持静止、离散运动、连续运动或者同步运动状态切换到离散运动(DiscreteMotion)状态,也可以从离散运动状态切换到减速停止、连续运动、同步运动状态或者改为其它离散运动,离散运动完成后自动切换到保持静止状态。
7).ContinuousMotion
和离散运动相似,轴可以从保持静止、离散运动、连续运动或者同步运动状态切换到连续运动(ContinuousMotion)状态,也可以从连续运动状态切换到减速停止、离散运动、同步运动状态或者改为其它连续运动,但不能直接从连续运动状态切换到保持静止。
熟记轴的各种状态及其之间的转换关系是是自动化设计和系统分析所必须的基础知识。