PLC

可编程逻辑控制器

定义

PLC(Programmable Logic Controller,可编程逻辑控制器)是工业自动化核心设备,实现顺序控制、联锁逻辑、定时计数等。支持 Modbus、EtherNet/IP、Profibus、OPC UA 等协议。工业网关、DTU 可将 PLC 数据汇聚并上报至 SCADA、MES、云平台。

系统组成

PLC 由 CPU、I/O 模块、电源、编程接口等组成。CPU 执行梯形图、指令表、结构化文本等程序;数字量 I/O 连接开关、继电器、传感器;模拟量 I/O 连接 4~20mA、0~10V 等;通信模块支持 Modbus、EtherNet/IP、Profibus、OPC UA。PLC 通过现场总线或以太网连接变频器、伺服、机器人、仪表等。

数据采集

工业网关、边缘网关通过 Modbus TCP/RTU、OPC UA、EtherNet/IP 等协议从 PLC 采集运行状态、产量、故障、工艺参数等数据,经 MQTT、HTTP 上报至 SCADA、MES、云平台。支持 OEE 计算、预测性维护、数字孪生等应用。选型时需确认 PLC 支持的协议、数据地址映射。

扫描周期与过程映像

程序按周期读映像再写映像

可编程控制器每个循环做三件事:把输入端子的状态抄进输入映像,按程序从上到下计算,再把输出映像写到端子。程序里读到的输入,是本周期开始时的快照,不是端子上这一微秒的电平。同一个循环后半段即使端子已经变化,逻辑仍使用周期初的值,直到下一圈。这个延迟是联锁设计的一部分,采集软件若按通信报文的到达时间反推“现场刚刚动作”,会差一个到数个扫描周期。

定时器和计数器也挂在这张周期表上。定时精度通常是扫描周期的倍数,扫描因为通信任务变长时,定时器一起变慢。把控制器内部定时器当成毫秒级测量基准,产线节拍会随负载漂移。中断程序可以更快地抓住少数输入,但中断里能做的事有限,不能假设所有点都具有中断级的响应。

逻辑任务和通信任务要拆开看

它适合顺序、联锁、计数和不太快的模拟量调节,程序和 I/O 模块由同一工程管理。对外通信是附加任务,占用的是扫描剩余时间。采集方把刷新率设得很高、一次读取大量寄存器时,控制器可能延长扫描,严重时触发看门狗。使用条件是:点表有稳定地址,采集周期明显慢于扫描周期,写操作只限于明确允许的设定值,安全联锁仍留在控制器内部,不依赖网络往返。

与 DCS 相比,这里更常见的是一台控制器照管一台设备或一段机械,程序由设备厂维护。远程数据应从已经映射好的映像区读取,不要让网关直接驱动安全输出。模拟量模块还有自己的转换时间,映像更新了不等于传感器已经完成一次新的转换。

扫描超时与地址重叠

地址重叠是改造工程的典型错误。扩展模块插槽变化后,原来的输入字被挪到新地址,老程序和新采集各用一套表,同一信号出现两个数值。下载程序前应导出变量表,并和采集点表做一次差异核对。第二是扫描超时被通信拖死:在线监视、强制线圈和大包读取同时进行,看门狗复位,设备停机,日志却记成“网络闪断”。

强制功能若遗忘在现场,端子的真实状态不再等于映像,排查时万用表和画面永远对不上。模拟量还要核对原始码与工程量的比例,比例写在控制器里一套、写在上位机里另一套,曲线会差一截。最后,不要把 RS485 从站的超时时间设得比控制器扫描还短,否则主站会在控制器尚未刷新映像时判定通信失败,点数越多误报越多。

程序版本和采集点表必须一起变更。只升级控制器程序、不通知采集侧,新增的联锁位会被读成旧地址上的无关数据,遥控点甚至可能写到已经挪作他用的线圈。变更单里应留下变量表差异,采集侧改完后再解除写保护,避免两套工程各改各的。

相关术语

返回硬件类知识库