怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?


n

说明:
根据美国法律的修正条款,各地区夏令时的起始和结束时间可能出现变更。 而S7-200 CPU并不知道这些新信息,需要通过以下方法来调整CPU的时间:n

  • 每年一次在菜单 “PLC -> 实时时钟... -> 用户定义” 中手动调整夏令时开始和结束时间,或者n
  • 周期性调用附加的用以计算和保存夏令时开始结束调整结果的指令库。

本常见问题解答为您提供了一个计算夏令时开始结束时间的库。您需要输入夏令时开始的月份,开始的周日和小时,以及夏令时结束的月份,周日和小时。计算后的结果将传送到实时时钟。这样的操作可以确保实时时钟被重置为夏令时或冬季时间。n

怎样将此库添加到您的项目中并为它配置参数:

序号 步骤
1 下载库并将其导出到您计算机的一个文件夹中。
2

启动 MicroWIN 并右击“库”,然后右击“添加/删除库”n

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?
图 01

3单击“添加...”,并在弹出的窗口中选择库所存入的文件夹,选中库,单击 “Save”。 n

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?
图 02

4这样此库就显示在窗口中了。单击“确认”来关闭此窗口。
5双击 “库”以打开此树。双击打开 “Daylight_Saving_Time (v1.0)”。
6将 “DST_INIT” 指令块托拖入网络中。 n

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?
图 03

7必须设置以下参数:

输入参数:
EN: 必须始终激活此块,因为该指令需要定期检查时间和年份信息 (推荐使用SM0.0)。
DST_Month_on: 夏令时开始的月份[1..31] (字)。
DST_Sunday_on: 在开始月份中夏令时开始的周日的序号 [1...4] (字)。
DST_Hour_on: 夏令时开始的小时 [0...23] (字)。
DST_Month_off: 夏令时结束的月份[1..31] (字)。
DST_Sunday_off: 在结束月份中夏令时结束的周日的序号 [1...4] (字)。
DST_Hour_off: 夏令时开始的小时 [0...23] (字)。

输出参数:
DST_active: 当日期计算被激活后此位置1 (位)。
DST_status: 此字节显示输入参数是否有效(字节)。

“DST_Status”字节中的状态位

  • *.0 = DST_Month_on:“0” = OK;“1” 超出限定范围
  • *.1 = DST_Sunday_on:“0” = OK; “1”超出限定范围
  • *.2 =DST_Hour_on:“0” = OK; “1”超出限定范围
  • *.3 = DST_Month_off: “0” = OK; “1”超出限定范围
  • *.4 = DST_Sunday_off:“0” = OK; “1”超出限定范围
  • *.5 = DST_Hour_off: “0” = OK;“1”超出限定范围
  • *.6 = 保留
  • *.7 = 保留
8 该指令的内部处理过程要求使用到静态变量。因此要为其分配库内存。右击“程序块”,选择“T库内存区”,在弹出的标签中您可以输入库内存区的起始地址。如果您不确定所分配的内存区是否充足,可以单击“建议地址”按钮为其自动分配库内存。点击 “OK” 确认。

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?
图 04

美国夏令时调整例程:

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整?
图 05

注释:
当实时时钟的年份发生变化时,此库指令在 CPU 的第一个扫描周期执行运算。

下载:

怎样在 S7-200 中编程实现夏令时开始和结束时间的调整? daylight_saving_time_S7-200.zip ( 8 KB )

关键词
S7-200, ,夏令时,冬季时间, 调整, USA

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论