时间同步简介所有 CPU 都有内部时钟。该时钟会显示:• 精度为 1 毫秒的日时钟• 日期和星期CPU 会考虑夏令时引起的时间变化。可在 NTP 模式下将 CPU 与 NTP 服务器的时间同步。工作原理在 NTP 模式中,设备按固定时间间隔将时间查询(以客户端模式)发送到子网 (LAN) 中的 NTP 服务器。根据服务器的响应,来计算最可靠、最准确的时间,并同步工作站 CPU的日时钟。这种模式的优点是它能够实现跨子网的时间同步。可最多同步四台 NTP 服务器的日时钟。例如,通过 IP 地址寻址通信处理器或 HMI 设备,作为时间同步的源。更新时间间隔定义各时间查询之间的时间间隔(单位为秒)。时间间隔的值范围在 10 秒到一天之间。在 NTP 模式中,通常传递 UTC(世界协调时间)。UTC 对应于 GMT(格林尼治标准时间)。用于 CPU S7-1500 的 NTP 服务器可为 CPU S7-1500 分配最多 4 个 NTP 服务器。可通过以下方式来复位 NTP 服务器的 IP 地址:• 基于 STEP 7 组态 NTP 服务器的 IP 地址。• 通过“T_CONFIG”指令设置 NTP 服务器的 IP 地址。• 通过 DHCP 获取 NTP 服务器的 IP 地址。自固件版本 V2.9 起,CPU 还可通过 DHCP 获取 NTP 服务器。有关相应程序和 DHCP 通信协议的更多信息,请基于 STEP 7 组态 NTP 服务器的 IP 地址要基于 STEP 7 组态 NTP 服务器的 IP 地址,请按以下步骤操作:1. 在 STEP 7 中选择 S7-1500 CPU。2. 在“属性 > 常规 > 时间”(Properties > General > Time) 参数组中组态时间同步。3. 在“时间同步”(Time synchronization) 参数中设置“在项目中设置 NTP 服务器”(Set NTPserver in the project) 值。4. 对于“NTP 服务器 1”(NTP Server 1) 到“NTP 服务器 4”(NTP Server 4),最多输入四个 NTP服务器的 IP 地址。5. 为“更新间隔”(Update interval) 设置时间查询的时间间隔。将更新间隔设置为 10 s 和86400 s 之间。通过“T_CONFIG”指令设置 NTP 服务器的 IP 地址要求:• 已基于 STEP 7 在“时间同步”(Time synchronization) 下拉列表中选择了选项“直接在设备上设置 NTP 服务器(如 PLC 程序、显示屏)”(Set NTP server directly on the device(e.g. PLC program, display))。要通过指令 T_ConFIG 设置 NTP 服务器的 IP 地址,请按以下步骤操作:1. 在数据类型为 IF_CONF_NTP 的变量中输入最多四个 NTP 服务器的 IP 地址。2. 将数据类型为 IF_CONF_NTP 的变量连接到指令 T_ConFIG 的块参数 CONF_DATA。3. 在用户程序中调用 T_ConFIG 指令。结果:CPU 通过 T_ConFIG 指令采用 NTP 服务器的地址。必要时,也可使用 T_ConFIG 多次更改 NTP 服务器的地址。示例:基于 STEP 7 组态 NTP 服务器的 IP 地址,或在用户程序中进行设置自动化任务您的网络中使用自己的 NTP 服务器(IP 地址为 192.168.1.15)。自己的服务器具有以下优势:• 防止未经授权的外部访问• 用您自己的 NTP 服务器同步的每一个设备都使用相同的时间。您想使用该 NTP 服务器同步 S7-1500 CPU。以下部分介绍了如何基于 STEP 7 组态 NTP 服务器的 IP 地址,或在用户程序中进行设置。基于 STEP 7 组态 NTP 服务器的 IP 地址操作步骤1. 在 STEP 7 中选择 S7-1500 CPU。2. 在“属性 > 常规 > 时间”(Properties > General > Time) 参数组中组态时间同步。3. 在“时间同步”(Time synchronization) 参数中设置“在项目中设置 NTP 服务器”(Set NTPserver in the project) 值。4. 在“NTP 服务器 1:”(NTP Server 1:) 中输入 NTP 服务器的 IP 地址:192.168.1.15。5. 将硬件配置下载到 CPU。结果S7-1500 使用 NTP 服务器 192.168.1.15 同步时间。通过“T_CONFIG”指令设置 NTP 服务器的 IP 地址。要求:• 已基于 STEP 7 在“时间同步”(Time synchronization) 下拉列表中选择了选项“直接在设备上设置 NTP 服务器(如 PLC 程序、显示屏)”(Set NTP server directly on the device(e.g. PLC program, display))。调试12.8 时间同步自动化系统310 系统手册, 01/2023, A5E03461186-AK要设置 NTP 服务器的 IP 地址,请使用“T_CONFIG”指令的以下块参数:• Req:在块参数“Req”的上升沿启动“T_CONFIG”指令的作业。• Interface:在块参数“Interface”中输入 CPU PROFINET 接口 1 的 HW ID。在本例中,HW ID 为“64”。• Conf_Data:保存 NTP 服务器的 IP 地址的区域。为此,请使用数据类型“IF_CONF_NTP”。操作步骤要在用户程序中将 NTP 服务器的 IP 地址设为“192.168.1.15”,请按以下步骤操作:1. 在项目树的“程序块 > 添加新块”(Program blocks > Add new block) 下,创建一个全局数据块。将全局数据块命名为“NTP”。2. 在全局数据块“NTP”中,创建一个数据类型为“IF_CONF_NTP”的“NTP_Server”变量。图 12-4 使用 IF_CONF_NTP 的示例数据块3. 在用户程序中创建“T_CONFIG”指令。调试12.8 时间同步自动化系统系统手册, 01/2023, A5E03461186-AK 3114. 按以下步骤,连接“T_CONFIG”指令。图 12-5 T_ConFIG 示例:设置 NTP 服务器5. 在用户程序中,为“IF_CONF_NTP”数据类型分配 IP 地址 192.168.1.15:"NTP".NTP_Server.NTP_IP[1].ADDR[1] := 192;"NTP".NTP_Server.NTP_IP[1].ADDR[2] := 168;"NTP".NTP_Server.NTP_IP[1].ADDR[3] := 1;"NTP".NTP_Server.NTP_IP[1].ADDR[4] := 15;6. 在用户程序中生成“change_NTP-Server”变量的上升沿:"NTP"."change_NTP-Server" := true;结果S7-1500 使用 NTP 服务器 192.168.1.15 同步时间。调试12.9 标识和维护数据自动化系统312 系统手册, 01/2023, A5E03461186-AK12.9 标识和维护数据12.9.1 读取并输入 I&M 数据I&M 数据标识和维护数据(I&M 数据)是保存在模块上的信息。该数据为:• 只读(I 数据)或• 可读/可写(M 数据)标识数据 (I&M0):有关模块制造商的只读信息。一些标识数据也印刷在模块的外壳上,如,订货号和序列号。维护数据(I&M1、2、3):设备特定信息,例如,安装位置。将在组态期间创建S7-1500/ET 200MP 的维护数据并下载到自动化系统/分布式 I/O 系统。S7-1500/ET 200MP 的所有模块都支持标识数据 I&M0 至 I&M3。在以下活动中需要提供 I&M 标识数据:• 检查设备组态• 查找设备中的硬件更改• 纠正设备中的错误可使用 I&M 标识数据在线明确识别模块。读取 I&M 数据的方式• 通过用户程序• 通过 CPU 显示屏• 通过 STEP 7 或 HMI 设备• 通过 CPU 的 Web 服务器调试12.9 标识和维护数据自动化系统系统手册, 01/2023, A5E03461186-AK 313通过用户程序读取 I&M 数据可通过以下方式在用户程序中读取模块的 I&M 数据:• 使用 RDREC 指令有关集中插入的模块和分布式模块(通过 PROFINET IO/PROFIBUS DP 访问)的数据记录结构,请参见“I&M 数据的记录结构 (页 315)”部分。• 使用 Get_IM_Data 指令参考有关这些指令的说明,请参见 STEP 7 在线帮助。
通过显示屏读取 I&M 数据需要通过显示屏读出 CPU 的“设备名称”或“位置标识符”的 I&M 数据时,请按以下步骤操作:1. 浏览到 CPU 显示屏的“概述/PLC”(Overview/PLC) 菜单。2. 选择“设备名称”(Plant designation)或“位置标识符”(location designation),并单击“确定”(OK) 进行确认。需要读出所用集中式模块的“设备名称”或“位置标识符”的 I&M 数据时,请按以下步骤操作:1. 浏览到 CPU 显示屏的“模块”(Modules) 菜单。2. 选择菜单命令“本地模块”(Local modules),并单击“确定”(OK) 进行确认。3. 选择模块的对应插槽(例如,插槽 3:DI 32 x 24VDC HF),并单击“确定”(OK) 进行确认。4. 选择“状态”(Status),并单击“确定”(OK) 进行确认。5. 选择“设备名称”(Plant designation)或“位置标识符”(location designation),并单击“确定”(OK) 进行确认。需要读出分布式模块中所用模块的“设备名称”(Plant designation)或“位置标识符”(Locationidentifier)的 I&M 数据时,请按以下步骤操作:1. 浏览到 CPU 显示屏的“模块”(Modules) 菜单。2. 选择相应的分布式 I/O 系统(例如,PROFINET IO 系统),并单击“确定”(OK) 进行确认。3. 选择对应的设备(例如,ET 200SP-Station_1),并单击“确定”(OK) 进行确认。调试12.9 标识和维护数据自动化系统314 系统手册, 01/2023, A5E03461186-AK4. 选择模块的对应插槽(例如,插槽 1:DI 16 x DC24V ST_1),并单击“确定”(OK) 进行确认。5. 选择“状态”(Status),并单击“确定”(OK) 进行确认。6. 选择“设备名称”(Plant designation)或“位置标识符”(location designation),并单击“确定”(OK) 进行确认。通过 STEP 7 读取 I&M 数据要求:必须在线连接 CPU/接口模块。要使用 STEP 7 读取 I&M 数据,请按以下步骤操作:1. 在项目树中,选择 CPU/接口模块。2. 转至“在线与诊断”(online & diagnostics)。3. 在“诊断”(Diagnostics) 文件夹中,选择“常规”(General) 区域。通过 STEP 7 输入维护数据STEP 7 分配默认模块名称。可以输入下列信息:• 设备名称 (I&M 1)• 位置标识符 (I&M 1)• 安装日期 (I&M 2)• 其它信息 (I&M 3)要通过 STEP 7 输入维护数据,请按以下步骤操作:1. 在 STEP 7 的设备视图中,选择 CPU/接口模块或其它模块。2. 在特性的“常规”(General) 下,选择“标识和维护”(Identification & Maintenance) 区域。3. 输入数据。在加载硬件配置的过程中,还将加载维护数据(I&M 1、2 和 3)。通过 Web 服务器读取 I&M 数据的过程有关操作步骤的详细描述,请参见“Web 服务器。
I&M 数据的记录结构通过用户程序读取 I&M 记录(集中式和分布式,通过 PROFINET IO)使用读取数据记录(“RDREC”指令)访问特定的标识数据。在相关记录索引下,可获取标识数据的相应部分。这些记录的结构如下所示:表格 12- 6 I&M 标识数据的数据记录基本结构内容 长度(字节) 编码(十六进制)标头信息BlockType 2 I&M0:0020HI&M1:0021HI&M2:0022HI&M3:0023HBlockLength 2 I&M0:0038HI&M1:0038HI&M2:0012HI&M3:0038HBlockVersionHigh 1 01BlockVersionLow 1 00标识数据标识数据(请参见下表)I&M0/索引 AFF0H:54I&M1/索引 AFF1H:54I&M2/索引 AFF2H:16I&M3/索引 AFF3H:54----调试12.9 标识和维护数据自动化系统316 系统手册, 01/2023, A5E03461186-AK表格 12- 7 I&M 标识数据的记录结构标识数据 访问 示例 说明标识数据 0:(记录索引 AFF0H)VendorIDHigh 读取(1 个字节)0000H 供应商名称(002AH = SIEMENS AG)VendorIDLow 读取(1 个字节)002AHOrder_ID 读取(20 个字节)6ES7516-3AN00-0AB0模块的订货号(例如,CPU 1516-3 PN/DP)IM_SERIAL_NUMBER 读取(16 个字节)- 序列号(设备特定)IM_HARDWARE_REVISION 读取(2 个字节)1 相应的硬件版本(例如,1)IM_SOFTWARE_REVISION 读取 固件版本 提供有关模块固件版本的信息(例• SWRevisionPrefix (1 个字节) V 如,V1.0.0)• IM_SWRevision_Functional_Enhancement(1 个字节) 0000H - 00FFH• IM_SWRevision_Bug_Fix (1 个字节) 0000H - 00FFH• IM_SWRevision_Internal_Change(1 个字节) 0000H - 00FFHIM_REVISION_COUNTER 读取(2 个字节)0000H 提供有关模块上参数更改的信息(未使用)IM_PROFILE_ID 读取(2 个字节)0000 H 常规设备IM_PROFILE_SPECIFIC_TYPE 读取(2 个字节)0001H CPU0003H I/O 模块IM_VERSION 读取 0101H 提供有关 ID 数据版本信息(0101H = V1.1) • IM_Version_Major (1 个字节)• IM_Version_Minor (1 个字节)IM_SUPPORTED 读取(2 个字节)000EH 提供有关标识和维护数据的信息(I&M1 至 I&M3)调试12.9 标识和维护数据自动化系统系统手册, 01/2023, A5E03461186-AK 317标识数据 访问 示例 说明维护数据 1:(记录索引 AFF1H)IM_TAG_FUNCTION 读取/写入(32个字节)- 在此,可输入在设备范围内唯一的模块标识号。IM_TAG_LOCATION 读取/写入(22个字节)- 在此,可输入模块的安装位置。维护数据 2:(记录索引 AFF2H)IM_DATE 读取/写入(16个字节)YYYY-MM-DD HH:MM 在此,可输入模块的安装日期。维护数据 3:(记录索引 AFF3H)IM_DEscriptOR 读取/写入(54个字节)- 在此,可输入模块的注释。读取 I&M 记录的数据记录 255(通过 PROFIBUS 分布式组态)使用读取数据记录(“RDREC”指令)访问特定的标识数据。这些模块还支持通过 DR 255 对标识数据进行标准访问(索引 65000 到 65003)。有关DR 255 数据结构的更多信息,请参见“行规指南”第 1 部分中的技术规范:标识和维护功能- 订货号:3.502,版本 V1.2,2009 年 10 月。