4、PLC与运动控制器:常用品牌、通信与信号交互

做龙门机器人调度,PLC和运动控制器是绕不开的两个核心。说白了,PLC负责逻辑,运动控制器负责轨迹。我刚开始接触这个领域时,也搞不清它们到底怎么分工。后来在一条产线上调试,PLC和运动控制器各干各的,结果机器人撞了工件……嗯,从那以后我才真正理解,这两者必须紧密配合。

4.1 常用PLC品牌:西门子与三菱

PLC品牌很多,但工业现场最常见的,我个人习惯分成两派:西门子和三菱。

4.1.1 西门子PLC

西门子在国内中高端市场占有率很高。S7-1200和S7-1500系列我用的最多。S7-1200适合中小型系统,S7-1500适合大型多轴协同。

我个人觉得,西门子最大的优势是TIA Portal(博途)软件。它把PLC、HMI、驱动、运动控制都整合在一个平台里。调试时不用来回切换软件,效率高不少。

举个例子,我在一个汽车零部件项目中,用S7-1500控制整条线的逻辑。它通过Profinet总线与运动控制器通信,稳定性和实时性都很好。

关键点:西门子PLC的Profinet总线,在龙门机器人场景下,建议使用IRT(等时同步)模式,抖动可以控制在1微秒以内。

4.1.2 三菱PLC

三菱PLC在电子、包装行业很常见。我最早接触的是FX系列,后来用L系列和Q系列。三菱的编程软件GX Works3,说实话,刚开始用不太习惯,但用熟了会发现它的结构化编程很清晰。

三菱PLC的CC-Link IE Field总线,在龙门机器人中也能用。不过我个人更推荐用EtherCAT,因为三菱PLC通过网关或专用模块也能支持EtherCAT。

我的经验:如果项目预算有限,三菱FX5U配合EtherCAT模块,性价比很高。我在一个小型三工位龙门项目中用过,稳定运行两年没出过问题。

4.2 运动控制器:PMAC与固高

运动控制器是龙门机器人的大脑。它负责计算轨迹、插补、闭环控制。我常用的有两类:PMAC和固高。

4.2.1 PMAC运动控制器

PMAC(Programmable Multi-Axis Controller)是美国Delta Tau公司的产品。它的性能很强,支持多轴同步、高精度插补。我最早接触PMAC是在一个精密装配项目中,当时需要四轴同步运动,PMAC的PID调节能力让我印象深刻。

PMAC的编程语言是类似BASIC的脚本,也支持C语言。我个人习惯用它的Pewin32软件调试,界面虽然老,但功能很全。

避坑指南:我曾经在PMAC的伺服环参数调节上吃过亏。默认参数不一定适合龙门结构,尤其是双驱龙门,必须做交叉耦合补偿。否则两个电机互相较劲,轻则抖动,重则报警停机。

4.2.2 固高运动控制器

固高(Googol Technology)是国内做运动控制器的老牌厂商。它的GTS系列和GT系列在国产设备中很常见。我最近几年用固高比较多,原因很简单:技术支持响应快,中文资料全。

固高控制器的编程接口很友好,支持VC++、C#、LabVIEW。我习惯用C#写上位机,调用固高的动态库,控制龙门机器人做直线、圆弧、S曲线运动。

举个例子,在一个三工位协同项目中,我用固高GTS-800控制8个轴。其中4个轴是龙门双驱,另外4个轴是旋转和升降。固高的PT(位置-时间)运动模式,让多工位同步变得很简单。

控制器 轴数 通信方式 适用场景
PMAC 2-32轴 EtherCAT、MACRO 高精度、多轴同步
固高GTS 2-8轴 EtherCAT、脉冲 中高端、国产替代

4.3 EtherCAT总线通信

EtherCAT是目前工业自动化领域最火的实时以太网总线。它为什么火?说白了,就是快、准、稳。

EtherCAT的通信原理是“飞读飞写”。数据帧在从站之间穿梭,每个从站只处理自己的数据,延迟极低。我实测过,1000个数字量IO的刷新周期可以做到100微秒以内。

在龙门机器人中,EtherCAT主要用来连接伺服驱动器、IO模块、编码器。我个人习惯用倍福(Beckhoff)的EtherCAT主站,或者用固高、PMAC自带的EtherCAT主站。

配置要点:EtherCAT的DC(分布式时钟)功能必须开启。它能让所有从站同步到同一个时钟基准。我见过一个项目,DC没开,结果两个轴的位置偏差越来越大,最后撞机了。

EtherCAT的拓扑结构很灵活。可以用线型、星型、树型。我建议用线型,简单可靠。如果距离远,中间加EtherCAT中继器就行。

4.4 IO信号交互

PLC和运动控制器之间,除了总线通信,IO信号交互也很重要。说白了,就是“你告诉我该动了,我告诉你动完了”。

IO信号分两种:数字量IO和模拟量IO。在龙门机器人中,最常用的是数字量IO。

  • 输入信号:启动、停止、急停、原点开关、限位开关、工件检测
  • 输出信号:运行中、报警、到位信号、夹具控制、气阀控制

我习惯把IO信号分成三类:

  1. 安全类:急停、光栅、安全门。这些信号必须硬接线,不能走总线。
  2. 控制类:启动、停止、复位。可以走总线,也可以硬接线。
  3. 状态类:到位、报警、运行中。走总线最方便。

我的做法:在PLC中写一个IO映射表。把运动控制器的状态字映射到PLC的DB块中。这样PLC程序里直接读DB块,不用关心底层通信细节。调试时也方便,看DB块就知道所有状态。

举个例子,一个三工位协同场景:

  • 工位1完成加工,PLC通过IO输出“工位1完成”信号给运动控制器
  • 运动控制器收到后,控制龙门机器人移动到工位1
  • 机器人抓取工件,然后通过IO输出“抓取完成”给PLC
  • PLC收到后,控制工位2开始加工

你看,IO信号交互就是这样一个“握手”过程。虽然简单,但必须可靠。我曾经在一个项目中,IO信号抖动导致误触发,机器人提前移动,差点撞到人。后来加了软件滤波和硬件去抖电路,问题才解决。

重要提醒:IO信号的响应时间必须考虑。PLC扫描周期、总线延迟、运动控制器处理时间,加起来可能几十毫秒。如果要求高实时性,建议用EtherCAT的分布式时钟同步IO,或者用运动控制器直接控制IO模块。

4.5 知识体系框架

下面这张图,是我自己总结的PLC与运动控制器知识体系。你可以把它当作一个快速索引。

PLC与运动控制器知识体系 PLC与运动控制器 常用PLC品牌 西门子 三菱 运动控制器 PMAC 固高 总线通信 EtherCAT IO信号交互 数字量IO 模拟量IO 安全IO 核心:PLC负责逻辑,运动控制器负责轨迹,EtherCAT负责通信,IO负责握手 应用场景:龙门机器人多工位协同调度

这张图把本章的核心内容串起来了。你想想看,PLC选型、运动控制器选型、EtherCAT配置、IO信号规划,每一步都影响最终的系统稳定性。

我个人建议,做项目前先画一张类似的图。把每个模块的接口、信号、协议都标清楚。这样调试时心里有底,不会手忙脚乱。


公众号:蓝海资料掘金营,微信deep3321