在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地址的必备条件
parameter数据类型为使用“T_CONFIG”指令,必须在硬件组态中明确指定通过用户程序来分配IP地址参数和设备名称。
•为此,需要在设备视图中打开PROFINET接口的属性。为了通过“T_CONFIG”更改NTP服务器的IP地址,需要在“时钟同步”对话框激活选项“通过NTP服务器启动同步时间”,然后需要在NTP服务器处指定IP地址。
•组态数据必须存储在系统数据类型中,并在“CONF_DATA”参数中传递。在系统数据类型IF_CONF_NTP中储存NTP时钟同步的IP地址。
“T_CONFIG”指令的输入参数
表01展示“T_CONFIG”指令的输入参数。
REQ BOOL 当REQ=1时,指令被调用并开始运行。
INTERFACE HW_INTERFACE 硬件标识
硬件标识在设备视图下接口的属性中以及PLC变量
的系统常量中显示。
CONF_DATA VARIANT 高级结构的指针包含系统数据类型
IF_CONF_HEADER,IF_CONF_V4和
IF_CONF_NOS (参见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 Struct 高级结构特定的CONF_DATA 参数。
Header IF_CONF_HEADER 通过header定义下列系统数据类型的编码。必须
总是包含系统数据类型IF_CONF_HEADER。
IPData IF_CONF_V4 在这个系统数据类型中储存IP地址,子网掩码和路
由器地址。只有在需要通过“T_CONFIG”修改以太
网地址时才需创建IF_CONF_V4。
NoS IF_CONF_NOS 在这个系统数据类型中存储PROFINET设备名
称。只有在需要通过“T_CONFIG”修改设备名称时
才需创建IF_CONF_NOS。
NTP IF_CONF_NTP 在这个系统数据类型中为时钟同步NTP服务器存储
IP地址。
表 03
IF_CONF_NTP子字段
通过IF_CONF_NTP 子字段为时钟同步NTP服务器定义IP地址。
字节参数数据类型起始值描述
<1 Id UINT 17 系统数据类型的标识。必须不能改变参数的
起始值。
<3 Length UINT 22 IF_CONF_NTP系统数据类型的字节长
度。因为IF_CONF_NTP 的参数有固定的
长度和结构,所以长度规格必须使用起始
值。
字节参数数据类型起始值描述
<5 Mode UINT 有效性:
•1:永久有效(不允许的)
•2:临时有效
<9 NTP_IP[1] ARRAY[1..4] of
NTP服务器1的IP地址
IP_V4
NTP服务器2的IP地址
<13 NTP_IP[2] ARRAY[1..4] of
IP_V4
NTP服务器3的IP地址
<17 NTP_IP[3] ARRAY[1..4] of
IP_V4
NTP服务器4的IP地址
<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发生错误时出现。
STATUS ERR_LOC 描述
C080_8B00 0001_000x 参数ID有一个无效值。IF_CONF_V4使用“30”,
IF_CONF_NOS 使用“40”,IF_CONF_NTP使用
“17”。
C080_8C00 0001_000x 使用错误的额系统数据类型,错误的顺序或者多次使
用一个系统数据类型。
C080_8D00 0001_000x 参数的长度不正确或是无效的值。
C080_8E00 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 0001_000x 参数值没有被定义或者是无效值。
C080_9500 0001_000x 两个参数的值不一致。
表 05
更多关于STATUS和ERR_LOC参数的信息可以在手册"STEP 7 Professional V13 SP1",in the section entitled "STATUS and ERR_LOC Parameters"中到。
安全性信息
为了保护技术基础设施、系统、机器和网络免受网络威胁,有必要实施并持续维护一个全面、最先进的IT安全方案。西门子的产品和解决方案构成了这一方案的一个要素。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。