3. PLC基础概念

在数控系统的自动化控制层级中,PLC(可编程逻辑控制器)是连接CNC内核与机床执行机构的关键枢纽。它负责处理开关量逻辑、安全互锁、辅助功能(M代码)、主轴与刀库控制等任务。要真正掌握数控系统PLC程序开发,首先必须透彻理解PLC的本质、硬件构成与扫描机制。本章将从定义出发,梳理其发展脉络,剖析其硬件架构,并深入讲解其“顺序扫描、循环执行”的核心工作原理,为后续的指令学习与程序编写打下坚实的认知基础。

PLC 硬件基本结构与信号流向原理图 电源模块 AC220V/DC24V CPU 模块 微处理器 + 存储器 用户程序 / 数据区 通信模块 RS232/RS485/以太网 输入接口 (I) 光电隔离 / 滤波 输出接口 (O) 继电器 / 晶体管 外部输入信号 按钮/接近开关 继电器触点 外部输出设备 接触器/电磁阀 指示灯/主轴 供电 数据总线 信号 I/O总线 I/O总线 驱动 编程/调试设备 PC + 工程软件 编程/监控 扫描工作循环 ① 输入采样 → ② 程序执行 ③ 输出刷新 → ④ 通信/自诊断 循环周期: 几ms ~ 几十ms

3.1 PLC的定义与核心特征

PLC(Programmable Logic Controller),即可编程逻辑控制器,是一种专门为工业环境设计的数字运算操作电子系统。它采用可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入/输出接口,控制各种类型的机械或生产过程。在数控系统语境下,PLC通常内嵌于CNC单元或作为独立模块存在,负责处理机床的开关量逻辑、辅助功能译码、主轴换挡、刀库管理及安全互锁等任务。

PLC的核心特征可归纳为以下四点:

  • 高可靠性:采用大规模集成电路和光电隔离技术,平均无故障时间(MTBF)可达数万小时,适应工业现场的振动、粉尘、电磁干扰等恶劣环境。
  • 编程简单:以梯形图(Ladder Diagram)为主要编程语言,与继电器控制电路图高度相似,电气工程师无需深厚的计算机知识即可上手。
  • 通用性强:同一台PLC可通过修改用户程序,应用于不同的控制对象,实现“硬件标准化、软件个性化”。
  • 抗干扰能力强:在硬件层面采用隔离、滤波、屏蔽等手段,在软件层面采用数字滤波和故障自诊断技术,确保在强电干扰环境下稳定运行。
经验提醒:在数控系统选型时,务必区分“内装型PLC”与“独立型PLC”。内装型PLC与CNC共用CPU或通过高速总线通信,处理速度更快,但灵活性受限;独立型PLC(如西门子S7-200/300、三菱FX系列)则通过I/O点与CNC交换信号,便于后期扩展和独立维护。

3.2 PLC的发展历程与分类

PLC的发展与汽车制造业的自动化需求密不可分。1968年,美国通用汽车公司(GM)公开招标,要求用一种新型控制器替代庞大的继电器控制柜,以解决汽车生产线频繁改型带来的继电器电路重新设计问题。1969年,美国数字设备公司(DEC)研制出第一台可编程逻辑控制器PDP-14,并在GM的汽车生产线上成功应用。此后,PLC经历了以下四个典型阶段:

阶段 年代 主要特征 典型代表
初创期 1968-1975 以逻辑运算为主,替代继电器,采用磁芯存储器 DEC PDP-14
扩展期 1976-1985 引入微处理器,增加定时、计数、算术运算,通信功能萌芽 Modicon 584
成熟期 1986-1995 标准化(IEC 61131-3),高速处理,网络通信普及 西门子S5/S7、三菱A系列
融合期 1996至今 与CNC、机器人、视觉系统深度融合,支持EtherCAT/PROFINET等实时以太网 西门子S7-1500、倍福CX系列

从结构形态上,PLC可分为整体式(如三菱FX3U,CPU、电源、I/O集成于一体,适合I/O点数少的场合)和模块式(如西门子S7-300,电源、CPU、信号模块、通信模块独立安装于导轨,适合大中型控制系统)。在数控机床应用中,模块式PLC更常见,因为它便于根据机床I/O点数灵活配置,且维护时只需更换故障模块,无需整机拆卸。

