
3.1.3 管理类运动控制功能块和运动类运动控制功能块
PLCopen运动控制规范所定义的运动控制功能块是标准的基本运动控制功能块。供应商在规范的基础上可以提供自行开发的扩展功能块,但必须在声明文件中说明其扩展的运动功能块是否符合规范的定义和规则,特别要说明有哪些内容超出了规范。
根据运动控制功能块的功能,可把功能块分为管理组和运动组两类。根据功能块所控制的运动轴对象的数量,即是单轴还是由多个轴组成的轴组,可分为单轴和多轴运动控制功能块。根据轴和轴组的协调状态,可分为协调和同步、跟踪运动控制功能块。
管理组的功能块是指那些不直接控制和驱动轴运动的功能块。而运动组的功能块显然是直接控制和驱动的功能块。表3-3是PLCopen运动控制规范的第一和第二部分所规范和定义的管理组和运动组的功能块一览表。
表3-3 PLCopen运动控制规范的第一和第二部分功能块一览表

1.单轴运动控制功能块
(1)管理组功能块
管理组可以分为如下功能块:
● 管理电源状态(开/关):MC_Power。
● 采集相关运动参数:MC_ReadStatus,MC_AxisError,MC_ReadParameter,MC_ReadBoolParameter,MC_ReadDigitalInput,MC_ReadDigitalOutput,MC_ReadActualPosition,MC_ReadActualVelocity,MC_ReadActualTorque,MC_ReadAxisInfo,MC_ReadMotionState。
● 修改相关参数:MC_WriteParameter,MC_WriteBoolParameter。
● 移动运动坐标系:MC_SetPosition。
● 覆写运动参数:MC_SetOverride。
● 记录触发时间轴的位置:MC_TouchProbe。
● 数字凸轮开关:MC_DigitalCamSwitch。
● 复位:MC_Reset。
● 中止功能块:MC_AbortTrigger。
● 停止所有叠加运动:MC_HaltSuperimposed。
以上均为单轴用的管理类功能块。多轴用的管理类功能块只有一个,即选择电子凸轮表:MC_CamTableSelect。
(2)运动组功能块
运动组功能块可以分为单轴运动的功能块和多轴运动的功能块。
1)单轴运动的功能块
● 控制运动回原点、停止和暂停:MC_Home,MC_Stop,MC_Halt。
● 控制绝对运动、相对运动、附加运动和叠加运动:MC_MoveAbsolute,MC_MoveRelative,MC_MoveAdditive,MC_MoveSupperimposed。
● 控制匀速运动、持续的绝对运动和持续的相对运动:MC_MoveVelocity,MC_MoveContinuousAbsolute,MC_MoveContinuousRelative。
● 控制转矩:MC_TorqueControl。
● 配置文件:锁定时间-位置运动曲线、锁定时间-速度运动变化、锁定时间-加速度运动变化:MC_PositionProfile,MC_VelocityProfile,MC_AccelerationProfile。
2)多轴运动的功能块
● 控制凸轮啮合、控制凸轮脱离运动:MC_CamIn,MC_CamOut。
● 控制齿轮啮合、控制齿轮脱离运动:MC_GearIn,MC_GearOut。
● 控制主轴/从轴从同步点开始的齿轮比:MC_GearInPos。
● 控制绝对相位偏离运动、控制相对相位偏离运动:MC_PhasingAbsolute,MC_PhasingRelative。
● 将第三个轴用可选择的方法组合到两个轴的运动:MC_CombineAxes。
2.多轴协调运动控制功能块
PLCopen运动控制规范第四部分专门定义和规范复杂的多轴协调运动控制,表3-4给出了PLCopen运动控制规范第四部分的功能块一览表。同样也分为两组:管理组和运动组。
表3-4 PLCopen运动控制规范第四部分的功能块一览表

(1)轴组管理组功能块
轴组管理组功能块有以下几种。
● 将轴加入轴组,将轴从轴组中减除,将所有的轴从轴组中减除:MC_AddAxisToGroup,MC_RemoveAxisFromGroup,MC_UngroupAllAxes。
● 按给定的识别读取轴组的当前配置:MC_GroupReadConfiguration。
● 将轴组状态由禁用转为待机,将轴组状态由待机转为禁用:MC_GroupEnable,MC_GroupDisable。
● 轴组执行回原点的顺序:MC_GroupHome。
● 变换功能块:由轴坐标系ACS变换为机械坐标系MCS的MC_SetKinTransform,由机械坐标系MCS进行笛卡儿坐标变换为工件坐标系PCS的MC_SetCartesianTransform,由机械坐标系MCS进行坐标变换为工件坐标系PCS的MC_SetCoordinateTransform,读取由机械坐标系MCS进行笛卡儿变换为工件坐标系PCS参数的MC_ReadCartesianTransform,读取由机械坐标系MCS到工件坐标系PCS的坐标变换的MC_ReadCoordinateTransform。
● 在不运动的情况下设置轴组所有轴的位置:MC_GroupSetPosition。
● 按所选择的坐标系读取轴组当前的位置、速度、加速度:MC_GroupReadActualPosition,MC_GroupReadActualVelocity,MC_GroupReadActualAcceleration。
● 读取轴组的状态:MC_GroupReadStatus。
● 读取轴组的出错:MC_GroupReadError。
● 轴组复位:MC_GroupReset。
● 轴组路径选择:MC_PathSelect。
● 设置轴组若干轴运动覆写值:MC_GroupSetOverride。
● 设置轴组进行动态坐标变换:MC_SetDynCoordTransform。
(2)轴组协调运动控制功能块
轴组协调运动控制功能块有以下几种。
● 轴组停止(转入停止状态)、轴组暂停、轴组中断及轴组由中断转为继续运动:MC_GroupStop,MC_GroupHalt,MC_GroupInterrupt,MC_GroupContinue。
● 轴组插补线性绝对运动、轴组插补线性相对运动、轴组插补圆弧绝对运动、轴组插补圆弧相对运动、轴组直接绝对运动、轴组直接相对运动:MC_MoveLinearAbsolute,MC_MoveLinearRelative,MC_MoveCircularAbsolute,MC_MoveCircularRelative;MC_MoveDirectAbsolute,MC_MoveDirectRelative。
● 轴组按所选择路径运动:MC_MovePath。
(3)轴组同步运动控制功能块
轴组同步运动控制包括下列功能块。
● 单轴对轴组的同步:MC_SyncAxisToGroup。
● 轴组对单轴的同步:MC_SyncGroupToAxis。
● 跟踪传送皮带:MC_TrackConveyorBelt。
● 跟踪回转台:MC_TrackRotaryTable。
由于同步涉及运动控制规范的第一部分和第四部分,特给出图3-8表示其相互关系。

图3-8 轴组和单轴同步和跟踪功能块的关系
本节最后要指出上列各种功能块都是PLCopen运动控制规范中定义的基本功能块的集合。每个供货商或用户也可以根据自己的需要进行功能块的扩展定义。为加以明显的区别,其所扩展的功能块可采用如下格式,例如,贝加莱公司所扩展定义的功能块名可以是MC_BR_MoveProgram,MC_BR_TrackObject等。其中BR表示贝加莱公司所扩展的功能块。