admin管理员组

文章数量:1537955

2024年1月5日发(作者:)

在S7-1500CPU中如何通过用户程序设置NTP服务器的IP地址?

“T_CONFIG”指令用于为S7-1500 CPU的集成PROFINET接口或CP/CM的接口进行程序控制组态。

使用“T_CONFIG”指令可以从用户程序中改变以太网地址和PROFINET设备名称。

使用S7-1500 CPU V1.8及更高版本还有STEP 7 V13 SP1 Upd4及更高版本,可以在用户程序中使用“T_CONFIG”指令为日同步时间更改NTP服务器的IP地址。

之前有效的组态数据会被覆盖。

可以使用“T_CONFIG”指令做以下改变:

• IP协议设置

o IP地址

o 子网掩码

o 路由器地址

PROFINET设置

时钟同步设置

o PROFINET设备名称分配

o 为时钟同步的NTP服务器(仅限S7-1500)分配IP地址

设置对应的配置选项位于:在“以太网地址” 对话框中“IP 协议” 和“PROFINET” 下,或者在“时钟同步”对话框中“NTP 模式”下可以找到。这会在“设备视图”和“网络视图” 中PROFINET接口属性下“Devices & Networks” 中显示。

改变NTP服务器IP地址的必备条件

为使用“T_CONFIG”指令,必须在硬件组态中明确指定通过用户程序来分配IP地址参数和设备名称。

• 为此,需要在设备视图中打开PROFINET接口的属性。为了通过“T_CONFIG”更改NTP服务器的IP地址,需要在“时钟同步”对话框激活选项“通过NTP服务器启动同步时间”,然后需要在NTP服务器处指定IP地址。

• 组态数据必须存储在系统数据类型中,并在“CONF_DATA” 参数中传递。在系统数据类型IF_CONF_NTP中储存NTP时钟同步的IP地址。

“T_CONFIG”指令的输入参数

表01展示“T_CONFIG”指令的输入参数。

参数

REQ

INTERFACE

数据类型

BOOL

描述

当REQ=1时,指令被调用并开始运行。

HW_INTERFACE 硬件标识

硬件标识在设备视图下接口的属性中以及PLC变量的系统常量中显示。

VARIANT 高级结构的指针包含系统数据类型

IF_CONF_HEADER, IF_CONF_V4和IF_CONF_NOS (参见CONF_DATA参数的描述)。

CONF_DATA

表 01

“T_CONFIG”指令的输出参数

表02展示“T_CONFIG”指令的输出参数。

参数

DONE

数据类型

BOOL

描述

状态参数:

0:还未完成处理。

1:已成功完成指令处理。

BUSY BOOL

状态参数:

0:指令还未开始、已经完成或者被终止处理。

1:指令开始处理。

ERROR BOOL

参数状态:

0:无错误

1:有错误

STATUS DWORD 详细状态信息:

详细报错和状态信息在STATUS参数以一个错误代码的形式输出。

错误位置:

ERR_LOC DWORD

0:错误出现在执行指令时或者参数化时

参数 数据类型

描述

>0:错误出现在CONF_DATA参数配置数据的结构或者内容中。

表 02

CONF_DATA 参数中组态数据的结构

CONF_DATA 参数的组态数据可以存在全局数据块或者块接口的“Static” 部分。组态数据必须按照如下结构存储。

名称

ConfData

Header

数据类型

Struct

描述

高级结构特定的CONF_DATA 参数。

IF_CONF_HEADER 通过 header定义下列系统数据类型的编码。必须总是包含系统数据类型IF_CONF_HEADER。

IF_CONF_V4 在这个系统数据类型中储存IP地址,子网掩码和路由器地址。只有在需要通过“T_CONFIG”修改以太网地址时才需创建 IF_CONF_V4。

在这个系统数据类型中存储PROFINET设备名称。只有在需要通过“T_CONFIG”修改设备名称时才需创建IF_CONF_NOS。

在这个系统数据类型中为时钟同步NTP服务器存储IP地址。

IPData

NoS IF_CONF_NOS

NTP IF_CONF_NTP

表 03

IF_CONF_NTP子字段

通过IF_CONF_NTP 子字段为时钟同步NTP服务器定义IP地址。

字节

0...1

参数

Id

数据类型

UINT

起始值 描述

17 系统数据类型的标识。必须不能改变参数的起始值。

IF_CONF_NTP系统数据类型的字节长度。因为IF_CONF_NTP 的参数有固定的长度和结构,所以长度规格必须使用起始值。

2...3 Length UINT 22

字节

4...5

参数

Mode

数据类型

UINT

起始值 描述

有效性:

1:永久有效(不允许的)

2:临时有效

6...9 NTP_IP[1] ARRAY[1..4] of

IP_V4

10...13 NTP_IP[2] ARRAY[1..4] of

IP_V4

14...17 NTP_IP[3] ARRAY[1..4] of

IP_V4

18...21 NTP_IP[4] ARRAY[1..4] of

IP_V4

表 04

关于子字段IF_CONF_HEADER, IF_CONF_IPV4 和 IF_CONF_NOS的信息可以在 "STEP 7

Professional V13 SP1,in the section entitled "CONF_DATA Parameter"手册中查看。

STATUS和ERR_LOC参数

在STATUS和ERR_LOC参数有“T_CONFIG”指令的输出状态和错误信息。

表05展示STATUS和ERROR参数的可能值,会在系统数据类型IF_CONF_V4或IF_CONF_NOS或IF_CONF_NTP发生错误时出现。

NTP服务器1的IP地址

NTP服务器2的IP地址

NTP服务器3的IP地址

NTP服务器4的IP地址

STATUS

C080_8B00

ERR_LOC

0001_000x

描述

参数ID有一个无效值。 IF_CONF_V4使用“30”,IF_CONF_NOS 使用“40”,IF_CONF_NTP使用“17”。

使用错误的额系统数据类型,错误的顺序或者多次使用一个系统数据类型。

参数的长度不正确或是无效的值。

模式参数有一个不正确或者无效的值。

C080_8C00 0001_000x

C080_8D00

C080_8E00

0001_000x

0001_000x

IF_CONF_V4和IF_CONF_NOS只有“1”(永久)和“2”(暂时) 是有效值。

STATUS ERR_LOC

描述

IF_CONF_NTP只有“2”(暂时)是有效值。

C080_9000 0001_000x

组态数据不能被接受。可能原因:

IF_CONF_V4:"Set IP address on device"没有在硬件组态中被选择。

IF_CONF_NOS:"Set PROFINET device names on

device" 没有在硬件组态中被选择。

IF_CONF_NTP:"Enable time-of-day

synchronization via NTP" 没有在硬件组态中被选择同时没有为NTP服务器指定IP地址。

C080_9400

C080_9500

表 05

0001_000x

0001_000x

参数值没有被定义或者是无效值。

两个参数的值不一致。

更多关于STATUS和ERR_LOC参数的信息可以在手册"STEP 7 Professional V13 SP1",in

the section entitled "STATUS and ERR_LOC Parameters"中找到。

安全性信息

为了保护技术基础设施、系统、机器和网络免受网络威胁,有必要实施并持续维护一个全面、最先进的IT安全方案。西门子的产品和解决方案构成了这一方案的一个要素。

本文标签: 参数系统服务器数据类型IP地址