3.3 PLC的基本结构:五大核心部件

无论整体式还是模块式,PLC的硬件系统均由CPU模块、电源模块、输入接口、输出接口、通信模块五大部分组成。下面结合数控机床的典型应用场景逐一剖析。

3.3.1 CPU模块:控制中枢

CPU是PLC的大脑,负责接收并存储用户程序、按扫描周期顺序执行指令、刷新I/O映像区、进行系统自诊断。CPU内部包含微处理器(如Intel x86、ARM Cortex-A系列)和存储器(RAM用于存储用户程序和数据,ROM/Flash用于存储系统程序)。在数控系统中,CPU的运算速度直接决定了PLC处理M代码和急停逻辑的响应时间。例如,当机床操作面板上的“循环启动”按钮被按下时,PLC必须在数毫秒内完成输入采样、逻辑判断并输出启动信号给CNC。

3.3.2 电源模块:能量保障

电源模块将外部供电(通常为AC 220V或DC 24V)转换为PLC内部各模块所需的稳定直流电压(如DC 5V、DC 24V)。数控机床现场的电网波动和电磁干扰较为严重,因此PLC电源模块必须具备较宽的电压输入范围和良好的滤波能力。部分高端PLC电源模块还提供冗余供电接口,当主电源异常时自动切换至备用电源,确保安全关键信号(如急停回路)不掉电。

3.3.3 输入/输出接口:信号桥梁

输入接口负责采集现场信号,如按钮、行程开关、接近开关、继电器触点等开关量信号,以及部分模拟量信号(如温度、压力传感器输出的4-20mA电流)。输入接口通常包含光电隔离电路,将外部信号与CPU内部电路电气隔离,防止外部干扰窜入。输出接口则驱动外部执行元件,如接触器、电磁阀、指示灯、伺服使能信号等。输出形式有继电器输出(适合交流负载、响应慢)、晶体管输出(适合高频脉冲、直流负载)和晶闸管输出(适合大电流交流负载)。

数控系统I/O分配要点:在数控机床上,PLC的输入点通常分配给操作面板按钮、刀库到位开关、主轴正反转确认信号、液压压力开关等;输出点则分配给主轴正转/反转接触器、冷却泵、润滑泵、刀库电机、报警指示灯等。I/O地址分配表是PLC程序开发的基础文档,必须与电气原理图严格对应。

3.3.4 通信模块:数据纽带

通信模块使PLC能够与CNC、上位机、HMI(人机界面)、远程I/O站或其他PLC交换数据。在数控系统中,PLC与CNC之间通常通过专用的总线协议(如西门子的MPI/Profinet、发那科的I/O Link、三菱的CC-Link)进行高速数据交换。通信模块的实时性和稳定性直接影响机床的协调控制精度。例如,当CNC执行M06(换刀)指令时,CNC通过总线将M代码发送给PLC,PLC完成刀库动作后通过总线返回完成信号,CNC才继续执行下一段程序。

3.4 PLC的工作原理:顺序扫描与循环执行

PLC采用“顺序扫描、循环执行”的工作方式,这与计算机的“中断驱动”方式截然不同。CPU从第一条用户程序开始,按顺序逐条执行,直到程序结束,然后重新返回第一条,如此周而复始。一个完整的扫描周期包含以下四个阶段:

  1. 输入采样阶段:CPU读取所有输入端子上的信号状态(0或1),并将其存入输入映像寄存器。此阶段结束后,即使外部输入发生变化,映像寄存器中的值也不会改变,直到下一个扫描周期的输入采样阶段。
  2. 程序执行阶段:CPU从第一条指令开始,逐条执行用户程序。程序中的输入状态取自输入映像寄存器,输出结果写入输出映像寄存器,而不是直接驱动外部负载。
  3. 输出刷新阶段:CPU将输出映像寄存器中的状态一次性传送到输出锁存电路,驱动外部负载动作。这是PLC输出的唯一有效时刻。
  4. 通信与自诊断阶段:CPU处理与编程器、HMI或其他设备的通信请求,并检查系统硬件、用户程序是否有异常。若发现故障,则点亮报警灯并停止运行。

