夏令时和标准时间转换时的注意事项: • 在从标准时间向夏令时切换时,本地时间将提前一个小时。也就是说,这之间的一个小 时根本不存在。 在该小时内的时间点 LT,“LT_BT”将按夏令时时间“计算”。 其结果通过返回值 4 或5 指 示。 • 在从夏令时向标准时间切换时,本地时间将延后一个小时。这意味着该一小时将经历两次 (“重复小时”)。 (对于CE(S)T,使用标识符 2A 和 2B)。 这样可避免该小时内时间点 LT 与基准时间的单值映射。 "LT_BT”接收 LT作为输入参数,并且在转换为 BT 之前,必须确定该值为夏令时时间还是 标准时间。如果 LT 在同一个小时内,则 LT将解释为标准时间。其结果通过返回值 2 或 3 指示。 “LT_BT”指令可在各种优先级的组织块 (OB) 中调用。 参数下表列出了指令“LT_BT”的参数: 参数 声明 数据类型 说明 LT Input DATE_AND_TIME 本地时间 WS_DATInput BLOCK_DB 有关时区和夏令时/标准时间调整的信息(规则数据块) 对于参数 WS_DAT,使用指向“WS_RULES(页7636)”数 据块类型的指针。 RET_VAL Return INT 错误代码 BT Output DATE_AND_TIME基准时间 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 说明 BLOCK_DB数据类型的参数只能传送至 FB 调用,不能传送到 FC 调用。
S_LTINT:使用本地时间设置时间中断 (S7-300, S7-400) 说明 使用该指令,可在设置的时间点生成所需要的日间中断。此时间以本地时间形式设置。 根据数据块 (DB) 中存储的规则,将输入端 LT 处输入的当地时间转换成基准时间。 数据块 (DB)包含以 30 分钟为一个单元的单元数,基准时间和本地时间之差以此为单位,且 夏令时和标准时间之间的差异也以 30 分钟为单位。设置指定的时间中断 OB 的参数,并使 用计算得出的基准时间激活该 OB。 如果转换时发生日期溢出,则将以一个特殊返回值对此进行指示。 夏令时和标准时间转换时的注意事项: • 在从标准时间向夏令时切换时,本地时间将提前一个小时。 也就是说,这之间的一个小时根本不存在。 在该小时内的时间点 LT,“S_LTINT”将按夏令时格式计算时间。 通过返回值 (RET_VAL) 4 或 5来指示这种情况。 • 在从夏令时向标准时间切换时,本地时间将延后一个小时。这意味着该一小时将经历两次 (“重复小时”)。 (对于CE(S)T,使用标识符 2A 和 2B)。 这样可避免该小时内时间点 LT 与基准时间的单值映射。 "S_LTINT”接收 LT作为输入参数, 并且在转换为 BT 之前,必须确定该值为夏令时时间还是标准时间。 如果 LT 在同一个小 时内,则 LT将解释为标准时间。 通过返回值 (RET_VAL) 2 或 3 来指示这种情况。 “S_LTINT”指令可在各种优先级的组织块(OB) 中调用。下表列出了指令“S_LTINT”的参数: 参数 声明 数据类型 说明 OB_NR Input INT 要启动的 OB的编号(允许数值 10 - 17) SDT Input DATE_AND_TIME 本地时间的开始时间和时间 另请参见:"SET_TINT (页 7818)” PERIOD Input WORD 距启动点 SDT 的时间间隔: •W#16#0000 = 一次 • W#16#0201 = 每分钟一次 • W#16#0401 = 每小时一次 • W#16#1001= 每天一次 • W#16#1201 = 每周一次 • W#16#1401 = 每月一次 • W#16#1801 = 每年一次 •W#16#2001 = 月末 WS_DAT Input BLOCK_DB 有关时区和夏令时/标准时间调整的信息(规则数据块) 对于参数WS_DAT,使用指向“WS_RULES (页7636)”数 据块类型的指针。 RET_VAL Return INT 错误代码有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 说明 BLOCK_DB 数据类型的参数只能传送至FB 调用,不能传送到 FC 调用。 参数 RET_VAL RET_VAL 说明 0 指令已无错误执行完毕 1 无错误,日期有跳变2 输入处的 LT 在“重复”小时内。 3 对应 2,但另有日期跳变 4 输入处的 LT 在“禁用”小时内。 5 对应4,但另有日期跳变 指令 4.2 指令 (S7-300, S7-400) 对 PLC 进行编程 7624 编程和操作手册,11/2023 RET_VAL 说明 8082 规则数据块中的数据无效 8090 参数 OB_NR 不正确 8091 参数 SDT不正确 8092 参数 PERIOD 不正确 80A1 设置的起始时间为过去的时间。 80A2 未装载 OB 80A3 OB 无法启动SET_SW: 设置无状态的夏令时/标准时间 (S7-300, S7-400) 说明 该指令支持在不具有时间状态的 CPU中进行从夏令时时间到标准时间的切换。 使用指令 “SET_SW”,可以根据当前时间和规则数据块中的调整规则来调整 CPU 时钟。"SET_SW”在组织块 OB1 和时间中断 OB 中通过相同的实例各调用一次。 在时间中断 OB 中,不使用“SET_SW”指令的参数。 在输入 WS_DAT 处指定包含夏令时时间开始和结束规则的数 据块 (DB)。下图给出了“SET_SW”工作原理的时序图:其jingque位置从规则 DB 中的规则获得。 通知时间比调整时间提前一小时,它发出未决调整信号。 指令在输入 REQ 端的上升沿,将触发夏令时/标准时间调整的初始化和激活。 只要 REQ= 1,该 设置将保持有效。 为了调整时间,在“单次”模式下,指令“SET_SW”可通过下一个切换时间为指定的时间中断 OB设置参数并将其激活, 随后,时间中断 OB 接管控制权限。 当达到预定值后,它根据当 前调用时间更改 CPU的时间,并为下一个切换时间设置参数并将其激活。 如果当前时间值位于时间段 (3) 中,则将时间中断 OB 设置为启动时间WA(“标准时间通 知”)。 当 REQ 端为下降沿时,将禁用夏令时/标准时间调整。 参数 下表列出了指令“SET_SW”的参数:参数 声明 数据类型 说明 REQ Input BOOL 切换控制 WS_DAT Input BLOCK_DB有关时区和夏令时/标准时间调整的信息(规则数据块) 对于参数 WS_DAT,使用指向“WS_RULES (页7636)”数据块类型的指针。 OB_NR Input INT 要使用的时间中断的编号 STATUS Output INT 错误代码 ISSUMMEROutput BOOL 1 = 夏令时 ANN_1 Output BOOL 1 = 切换通知有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 说明 BLOCK_DB 数据类型的参数只能传送至FB 调用,不能传送到 FC 调用。应用 "SET_SW”可用于不具有时间状态的 CPU 中。 具有时间状态的 CPU使用“SET_SW_S (页 7628)”。 调用 OB "SET_SW”必须在下列组织块 (OB) 中通过相同的实例调用:• OB1(循环程序): "SET_SW”评估输入 REQ。 当 REQ 处为上升沿,OB 会根据当前时间将特定时间中断的启动时间设置为下一个可能的切换时间(共 4 个),并通过标识符“Once”激活该时间中断。 这样,到达该时间时将触发该时间中断。 •OB1x(时间中断): 因为到达了切换时间,激活 OB1x。 "SET_SW”根据当前时间(夏令时!)设置 CPU 的时间,将其参数设置为下一个切换时间并将其激活。 在时间段 (5) 中,它将自身设置为 下一年的夏令时通知 (SA )。 SET_SW不允许多实例。 使用以下指令,可以查询、设置和激活时间中断: "QRY_TINT (页 7822)”、“SET_TINT(页 7818)”、“ACT_TINT (页 7821)”、“CAN_TINT (页 7820)” 注意只有在不会导致正在调整的时间超出某个切换点时,才能在不采取特殊措施的情况下,在 “SET_SW”(REQ = 1) 处于激活状态时调整CPU 时间(例如,从编程设备上)。 如果在调整时钟时错过了某个切合点,则需通过 REQ = 0 禁用夏令时/标准时间调整,并在调整结束后通过 REQ = 1 重启时间调整。 设置 CPU 时钟时,还需要确保在夏季时设置了夏令时时间。SET_SW_S:设置带状态的夏令时/标准时间 (S7-300, S7-400) 说明 该指令支持在具有时间状态的 CPU中进行从夏令时时间到标准时间的切换。 使用指令 “SET_SW_S”,可以根据当前时间和规则数据块中的调整规则来调整 CPU 时钟。"SET_SW_S”在组织块 OB1 和时间中断 OB 1x 中通过相同的实例各调用一次。在时间中断 OB中,不使用“SET_SW_S”指令的参数。 在输入 WS_DAT 处指定包含夏令时时间开始和结束规 则的数据块 (DB)。下图给出了“SET_SW_S”工作原理的时序图:定义了四个调整时间(SA、S、WA、W)。 其jingque位置从规则 DB中的规则获得。 通知时间 比调整时间提前 1 小时,它发出未决调整信号。 在输入 REQ端的上升沿,将触发夏令时/标准时间调整的初始化和激活。 只要 REQ = 1,该 设置将保持有效。为了调整时间,在“单次”模式下,指令“SET_SW_S”可通过下一个切换时间为指定的时间中 断 OB 设置参数并将其激活,随后,时间中断 OB 接管控制权限。 当达到预定值后,它根据 当前调用时间来更改时间和 CPU的时间状态,并为下一个切换时间设置参数并将其激活。 示例: 如果当前时间值位于时间段 (3) 中,则将时间中断 OB 设置为启动时间WA(“标准 时间通知”)。 当 REQ 端为下降沿时,将禁用夏令时/标准时间调整。