二、数控系统基础:数控机床的组成、工作原理与主流系统PLC功能
数控系统是数控机床的“大脑”,它接收零件加工程序,经过插补运算与逻辑控制后,向伺服驱动、主轴、冷却、润滑等执行部件发出精确指令。理解数控机床的硬件组成、信号流动关系以及主流数控系统的PLC功能,是学习数控系统PLC编程的前提。本章将从数控机床的物理构成出发,梳理其工作原理,并重点剖析FANUC、西门子、三菱三大系统的PLC资源与编程差异。
2.1 数控机床的组成与各部件作用
数控机床是一个典型的机电一体化系统,从控制角度看,它由程序输入/输出装置、CNC数控系统(含内置PLC)、伺服驱动系统、位置检测反馈系统、机床本体及辅助装置五大部分组成。每一部分在信号链中承担不同角色,缺一不可。
- 程序输入/输出装置:负责将零件加工程序(G代码、M代码、T代码等)传入CNC。现代数控系统支持USB、CF卡、以太网、DNC在线加工等多种方式。程序存储于CNC内部RAM或存储卡中,由操作者通过MDI面板手动输入或自动调用。
- CNC数控系统核心:完成加工程序的译码、刀具半径/长度补偿计算、插补运算(直线、圆弧、螺旋线)、加减速控制以及坐标变换。同时,CNC内部集成或外置PLC,用于处理开关量逻辑控制,如主轴正反转、冷却液开关、刀库选刀、急停处理等。
- 伺服驱动系统:接收CNC发出的位置/速度指令,经功率放大后驱动伺服电机。伺服驱动器内部通常包含电流环、速度环和位置环三闭环控制。主轴驱动则根据加工需求,可能采用变频器或伺服主轴驱动器。
- 位置检测反馈系统:编码器(增量式或式)安装在电机尾部或丝杠端部,光栅尺直接安装在机床工作台上,用于检测实际位移。反馈信号送回CNC或伺服驱动器,形成闭环控制。半闭环系统检测电机转角,全闭环系统检测工作台直线位移。
- 机床本体与辅助装置:包括床身、立柱、主轴箱、进给机构、刀库、冷却系统、润滑系统、排屑装置、液压站等。这些部件由PLC通过接触器、电磁阀、电机等执行元件控制,是PLC程序的主要控制对象。
2.2 数控系统工作原理与PLC的接口关系
数控系统的工作原理可以分解为以下几个步骤:
- 译码:CNC读取程序段,识别G代码、M代码、坐标字等,将其转换为内部数据结构。
- 刀具补偿:根据刀具长度、半径补偿值,修正目标坐标。
- 插补运算:在起点与终点之间,按进给速度实时计算中间点坐标。常见插补方式有逐点比较法、数字积分法(DDA)、数据采样插补等。
- 位置控制:将插补结果转换为位置指令,与反馈位置比较,经PID调节后输出速度指令给伺服驱动器。
- PLC顺序控制:在程序执行过程中,CNC将M/S/T代码通过总线或共享内存发送给PLC。PLC执行梯形图逻辑,控制外部执行元件,并将完成信号反馈给CNC。
以FANUC系统为例,CNC与PMC(可编程机床控制器)之间的数据交换通过G地址(从CNC到PMC)和F地址(从PMC到CNC)实现。例如:
G54.0: 第1段M代码选通信号(CNC→PMC)
F7.0: M代码执行完成信号(PMC→CNC)
G8.0: 循环启动信号(CNC→PMC)
F0.5: 循环启动中信号(PMC→CNC)
西门子840D系统则使用DB(数据块)和接口信号,如DB21-DBB0为NCK→PLC的接口区,DB21-DBB54为PLC→NCK的接口区。三菱M70系统使用R寄存器(内部继电器)和X/Y/Z/D等软元件进行数据交换。
| 系统品牌 | PLC名称 | CNC→PLC接口 | PLC→CNC接口 | 编程软件 |
|---|---|---|---|---|
| FANUC 0i-F | PMC(内装型) | G地址(G0~G255) | F地址(F0~F255) | FANUC LADDER-III |
| 西门子840D sl | PLC 317F-2DP | DB21~DB30(NCK→PLC) | DB31~DB60(PLC→NCK) | STEP 7 / TIA Portal |
| 三菱M70 | PLC(内装型) | R寄存器(R0~R8191) | R寄存器(R9000~R9499) | GX Works2 / GX Developer |
2.3 主流数控系统及其PLC功能对比
三大主流数控系统在PLC功能上各有特色,但都遵循IEC 61131-3标准的基本梯形图逻辑。以下从硬件资源、指令系统、通信能力和典型应用场景进行对比。
2.3.1 FANUC系统与PMC
FANUC系统在全球市场占有率最高,其PMC(Programmable Machine Controller)内嵌于CNC中,具有以下特点:
- 硬件资源:PMC的I/O点通过I/O Link总线扩展,最多可连接1024个输入点和1024个输出点。程序容量因型号而异,0i-F系列PMC程序步数可达128K步。
- 指令系统:支持基本指令(RD、WRT、AND、OR等)和功能指令(定时器TMR、计数器CTR、译码DEC、比较COMP、子程序CALL等)。功能指令极大简化了复杂逻辑的编程。
- 接口信号:G/F地址是PMC与CNC交互的桥梁。例如,G8.0为循环启动信号,F7.0为M代码完成信号。此外,还有X/Y地址对应物理I/O点,R地址为内部继电器,D地址为数据寄存器。
- 典型应用:FANUC PMC常用于刀库管理、主轴换挡、工作台交换、自动门控制等。其梯形图扫描周期固定,约8ms,适合高速逻辑处理。
2.3.2 西门子系统与PLC
西门子840D sl系统采用独立的PLC模块(通常为S7-300系列),与NCK(数控核心)通过内部总线通信。其特点包括:
- 硬件资源:PLC I/O通过PROFINET或PROFIBUS DP扩展,支持分布式I/O站。程序存储容量大,支持在线修改和下载。
- 指令系统:基于STEP 7编程环境,支持梯形图(LAD)、功能块图(FBD)和语句表(STL)。除基本逻辑指令外,还支持丰富的系统功能块(SFB)和组织块(OB),如OB1为循环扫描块,OB10为时间中断块。
- 接口信号:NCK与PLC通过数据块DB交换数据。例如,DB21.DBB0为NCK状态字,DB31.DBB0为轴控制字。用户程序通过读写这些DB实现与NCK的交互。
- 典型应用:西门子PLC在大型龙门铣、车铣复合、五轴加工中心中应用广泛。其强大的通信能力支持与上位MES系统、机器人控制器的无缝集成。
2.3.3 三菱系统与PLC
三菱M70/M80系列数控系统内置PLC,采用与三菱FX/Q系列PLC相似的编程方式。其特点为:
- 硬件资源:I/O点通过CC-Link或内置I/O扩展,支持远程I/O模块。程序容量最大可达256K步,适合复杂逻辑。
- 指令系统:支持基本指令和功能指令,如MOV(传送)、CMP(比较)、TMR(定时)、CNT(计数)等。三菱PLC的指令风格与FANUC PMC类似,但软元件编号体系不同。
- 接口信号:R寄存器用于CNC与PLC的数据交换。例如,R0~R99为系统保留区,R100~R8191为用户使用区。X/Y为物理I/O,M为内部继电器,D为数据寄存器。
- 典型应用:三菱系统在钻攻中心、走心机、磨床等中小型机床中应用较多。其PLC编程软件GX Works2支持离线仿真,便于调试。
2.4 数控系统PLC编程的通用流程与注意事项
无论使用哪种系统,PLC编程的流程都遵循“需求分析→I/O分配→梯形图设计→模拟调试→在线调试→固化备份”的步骤。
- 需求分析:明确机床需要哪些自动动作,如主轴正反转、冷却启停、刀库选刀、润滑定时等。列出所有输入信号(按钮、限位、接近开关)和输出信号(接触器、电磁阀、指示灯)。
- I/O分配:根据系统手册,将物理I/O映射到PLC的输入/输出地址。注意预留备用点,避免后续增加功能时重新布线。
- 梯形图设计:按功能模块划分程序段,如“急停与回零”、“主轴控制”、“刀库管理”、“冷却润滑”等。每个模块独立编写,便于调试和维护。
- 模拟调试:使用编程软件的仿真功能,输入虚拟信号,观察输出逻辑是否正确。此阶段可发现大部分逻辑错误。
- 在线调试:连接实际机床,逐步验证每个功能。先手动模式,再自动模式;先低速,再高速。注意观察PLC的扫描周期和响应时间。
- 固化备份:调试完成后,将PLC程序固化到系统存储区,并备份到电脑或存储卡。同时记录I/O分配表和程序版本号,便于后续维护。
2.5 案例拆解:FANUC 0i-TF车床的PLC程序结构分析
以一台配置FANUC 0i-TF系统的数控车床为例,其PLC程序需要实现主轴正反转、卡盘夹紧/松开、尾座进退、冷却泵控制、自动润滑和刀架换刀等功能。以下为程序结构拆解:
| 程序段 | 功能 | 关键I/O | 接口信号 |
|---|---|---|---|
| 段1 | 急停与回零 | X0.0急停按钮,X0.1回零限位 | G8.0循环启动禁止 |
| 段2 | 主轴控制 | Y0.0主轴正转接触器,Y0.1反转接触器 | G5.0~G5.3 M03/M04/M05译码 |
| 段3 | 卡盘控制 | X1.0夹紧到位,X1.1松开到位,Y1.0夹紧电磁阀 | G5.4 M10夹紧,G5.5 M11松开 |
| 段4 | 刀架换刀 | X2.0~X2.3刀位编码,Y2.0刀架电机正转,Y2.1反转 | G5.6~G5.7 T代码选通 |
| 段5 | 冷却与润滑 | Y3.0冷却泵,Y3.1润滑泵 | G5.2 M08冷却开,定时器T1润滑间隔 |
在调试过程中发现,刀架换刀时经常出现“刀架卡死”报警。分析过程如下:
- 初始现象:换刀指令发出后,刀架电机正转,但刀架未到位,系统报警。
- 关键数据:通过PMC诊断画面观察,X2.0~X2.3刀位编码信号始终为“0000”,说明刀架未到达任何刀位。
- 分析判断:检查刀架电机电流,发现电流偏大,判断为机械卡滞或电机缺相。进一步检查发现,刀架内部蜗轮蜗杆润滑不良,导致阻力增大。
- 实际操作:清理刀架内部铁屑,加注润滑脂,并调整刀架定位销间隙。同时,在PLC程序中增加“刀架过载保护”逻辑:当刀架电机运行时间超过设定值(如10秒)且未收到刀位信号时,立即停止电机并报警。
- 结果对比:修改后,换刀时间从平均8秒缩短至3秒,报警消除。增加的过载保护逻辑有效防止了类似故障对机械部件的损坏。
- 复盘经验:PLC程序不仅要实现逻辑控制,还要考虑故障诊断和保护。利用系统提供的定时器、计数器功能,可以低成本实现设备保护。
2.6 本章总结与学习要点
数控系统PLC编程的核心在于理解CNC与PLC的分工协作关系。CNC负责连续轨迹控制,PLC负责离散逻辑控制,两者通过固定的接口信号交换信息。不同品牌的系统虽然接口地址和编程软件不同,但逻辑本质一致。学习时应以FANUC PMC为入门基础,掌握G/F地址、功能指令和梯形图设计方法,再迁移到西门子和三菱系统。
- 数控机床五大组成部分:程序输入、CNC、伺服驱动、反馈检测、机床本体。
- CNC与PLC的接口:FANUC的G/F地址、西门子的DB块、三菱的R寄存器。
- PLC编程流程:需求分析→I/O分配→梯形图→模拟调试→在线调试→备份。
- 常见误区:忽略扫描周期、急停未用常闭触点、缺少故障保护逻辑。