这种“集中采样、集中输出”的机制保证了系统在任何时刻的输出状态都是确定性的,避免了继电器控制系统中常见的触点竞争问题。但同时也带来了输出响应延迟——最大延迟时间等于一个扫描周期。对于数控机床的急停处理,通常采用硬件急停回路(不经过PLC扫描)与PLC软件急停双重保护,以确保安全。

3.5 案例拆解:数控车床主轴正反转控制的PLC实现

下面通过一个数控车床主轴控制的小型场景,帮助理解PLC扫描机制的实际应用。

背景与约束:某数控车床使用内装型PLC,I/O分配如下:输入X0接主轴正转按钮,X1接主轴反转按钮,X2接主轴停止按钮,X3接主轴过载保护继电器触点;输出Y0接主轴正转接触器KM1,Y1接主轴反转接触器KM2。要求实现正转、反转、停止控制,并具备过载保护功能。

初始现象与目标:操作人员按下正转按钮,主轴应持续正转;按下反转按钮,主轴应反转;按下停止按钮或过载保护动作时,主轴立即停止。同时,正转与反转必须互锁,防止主电路短路。

关键输入数据与逻辑分析:梯形图程序的核心逻辑如下:

// 梯形图逻辑(结构化文本描述)
Y0 = (X0 OR Y0) AND (NOT X1) AND (NOT X2) AND X3  // 正转自锁+互锁+停止+过载
Y1 = (X1 OR Y1) AND (NOT X0) AND (NOT X2) AND X3  // 反转自锁+互锁+停止+过载

实际操作步骤:

  1. 在PLC编程软件中新建工程,配置CPU型号和I/O地址。
  2. 编写上述梯形图,注意将X3(过载常闭触点)串联在输出回路中。
  3. 编译下载程序,将PLC运行模式切换为RUN。
  4. 按下X0按钮,观察Y0输出是否置位,接触器KM1是否吸合。
  5. 按下X1按钮,验证Y0是否复位、Y1是否置位,确认互锁有效。
  6. 模拟过载动作(断开X3),验证输出是否立即断开。

结果对比与复盘:在扫描周期为10ms的PLC上,从按下按钮到接触器动作的响应时间约为10-20ms(一个扫描周期内完成采样+执行+刷新),完全满足机床操作要求。若采用继电器控制,则需额外增加机械互锁触点,且触点磨损后存在粘连风险。PLC方案通过软件互锁彻底消除了这一隐患。但需注意,PLC输出刷新阶段才真正驱动负载,因此若程序中存在长延时指令(如定时器T50持续100ms),会延长整个扫描周期,设计时应将高速处理逻辑放在程序前部。

风险提示:在数控系统PLC编程中,严禁将急停按钮、限位开关等安全类信号仅通过软件处理。必须采用“硬接线+PLC软逻辑”双重路径。例如,急停按钮的常闭触点应直接串联在伺服使能回路中,同时其状态也作为PLC输入,用于触发报警和程序复位。否则,一旦PLC死机或程序跑飞,安全功能将完全失效。

3.6 常见误区与总结复盘

初学者在学习PLC基础概念时,常陷入以下误区:

  • 误区一:认为PLC输出是即时响应的。实际上,输出刷新是周期性的,存在一个扫描周期的固有延迟。对于要求微秒级响应的场合(如编码器计数),应使用PLC的高速计数功能或硬件中断。
  • 误区二:忽视I/O映像区的存在。在程序执行阶段,输入状态取自映像区而非实际端子,因此同一扫描周期内多次读取同一输入点,结果是一致的。这既是优点(保证逻辑一致性),也是缺点(无法感知周期内的输入变化)。
  • 误区三:混淆“输入继电器”与“物理输入端子”。输入继电器(如X0)是映像区中的软件概念,物理端子是硬件实体。当外部信号变化时,只有到下一个采样阶段,X0的状态才会更新。
  • 误区四:忽略电源模块的容量计算。在扩展I/O模块或外接传感器时,若超出电源模块的额定输出电流,会导致电压跌落,引发逻辑误动作。设计时应预留20%-30%的功率余量。