2. PLC基础知识回顾
各位工程师朋友,在正式进入飞行打标项目之前,我们得先回头把PLC的基础夯一夯。说实话,我看过不少新人一上来就写梯形图,结果连扫描周期是什么都没搞明白,调试时被“时序”问题折腾得够呛。咱们这节课不讲废话,直接上干货。
- PLC的扫描循环到底是怎么跑的?
- 西门子、三菱、欧姆龙各有什么看家本领?
- 项目选型时我一般怎么考虑?
2.1 PLC的工作原理——别小看那个“循环”
PLC不像咱们电脑的CPU那样乱序执行指令。它是个“死脑筋”,每次干活都按固定套路走。这个套路就叫扫描循环。
我刚开始入行时,总觉得PLC慢是硬件差。后来才发现,扫描周期这个东西,你不理解它,调试时就会撞墙。一次在产线上,有个传感器信号一闪而过,我在梯形图里直接读I点,结果总抓不到。折腾半天,才意识到:输入采样阶段已经过了,信号早没了。改成中断后一切正常。
典型的扫描循环分三个阶段:
- 输入采样:PLC一次性把所有输入端状态读到“输入映像寄存器”里。注意,是“一次性快照”。
- 程序执行:CPU逐条执行用户程序,按逻辑运算结果更新“输出映像寄存器”。这个阶段输入变化也白搭,因为采样已经结束。
- 输出刷新:把输出映像寄存器的值一次性刷到物理输出口上。
详细时间轴如下表:
| 阶段 | 操作内容 | 时间占比(典型) | 注意事项 |
|---|---|---|---|
| 输入采样 | 读取所有I点状态到映像区 | 10%~20% | 注意信号最小脉宽需大于采样周期 |
| 程序执行 | 逐行执行梯形图/ST | 60%~80% | 梯形图越复杂,耗时越长 |
| 输出刷新 | 映像区→物理输出 | 10%~20% | 对输出点多的系统影响明显 |
你想想看,如果某个输入信号刚好在采样结束之后到来,那就得等到下一个扫描周期才能被程序感知。这就是“实时性”的瓶颈。所以在飞行打标这种高速场景,我通常会用以下手段应对:
- 使用硬件中断或高速计数模块
- 缩短扫描周期(精简程序、优化循环)
- 必要时改用专用运动控制器(或CODESYS软PLC)
2.2 常用品牌——我的亲身体会
市面上PLC品牌多如牛毛,但真正工程项目里常见的,其实就那几家。我个人习惯把PLC分成三个梯队:第一梯队是西门子、三菱、欧姆龙;第二梯队是罗克韦尔、施耐德、基恩士;第三梯队是国产汇川、台达、信捷等。
这里重点讲第一梯队,因为咱们飞行打标项目大概率会碰到它们。
2.2.1 西门子(S7-1200 / S7-1500)
西门子在国内自动化市场占有率很高。尤其是S7-1200,性价比不错,内置以太网口,支持多种协议。它的软件平台是TIA Portal,集成度高,但刚开始会觉得“太臃肿”。
我记得第一次用S7-1200做激光打标通信,用的是Modbus TCP。本来以为要调半天,结果TIA里拖个MB_CLIENT指令,配个背景数据块,半小时就通了。不过西门子的梯形图对擅长三菱的人会有点别扭——它没有“步进指令”,要用S7-GRAPH或SCL实现。
| 型号 | 适用场景 | 最大IO点数 | 编程软件 | 通信接口 |
|---|---|---|---|---|
| S7-1200 | 中小型系统、分布式 | 约300点 | TIA Portal | PROFINET, Modbus TCP |
| S7-1500 | 中大型高性能 | 数千点 | TIA Portal | PROFINET, EtherCAT(需模块) |
2.2.2 三菱(FX系列 / L系列)
三菱在包装、电子组装行业非常常见。FX系列以小型机出名,价格低,指令易懂。三菱的梯形图采用“软元件”体系,比如X代表输入,Y代表输出,M是中间继电器——逻辑清晰,很适合初学者。
但是,有一次我在项目里用FX3U做飞行打标触发,发现它的普通输入只能响应1kHz的脉冲,打标机要求5kHz。我赶紧查手册,改用高速输入(X0~X3)配合HSCS指令,才满足了要求。所以用三菱时,一定要看清“高速输入”的专用端子。
| 型号 | 适用场景 | 高速计数 | 编程软件 | 通信接口 |
|---|---|---|---|---|
| FX3U/FX5U | 小型设备、单机 | 最高100kHz~200kHz | GX Works | RS-485,CC-Link,以太网 |
| L系列 | 中型系统 | 更高(模块化) | GX Works | CC-Link IE,以太网 |
2.2.3 欧姆龙(CP / CJ / NJ系列)
欧姆龙的PLC在印刷、纺织、食品行业用得多。它的指令系统非常成熟,尤其是“定时器/计数器”的用法和西门子差异较大。欧姆龙的CX-Programmer上手快,但软件比较古老。
我个人比较欣赏欧姆龙CJ系列的处理速度。多年前做一个纸箱打包机的项目,用了CJ2M,扫描周期稳定在1ms以内。后来升级到NJ系列,支持EtherCAT,配合伺服做飞拍简直顺滑。如果你们的飞行打标系统有EtherCAT从站,选NJ会省很多事。
| 型号 | 适用场景 | 运动控制 | 编程软件 | 通信接口 |
|---|---|---|---|---|
| CP1H/CP1L | 小型经济 | 简易脉冲 | CX-Programmer | RS-232C, USB |
| CJ2M | 中型高速 | 支持MC功能 | CX-Programmer | 以太网、EtherCAT(需模块) |
| NJ/NX系列 | 中高端 | EtherCAT集成 | Sysmac Studio | EtherCAT, 以太网IP |
2.3 一个小汇总:哪个更适合飞行打标?
没有“最好”的PLC,只有“最合适”的。针对飞行打标这个场景,我的建议是:
- 若打标机支持EtherCAT,优先考虑欧姆龙NJ/NX或西门子S7-1500(带选件)
- 若成本敏感且打标速度不高(<100ppm),三菱FX5U或西门子S7-1200完全够用
- 如果系统需要同时控制多台激光器或视觉,建议用基于PC的软PLC(如CODESYS平台),扫描周期可压到亚毫秒
最后说一句,实际编程时,不管哪个品牌,“扫描周期一致性”比“扫描周期快”更重要。飞行打标要求触发时刻精确,如果每次扫描周期抖动很大,打标位置就不稳定。所以我在调试时,总会用示波器或PLC的监控功能看扫描周期波动——超过±0.2ms就得查程序了。