3. 信号基础与命名规范

在 RobotStudio 与 PLC 的虚拟联调中,信号是双方交换信息的唯一载体。机器人控制器与 PLC 之间并不直接传递“动作意图”,而是通过一组预先定义好的 I/O 信号完成握手:PLC 置位某个输出,机器人读取到该输入后执行动作,再把完成状态写回另一个信号。因此,理解信号类型、命名方式和地址分配,是搭建虚拟联调工程的第一步,也是后期排障时最依赖的基础。

一、三类信号的本质区别

RobotStudio 的 I/O 系统中,最常用的信号类型是数字信号(Digital Signal)、模拟信号(Analog Signal)和组信号(Group Signal)。三者的区别不在于“名字”,而在于它们能表达的信息量。

数字信号只有两个稳定状态:0 和 1,对应“未激活/激活”“关/开”“未到位/到位”。它适合表达布尔量,例如夹具夹紧、真空吸盘吸附、安全门关闭、启动按钮按下。数字信号在虚拟联调中数量最多,因为绝大多数握手逻辑都是二值的。

模拟信号是连续量,常见为 0~10 V 电压、4~20 mA 电流或直接以工程量表示(如 0~100%)。它适合表达速度倍率、焊接电流、涂胶流量、压力设定值等需要连续调节的物理量。在 RobotStudio 中,模拟信号通常需要指定量程上下限和物理单位,否则 PLC 侧写入的数值无法被正确解释。

组信号由多个数字位组合而成,本质上是“用若干位二进制表示一个整数”。例如一个 4 位组信号可以表示 0~15,8 位组信号可以表示 0~255。它常用于传递程序号、工位号、配方编号、档位选择等离散但多于两个取值的量。组信号的关键参数是位宽和位序,位序定义错误会导致 PLC 写入 3 而机器人读到 12 这类典型故障。

三类信号的信息表达能力对比 数字信号 Digital 取值:0 / 1 0 = 未激活 1 = 激活 典型用途: 夹具夹紧 / 启动按钮 安全门 / 到位检测 信息量:1 bit 模拟信号 Analog 取值:连续量 0% 100% 典型用途: 速度倍率 / 焊接电流 涂胶流量 / 压力设定 信息量:连续值 组信号 Group 取值:多位组合整数 0 1 1 0 4 位 → 0~15 8 位 → 0~255 典型用途: 程序号 / 工位号 配方编号 / 档位选择 信息量:n bit

二、I/O 命名规范:让信号自己说明用途

虚拟联调中最常见的低效场景,是打开一个别人建的工程,看到满屏 DI_01、DO_02、GI_1,完全不知道哪个信号控制哪个动作。命名规范的价值就在这里:好的信号名应该让维护者在不查文档的情况下,大致判断出信号的来源、方向和用途。

推荐采用“方向_设备_功能_序号”的分段结构。例如:

  • DI_Fixture_ClampDone_01:机器人输入,夹具 1 夹紧完成反馈;
  • DO_Robot_ProgStart_01:机器人输出,请求 PLC 启动程序 1;
  • GI_Station_Select_01:组输入,工位选择编号;
  • AO_Weld_CurrentSet_01:模拟输出,焊接电流设定值。

前缀 DI/DO/AI/AO/GI/GO 直接表明信号类型和方向,避免把输入当输出用;中段用设备或功能名,便于按区域检索;末尾序号用于同类信号扩展。命名中应避免空格、中文和特殊符号,RobotStudio 与多数 PLC 编程环境对信号名的字符集都有限制,使用下划线是最稳妥的选择。

命名时尽量使用英文或拼音缩写,并保持全工程统一。如果团队约定用 Clamp,就不要在另一个工位写成 Jiajin,否则检索和交叉引用会变得困难。

三、地址分配:把信号落到具体的 I/O 点上

命名解决“叫什么”,地址分配解决“接在哪里”。在虚拟联调中,RobotStudio 的 I/O 信号需要映射到具体的设备地址,常见形式包括 PLC 的输入/输出字节地址、现场总线地址或虚拟 I/O 板地址。地址分配的核心原则是:同一物理点只被一个信号占用,同一信号只映射到一个地址。

以一个典型的 8 位数字输入模块为例,假设起始地址为 I0.0,则 8 个输入点依次为 I0.0~I0.7。如果分配如下:

信号名类型地址说明
DI_Start_Button_01DII0.0启动按钮
DI_Stop_Button_01DII0.1停止按钮
DI_Fixture_ClampDone_01DII0.2夹具夹紧完成
DI_Safety_Door_01DII0.3安全门关闭
DI_Reserve_01DII0.4~I0.7预留

组信号和模拟信号的地址分配需要额外注意位宽和量程。例如一个 4 位组信号 GI_Station_Select_01 占用 IW64 的低 4 位,那么它实际使用的地址范围是 IW64.0~IW64.3,高 4 位不能被其他信号重复占用。模拟信号则要同时记录地址、量程下限、量程上限和单位,例如 AO_Weld_CurrentSet_01 映射到 QW80,量程 0~300 A,对应 0~27648 的 PLC 标准模拟量码值。

地址重叠是虚拟联调中最隐蔽的错误之一。两个信号映射到同一地址时,RobotStudio 可能不会立即报错,但运行中会出现“信号自己变化”的现象。分配完成后应逐条核对地址表,确认无重叠、无越界。

四、文档管理:让工程可交接、可复现

信号表本身就是最重要的工程文档。建议在项目根目录维护一份《I/O 信号分配表》,至少包含以下字段:信号名、信号类型、方向、地址、数据类型/位宽、量程或取值范围、对应设备、功能说明、备注。这份表既是 RobotStudio 配置的依据,也是 PLC 侧编程的依据,更是后期排障时对照检查的基准。

文档管理还应包括版本控制。每次修改信号名、地址或量程,都应在表中记录修改日期、修改人和修改原因。虚拟联调往往涉及机器人工程师和 PLC 工程师双方协作,如果一方改了地址而另一方不知道,联调时就会出现“信号对不上”的问题。把信号表作为双方共同的“接口契约”,可以显著减少这类沟通成本。

在实际操作中,可以按以下顺序推进:先根据工艺流程列出所有需要交换的信号,再按数字/模拟/组分类并命名,然后分配地址并填写信号表,最后在 RobotStudio 和 PLC 中分别按表配置。配置完成后,用简单的强制置位/复位测试逐点验证,确认每个信号都能正确传递,再进入正式的联调逻辑测试。

信号基础看似简单,但它决定了整个虚拟联调工程的可维护性。类型选错会导致数值解释错误,命名混乱会导致维护困难,地址重叠会导致运行异常,文档缺失会导致交接成本上升。把这四件事在项目初期做扎实,后续的联调工作会顺畅得多。