西门子 TIA Portal 通过编程方式修改 PLC 的 IP 地址

概述

本例将介绍在西门子 TIA Portal 中使用 T_CONFIG 指令通过编程的方式修改 PLC 设备的 IP 地址的方法。

在 HMI 中将西门子 S7-1200 PLC 的 IP 地址从初始地址 192.168.18.18 改为目标地址 192.168.18.19。

第1步:

1.添加 PLC 设备,选择西门子 CPU 1214C。

实现本例的功能应注意选择在设备中直接设定 IP 地址和在设备中直接设定 PROFINET 设备名称。

2.启用时钟存储器字节。

该系统时钟将作为心跳位来判断 HMI 和 PLC 的通信连接状态。

第2步:

1.添加全局数据块,命名为:GdbConfData,取消优化的块访问。为该全局数据块添加变量。

添加变量 Header,数据类型为 IF_CONF_Header,用来定义系统数据类型的数量,结构体 ConfData 中必须始终包含 IF_CONF_Header,因为只修改 IP 地址,所以其它并不是必须,本实例中省略并未添加。

添加变量 IPData,数据类型为 IF_CONF_v4,包含 IP 地址、子网掩码和路由器地址等。本实例即通过修改其中的 ADDR 的值来实现修改设备 IP 地址的目的。

2.添加全局数据块,命名为:GdbModifyIPData,取消优化的块访问。为该全局数据块添加变量。

添加变量 setIP,数据类型为 Bool,用来作为修改 IP 地址的确认按钮。

添加变量 liveBit,数据类型为 Bool,用来作为心跳位,来判断 HMI 和 PLC 的通信连接状态。

第3步:

编写程序。添加 OB 循环组织块,命名为:MainModifyIP。

编写程序代码。

从通信指令库中调用组态接口指令 T_CONFIG,并配置实参。利用系统时钟为心跳位赋值。

第4步:

1.通过在线访问为 PLC 设置 IP 地址。

初始 IP 地址为:192.168.18.18。

初始子网掩码为:255.255.255.0。

通过搜索可访问设备可以看到 PLC 的当前 IP 地址:192.168.18.18。

2.下载程序到 PLC。

可以看到离线 PLC 地址为未组态。

第5步:

添加 HMI 设备,选择西门子 KTP700 精简面板。

设置 IP 地址:192.168.18.101。

设置子网掩码:255.255.255.0。

第6步:

通过以下方式创建一个 HMI 和 PLC 之间的数据连接。

第7步:

添加 HMI 变量,访问模式为绝对访问,注意地址的偏移。

第8步:

1.添加并设计 HMI 画面。

画面内容参见下图,包含一个文本域、四个 I/O 域、一个基本对象圆和一个按钮。

2.为表示 IP 地址第一个字节的 I/O 域添加过程变量。

3.为表示 IP 地址第二个字节的 I/O 域添加过程变量。

4.为表示 IP 地址第三个字节的 I/O 域添加过程变量。

5.为表示 IP 地址第四个字节的 I/O 域添加过程变量。

6.为基本对象圆添加动画属性,HMI 和 PLC 通信正常时闪烁。

7.为 SET 按钮添加鼠标按下事件属性,置位 setIP 变量。

8.为 SET 按钮添加鼠标释放事件属性,复位 setIP 变量。

第9步:

测试通过程序修改 PLC 的 IP 地址的功能。

启动 HMI 仿真,成功连接 PLC。

当前 IP 地址为:192.168.18.18,通信心跳指示灯闪烁证明通信正常。

修改 IP 地址为:192.168.18.19,按下 SET 按钮,数据中断,通信心跳指示灯停止闪烁,通信中断,证明 IP 地址已修改成功。

通过扫描可访问的设备,再次证明 PLC 的 IP 地址已修改成功。