2. 数控系统基础

数控系统是数控机床的“大脑”,它接收加工程序,经过插补运算与逻辑控制,将指令转化为伺服驱动和开关量信号,从而控制机床完成精密加工。对于PLC程序开发工程师而言,理解数控系统的硬件架构、信号流向和系统特性,是编写可靠、高效PLC程序的前提。本节将系统梳理数控机床的组成、工作原理,并对FANUC、西门子、三菱三大主流数控系统进行对比分析,为后续PLC与NC的交互编程打下坚实基础。

数控机床系统组成与信号流架构 人机交互层 MDI面板 / 显示屏 / 手轮 / 循环启动与进给保持按钮 操作指令 数控控制层(NC + PLC) CNC 单元(插补与位置控制) 加工程序译码 · 刀具补偿 · 插补运算 位置闭环 · 速度前瞻 PLC 单元(顺序与逻辑控制) M/S/T 辅助功能译码 · 机床侧逻辑 急停/互锁/刀库/排屑/润滑 R信号 G信号 位置/速度指令 I/O 控制信号 执行与检测层 伺服驱动 + 电机 X/Y/Z 轴 · 主轴 位置/速度传感器 编码器 · 光栅尺 机床侧 I/O 刀库 · 液压 · 冷却 位置反馈(半闭环/全闭环)

2.1 数控机床的组成:从物理结构到控制逻辑

数控机床是一个典型的机电一体化系统,从控制工程视角可划分为四个层次:人机交互层、数控控制层、执行与检测层、机床本体层。PLC程序开发人员需要重点关注的是控制层中NC与PLC的分工协作关系。

组成层次 核心部件 功能职责 与PLC的关联
人机交互层 MDI面板、LCD显示屏、手摇脉冲发生器、操作按钮站 程序输入、坐标显示、模式选择(JOG/MDI/AUTO)、循环启停 面板信号通过I/O或总线接入PLC,PLC需处理模式切换与按钮互锁
数控控制层 CNC装置(主板、插补器)、PLC模块(内装型或独立型) NC负责插补运算、位置闭环、刀具补偿;PLC负责M/S/T辅助功能译码、机床侧逻辑控制 PLC与NC通过内部总线交换G信号(NC→PLC)和R信号(PLC→NC)
执行与检测层 伺服驱动器、伺服电机、主轴驱动器、编码器、光栅尺 将NC指令转化为机械位移和转速,并实时反馈位置/速度信号 PLC需监控伺服报警、使能控制、抱闸释放等信号
机床本体层 床身、导轨、主轴箱、工作台、刀库、液压/气动系统 提供切削加工的执行载体和辅助动作 PLC直接控制电磁阀、接触器、刀库电机等执行元件
关键认知:在数控系统中,NC与PLC是“分工不分家”的关系。NC负责“轨迹生成”(插补),PLC负责“顺序控制”(逻辑)。例如,当加工程序执行到 M06(换刀指令)时,NC将M代码译码后通过总线传递给PLC,PLC执行刀库选刀、机械手交换、主轴定向等一系列动作,完成后通过R信号通知NC继续执行下一段程序。这种协同机制是PLC程序设计的核心脉络。

2.2 数控系统工作原理:插补与辅助功能的分工协作

数控系统的工作原理可以概括为“译码—插补—伺服执行—反馈修正”的闭环过程。从PLC视角来看,需要深入理解以下三个核心机制:

2.2.1 插补运算与位置控制

CNC装置读取加工程序(G代码),经过译码、刀具补偿计算后,由插补器实时计算出各坐标轴的运动轨迹。插补周期通常为1~8ms,在每个周期内输出位置增量指令给伺服驱动器。PLC不参与插补运算,但需要监控伺服使能、到位信号、跟随误差报警等状态。

2.2.2 M/S/T辅助功能译码与执行

加工程序中的M代码(辅助功能)、S代码(主轴转速)、T代码(刀具号)由NC译码后,通过内部接口传递给PLC。PLC根据预先编写的梯形图或ST程序,执行对应的逻辑动作:

  • M代码:如M03(主轴正转)、M05(主轴停止)、M08(冷却开)、M09(冷却关)、M06(换刀)等。PLC需对M代码进行译码、执行、完成反馈(FIN信号)。
  • S代码:NC输出模拟电压或数字量给主轴驱动器,PLC需控制主轴档位切换、主轴定向、夹紧/松开等。
  • T代码:NC输出刀号给PLC,PLC控制刀库旋转选刀,并确认刀具就位。

2.2.3 信号交互协议(以FANUC为例)

FANUC系统中,NC与PLC通过F(来自NC的信号)和G(来自PLC的信号)地址进行周期性交换。典型信号包括:

F0.5  —— 循环启动中(NC→PLC)
F1.4  —— 报警中(NC→PLC)
F7.0  —— M代码选通信号(NC→PLC)
G5.0  —— 循环启动(PLC→NC)
G8.3  —— 进给保持(PLC→NC)
G4.3  —— 紧急停止(PLC→NC)
经验提醒:在编写PLC程序时,务必遵循“先译码、后执行、再反馈”的三步原则。即:先读取NC传递的M代码值并锁存,然后执行对应的机床动作,动作完成后置位完成信号(如FIN),NC收到FIN后才继续执行下一段程序。若未正确发送FIN信号,NC将一直处于等待状态,导致加工停滞。

2.3 常用数控系统简介:FANUC、西门子、三菱

目前国内机床市场占有率最高的三大数控系统分别为FANUC(发那科)、西门子(SINUMERIK)和三菱(MELDAS/M800系列)。三者在PLC编程环境、指令体系、通信协议上存在显著差异,PLC工程师需要具备“多系统适应能力”。

