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安全方案。西门子的产品和解决方案构成了这一方案的一个要素。
版权声明:本文标题:在S7-1500CPU中如何通过用户程序设置NTP服务器的IP地址? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1704432601a90547.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论