工控编程吧

标题: 在STEP 7 (TIA Portal)中,如何为S7-1200/S7-1500编写日出和日落时分别打开和关闭... [打印本页]

作者: baikhgmv    时间: 2016-11-1 09:58
标题: 在STEP 7 (TIA Portal)中,如何为S7-1200/S7-1500编写日出和日落时分别打开和关闭...
在STEP 7 (TIA Portal)中,如何为S7-1200/S7-1500编写日出和日落时分别打开和关闭百叶窗的程序可以使用天文学算法确定日出和日落时间。仅需要指定所在位置的经纬度坐标值相关参数并设置CPU时钟为UTC(世界协调时间)时间。

描述

此外,可以根据算法的黄昏时间推移打开或关闭百叶窗的时间。譬如,在工业环境下,可以在日出前5分钟打开百叶窗并且在日落后10分钟关闭百叶窗。不受夏令时的影响。

下面具体描述库里的这些块是如何实现的。组织块"SunSetRiseOB"包含三段程序。

在网络1中,调用了"SunSetRise" 功能块,用于计算给定经纬度的所在位置的日出和日落时间。这段程序是使用SCL编程语言编写的。在FB的接口变量 "Latitude" 和"Longitude"输入经纬度的坐标实际值。

图 01 显示了"SunSetRise"功能块的示例参数。德国纽伦堡GPS坐标值:

  • 纬度: 49.4741
  • 经度: 11.1296
  • (, 下载次数: 9)
  • "Sunrise" 和"Sunset"输出参数提供了日出和日落的时间,并存储在两个DB变量 "DB.sunrise"和"DB.sunset"中。

    在网络2中,根据黄昏时间计算出百叶窗打开和关闭的时间。 在本例中,百叶窗在日出前5分钟打开并且在日落后10分钟关闭。


    • 使用"T_SUB" 指令将DB变量"DB.sunrise" 减去5分钟并存储在DB变量 "DB.setpointSet"中。
    • 使用"T_ADD"指令将DB变量"DB.sunset" 加上10分钟并存储在DB变量 "DB.setpointReset"。
    • (, 下载次数: 8)
    • 在网络3中,"RD_LOC_T" 指令读出CPU的本地时间存储在"DB.actualLocal"变量中。早上和傍晚转换点由两条指令“大于或等于”以及“小于或等于”决定。

      DB变量"DB.setOut" 提供了信号状态 "True"。

      • 当变量 "DB.actualLocal" 的值大于或等于 变量 "DB.setpointSet" 的值(日出前5分钟条件满足)
      • 当 "DB.actualLocal"  变量 小于或等于 变量 "DB.setpointReset" 的值(日落后10分钟条件满足)
      • (, 下载次数: 6)












欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4