3. PLC硬件组态与I/O地址规划

在机器人协同控制项目中,PLC硬件组态决定了CPU能识别哪些模块、每个模块占用哪些地址、分布式站点如何接入网络,以及安全信号是否走独立通道。如果组态阶段地址规划混乱,后续编写机器人握手、夹具控制、安全门监控程序时就会出现地址冲突、信号覆盖或安全功能无法通过验证的问题。本节以一台S7-1500 CPU搭配ET 200SP分布式I/O、控制一台六轴机器人的典型场景为例,说明CPU参数设置、信号模块配置、分布式I/O组态方法,并给出一份可直接参考的I/O地址分配表。

CPU参数设置:先定“身份”和“通信边界”

在TIA Portal中新建项目后,首先添加CPU。以CPU 1516-3 PN/DP为例,需要重点设置以下几类参数:

  • PROFINET接口参数:设置IP地址(示例:192.168.0.1)、子网掩码(255.255.255.0)。若机器人控制器也走PROFINET,需保证二者在同一网段且设备名称唯一。
  • 系统和时钟存储器:启用系统存储器字节(示例:MB0)和时钟存储器字节(示例:MB1),便于后续使用首次扫描位、周期性脉冲位。
  • 启动特性:对于协同控制,建议设置为“暖启动-断电前的操作模式”,避免上电后机器人等待PLC就绪时间过长。
  • 保护级别:设置读写密码,防止现场误改组态。
  • 循环/通信负载:默认20%通信负载通常够用;若机器人视觉数据量大,可适当提高。

这些参数不是孤立的,它们直接决定后续I/O地址能否被正确访问。例如,未启用系统存储器字节,程序中就无法使用M0.0作为“首次扫描”标志。

信号模块配置:数字量、模拟量与安全模块的地址划分

CPU本体通常自带少量I/O,但协同控制项目一般需要扩展。以示例配置为例:

  • 数字量输入模块DI 16x24VDC:用于按钮、限位、机器人“就绪”“报警”等干接点信号。
  • 数字量输出模块DQ 16x24VDC/0.5A:用于指示灯、继电器线圈、机器人使能输出。
  • 模拟量输入模块AI 4xU/I:用于夹具压力、工件到位距离等4–20mA信号。
  • 安全数字量输入/输出模块:用于急停、安全门、使能回路,必须使用F模块并分配F地址。

在设备视图中拖入模块后,TIA Portal会自动分配I/O地址。建议不要完全依赖自动分配,而是手动规划地址区间,例如:

数字量输入:  I0.0 ~ I1.7   (CPU本体+DI模块)
数字量输出:  Q0.0 ~ Q1.7   (CPU本体+DQ模块)
模拟量输入:  IW64 ~ IW71   (AI模块4通道)
安全输入:    F-DI 0 ~ F-DI 7
安全输出:    F-DQ 0 ~ F-DQ 3

手动规划的好处是:程序中的地址段与物理模块一一对应,排查故障时能快速定位到具体端子。例如,I0.0对应机器人“就绪”信号,I0.1对应“报警”,I0.2对应“急停反馈”,这样在梯形图中一眼就能看出信号含义。

分布式I/O组态:ET 200SP接入与地址映射

机器人工作站通常远离主控柜,采用ET 200SP分布式I/O可以节省大量电缆。组态步骤如下:

  1. 在“网络视图”中添加ET 200SP接口模块(如IM 155-6 PN HF),分配设备名称(示例:et200sp_robot)和IP地址(192.168.0.2)。
  2. 将ET 200SP的PROFINET接口连接到CPU的PN口,确保设备名称与硬件目录中一致。
  3. 在ET 200SP机架上插入DI、DQ、AI模块,TIA Portal会按插槽顺序分配地址。若希望地址连续,可在“设备概览”中手动修改起始地址。
  4. 对于安全模块,需在ET 200SP中插入F-DI/F-DQ模块,并分配F地址。F地址与标准地址分开管理,不能混用。

