3. PLC基础知识

在设备异常检测联动PLC的系统中,PLC既是执行机构,也是数据采集与联锁判断的核心。理解PLC的硬件结构、工作原理、扫描周期、I/O模块和工业通信接口,是后续编写异常检测逻辑、配置通信链路、排查联动失败问题的前提。本节从“看得见的硬件”和“看不见的运行机制”两条线展开,帮助建立完整的PLC认知模型。

一、PLC硬件结构:从电源到背板总线

典型模块化PLC由电源模块、CPU模块、I/O模块、通信模块和背板/机架总线组成。电源模块负责将现场交流电转换为CPU和I/O所需的直流电源;CPU模块执行用户程序、管理内存与通信;I/O模块负责将现场传感器信号转换为数字量或模拟量,并驱动执行器;通信模块提供以太网、串口或现场总线接口。各模块通过背板总线交换数据,CPU在每个扫描周期内读取输入、执行程序、刷新输出。

以西门子S7-1200/1500为例,CPU本体自带部分I/O和以太网口,扩展模块通过U型总线连接;三菱FX系列则采用主机+扩展板/扩展模块的结构。无论哪种形态,硬件结构都决定了I/O点数、通信能力和扩展上限。在异常检测场景中,若需要接入振动传感器、温度变送器、继电器报警等,必须提前核算I/O类型和数量,避免后期因模块不足导致改造困难。

二、工作原理与扫描周期:PLC的“心跳”

PLC采用循环扫描方式工作,一个完整周期包括输入采样、程序执行、输出刷新三个阶段,部分PLC还会在周期末尾处理通信和诊断任务。输入采样阶段,CPU将物理输入状态读入输入映像区;程序执行阶段,CPU按顺序执行用户程序,计算结果写入输出映像区;输出刷新阶段,CPU将输出映像区状态一次性送到物理输出模块。这种“集中采样、集中输出”的机制保证了程序执行期间输入输出状态的相对稳定。

扫描周期是上述过程的总时间,通常为毫秒级。扫描周期越短,PLC响应越快;但周期过短也可能导致通信任务被挤压。对于异常检测联动,若要求“检测到异常后50ms内切断设备”,就必须核算扫描周期、I/O滤波时间和执行器响应时间之和。若扫描周期为10ms,输入滤波为3ms,继电器动作时间为8ms,则总响应时间约为21ms,满足要求;若扫描周期为30ms,则总响应时间可能超过50ms,需要优化程序或选用高速I/O。

扫描周期估算示例:

扫描周期 = 输入采样时间 + 程序执行时间 + 输出刷新时间 + 通信/诊断时间
示例:2ms + 6ms + 1ms + 1ms = 10ms
若异常检测程序段较长,可将其放在高速中断或子程序中,避免拖长主循环。

三、I/O模块:数字量、模拟量与特殊模块

I/O模块是PLC与现场设备之间的桥梁。数字量输入模块接收按钮、限位开关、继电器触点等开关信号;数字量输出模块驱动接触器、电磁阀、指示灯等;模拟量输入模块接收温度、压力、振动等连续信号;模拟量输出模块用于调节阀、变频器给定等。此外还有高速计数模块、运动控制模块、称重模块等特殊模块。

在异常检测中,模拟量输入模块的精度和采样率直接影响异常判断的准确性。例如,振动传感器输出4-20mA信号,经模拟量模块转换为0-27648的整数值,再通过程序换算为实际振动值。若模块分辨率为12位,则最小可分辨约0.01mA,对应振动值约0.1mm/s。若异常阈值设为4.5mm/s,则需确保模块精度和滤波参数不会淹没真实异常。

模块类型典型信号异常检测用途注意事项
数字量输入24V DC/干接点设备运行/停止状态、门限位注意输入滤波时间,避免抖动误判
数字量输出继电器/晶体管报警灯、切断阀、联锁继电器晶体管输出需加续流二极管
模拟量输入4-20mA/0-10V温度、压力、振动、电流注意量程、精度、共模干扰
模拟量输出4-20mA/0-10V变频器给定、调节阀开度注意负载阻抗与输出精度
通信模块以太网/RS485/CAN上传异常数据、接收上位机指令注意协议、波特率、站号

四、工业通信接口:让PLC“说话”

PLC的通信接口决定了它能否与上位机、触摸屏、变频器、传感器和其他PLC交换数据。常见接口包括以太网口、RS232/RS485串口、CAN总线、Profibus、Profinet、Modbus等。以太网口适合高速、大数据量通信,常用于上位机监控和编程下载;RS485适合多站、长距离、低成本通信,常用于Modbus RTU网络;CAN总线抗干扰能力强,适合设备内部多节点通信。

在异常检测联动系统中,PLC通常需要将异常事件、实时值、设备状态上传到上位机或SCADA,同时接收上位机的复位、确认、参数下发指令。若采用Modbus TCP,PLC作为服务器,上位机作为客户端,通过功能码03读取保持寄存器、功能码06写入单寄存器。若采用Profinet,则需在博途等软件中配置设备名称和IP地址,并确保IO设备与控制器之间的数据映射一致。

通信配置检查清单:

  • 物理层:网线、终端电阻、屏蔽接地是否可靠。
  • 网络层:IP地址、子网掩码、网关是否在同一网段。
  • 协议层:波特率、数据位、停止位、校验位是否一致。
  • 数据层:寄存器地址、数据类型、字节序是否匹配。
  • 应用层:轮询周期、超时时间、重试次数是否合理。

五、案例与误区:扫描周期与通信超时的联动排查

某现场PLC通过Modbus RTU读取变频器频率,同时执行异常检测逻辑。运行中发现上位机偶尔报“通信超时”,但PLC程序中的异常判断仍然正确。排查后发现,主程序扫描周期约为25ms,而Modbus轮询程序放在主循环中,每次轮询等待响应约30ms,导致扫描周期被拉长到55ms以上,通信任务与逻辑任务相互挤压。将Modbus轮询改为定时中断执行,并设置合理的超时和重试后,扫描周期恢复至28ms,通信超时消失。

常见误区包括:把通信程序放在主循环中导致扫描周期波动;忽略输入滤波时间,导致异常信号被“滤掉”;模拟量模块未做量程换算,直接用原始整数比较阈值;多个通信主站同时访问同一从站,造成数据冲突。复盘时应从“扫描周期—I/O响应—通信时序”三个维度建立时间预算表,明确每个环节的最大允许耗时。

PLC硬件结构与扫描周期 硬件结构 电源模块 AC/DC转换 CPU模块 程序执行/内存 I/O模块 DI/DO/AI/AO 通信模块 以太网/RS485 背板/机架总线 扫描周期 ① 输入采样 读入输入映像区 ② 程序执行 逻辑运算/异常判断 ③ 输出刷新 写入物理输出 循环扫描:输入采样 → 程序执行 → 输出刷新 → 通信/诊断 t1 t2 t3 扫描周期 T = t1 + t2 + t3 + t通信