文章目录

安川机器人与PLC的IO信号交互配置

发布于 2026-03-23 04:11:46 · 浏览 9 次 · 评论 0 条

安川机器人与PLC的IO信号交互配置

工业现场中,安川机器人与PLC的协同作业是自动化产线的核心环节。IO信号作为两者之间的"数字语言",直接决定了设备能否精准配合。本文从硬件接线到程序调试,完整梳理配置全流程。


第一阶段:硬件准备与接线规范

1.1 确认硬件接口类型

安川机器人控制柜(以DX200为例)配备多组IO接口,需先明确物理规格:

接口位置 端子类型 信号规格 典型用途
CN308 40pin端子台 通用IO 外部启动、模式切换
CN309 40pin端子台 专用IO 安全信号、伺服准备
选配板卡 端子排 模拟量/高速IO 焊接电流、编码器反馈

PLC侧需匹配电压等级,常见为DC24V。若PLC使用AC220V继电器输出,加装 中间继电器或光电隔离模块,避免烧毁机器人IO板。

1.2 电源与接地处理

断开 控制柜主电源,等待5分钟使电容放电。准备 独立DC24V电源(功率建议≥50W),严禁与机器人内部24V混用,防止接地环路干扰。

接线执行顺序:

  1. 连接 电源正极至机器人IO端子 +24V
  2. 连接 电源负极至机器人IO端子 0V
  3. 电源负极与PLC的 0V 短接,建立共地参考
  4. 单独敷设 屏蔽电缆连接信号线,屏蔽层单端接地(推荐PLC侧)

1.3 信号线对应关系

以标准数字量交互为例,最小系统需配置8入8出:

信号方向 机器人端子 定义 PLC端子 功能说明
输入→机器人 CN308-1 EXSTART Q0.0 外部启动运行
输入→机器人 CN308-2 EXHOLD Q0.1 外部暂停
输入→机器人 CN308-3 EXRESET Q0.2 报警复位
输入→机器人 CN308-4 EXMODE Q0.3 模式切换(自动/手动)
输出←机器人 CN308-21 RUNNING I0.0 程序运行中
输出←机器人 CN308-22 PAUSED I0.1 暂停状态
输出←机器人 CN308-23 ERROR I0.2 报警输出
输出←机器人 CN308-24 CYCLEEND I0.3 单循环完成

注意:安川输入为漏型(NPN),PLC输出需对应为源型(PNP)或加装下拉电阻。具体以实际模块型号为准。


第二阶段:机器人侧参数配置

2.1 进入维护模式

打开 控制柜电源,示教器显示主界面后,旋转 钥匙开关至 TEACH 模式。按下 示教器背面 SERVO ON READY 按钮,输入 安全密码(默认 0000 或咨询集成商)。

点击 屏幕右上角菜单 → 选择 设置进入 设置模式选择 功能组进入 IO

2.2 通用IO功能分配

安川机器人将物理端子映射为逻辑地址,需逐条绑定:

  1. 定位外部启动 配置项
  2. 输入 信号编号 20010(对应CN308-1的物理地址)
  3. 确认 极性为 N.O.(常开,高电平有效)

关键信号功能码速查:

功能名称 逻辑地址 有效电平 必配性
外部启动 20010 H 必选
外部暂停 20011 H/L可设 建议
外部复位 20012 H 建议
运行模式 20014 H=自动 必选
伺服准备 20020 H 必选

重复 上述步骤完成全部输入配置。切换 至输出信号页面,绑定 如下功能:

功能名称 逻辑地址 物理端子
运行中 30010 CN308-21
暂停中 30011 CN308-22
报警中 30012 CN308-23
循环完成 30014 CN308-24
伺服准备就绪 30020 CN308-25

2.3 专用IO(安全链)配置

安全信号需通过CN309端子,且部分功能强制固定:

  • EXEMG(外部急停):固定 地址 20026,双回路常闭
  • EXPP(防护栏):固定 地址 20027,双回路常闭
  • EXDS1(伺服ON):固定 地址 20022

验证 方法:短接对应端子与0V,观察示教器状态栏是否显示 SERVO ON 就绪。

2.4 通信参数保存

返回 至设置模式主界面,选择 文件点击 保存。文件名建议格式:IO_CONFIG_YYYYMMDD,便于版本追溯。重启 控制柜使配置生效。


第三阶段:PLC侧程序编写

3.1 西门子S7-1200/1500示例

创建 新数据块 DB_RobotIO,定义接口变量:

// DB_RobotIO 变量定义
STRUCT
    // 输出至机器人 (PLC → 机器人)
    CmdStart      : Bool;   // Q0.0 启动命令
    CmdHold       : Bool;   // Q0.1 暂停命令
    CmdReset      : Bool;   // Q0.2 复位命令
    CmdAutoMode   : Bool;   // Q0.3 自动模式请求

    // 输入自机器人 (机器人 → PLC)
    StaRunning    : Bool;   // I0.0 运行反馈
    StaPaused     : Bool;   // I0.1 暂停状态
    StaError      : Bool;   // I0.2 报警状态
    StaCycleEnd   : Bool;   // I0.3 循环完成
    StaServoReady : Bool;   // I0.4 伺服就绪
END_STRUCT;

主程序 OB1 中编写状态机逻辑:

// 网络1:启动条件组合
#RobotIO.CmdStart := #StartReq AND #RobotIO.StaServoReady 
                     AND NOT #RobotIO.StaRunning 
                     AND NOT #RobotIO.StaError;

// 网络2:报警处理
IF #RobotIO.StaError THEN
    #AlarmLamp := TRUE;
    #RobotIO.CmdStart := FALSE;
END_IF;

