4. FANUC机器人I/O信号配置

在FANUC机器人与PLC协同生产系统中,机器人本体、控制柜、外围设备与PLC之间的信息交换几乎全部通过I/O信号完成。I/O配置是否清晰、映射是否准确,直接决定了协同动作能否按预期触发、互锁是否可靠、异常能否被及时捕获。本节围绕数字I/O、组I/O、模拟I/O三类信号,说明它们在FANUC系统中的分配方式、与PLC的映射关系,以及在协同生产中的信号定义方法。

一、三类I/O的基本定位

FANUC机器人的I/O按数据宽度和用途可分为三类。数字I/O(Digital I/O)是单比特信号,只有ON/OFF两种状态,用于表达“夹爪开/合”“安全门关/开”“启动允许/禁止”这类二值条件。组I/O(Group I/O)由若干连续比特组成一个整体,通常为4位、8位或16位,用于传递编号、档位、配方号等整型量,例如“当前选择程序号”“工件型号代码”。模拟I/O(Analog I/O)传递连续量,常见为0~10V电压或4~20mA电流,用于表达压力、速度倍率、位置偏差等需要连续调节的物理量。

三者的关键区别在于:数字I/O表达状态,组I/O表达离散编号,模拟I/O表达连续数值。协同生产中,PLC往往用数字I/O做握手与互锁,用组I/O做任务选择,用模拟I/O做工艺参数下发或反馈采集。配置前应先明确每个信号属于哪一类,避免把编号量拆成多个数字点,或把连续量硬塞进组I/O。

二、I/O分配:从物理点到逻辑地址

FANUC机器人的I/O分配在“I/O配置”界面完成,核心是确定每个信号落在哪个机架(Rack)、插槽(Slot)、起始点(Start Point)。常见分配对象包括:

  • 机器人本体I/O:如EE接口(末端执行器接口)上的数字输入/输出,用于夹爪、吸盘、传感器。
  • 过程I/O板:如CRMA15/CRMA16、Modbus、Profibus、EtherNet/IP等通信板卡,用于与PLC交换批量信号。
  • 外围设备I/O:如安全门、光栅、按钮站,通常经PLC或远程I/O模块接入。

分配时先确定通信方式。若采用EtherNet/IP或Profibus,机器人作为从站,PLC作为主站,双方约定一段连续的输入区和输出区。例如约定机器人输入区从地址1开始、长度32点,输出区从地址1开始、长度32点。然后在机器人侧把数字I/O、组I/O、模拟I/O分别映射到这段区域内。数字I/O占用1点,组I/O按位宽占用连续点,模拟I/O通常占用一个16位字。

分配原则:同一功能相关的信号尽量连续排列,组I/O和模拟I/O不要跨输入/输出区边界,避免PLC侧解析时出现字节错位。

三、映射关系与信号定义

映射的本质是“机器人逻辑地址 ↔ PLC地址 ↔ 现场物理点”三者对应。以常见的EtherNet/IP协同为例,可建立如下映射表(示例参数,实际以项目约定为准):

信号名称类型机器人侧PLC侧方向含义
DO_GRIP数字输出DO[1]Q0.0机器人→PLC夹爪闭合指令
DI_GRIP_OK数字输入DI[1]I0.0PLC→机器人夹爪到位反馈
GO_PROG_NO组输出(8位)GO[1]QB1机器人→PLC当前程序号
GI_TASK_SEL组输入(8位)GI[1]IB1PLC→机器人任务选择码
AO_SPEED模拟输出AO[1]QW2机器人→PLC速度倍率反馈
AI_PRESSURE模拟输入AI[1]IW2PLC→机器人目标压力设定

映射完成后,必须在机器人示教器上逐点验证:手动置位DO[1],观察PLC侧Q0.0是否变为ON;在PLC侧写入GI[1]=3,观察机器人是否读到组输入值3。模拟量还需检查量程对应关系,例如0~10V对应0~1000,则5V应读到500。若数值偏差,应检查字序(大端/小端)和量程标定。

FANUC机器人—PLC I/O映射与协同信号链 FANUC机器人 数字I/O DO[1] 夹爪闭合 DI[1] 到位反馈 组I/O GO[1] 程序号(8位) GI[1] 任务选择(8位) 模拟I/O AO[1] 速度倍率 AI[1] 目标压力 I/O分配参数 Rack/Slot/Start EtherNet/IP从站 通信映射层 EtherNet/IP / Profibus 输入区 32点 / 输出区 32点 数字→1点 组→连续位 模拟→16位字 字节序与量程标定 映射验证:置位/读值/量程核对 PLC主站 数字量 Q0.0 夹爪指令 I0.0 到位反馈 组数据 QB1 程序号 IB1 任务选择 模拟量 QW2 速度倍率 IW2 目标压力 协同逻辑 握手/互锁/任务调度 异常捕获与复位 输出 输入 反馈 设定

四、协同生产中的信号定义规范

协同生产不是单机运行,信号定义必须让机器人程序员和PLC程序员对同一信号有一致理解。建议在项目初期形成一份“协同信号字典”,至少包含:信号名、类型、方向、机器人地址、PLC地址、有效电平、含义、触发条件、复位方式。命名上采用“方向_功能_对象”的结构,例如“DI_SAFE_DOOR_CLOSED”“DO_ROBOT_READY”“GI_TASK_SEL”。

握手信号是协同的核心。典型做法是:PLC置位“启动允许”数字输出,机器人收到后置位“机器人就绪”数字输出;机器人完成一个节拍后置位“循环完成”脉冲,PLC收到后复位“启动允许”,进入下一轮。组I/O用于传递任务号,例如PLC写入GI[1]=5表示“执行第5号搬运任务”,机器人读取后选择对应程序。模拟I/O用于工艺参数,例如PLC通过AI[1]下发目标压力,机器人通过AO[1]回传实际速度倍率,PLC据此判断是否在允许区间。

互锁信号必须使用数字I/O的常闭逻辑或双信号确认,不能仅靠单点ON判断。例如安全门信号应同时定义“门关闭”和“门锁到位”两个输入,任一不满足即禁止机器人运动。

五、配置检查与常见问题

配置完成后,按以下顺序检查:第一,确认通信板卡状态为正常,无总线报警;第二,逐点核对数字I/O的ON/OFF与PLC侧一致;第三,写入组I/O的边界值(如0、255)确认位宽和字节序正确;第四,模拟量输入0V、5V、10V三点,确认读数线性且量程匹配;第五,模拟一次完整协同循环,观察握手信号时序是否出现竞争或丢失。

常见问题包括:组I/O起始地址未对齐导致数值跳变;模拟量未做量程标定导致PLC读数与机器人显示不一致;数字I/O方向定义反了,把输出当输入用;以及PLC扫描周期与机器人I/O刷新周期不匹配造成脉冲丢失。解决方法是统一双方刷新周期,对短脉冲信号采用保持型握手,而不是依赖单次扫描捕获。

掌握三类I/O的分配、映射与信号定义,是后续编写协同程序、调试节拍和排查故障的基础。实际项目中应把信号字典作为交付物之一,随程序版本同步维护,避免后期因信号含义变更引发误动作。