4. TIA Portal与STEP 7编程环境

在西门子PLC通信与设备集成课程中,编程环境是承载一切通信配置的“工作台”。TIA Portal(博途)与经典STEP 7虽然同属西门子工程软件体系,但在项目组织方式、设备组态逻辑、网络视图表达和通信库调用路径上存在明显差异。理解这些差异,是后续完成PROFINET、PROFIBUS、开放式用户通信及S7通信配置的前提。

一、核心原理:项目、设备、网络与连接的四层关系

TIA Portal采用“项目—设备—网络—连接”的层级化组织模型。项目是容器,设备是通信节点,网络是物理与逻辑链路,连接则是设备之间可被程序调用的通信关系。STEP 7经典版则更依赖硬件组态与NetPro两个相对独立的工具,网络与连接配置往往需要单独打开NetPro完成。

在TIA Portal中,设备组态与网络视图是同一工程视图的两个侧面:设备视图关注单个设备的硬件参数,网络视图关注设备之间的拓扑与连接。连接配置完成后,通信库中的指令才能基于已定义的连接进行调用。若连接未建立或未正确分配,通信指令即使语法正确也无法运行。

TIA Portal 通信配置四层模型与通信库调用路径 项目 Project 新建 / 归档 / 多用户 设备 Device PLC / HMI / 驱动 / IO 网络 Network PROFINET / PROFIBUS 连接 Connection S7 / OU / ISO-on-TCP 设备组态关键参数(以 CPU 为例) PROFINET 接口 IP / 子网 / 设备名称 硬件标识符 HW_ID / 输入输出地址 保护与访问级别 连接机制 / PUT/GET 系统常数 本地/伙伴连接 ID 通信库调用路径:指令 → 连接 → 参数 通信指令 TSEND_C / TRCV_C 连接参数 CONNECT / 连接 ID 伙伴设备 IP / 端口 / 机架槽号 运行 状态码

二、方法流程:从新建项目到通信库调用

在TIA Portal中完成一次通信配置,通常遵循以下步骤:

  1. 新建项目:选择“创建新项目”,输入项目名称与存储路径,设置作者与注释。建议项目路径避免中文和空格,防止后续编译或下载异常。
  2. 添加设备:在“项目树”中双击“添加新设备”,选择CPU型号与订货号。若为实际硬件,应选择与实物一致的固件版本。
  3. 设备组态:进入“设备视图”,配置PROFINET接口的IP地址、子网掩码、设备名称。对于分布式IO,还需分配设备名称并确认拓扑。
  4. 网络视图:切换到“网络视图”,将各设备的PROFINET接口拖拽连接到同一子网。检查连线是否显示为绿色,表示网络已建立。
  5. 连接配置:在网络视图中选择“连接”,新建S7连接或开放式用户通信连接。系统会自动分配本地与伙伴连接ID,这些ID将作为通信指令的输入参数。
  6. 调用通信库:在OB1或FB中打开“指令”面板,展开“通信”文件夹,选择对应指令(如TSEND_C、TRCV_C、PUT、GET),拖入程序并关联连接参数。
在TIA Portal中,连接ID通常以系统常数的形式出现,例如“LocalConnectionID”或“PartnerConnectionID”。建议在符号表中为这些常数建立符号名,避免程序中直接使用十六进制数值,提升可读性与可维护性。

三、案例场景:两台S7-1200通过S7通信交换数据

假设现场有两台S7-1200 PLC,分别为CPU 1214C和CPU 1215C,需要通过S7通信实现主站读取从站数据。操作要点如下:

  • 在TIA Portal中新建项目,添加两台CPU,分别命名为PLC_1和PLC_2。
  • 在网络视图中将两台PLC的PROFINET接口连接到同一子网,设置PLC_1为192.168.0.1,PLC_2为192.168.0.2。
  • 在PLC_1上新建S7连接,伙伴选择PLC_2,连接类型选择“S7连接”,系统自动分配连接ID。
  • 在PLC_1的OB1中调用GET指令,设置REQ触发、ID为连接ID、ADDR为伙伴地址、RD为接收数据区。
  • 在PLC_2中无需编写通信指令,但需确保“允许来自远程对象的PUT/GET通信访问”已勾选。
// PLC_1 中调用 GET 指令示例
GET
  REQ   := "StartRead";        // 上升沿触发
  ID    := "S7_Connection_1";  // 连接ID系统常数
  ADDR  := "PLC_2".DB1.DBX0.0 BYTE 10;  // 伙伴地址
  RD    := "MyData".Buffer;    // 本地接收区
  NDR   => "ReadDone";         // 新数据就绪
  ERROR => "ReadError";
  STATUS => "ReadStatus";

四、误区与复盘:常见配置问题

常见误区 现象 排查与修正
设备名称未分配 PROFINET设备无法上线,BF灯闪烁 在网络视图中为每个设备分配唯一设备名称,并执行“分配设备名称”
连接ID未关联 通信指令报错,STATUS为16#8080或类似 检查指令的ID参数是否引用了正确的连接系统常数
PUT/GET未允许 S7通信读取失败,伙伴无响应 在伙伴CPU属性中勾选“允许来自远程对象的PUT/GET通信访问”
IP地址冲突 网络时通时断,诊断缓冲区出现重复IP 使用“可访问设备”功能扫描网络,确认IP唯一性
项目路径含中文 编译或下载时报路径错误 将项目另存为纯英文路径,重新编译下载
在STEP 7经典版中,网络与连接配置需通过NetPro完成,且连接ID的查看方式与TIA Portal不同。若从经典STEP 7迁移到TIA Portal,应重点核对连接参数与系统常数,避免直接沿用旧项目的连接ID。

掌握TIA Portal与STEP 7的编程环境差异,核心在于理解“项目—设备—网络—连接—通信库”这条完整链路。设备组态决定通信的物理基础,网络视图决定链路拓扑,连接配置决定通信关系,通信库调用则是最终的程序实现。只有四层全部正确,通信才能稳定运行。