// 网络3:循环完成检测(上升沿触发计数)
#CycleDoneTrig(CLK := #RobotIO.StaCycleEnd);
IF #CycleDoneTrig.Q THEN
    #PartCounter := #PartCounter + 1;
END_IF;

3.2 三菱FX5U示例

使用 结构化文本(ST)编写:

// 全局标签定义
VAR_GLOBAL
    Robot_Out AT %QX0.0 : ARRAY[0..3] OF BOOL; // 输出数组
    Robot_In  AT %IX0.0 : ARRAY[0..4] OF BOOL; // 输入数组
    StartSeq : BOOL := FALSE;
    StepNo   : INT := 0;
END_VAR

// 主程序
IF Robot_In[4] AND NOT Robot_In[2] THEN  // 伺服就绪且无报警
    CASE StepNo OF
        0:  // 等待启动请求
            IF StartReq THEN
                Robot_Out[3] := TRUE;  // 置自动模式
                StepNo := 10;
            END_IF;
        10: // 延时确认
            TON_1(IN := TRUE, PT := T#100ms);
            IF TON_1.Q THEN
                Robot_Out[0] := TRUE;  // 发启动信号
                StepNo := 20;
            END_IF;
        20: // 等待运行反馈
            IF Robot_In[0] THEN
                Robot_Out[0] := FALSE; // 复位启动
                StepNo := 30;
            END_IF;
        30: // 运行监控
            IF Robot_In[3] THEN        // 循环完成
                StepNo := 0;           // 返回初始
            END_IF;
    END_CASE;
END_IF;

3.3 关键时序控制

机器人响应存在固定延迟,PLC程序需预留余量:

操作阶段 最小保持时间 说明
启动信号 $\geq 100\,\text{ms}$ 确保机器人IO扫描捕获
模式切换 $\geq 500\,\text{ms}$ 等待安全控制器确认
复位信号 $\geq 200\,\text{ms}$ 覆盖报警清除周期
急停触发 立即响应 硬接线,不依赖程序

避免 使用脉冲触发(如PLC扫描周期的窄脉冲),采用 置位-复位或定时宽脉冲。


第四阶段:联合调试与故障排查

4.1 单点测试流程

准备 手持万用表,切换至机器人 TEACH 模式:

  1. 强制 PLC输出Q0.0为ON,测量 机器人CN308-1端子电压,确认24V存在
  2. 观察 示教器 输入 监控画面,地址 20010 应显示 (ON状态)
  3. 手动触发 机器人输出(示教器 输出 画面强制 30010 ON),测量 PLC输入I0.0电压
  4. 记录 实际响应延迟,填入调试表格

4.2 典型故障处理

现象 排查步骤 根因
信号无反应 检查 共地连接;测量 端子电压;确认 地址绑定正确 接地不良或地址错位
间歇性误触发 检查 屏蔽层接地;加大 滤波时间常数 电磁干扰
模式切换无效 确认 安全门关闭;检查 EXDS1 反馈 安全链未就绪
循环完成不检测 监控 信号波形;检查 PLC程序沿触发逻辑 脉冲过窄未捕获

4.3 信号交互验证程序

机器人侧编写测试程序 TEST_IO

NOP
*LOOP
    DOUT OT#(10) OFF      // 等待启动
    WAIT IN#(10)=ON       // 检测到启动
    DOUT OT#(10) ON       // 反馈运行中
    TIMER T=1.00          // 模拟作业1秒
    DOUT OT#(10) OFF
    DOUT OT#(12) ON       // 发送完成脉冲
    TIMER T=0.50
    DOUT OT#(12) OFF
    JUMP *LOOP

PLC侧配合监控上述信号的时序关系,确认上升沿/下降沿对齐。


第五阶段:高级配置与优化

5.1 模拟量信号扩展

焊接应用需配置模拟量交互:

信号类型 机器人端子 PLC模块 量程设置
焊接电流给定 模拟输出1 输入模块 $0\text{–}10\text{V} \leftrightarrow 0\text{–}500\text{A}$
实际电流反馈 模拟输入1 输出模块 $4\text{–}20\text{mA} \leftrightarrow 0\text{–}500\text{A}$

注意:安川模拟量默认 $0\text{–}10\text{V}$,若PLC使用 $4\text{–}20\text{mA}$,加装 250Ω精密电阻转换,或选配电流型IO板。

5.2 网络通信替代方案

当IO点超过64点或需传输位置数据时,启用 以太网通信:

协议 适用场景 波特率 配置要点
Ethernet/IP AB/欧姆龙PLC 100Mbps 扫描器/适配器角色设置
PROFINET 西门子PLC 100Mbps GSD文件导入,设备名匹配
Modbus TCP 通用场景 100Mbps 功能码03/16,寄存器映射

网络通信不替代安全IO,急停、模式等关键信号保留 硬接线。

5.3 文档归档规范

调试完成后整理 以下资料:

  • 端子接线图(含线号、颜色、截面积)
  • IO地址对照表(机器人逻辑地址↔PLC地址)
  • 信号时序图(关键交互波形截图)
  • 备份文件(机器人 CMOS.BIN、PLC程序)

文件命名:项目代号_设备位号_日期_版本号,存储于服务器与本地双备份。


附录:快速配置检查清单

接线前

  • [ ] 电源电压测量(24V±10%)
  • [ ] 万用表验证端子通断
  • [ ] 屏蔽层接地方式确认

参数配置

  • [ ] 逻辑地址与物理端子核对
  • [ ] 极性设置(常开/常闭)
  • [ ] 功能码与手册对照

调试验证

  • [ ] 单点强制ON/OFF测试
  • [ ] 完整流程空运转
  • [ ] 急停回路功能测试
  • [ ] 掉电重启后状态保持

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文