支持智能制造的PLCopen运动控制规范彭瑜PLCopen中国组织上海工业自动化仪表研究院2013.11.4上海内容提要PLCopen运动控制规范是智能制造的重要基础PLCopen运动控制规范概述PLCopen运动控制规范两种应用实现PLCopen运动控制规范是智能制造的重要基础运动控制是智能机械控制的重要基础机械装备的制造加工功能一般是通过其相关的部件的运动来实现的,尽管制造加工的原理常常有很大的差异(如冷加工的金属切削、热加工的焊接、锻造、……),但是都离不开机械部件的运动。从这个意义上说,运动是机械装备的本质特征。不过,不同的工艺对运动控制的关注点有很大差异,在技术细分时应予以特别之注意。运动控制泛指通过某种驱动部件(诸如液压泵、直线驱动器,或电动机,通常是伺服电机)对机械设备或其部件的位置、速度、加速度和加速度变化率进行控制。由此可见,运动控制系统是确保数控机床、机器人及各种先进装备高效运行的关键环节。运动控制技术是装备制造领域的核心技术。机器人和数控机床的运动控制要求更高,这是因为其运动轨迹和运动形态远较若干专用的机械装置(如包装机械、印刷机械、纺织机械、装配线、半导体生产设备)复杂。伺服控制越来越普遍应用于智能控制智能制造的重要环节之一是如何把以伺服驱动为核心的运动控制与逻辑控制和顺序控制完美地结合起来,形成快速、精准、节能、高效的智能化控制。当前在成形加工(包括塑料成形、冲压成形、压铸成形等)的装备中,呈现用伺服驱动系统替代液压驱动或机械驱动系统的发展趋向。例如全电动注塑机采用伺服系统驱动注塑泵,大大减少压力波动,提高产品质量,节能效果显著;伺服冲床或锻压机械采用伺服系统直接带动偏心轮实现滑块的运动轨迹控制(行程、速度曲线等),不但大大简化的机械设计(去除了蓄能的飞轮机构),而且大大提高生产率和成形质量,降低能耗,满足多种工艺要求。这种趋向是近年来在包装机械及其生产线、印刷机械及其生产线、纺织机械、塑料及橡胶加工机械等广泛采用伺服系统实现数字化和智能化的成功实践中,全方位地向各类机械装备推广运用的体现。数字化伺服系统具有足够的优越性数字化伺服系统本身十分典型地体现了智能控制技术的优越性:在进行精确定位控制的同时,还可满足速度控制和转矩控制的要求通过工业以太网可方便实现多轴同步控制快速运动:启动力矩大,加减速控制功能强节能潜力巨大便于用软件来实现各类机械装置运动过程中负载控制的要求伺服系统技术复杂,价格较贵。这也许是一个障碍。但可以肯定,随着越来越广泛的运用,生产批量越大,它的成本会迅速下降。而随着机械系统变得简约,整体的成本也会显著降低。市场需求推动运动控制软件的标准化进程长期以来,用户可在很大范围内选择实现运动控制的硬件。不过,每种硬件都要求独自而无法兼容的开发软件。即使所要求的功能完全相同,在更换另一种硬件时,也需要重新编写软件。这一困扰运动控制用户的问题,其实质就是如何实现运动控制软件的标准化。这实际上是一种市场推动。PLCopen组织考虑到用户存在运动控制软件标准化的需求,从1996年就建立了运动控制规范工作组,历时十多年完成了这一具有挑战性的工作。PLCopen开发运动控制规范的目的PLCopen开发运动控制规范目的在于:在IEC61131-3为基础的编程环境下,在开发、安装和维护运动控制软件等各个阶段,协调不同的编程开发平台都能满足运动控制功能块的标准化要求。由此我们可以清晰地看出,制定PLCopen运动控制规范是为了构建满足各类运动控制要求的模块化的软件系统。建立标准的运动控制应用功能块库PLCopen对运动控制标准化的技术路线是,在IEC61131-3为基础的编程环境下,建立标准的运动控制应用功能块库。这样做的原委是:让运动控制软件的开发平台独立于运动控制的硬件让运动控制的软件具有良好的可复用性让运动控制软件在开发、安装和维护等各个阶段,都能满足运动控制功能块的标准化要求特别是该规范的第四部分,创造性地规范了多轴协调运动控制的理论基础和功能性,并详尽规定了各种相关的功能块。经过多年的努力,现在已经有了很好的实现,既有集合机器人、CNC(数控机床)和通用运动控制的工程软件平台,也有硬软件一体化的PLC系列产品,还有许多实际应用运动控制规范的智能装备。通过运动控制功能块实现与硬件无关的开发从软件的角度输入模块名输出从硬件角度I/FSercosDriveMotorEDriveMotorEPWMI/F封装/信息和代码隐藏IEC61131-3为运动控制软件提供良好架构IEC61131-3为机械部件的运动控制提供一种良好的架构PLCopen为运动控制提供功能块库,最显著的特点是:极大增强了运动控制应用软件的可复用性,从而减少了开发、培训和技术支持的成本只要采用不同的控制解决方案,就可按照实际要求实现运动控制应用的可扩可缩功能块库的方式保证了数据的封装和隐藏,进而使之能适应不同的控制系统架构,譬如说集中的运动控制架构、分布式的运动控制架构,或者既有集中又有分散的集成运动控制架构它不但服务于当前的运动控制技术,而且也能适应今后的或正在开发的运动控制技术所以我们说,IEC6113-1-3与PLCopen的运动控制规范的紧密结合提供了理想的机电一体化的解决方案PLCopen运动控制规范概述PLCopen制定运动控制功能库标准运动控制库名称发布时间第1部分运动控制库2001年11月第2部分扩展2004年4月第3部分用户导则2004年4月第4部分运动控制的协调2008年12月第5部分回零功能2006年4月第6部分液压驱动扩展2011年11月PLCopen国际组织专门制定了运用于智能制造的运动控制库。现已成为国际公认的运动控制规范。有兴趣请登录www.plcopen.org查阅。2011年3月的新版本中,将第一、第二部分合并,称为《运动控制功能块》PLCopen运动控制规范的基本内容基本上,每个规范都包含了3部分:定义状态机定义单轴和多轴运动控制的功能块的基本集合规定符合规则和语句运动控制规范Pt.1的状态图(8个状态)DiscreteMotionDisabledStoppingHomingSynchronizedMotionErrorStopStandstillContinuousMotion上电回原点命令状态图及其部分转移Note1:AllFBscanbecalled,althoughtheywillnotbeexecuted,exceptMC_ResetandError–willgeneratethetransitiontoStandStillorErrorStopresp..MC_MoveSuperimposedMC_MoveVelocityMC_VelocityProfileMC_AccelerationProfileDiscreteMotionContinuousMotionDisabledMC_MoveAbsoluteMC_MoveRelativeMC_MoveAdditiveMC_MoveSuperimposedMC_PositionProfileDoneMC_MoveAbsoluteMC_MoveRelativeMC_MoveSuperimposedMC_MoveAdditiveMC_PositionProfileMC_StopMC-StopMC_MoveVelocityMC_VelocityProfileMC_AccelerationProfileMC_MoveVelocityMC_VelocityProfileMC_AccelerationProfileMC_StopNote1StoppingMC_MoveAbsolute;MC_MoveRelativeMC_MoveAdditive;MC_PositionProfileDoneHomingDoneMC_HomeMC-StopStandstill回零停用待机停止间歇运动连续运动HomingErrorStopStoppingDiscreteMotionContinuousMotionStandStillMC_MoveVelocity;MC_VelocityProfile;MC_AccelerationProfileNote1MC_MoveSuperImposedMC_MoveVelocityMC_VelocityProfileMC_AccelerationProfileMC_StopMC_MoveVelocityMC_VelocityProfileMC_AccelerationProfileNote1ErrorNote4MC_ResetNote3MC_StopMC_StopDoneMC_HomeErrorMC_StopDoneMC_Move-Absolute-Relative-Additive-SuperimposedMC_PositionProfileMC_MoveAbsoluteMC_MoveRelativeMC_MoveSuperimposedMC_MoveAdditiveMC_PositionProfileErrorErrorMC_MoveAbsolute;MC_MoveRelative;MC_MoveAdditive;MC_PositionProfileSynchronizedMotionMC_GearIn(Slave)MC_CamIn(Slave)MC_GearIn(Slave)MC_CamIn(Slave)MC_Phasing(Slave)MC_MoveSuperimposed(Slave)MC_MoveAbsoluteMC_MoveRelativeMC_PositionProfileMC_GearIn(Slave)MC_CamIn(Slave)ErrorMC_StopErrorMC_MoveVelocityMC_GearOutMC_CamOutMC_VelocityProfileMC_AccelerationProfileMC_GearIn(Slave)MC_CamIn(Slave)DisabledNote2状态图全图同步运动连续运动间歇运动停止出错停止回零停用待机Administrative管理Motion运动SingleAxes单轴MultipleAxes多轴SingleAxes单轴MultipleAxes多轴Non-InterpolatedMoveAbsoluteMoveRelativeMoveSuperImposedMoveContinuousMoveVelocityHomeStopPowerClearPendingActionsReadStatusReadAxisErrorReadParameterWriteParameterReadActualPositionPositionProfileVelocityProfileAccelerationProfileCamTableSelectCamInCamOutGearInGearOut第一部分:运动控制功能块PLCopen的运动控制规范的功能块Administrative管理Motion运动SingleAxes单轴MultipleAxes多轴SingleAxes单轴MultipleAxes多轴TorqueControlDigitalCamSwitchTouchProbeAbortTriggerReadDigitalInputReadDigitalOutputWriteDigitalOutputSetPositionSetOverrideGearInPosReadActualVelocityReadActualTorque第二部分扩展PLCopen的运动控制规范的功能块功能块举例MoveabsoluteMoveAbsoluteAXIS_REFAxisAxisAXIS_REFBOOLExecuteDoneBOOLREALPositionBOOLREALVelocityCommandAborte