2、PLC基础与IEC 61131概述:PLC工作原理、扫描周期、IEC 61131系列标准组成及各部分简介

可编程逻辑控制器(Programmable Logic Controller,PLC)自1969年诞生以来,已从简单的继电器替代装置演变为工业自动化领域的核心控制设备。理解PLC的工作原理与扫描周期,是掌握IEC 61131系列标准的前提——因为标准中的编程模型、任务调度、变量映射等概念,本质上都是围绕PLC的循环扫描执行机制设计的。本章将首先剖析PLC的硬件组成与工作流程,然后深入讲解扫描周期的各个阶段及其时序特性,最后系统梳理IEC 61131系列标准的整体架构与各部分的核心定位,为后续章节的深入学习奠定基础。

PLC 工作原理与 IEC 61131 标准架构总览 PLC 循环扫描周期 ① 读输入 ② 执行程序 ③ 写输出 ④ 系统服务 扫描周期 T = T读入 + T执行 + T写出 + T系统(典型 1~100 ms) IEC 61131 系列标准组成 IEC 61131-1 通用信息 IEC 61131-2 装置要求与测试 IEC 61131-3 编程语言 IEC 61131-4 用户指南 IEC 61131-5 通信 IEC 61131-6 功能安全 IEC 61131-7 模糊控制 IEC 61131-8 实现指南 PLC 硬件系统组成 电源模块 AC/DC 转换 CPU 模块 运算 + 存储 + 通信 输入模块 DI/AI/高速计数 输出模块 DO/AO/PWM 通信模块 Ethernet/Profibus 扩展接口 背板总线/远程I/O IEC 61131-2 规定了 PLC 装置的电气特性、机械特性、EMC 要求及测试方法 IEC 61131-3 定义了 5 种编程语言:IL、ST、LD、FBD、SFC IEC 61131-5 基于 MMS 定义了 PLC 之间的通信服务与协议映射 电源 处理 输入 输出 通信 扩展

2.1 PLC 工作原理:从继电器逻辑到存储程序控制

2.1.1 核心原理:存储程序与循环扫描

PLC 的本质是一台专用于工业控制的工业计算机,其工作原理可概括为"存储程序、循环扫描"。与通用计算机的"事件驱动"执行模式不同,PLC 采用周期循环扫描(Cyclic Scan)方式运行用户程序。这意味着 CPU 按照固定顺序反复执行一系列操作:读取输入状态、执行用户程序、更新输出状态、执行系统管理任务,如此周而复始。这种设计源于对继电器控制系统的模拟——继电器电路中,所有触点状态同时参与逻辑运算,而 PLC 通过快速循环扫描在时间上"近似"实现了这种并行性。

PLC 的硬件组成主要包括:CPU 模块(负责运算与控制)、电源模块(提供稳定的直流供电)、输入模块(将外部开关量或模拟量信号转换为 CPU 可处理的数字信号)、输出模块(将 CPU 运算结果转换为驱动外部执行器的信号)、通信模块(支持编程调试与网络通信)以及扩展接口(连接远程 I/O 或特殊功能模块)。其中,输入/输出模块与 CPU 之间通过背板总线或现场总线进行数据交换。

2.1.2 操作流程:PLC 的启动与运行过程

PLC 上电后的完整工作流程可分为以下阶段:

  1. 启动阶段:CPU 进行自诊断(检查内存、I/O 模块、通信接口),清除或初始化数据区,加载操作系统与用户程序。
  2. 循环扫描阶段:进入正常运行模式后,CPU 按固定周期执行以下四个步骤:
    • 读输入:将物理输入模块的信号批量读入到输入映像寄存器(I/O Image Table)中。
    • 执行程序:CPU 从第一条指令开始顺序执行用户程序,运算过程中读取输入映像寄存器和内部变量,并将结果写入输出映像寄存器。
    • 写输出:将输出映像寄存器的内容一次性刷新到物理输出模块。
    • 系统服务:处理通信请求、自诊断、编程口通信、时间片管理等系统任务。
  3. 异常处理:若自诊断发现故障(如看门狗超时、内存校验错误),PLC 进入 STOP 状态并点亮故障指示灯,输出模块按预设的安全状态动作。

2.1.3 案例拆解:继电器电路与 PLC 程序的等效转换

