编程小技巧1:一个指令轻松修改IP地址

在日常工作中,PLC 的 IP 地址一般是固定的。不过,在某些特殊项目里,可能常常需要更改 IP 地址。通常情况下,常规更改 IP 地址的方式需要通过编程软件连接 PLC,甚至可能还需要下载硬件组态。

现在,我来为大家分享一种利用 T-CONFIG 指令更改 PLC IP 地址的方法,以 S7-1200 为例进行说明。 

步骤  01  新建项目

添加 S7-1200 新设备,选择控制器为 “6ES7 215-1AG31-0XB0”,并把设备名称设置为 “PLC_1”。 

步骤  02  设备组态

添加新子网 “PN/IE_1”,将 IP 地址设为 “192.168.1.130”,子网掩码设为 “255.255.255.0”,同时把 PROFINET 设备名称设定为 “PLC_1”将该项目编译保存并下载到 CPU 中。

图片

步骤  03  验证IP地址

在项目树中的 “在线访问” 里找到该电脑的网卡,双击 “更新可访问的设备”,等待一段时间后,就可以浏览到网络上可访问的设备了。找到一个PLC名称为 “plc_1”,IP 地址是 “192.168.1.130”,这与之前设置的 CPU 的 PROFINET 接口网络设置的设备名称和 IP 地址是一致的。 

图片

步骤  04  导入T-CONFIG 指令

在主程序 OB1 中调用 T_CONFIG 功能块。从 “通信 -> 开放式用户通信 -> 其他” 处拖入功能块 T_CONFIG。为该功能块的参数 Interface 指定 PROFINET 接口的硬件 ID,管脚 interface 选择 “Local~PROFINET_接口_1”。 

图片

步骤  05  建立指令背景数据块

功能块 T_CONFIG 有一个管脚 Conf_Data,这里着重介绍一下这个管脚。在管脚 CONF_DATA 中引用结构 “ConfigData”,这个结构需要在全局数据块中创建。首先,新建一个数据块 DB2。然后,在 DB2 中新建一个变量 “ConfData”,数据类型为 Struct。接着,在这个变量下新建 3 个子变量:Header、IPData、Nos,数据类型分别为:IF_CONF_HeaderIF_CONF_v4、IF_CONF_NOS。这 3 个数据类型可以直接手动输入。 

图片

步骤  06  编程指令

前面已经填写了管脚 “Interface”,现在将管脚 “Conf_Data” 分配地址为 “DB2.ConfData”,并将 Req、Done、Busy、Error、Status、Err_Loc 分别填写地址为:M10.0、M10.1、M10.2、M10.3、MD12 和 MD16。

图片

步骤  07  IP协议设置

进入 CPU 的 “PROFINET 接口”,将 IP 协议选择为 “在设备中直接设定 IP 地址”,将 PROFINET 选择为 “在设备中直接设定 PROFINET 设备名称”。

图片

步骤  08  编译下载

编译保存该项目,再次整体下载该项目。这时会弹出下载界面 “扩展的下载到设备”,可以看到组态访问节点的 PLC_1 的地址显示为 “未组态”。点击 “开始搜索” 按键,直到 “目标子网中的兼容设备” 表格中显示出 PLC_1,地址显示为 “192.168.1.130”。用鼠标选中该设备,点击右下角的 “下载”。 

图片

步骤  09  监控变量

将项目设置为在线状态,从项目树中的 “PLC_1-> 监控与强制表” 中新建一个监控表(本例新建为 “监控表_1”),把数据块 DB2 中的一些需要修改的变量从 DB2 中拖拽到监控表中。

图片

步骤  10  更改IP

进入主程序并设置为在线状态,给管脚 “Req”M10.0 一个脉冲信号,主程序会立即进入离线状态,这就表示设备名称和 IP 地址已经修改成功了。

图片

这个变量也可以连接 HMI,通过 HMI 对 PLC IP 地址进行更改。该功能适用于项目的特殊运用场景,目前很多稳定的系统通讯都有 IP 地址的指向,大家在更改 IP 地址之前一定要确保通讯能够正常连接哦。             

图片

2024年09月

Tags: