本月累计签到次数:

今天获取 积分

PLC
2

在STEP 7 (TIA Portal)中,如何为S7-1200/S7-1500编写日出和日落时分别打开和关闭百叶窗的程序?

   薄暮开关经常会被用来确定用于百叶窗控制的早上和傍晚的时间点。用S7-1200/S7-1500控制百叶窗可以在STEP 7项目中使用天文学算法确定日出和日落时间。仅需要指定所在位置的经纬度坐标值相关参数并设置CPU时钟为UTC时间。
   此外,可以根据算法的黄昏时间推移打开或关闭百叶窗的时间。譬如,可以在日出前5分钟打开百叶窗并且在日落后5分钟关闭百叶窗。不受夏令时的影响。
已邀请 :
1

Davidchan

赞同来自 : 缔造者

   下面借助一个实例具体描述如何实现的。组织块"Main" OB1包含三个网段的程序。
   在网络1中,调用了"SunSet_SunRise" 功能块FB2,用于计算给定经纬度的所在位置的日出和日落时间。FB2是使用SCL编程语言编写的。使用经纬度的坐标实际值对FB的变量 "Latitude" 和"Longitude"进行参数化。
   图 01 显示了"SunSet_SunRise"功能块FB2的示例参数。德国纽伦堡GPS坐标值:
   纬度: 49.4741
   经度: 11.1296

图01.png

    图01
   "Sunrise" 和"Sunset"输出参数提供了日出和日落的时间,当然也可以通过 "SunSet_SunRise" 功能块FB2的背景数据块获得。
   在网络2中,根据黄昏时间计算出百叶窗打开和关闭的时间。在本例中,百叶窗在日出前5分钟打开并且在日落后10分钟关闭。
   "T_SUB" 指令中背景DB的"SunSet_SunRise_DB.Sunrise" 变量减去5分钟并存储在临时变量 "SetpointSET"中。
   "T_ADD"指令中背景DB的"SunSet_SunRise_DB.Sunset" i变量加上10分钟并存储在临时变量 "SetpointRESET"。

图02.png

    图02
   在网络3中,"RD_LOC_T" 指令读出CPU的本地时间存储在"ActualLocalDTL"变量中。早上和傍晚转换点由两条指令“大约或等于”以及“小于或等于”决定。
   输出"MyOutput" (A0.0) 提供了信号状态 "True"。当变量 "ActualLocalDTL" 的值大约或等于 变量 "SetpointSET" 的值(日出前5分钟条件满足),并且"ActualLocalDTL" 变量 小于或等于 变量 "SetpointRESET"的值(日落后10分钟条件满足)。

图03.png

    图03

要回复问题请先登录注册