以一个典型的电机启停控制电路为例:传统继电器电路包含启动按钮(常开)、停止按钮(常闭)、接触器线圈及自锁触点。转换为 PLC 程序时,输入信号(按钮)接入 PLC 的 DI 通道,输出信号(接触器)接在 DO 通道上。梯形图程序使用常开触点(对应启动按钮)、常闭触点(对应停止按钮)和输出线圈(对应接触器)实现同样的逻辑。关键区别在于:继电器电路中自锁触点通过物理接线实现,而 PLC 程序中通过输出线圈的反馈触点(即使用输出映像寄存器的值)实现软自锁。这种转换体现了 PLC 用"软逻辑"替代"硬接线"的核心思想。

工程要点:PLC 的输入采样是"瞬时快照"——在一个扫描周期内,即使输入信号在程序执行过程中发生变化,输入映像寄存器的值也不会更新,必须等到下一个扫描周期的"读输入"阶段才会被刷新。这一特性既是 PLC 抗干扰的优势,也是导致输入响应延迟的根本原因。

2.1.4 常见误区与总结

  • 误区一:认为 PLC 程序是"并行执行"的。实际上,PLC 程序是严格顺序执行的,只是扫描速度极快(毫秒级),从宏观上看近似并行。
  • 误区二:忽略输入/输出延迟。从物理信号变化到 PLC 响应输出,至少需要 1~2 个扫描周期,对于高速控制场景(如伺服定位)必须考虑此延迟。
  • 误区三:混淆"输入映像寄存器"与"物理输入"。程序只能访问映像寄存器,不能直接读取物理输入引脚的状态。

2.2 扫描周期:时序特性与性能指标

2.2.1 核心原理:扫描周期的组成与影响因素

扫描周期(Scan Cycle Time)是 PLC 完成一次完整循环所需的时间,通常用 T 表示。它由四个部分构成:T = T输入采样 + T程序执行 + T输出刷新 + T系统服务。其中,T程序执行 占主导地位,其大小取决于用户程序的指令条数、指令类型(位逻辑指令最快,浮点运算和字符串处理较慢)以及 CPU 的主频。T输入采样 和 T输出刷新 与 I/O 点数及模块类型有关(模拟量模块的转换时间远大于开关量模块)。T系统服务 则受通信负载、诊断任务和编程口活动的影响。

扫描周期的典型范围:小型 PLC 约 1~10 ms,中型 PLC 约 5~20 ms,大型或复杂应用可达 50~100 ms。对于运动控制或高速计数等实时性要求高的场景,需要选择扫描周期更短或支持中断处理的 PLC。

2.2.2 判断方法:如何测量与优化扫描周期

测量扫描周期的方法通常有三种:

  • 编程软件监控:大多数 PLC 编程软件(如 TIA Portal、GX Works、Codesys)提供在线监控功能,可直接显示当前扫描周期。
  • 系统时钟法:在程序中读取系统时钟(如毫秒计时器),在程序开头和结尾分别记录时间戳,差值即为程序执行时间。
  • 示波器法:将一个输出点在程序开头置位、结尾复位,用示波器测量该输出点的脉冲宽度,即为程序执行时间。

优化扫描周期的常用策略包括:将不频繁执行的程序块放入条件调用中(如每秒执行一次)、使用高效的指令(避免在循环中做浮点运算)、合理分配程序组织单元(POU)的执行优先级、减少不必要的通信任务等。

2.2.3 实战场景:高速包装线的扫描周期优化

某食品包装线使用中型 PLC 控制 12 个伺服轴和 40 个传感器,初始扫描周期为 18 ms,导致在高速运行(每分钟 120 包)时出现定位偏差。通过分析程序发现:主程序中有大量模拟量滤波计算(每个扫描周期执行),且通信任务频繁占用 CPU 时间。优化措施包括:将模拟量滤波改为每 5 个扫描周期执行一次;将通信数据交换改为事件触发模式;将伺服插补运算移至独立的任务(使用更高优先级)。优化后扫描周期降至 6 ms,定位精度恢复至 ±0.5 mm,设备运行速度提升至每分钟 150 包。

风险提示:缩短扫描周期并非总是好事。过短的扫描周期会增加 CPU 负载,可能导致通信超时或系统服务被挤压。一般建议将 CPU 负载率控制在 70% 以下,留出裕量应对突发任务。

2.2.4 常见误区与总结

  • 误区一:扫描周期越短越好。实际上,扫描周期应与控制对象的动态响应匹配,过短反而浪费资源。
  • 误区二:忽略中断对扫描周期的影响。硬件中断和定时中断会打断正常扫描,导致扫描周期抖动。
  • 误区三:认为所有 PLC 的扫描周期是固定的。实际上,扫描周期随程序路径和外部条件变化而波动。

