西门子 TIA Portal 通过编程方式修改 PLC 的 IP 地址
概述
本例将介绍在西门子 TIAPortal 中使用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 地址已修改成功。