对比维度 FANUC(如0i-F) 西门子(如828D/840D sl) 三菱(如M80)
PLC编程语言 梯形图(Ladder)为主,使用FANUC PMC(Programmable Machine Controller) 梯形图、ST(结构化文本)、SCL,基于TIA Portal或Step7 梯形图为主,使用GX Works或MELSOFT系列
NC-PLC接口 F地址/G地址/Y地址,通过PMC窗口管理 DB块(数据块)共享,接口信号丰富,支持OB/FB/FC D地址(数据寄存器)、M地址、X/Y地址
典型应用领域 车削、加工中心、磨床,市场占有率最高 高端模具、五轴联动、重型机床、汽车产线 钻攻中心、雕铣机、小型加工中心
通信总线 FANUC I/O Link(串行总线),PROFIBUS可选 PROFINET、PROFIBUS-DP CC-Link、CC-Link IE Field
调试工具 PMC Ladder Viewer,FANUC Ladder III PLC变量监控、TIA仿真、HMI集成 GX Works2/3,MELSOFT内置仿真

2.3.1 FANUC系统与PMC编程要点

FANUC的PLC称为PMC(Programmable Machine Controller),其编程基于梯形图,地址体系清晰:X(机床→PMC输入)、Y(PMC→机床输出)、F(NC→PMC)、G(PMC→NC)、R(内部继电器)、D(数据寄存器)。PMC程序按固定周期扫描,典型扫描时间为2~8ms。FANUC提供了丰富的PMC功能指令,如DECB(二进制译码)、CODB(代码转换)、JMPC(条件跳转)等,可大幅简化M代码译码逻辑。

2.3.2 西门子系统与PLC编程要点

西门子SINUMERIK系统采用“NC+PLC”一体化架构,PLC基于西门子S7-300/1200/1500平台,使用TIA Portal进行组态。其显著优势是PLC与NC之间的接口信号通过系统数据块(如DB2、DB3)传递,变量命名直观,支持在线监控和断点调试。西门子PLC程序支持多语言混合编程,对于复杂算法(如刀库路径优化)可使用ST语言实现。

2.3.3 三菱系统与PLC编程要点

三菱M800系列数控系统采用CC-Link IE Field总线连接远程I/O,PLC编程环境为GX Works3,支持梯形图、ST、FB(功能块)。三菱系统的特点是响应速度快、性价比高,在钻攻中心和3C行业应用广泛。其PLC与NC的接口信号通过特殊数据寄存器(如D400~D600)映射,编程时需查阅具体的接口说明书。

风险提示:不同数控系统的PLC编程不可直接移植。即使同为梯形图,FANUC的PMC指令、西门子的功能块、三菱的步进梯形图在语法和逻辑组织上均有差异。建议工程师在掌握PLC通用编程思想(如状态机设计、互锁逻辑、报警处理)的基础上,再针对具体系统学习其指令集和调试方法。

2.4 实战场景:数控系统选型与PLC开发准备

假设某企业需要采购一批立式加工中心,用于铝合金零件的高效钻攻加工,要求主轴转速≥12000rpm,换刀时间≤1.5s,并需配备第四轴转台。作为PLC工程师,在系统选型和开发准备阶段应关注以下要点:

  1. 系统选型分析:钻攻中心对主轴加速时间和换刀速度要求高,三菱M80和FANUC 0i-MF Plus均能满足。若企业已有技术积累偏向FANUC,则选择0i-MF Plus;若追求性价比和CC-Link生态,则选择三菱M80。
  2. I/O点数估算:根据机床功能配置,列出所有输入/输出信号清单。例如:操作面板按钮约30点输入、刀库到位开关12点、液压阀输出8点、报警灯输出6点等,估算总I/O点数并预留15%~20%余量。
  3. PLC程序架构规划:建议采用模块化设计,将程序划分为模式管理模块、手动操作模块、自动运行模块、刀库管理模块、报警处理模块等独立程序块,便于调试和维护。
  4. 接口信号表编制:在编程前,先编制NC-PLC接口信号表,明确每个F/G地址的含义、方向、有效电平,作为编程和后续排障的基准文档。
案例复盘:某机床厂在开发FANUC 0i-MF系统加工中心时,出现“自动加工循环启动后,主轴旋转但进给轴不移动”的故障。排查过程:首先检查PLC梯形图中G5.0(循环启动)信号已正确置位,F0.5(循环启动中)已反馈;随后检查G8.3(进给保持)信号,发现由于操作面板上“进给保持”按钮的常闭触点接入PLC时接线错误,导致PLC始终输出进给保持有效信号。修正接线并更新PLC程序后故障排除。此案例说明,PLC程序开发不仅要关注逻辑正确性,还需与电气原理图、I/O分配表严格对应。

2.5 常见误区与总结复盘

在数控系统PLC开发中,初学者常犯以下错误,需要特别警惕:

  • 误区一:忽视NC-PLC握手时序。M代码执行后未发送FIN信号,或FIN信号持续时间过短,导致NC无法识别。正确做法是:M代码选通后,PLC执行动作,动作完成后置位FIN并保持至少一个扫描周期,待NC撤销选通信号后再复位FIN。
  • 误区二:I/O地址分配混乱。未按功能分区规划X/Y地址,导致程序可读性差、排障困难。建议按“操作面板、刀库、液压、冷却、排屑”等功能模块分配地址段。
  • 误区三:忽略急停与互锁逻辑。急停回路必须采用硬件常闭触点串联,PLC程序中应设置多重互锁(如主轴旋转与刀具松开互锁、工作台运动与防护门关闭互锁)。
  • 误区四:跨系统移植时生搬硬套。不同系统的信号地址、扫描周期、指令功能均有差异,移植后必须逐项验证。