2.3 IEC 61131 系列标准组成与各部分简介

2.3.1 核心原理:标准体系的整体架构

IEC 61131 是国际电工委员会制定的可编程控制器系列标准,由 8 个部分组成,覆盖了 PLC 从硬件到软件、从设计到测试的完整生命周期。该标准的核心价值在于:统一了 PLC 的硬件规范、编程语言、通信接口和工程方法,使得不同厂商的 PLC 在概念模型上具有一致性,降低了工程师的学习成本和系统集成难度。

标准编号名称核心内容典型应用场景
IEC 61131-1通用信息术语定义、基本概念、功能模型技术交流与文档编写
IEC 61131-2装置要求与测试电气特性、机械特性、EMC、安全要求PLC 选型与验收测试
IEC 61131-3编程语言5 种编程语言、数据模型、软件模型控制程序开发
IEC 61131-4用户指南选型指导、系统设计建议项目规划与方案设计
IEC 61131-5通信通信模型、MMS 映射、服务规范多 PLC 联网与 SCADA 集成
IEC 61131-6功能安全安全相关系统的 PLC 要求安全仪表系统(SIS)
IEC 61131-7模糊控制模糊逻辑编程语言扩展复杂过程控制
IEC 61131-8实现指南各部分的实施指导与示例PLC 厂商产品开发

2.3.2 操作流程:如何应用标准进行项目开发

在实际工程项目中,IEC 61131 标准的应用遵循以下流程:

  1. 需求分析阶段:依据 IEC 61131-1 的术语和模型,明确控制系统的功能需求和非功能需求(如响应时间、可靠性)。
  2. 硬件选型阶段:参考 IEC 61131-2 的装置要求,评估候选 PLC 的电气参数(如输入/输出电压范围、隔离等级)、环境适应性(温度、湿度、振动)和 EMC 性能。
  3. 软件设计阶段:按照 IEC 61131-3 的软件模型,将系统分解为程序组织单元(POU),选择适合的编程语言(如逻辑控制用 LD,算法处理用 ST,顺序控制用 SFC)。
  4. 通信设计阶段:依据 IEC 61131-5 的通信模型,配置 PLC 之间的数据交换方式(如基于 MMS 的读写服务)。
  5. 安全评估阶段:对于安全相关应用,遵循 IEC 61131-6 的要求,设计冗余架构和安全逻辑。

2.3.3 案例拆解:基于 IEC 61131-3 的多语言混合编程

某汽车焊装车间需要实现一个工位控制程序,包含顺序动作(焊枪夹紧→焊接→松开)、模拟量闭环控制(焊接电流调节)和报警处理。项目采用 IEC 61131-3 推荐的混合编程策略:使用 SFC 编写整体工艺流程(清晰表达步骤转换条件),在 SFC 的动作步中使用 ST 语言编写模拟量 PID 控制算法(便于数学运算),使用 LD 编写安全联锁逻辑(直观且易于验证),报警处理使用 FBD 实现(模块化程度高)。这种多语言混合方式充分发挥了每种语言的优势,同时保持了程序的可读性和可维护性。

经验提示:IEC 61131-3 的软件模型包含配置(Configuration)、资源(Resource)、任务(Task)和程序(Program)四个层级。合理划分这些层级,可以实现不同优先级任务的调度,例如将高速中断处理放在高优先级任务中,将慢速数据记录放在低优先级任务中。

2.3.4 常见误区与总结

  • 误区一:认为 IEC 61131-3 只定义了 5 种语言。实际上,它还定义了数据模型(变量类型、地址映射)、软件模型(POU、任务、配置)和通用元素(注释、关键字)。
  • 误区二:忽视 IEC 61131-2 的 EMC 要求。在工业现场,PLC 的电磁兼容性直接影响系统可靠性,选型时必须关注其 EMC 等级。
  • 误区三:将 IEC 61131-5 与工业以太网协议混淆。IEC 61131-5 定义的是应用层通信服务,而 PROFINET、EtherNet/IP 等是具体的通信协议实现。

总结而言,PLC 的循环扫描机制是理解其行为特性的钥匙,而 IEC 61131 系列标准则为 PLC 的选型、编程、通信和安全提供了系统化的方法论。掌握这两部分内容,是深入学习后续各章节(尤其是 IEC 61131-3 编程语言详解)的坚实基础。