在博途S7-1200中可以在硬件组态时设定IP地址和名称,并下载到cpu中去,但有时候需要在程序中修改IP地址和名称,怎么做呢?今天小编就跟大家分享下:
一、首先组态一个PLC,并设定好IP地址和名称,并下载到仿真器中去。(注1200仿真器不支持T_CONFIG指令,不能修改仿真器的地址,所以我们只能模拟操作。)
1、我们在OB1中调用T_CONFIG指令,指令位置如下图所示:
2、T_CONFIG指令的说明
通过指令“T_CONFIG”,可以更改以太网地址、PROFINET 设备名称或 NTP 服务器的 IP 地址,从而在用户程序中进行时间同步。同时覆盖现有的组态数据。
可对以下设置进行更改:
(1)IP 协议设置
IP 地址
子网掩码
路由器地址
(2)PROFINET 设置
PROFINET 设备名称分配
说明
设备名称与 IP 协议之间的相互关系
指定新的设备名称时,还需设置 IP 协议。
3、通过下面例子看看如何设置管脚
在INTERFACE管脚设置为"Local~PROFINET_接口_1"
CONF_DATA的设置:
在全局数据块中创建。首先,新建一个数据块 DB2,如图所示,在 DB2 中新建一个变量“ConfData”,数据类型为 Struct,在变量下新建 3 个子变量:Header、IPData、Nos,数据类型分别为:IF_CONF_Header、IF_CONF_v4、IF_CONF_NOS,这 3 个数据类型直接手动输入就可以。
在指令块中对应管脚填入相应的数据:
4、修改CPU网络组态为“在设备中直接设定IP地址”。
5、编译,然后整体下载项目
6、项目下载完成后,展开数据块 DB2 的 3 个变量,
在上图中Header:用于定义这些系统数据类型的数量。
IPData:IP 地址、子网掩码和路由器地址将保存在该系统数据类型中
NOS:PROFINET 设备名称将保存在该系统数据类型中。
7、下面我们建立一个监控表来修改IP地址
进入主程序并在线,给管脚 “Req” 一个脉冲信号,主程序会立即进入离线状态,这表示设备名称和 IP 地址已经被修改成功,