传统上,工业机器人使用复杂的专有语言编程,对外人来说是很难的,只有机器人程序员才能理解。运动控制器现在应用广泛多样,通常使用PC库或其他专有语言来编程,而plc倾向用梯形逻辑来编程。在今天的自动化环境中,PLC、运动控制器和机器人需要紧密集成。许多不同的组件集成到机器的设计中,而每种组件需要通过他们的专用语言才能呈现自己的特长。越来越多的最终用户要求把机器人、运动控制器和可编程控制器都用熟悉的PLC语言进行编程。这些语言对机器制造商的程序员更容易理解,也使最终用户的服务人员更容易维护。为了减少复杂性,协调这三个不同的平台的外观、感觉和功能,PLCopen工作组为运动控制已经拿出了一套标准化工具,能在plc编程环境下直接对运动控制编程。
PLC
自从1968年在通用汽车公司使用开始(用来代替硬连线继电器),PLC就使用梯形逻辑编程。它们可容易地控制数字和模拟设备的过程,但对更复杂、连续性质过程的编程要比用高级编程语言,如BASIC、C或C#更加困难。多年来,PLC已经进化到可以用BASIC或C语言编程的水平,但大部分仍然依赖于梯形逻辑。很多低端PLC通过步进和方向输出支持运动控制。一些更高水平的运动控制可以通过昂贵的专用模块来实现,但必须添加到基本系统。尽管这样,大多数设备用梯形逻辑编程,需要熟悉编程环境,制造工艺,以及专门的功能块才能实现需要的功能。
运动控制器
一般市场中的运动控制器通常包括插补功能(直线插补或圆弧插补),协同运动、齿轮、凸轮和事件触发动作(使用传感器和位置锁存)。在老控制器中,每轴使用专用的输入和输出。运动输入,如使能、超程限位和编码器输入(每轴一个或两个)和类似伺服命令的运动输出(通常为+/-10V模拟量)和/或步进指令(步进和方向)。多数控制器还具有一些通用的I/ O。新控制器依靠数字网络,如EtherCAT或SERCOS用来传递控制信号至驱动器,接收和发送直接连接到驱动器的数字IO。
在处理联动的运动时,典型的运动控制器无法与机器人控制器竞争。典型的运动控制器,如果你想把末端执行器移动到一个特定点,你必须为每个轴找出正确的位置。你需要对机器人和有机械连接机制的其他机器做的事情是使用反向运动学的方法来编程。使用时需要公式,在物理空间中,需要把特定点转换为各自的位置,描述每个关节(或轴)需要移动至所述机械连接机构的终点。同样,这些系统应用广泛多样,需要熟悉他们的特定编程环境。
机器人控制器
机器人控制器已经设计为实现特定复杂机制的最佳控制。多数控制器为特定设备。制造商创建一种专门的语言编程,从平台到平台的变化很大。当控制设备使用为他们设计的控制库时,非常高效;然而,大多数都不能很好地进行通信、集成或编程。在过去,几乎专用的机器人控制器只支持的运动学和反向运动学。现在,很多常见的运动控制器提供机器人类型命令的某些子集,尤其在针对包装自动化的控制器。机器人控制器和运动控制器之间的界限正变得模糊,但仍然用不同的系统和不同的语言编程,需要程序员进行协调,设计通常用于特定目的。
合并成一台机器控制器
PLCopen工作组为运动控制进行了标准化,逻辑定义了机器控制编程的所有内容。这是一种集成PLC、机器人和运动控制的最佳尝试,用一种容易理解的、多数制造商都常用的语言。许多功能块是基本的,例如,相对或绝对移动的功能块,这在任何运动控制系统中都很容易理解。当需要增加运动的难度时,多个控制系统的标准化和通用性外观和感觉确是一个优势。例如,在每个各自运动停止下个运动开始前,很容易把相对或绝对运动串在一起。可以想象一下一组复杂的运动,一个轴需要在非零速度的情况下转换到下个运动,在轴的整个路径混合各个运动到一个顺序的运动。 PLCopen运动控制定义了标准的混合操作,允许程序员用公共混合和转换模式实现这个顺序运动。
有一个基本的问题,当多个轴在一起运动且用数学模型控制机械连接轴时,并不总是清楚哪些关键轴需要同步运动。因此,当故障发生时,运动控制器并不总能知道哪些轴受到影响。PLCopen针对这个问题定义了一个运动组,当组中的一个轴有错误时,控制器可以生成一个适当的错误响应。这个分组的概念允许程序员可以把注意力集中在机器所需的特定任务上,通过实施下图所示的组状态机,由控制器来照顾该组的功能,
PLCopen运动标准的第四部分包含了用于协调运动的功能块。他们定义了一套标准化的功能块,用于3D空间内的复杂运动控制,包括运动转换的功能块。通常,这些转换必须由厂商提供,因此,对于大多数制造商,如果运动控制器不支持,就不能添加运动转换功能。
这个标准现在创建了PLC、数控(CNC)机器人和运动控制之间的一座桥梁。现在可以用一种和PLC一样的编程环境,完成一台机器的全部控制。这个标准使机器人、运动控制器成为控制系统的一个部分,而不是独立系统。集成运动控制和逻辑控制,是现代机械控制的两个主要需求。这具有明确的优点:在一个程序包中同时具有运动控制和逻辑控制,包括但不限于,几乎无限制地交换逻辑和运动之间的数据,没有延迟,这在传统系统中可能限制了性能。事实上,现在有可能使用机器控制器完美同步机器人与附加伺服轴,这种技艺以前只能在机器人控制器的领域来实现。
结论
PLCopen标准的最终目标是让控制程序代码完全独立于硬件或特定制造商。当不同的硬件厂商支持相同的底层代码和以同样方式的运行时,程序员将从学习每个制造商专有语言的噩梦中解放出来。这个结果可以改进复杂整机控制系统的精度和吞吐量,使开发和上市时间更短。 PLCopen使这种开发减少工程复杂性和专业性培训,使整个系统更容易被PLC编程人员所熟悉。