4. 数控PLC的特点
数控系统(CNC)中的PLC(可编程逻辑控制器)是连接数控装置与机床本体的“神经中枢”,它承担着机床逻辑控制、辅助功能(M/S/T)执行、外围I/O管理、报警处理等关键任务。虽然PLC技术源于通用工业自动化领域,但数控专用PLC在硬件架构、指令系统、工作方式以及编程环境上均有显著差异。理解这些差异,是进行数控系统二次开发、梯形图编写和故障诊断的基础。本章将围绕“数控专用PLC与通用PLC的区别”、“梯形图与指令表的映射关系”以及“循环扫描机制”三个核心主题展开深度解析,帮助学习者建立正确的数控PLC工程思维。
上图展示了数控PLC三大核心概念之间的工程关系:数控专用PLC与通用PLC在硬件和指令层面存在差异,但都遵循梯形图与指令表的编程范式,且最终统一在循环扫描机制下运行。下面逐一展开。
4.1 数控专用PLC与通用PLC的区别
4.1.1 核心原理:从“通用控制”到“专用协同”
通用PLC(如西门子S7-1200/1500、三菱FX系列)是独立的工业控制装置,拥有自己的CPU、电源、I/O模块和通信接口,通过运行用户程序实现逻辑控制、顺序控制、定时计数等功能。而数控专用PLC(如FANUC的PMC、西门子840D的PLC、三菱M70的PLC)并非独立硬件,而是集成在CNC系统内部的一个功能模块,与CNC的插补器、伺服驱动、主轴控制共享总线与内存。
这种“内嵌式”架构决定了数控PLC的三大特性:强实时性(必须与插补周期同步)、信号交互深度耦合(直接读写CNC内部数据如坐标、倍率、刀具号)、专用指令集(如FANUC的SUB指令、西门子的NCK变量访问指令)。通用PLC无法直接读取CNC的插补位置或主轴负载,而数控PLC通过系统总线即可轻松获取这些数据。
4.1.2 对比表:数控专用PLC vs 通用PLC
| 对比维度 | 数控专用PLC(以FANUC PMC为例) | 通用PLC(以西门子S7-1200为例) |
|---|---|---|
| 硬件形态 | 内嵌于CNC主板,无独立机壳 | 独立模块化硬件,可扩展I/O |
| 编程软件 | FANUC Ladder Builder / 博途(西门子) | TIA Portal / GX Works |
| 指令系统 | 包含SUB指令(子程序)、DISP(显示)、MOVE(数据传送)等专用指令 | 标准IEC 61131-3指令集 |
| 与CNC交互 | 直接访问CNC内部地址(如F信号、G信号、D数据) | 需通过通信协议(如OPC UA)间接访问 |
| 扫描周期 | 与CNC插补周期同步(通常1-8ms) | 独立扫描,典型10-100ms |
| 典型应用 | M/S/T功能执行、机床安全互锁、倍率开关处理 | 产线输送控制、包装机械、过程控制 |
4.1.3 案例拆解:换刀逻辑中的差异体现
以加工中心自动换刀(ATC)为例。数控专用PLC通过读取CNC的T代码寄存器(如F26-F28),直接获取目标刀具号,并通过专用指令(如FANUC的COIN指令)比较当前刀号与目标刀号。同时,PLC需要实时读取主轴定向到位信号(来自伺服驱动的Z相脉冲)和机械手位置传感器信号。这些信号在通用PLC中需要额外配置高速计数模块和通信协议转换,且无法保证与CNC插补的严格同步。在数控专用PLC中,整个换刀逻辑的扫描周期被严格控制在2ms以内,确保机械手动作与主轴定向的时序精度。
工程经验:在数控系统选型时,如果机床需要高速换刀(≤1.5s),必须选用扫描周期≤2ms的数控专用PLC。通用PLC即使CPU频率更高,但由于通信协议栈和系统调度的不确定性,很难满足此类硬实时要求。
4.2 梯形图与指令表
4.2.1 核心原理:两种表达,同一逻辑
梯形图(Ladder Diagram, LAD)是一种图形化编程语言,模仿继电器控制电路,左侧为母线,右侧为输出线圈,中间由常开/常闭触点串联或并联构成逻辑网络。指令表(Statement List, STL)则是一种助记符语言,每一条指令对应一个操作码和操作数,如LD X0、AND X1、OUT Y0。两者在功能上完全等价,任何梯形图都可以转换为指令表,反之亦然。
在数控PLC中,梯形图是主要编程界面,因为机床电气维修人员更习惯继电器逻辑思维。但指令表在以下场景中不可替代:① 程序加密保护(将梯形图转换为指令表后加密);② 在线监控与排障(通过指令表逐条检查逻辑状态);③ 系统资源优化(指令表比梯形图占用更少的内存空间)。
4.2.2 转换方法与规则
梯形图转指令表遵循“从左到右、从上到下”的扫描顺序。基本规则如下:
- 母线起始:梯形图最左侧母线对应指令表的
LD(Load)指令。 - 串联触点:同一水平线上的串联触点对应
AND或ANI(And Inverse)指令。 - 并联触点:同一垂直方向上的并联分支对应
OR或ORI指令。 - 输出线圈:最右侧的输出线圈对应
OUT指令。 - 块操作:复杂串并联结构使用
ANB(And Block)和ORB(Or Block)指令。
// 示例:梯形图逻辑 (X0常开 + X1常闭) 串联 X2常开 → 输出 Y0
// 对应指令表(三菱/PMC风格):
LD X0
ANI X1
AND X2
OUT Y0
4.2.3 实战场景:数控机床急停逻辑的两种实现
数控机床的急停逻辑要求:急停按钮(常闭触点)断开时,无论其他条件如何,必须立即切断伺服使能。梯形图实现如下:
|--[X0.0 急停常闭]--[X0.1 门联锁]--(Y0.0 伺服使能)---|
|--[X0.0 急停常闭]--[X0.2 超程]------(Y0.1 主轴停止)---|
转换为指令表:
LD X0.0
AND X0.1
OUT Y0.0
LD X0.0
AND X0.2
OUT Y0.1
在FANUC PMC中,急停信号通常直接接入CNC的紧急停止输入端子,同时通过PMC梯形图控制伺服使能信号(如G8.4)。这种双重冗余设计确保了即使PLC程序异常,硬件急停回路仍能切断动力电源。
常见误区:初学者常将梯形图中的“常闭触点”理解为物理上常闭的开关。实际上,梯形图中的常闭触点表示“该信号为OFF时导通”。例如急停按钮物理上常闭,正常时信号为ON,梯形图中应使用常开触点(X0.0)来检测其ON状态;若使用常闭触点,则急停动作时逻辑反而导通,造成严重安全隐患。
4.3 循环扫描机制
4.3.1 核心原理:周期性的“采样-执行-刷新”
数控PLC采用循环扫描的工作方式,一个完整的扫描周期包含四个阶段:① 输入采样(读取所有输入端子状态并存入输入映像区);② 程序执行(从第一条指令开始逐条执行,逻辑运算基于输入映像区和内部寄存器);③ 输出刷新(将输出映像区的状态一次性传送到输出锁存器);④ 系统管理(处理通信、自诊断、与CNC数据交换等)。
这种机制的最大特点是“批处理”:程序执行期间输入信号的变化不会立即影响本次扫描,必须等到下一个扫描周期的输入采样阶段才会被读取。这保证了程序执行的确定性和可预测性,避免了信号竞争问题。
4.3.2 扫描周期的影响因素与优化
| 影响因素 | 典型耗时 | 优化策略 |
|---|---|---|
| 程序步数 | 每步约0.1-0.5μs | 精简逻辑,使用子程序分组 |
| I/O点数 | 每点约0.5-2μs | 合理分配I/O,避免冗余采样 |
| 通信处理 | 占周期5%-15% | 减少非必要通信,使用中断优先 |
| CNC数据交换 | 固定开销约0.5ms | 使用DMA方式,避免逐字读取 |
在FANUC PMC中,扫描周期通常设定为2ms或4ms,可通过参数(No.60)调整。当程序过长导致扫描周期超过设定值时,系统会触发“PMC扫描超时”报警(如SV0411)。
4.3.3 案例拆解:倍率开关信号处理中的扫描问题
数控机床的进给倍率开关(通常为8-16档位)通过二进制编码输入PLC。假设倍率开关输出4位二进制信号(X8.0-X8.3),对应0%-150%的倍率。由于机械开关存在抖动,在扫描周期内可能读到中间状态(如从50%切换到60%时,瞬间读到55%的错误值)。
解决方案:在PLC程序中加入“延时去抖”逻辑,即连续两次扫描读到相同值才确认有效。具体实现:
// 倍率信号去抖逻辑(FANUC PMC风格)
// R100 = 上次读到的倍率值,R101 = 当前读到的倍率值
// 当R100 = R101 且连续2次时,将R101写入D200作为有效倍率
LD X8.0
AND X8.1
ANI X8.2
OUT R101.0
// ... 其他位处理
LD R100.0
AND R101.0
OR R100.1
AND R101.1
// ... 组合判断
OUT R102.0 // 去抖确认标志
该案例揭示了循环扫描机制的一个关键特性:信号必须在多个扫描周期内保持稳定才能被可靠识别。对于快速变化的信号(如编码器脉冲),不能依赖PLC扫描,而应使用CNC的高速输入通道或硬件中断。
经验总结:在数控PLC编程中,应遵循“输入信号先同步、输出信号后锁存”的原则。所有外部输入信号在进入逻辑运算前,应通过中间继电器(R)进行同步;所有输出信号在刷新前,应确认其状态已稳定。这能有效避免因扫描周期造成的逻辑竞争。
4.3.4 常见误区与复盘
- 误区一:认为PLC程序执行是“实时”的。实际上,PLC是“准实时”系统,存在扫描周期延迟。对于要求微秒级响应的信号(如急停),必须通过硬件回路实现,不能依赖PLC程序。
- 误区二:忽视输入映像区的滞后性。在程序执行过程中,输入信号的变化不会立即反映到逻辑中。如果程序中有对同一输入信号的多次读取,应使用中间变量保存首次读取的值。
- 误区三:输出刷新时机不当。某些PLC允许在程序中间强制刷新输出(如立即输出指令),这会破坏扫描机制的确定性,除非特殊需求,否则不建议使用。
- 误区四:混淆梯形图与指令表的优先级。在FANUC PMC中,梯形图是唯一官方支持的编程方式,指令表仅作为监控工具。而在西门子系统中,STL和LAD可以自由切换。编程前应确认系统平台的限制。
通过本章的解析,学习者应建立起数控PLC的“专用性”认知:它不仅是通用PLC在数控领域的简单应用,而是与CNC深度耦合的专用控制引擎。掌握梯形图与指令表的转换能力,理解循环扫描的时序特性,是后续进行复杂PMC程序开发(如刀库管理、工作台交换、宏程序调用)的基石。在实际调试中,建议使用PLC的在线监控功能,观察扫描周期和信号状态变化,逐步培养“扫描思维”。