3. CNC机床接口与联动信号梳理

在UR机器人上下料系统中,机器人并不是“直接操作机床”,而是通过CNC的I/O、M代码、宏变量、门信号、卡盘/夹具信号以及安全回路,与数控系统建立一套可被PLC或机器人控制器识别的联动接口。接口梳理的目标,是把“机器人要机床做什么”和“机床当前处于什么状态”翻译成双方都能理解的信号,并明确每个信号的来源、去向、有效电平、时序关系和异常处理方式。

一、数控系统I/O:联动的基础通道

数控系统I/O分为本地I/O和远程I/O两类。本地I/O通常位于机床电柜内,直接连接按钮、继电器、电磁阀和限位开关;远程I/O通过现场总线(如PROFINET、EtherCAT、CC-Link IE)与机器人控制器或PLC交换数据。上下料联动中,最常用的I/O点包括:

  • 输入点(机床→机器人/PLC):卡盘夹紧到位、卡盘松开到位、安全门关闭、安全门锁紧、急停回路正常、机床就绪、循环结束、报警输出。
  • 输出点(机器人/PLC→机床):允许开门、请求开门、卡盘夹紧指令、卡盘松开指令、启动循环、进给保持、急停复位。

每个点必须明确三个属性:有效电平(高电平有效还是低电平有效)、常开/常闭(NO/NC)、响应时间(从信号发出到机床动作完成的允许窗口)。例如,卡盘夹紧到位信号若为常闭触点,则机床断电时该信号仍为“到位”,这在安全逻辑中必须特别处理,否则可能误判为夹具已夹紧。

二、M代码:让机床执行动作的“命令字”

M代码是CNC程序中的辅助功能指令,用于控制主轴、冷却、卡盘、门等外围动作。上下料联动中,常用的M代码包括:

  • M10/M11:卡盘夹紧/松开(具体定义随系统不同,需查阅机床手册)。
  • M80/M81:安全门开/关(部分系统用M代码控制门气缸)。
  • M30/M99:程序结束并复位,用于通知机器人“本轮加工完成”。
  • M00/M01:程序暂停,可用于机器人请求机床暂停进给。

M代码的执行方式有两种:一是由CNC直接驱动本地I/O输出;二是通过宏程序或PLC将M代码转换为远程I/O信号。实际工程中,建议将M代码与I/O点做一张映射表,明确“哪个M代码对应哪个输出点、持续多长时间、是否需要等待到位反馈”。例如,M10执行后,机床应输出“卡盘夹紧到位”信号,机器人控制器收到该信号后才允许下一步动作。

三、宏变量:状态与参数的交换区

宏变量是CNC与外部设备交换数据的重要区域。FANUC系统常用#100~#199作为公共宏变量,三菱、西门子等也有类似区域。上下料联动中,宏变量可用于:

  • 写入机器人请求的工件编号、夹具编号或加工配方号。
  • 读取机床当前状态(如已加工件数、刀具寿命、报警代码)。
  • 传递“允许机器人进入”或“机器人已退出”的握手标志。

使用宏变量时,必须约定数据格式(整数/实数)、写入时机(机床等待时写入,还是循环结束后写入)以及读写冲突处理。例如,机器人写入#100=1表示“请求开门”,机床宏程序检测到#100=1后执行开门动作,并将#101置1表示“门已开”,机器人读取#101=1后确认可以进入。这种“请求—应答”式握手比单纯电平信号更可靠,适合复杂联动。

四、门信号、卡盘/夹具信号与安全回路

安全门信号通常包括“门关闭到位”和“门锁紧到位”两个独立检测点。只有两者同时为真,机床才允许启动主轴;机器人请求开门时,必须先确认主轴停止、进给保持,再输出“允许开门”信号。卡盘/夹具信号则包括“夹紧到位”和“松开到位”,两者互为互锁:夹紧到位时不允许松开指令,松开到位时不允许夹紧指令,否则可能造成工件飞出或夹具损坏。

急停回路是最高优先级的安全链路。机器人急停、机床急停、安全门急停、外部使能等都应串入同一安全继电器或安全PLC回路。急停触发后,必须同时切断机床进给使能、机器人伺服使能和卡盘/夹具的保持压力(或切换为安全保持状态)。急停复位后,不能自动恢复循环,必须由操作员手动确认并重新启动。

CNC与UR机器人联动信号对接逻辑 UR机器人控制器 数字I/O / 现场总线 安全信号输入 宏变量读写接口 PLC / 远程I/O 信号中转与互锁 M代码译码 安全逻辑判断 CNC数控系统 本地I/O / 宏变量区 M代码执行 门/卡盘/急停回路 请求/指令 I/O/M代码 状态/到位 反馈/允许 关键信号分类与方向 机床→机器人/PLC(输入) 卡盘夹紧到位 / 松开到位 安全门关闭 / 锁紧 / 急停正常 机器人/PLC→机床(输出) 允许开门 / 请求开门 卡盘夹紧 / 松开 / 启动循环 宏变量握手区 #100 请求标志 / #101 应答标志 工件号 / 配方号 / 报警代码 安全回路与互锁逻辑 急停回路 机器人/机床/门/使能 门锁互锁 主轴停→允许开门 卡盘互锁 夹紧/松开不可同时 复位确认 手动重新启动 注:所有信号方向以“机器人/PLC→机床”为输出,“机床→机器人/PLC”为输入;急停回路优先级最高。

五、对接逻辑的落地要点

在实际工程中,建议按以下顺序完成接口梳理与验证:

  1. 绘制信号表:列出每个信号的名称、方向、地址、有效电平、常开/常闭、对应M代码或宏变量、时序要求。
  2. 定义握手协议:对关键动作(开门、夹紧、启动)采用“请求—应答—确认”三步握手,避免单电平误触发。
  3. 编写PLC/机器人逻辑:将互锁条件写入PLC或机器人安全逻辑,例如“卡盘松开到位”为真时才允许输出“允许开门”。
  4. 分步验证:先手动强制I/O点,观察机床动作和反馈信号;再通过M代码和宏变量做半自动测试;最后联调完整上下料循环。
  5. 记录异常处理:对超时、信号抖动、急停复位等场景定义明确的报警代码和恢复步骤。
示例参数(仅作教学参考):某FANUC系统上下料单元中,设定#100=1为机器人请求开门,#101=1为机床应答门已开;卡盘夹紧到位信号为X4.0(高电平有效),松开到位为X4.1;安全门关闭为X5.0,锁紧为X5.1。机器人输出Y0.0为允许开门,Y0.1为卡盘夹紧指令。实际地址需根据机床I/O分配表确认。
注意:不同CNC系统的M代码定义、宏变量范围和I/O地址差异很大,必须以机床厂家提供的电气图、PLC程序和参数手册为准。严禁在未确认有效电平和常开/常闭状态的情况下直接接线或强制信号,否则可能造成设备损坏或人身伤害。

接口梳理的最终成果,是一份可执行的“信号—动作—反馈”对照表,以及经过分步验证的联动逻辑。只有把数控系统I/O、M代码、宏变量、门信号、卡盘/夹具信号和急停回路全部对齐,UR机器人与CNC的上下料联动才能稳定、安全地运行。