分布式I/O的地址映射关系可以用下图表示。图中左侧为主站CPU,右侧为ET 200SP从站,中间通过PROFINET连接,下方列出各模块占用的地址区间。该图不是流程图,而是拓扑与地址映射关系图,用于快速查看“哪个站、哪个槽、哪个地址”的对应关系。

PLC主站与ET 200SP分布式I/O地址映射关系 S7-1500 CPU 1516-3 PN/DP IP: 192.168.0.1 设备名称: plc_master CPU本体DI/DQ: I0.0~I0.7 / Q0.0~Q0.7 系统/时钟存储器: MB0 / MB1 PROFINET 192.168.0.0/24 ET 200SP 分布式I/O站 IM 155-6 PN HF | IP: 192.168.0.2 | 设备名: et200sp_robot 槽1 DI 16x24V I8.0~I9.7 槽2 DQ 16x24V Q8.0~Q9.7 槽3 AI 4xU/I IW64~IW71 槽4 F-DI/F-DQ F地址区 协同控制I/O地址分配表(示例) 信号类别 地址 信号名称 方向 说明 数字量输入 I0.0 机器人就绪 PLC←机器人 干接点 数字量输入 I0.1 机器人报警 PLC←机器人 干接点 数字量输出 Q0.0 机器人使能 PLC→机器人 继电器隔离 模拟量输入 IW64 夹具压力 PLC←传感器 4–20mA 安全输入 F-DI0 急停按钮 安全回路 双通道 安全输出 F-DQ0 安全门锁 安全回路 双通道

地址分配表的设计原则与填写方法

地址分配表不是简单罗列,而是协同控制程序的“接口契约”。设计时建议遵循以下原则:

  • 按功能分区:数字量输入、数字量输出、模拟量输入、安全信号各自连续,避免交叉。例如I0.0~I0.7留给机器人状态,I8.0~I9.7留给夹具和外围。
  • 预留余量:每个区段预留10%~20%地址,便于后期增加传感器或指示灯。
  • 安全信号独立编址:F地址与标准地址分开,程序中通过FDB(安全功能块)访问,不能直接与普通I/O混用。
  • 模拟量按通道对齐:AI模块每个通道占2字节,IW64、IW66、IW68、IW70依次排列,不要跳号。
  • 命名与注释同步:在PLC变量表中为每个地址定义符号名(如“Robot_Ready”),并在注释中写明信号来源和有效电平。

以机器人“使能”信号为例,Q0.0输出到中间继电器,继电器触点接入机器人控制器的使能端子。程序中需要满足“机器人就绪I0.0为1、无报警I0.1为0、安全回路正常”三个条件后,才置位Q0.0。这种逻辑关系在地址分配表中应能直接看出信号方向,避免程序编写时反复翻查硬件图。

在TIA Portal中,可以通过“PLC变量”表集中管理符号名和地址。建议将地址分配表导出为Excel,与电气原理图、机器人接口表三方核对,确保I0.0在三个文档中含义一致。

组态验证:下载前必须检查的三件事

硬件组态完成后,不要急于下载。先执行以下检查:

  1. 设备名称与IP一致性:在线访问时,ET 200SP的设备名称必须与组态中一致,否则PROFINET无法建立连接。可通过“在线和诊断”查看实际设备名称。
  2. 地址冲突检查:在“设备概览”中查看各模块起始地址,确认没有重叠。若两个模块都从I8.0开始,编译时会报错。
  3. 安全模块F地址确认:F模块的F地址由TIA Portal自动分配,但需在安全程序中确认F-DI/F-DQ的地址与硬件组态一致。安全程序下载后,需进行安全签名确认。

完成上述步骤后,PLC硬件组态与I/O地址规划就形成了协同控制的基础框架。后续编写机器人握手程序、夹具控制逻辑和安全监控程序时,所有信号都可以直接引用地址分配表中的符号名,减少现场调试时的地址查找时间。