邢岗 冯奕红 温宏伟
摘 要:使用KG-220型时控开关对路灯进行控制是当前企业厂区内普遍使用的路灯时控方式。这种控制方式的弊端是:要根据天黑天亮的时间变化,人工及时调整路灯启停时间。一方面,厂区内这样的控制装置一般都有几十个,调时工作牵扯大量维护精力。另一方面,由于人为疏忽,调整不及时或者调整不准确,就会导致路灯在自然光充足时仍然工作,造成电能的浪费,或者自然光不足时,路灯不工作,造成环境照度不足,给职工出行带来安全隐患。为了解决原路灯时控系统的弊端,设计一种利用西门子S7-200PLC的实时时钟功能,依托太阳运行轨迹大数据的新型路灯时控系统。本文介绍了依托大数据,利用西门子S7-200PLC的全新路灯时控系统。通过对数据分析、程序设计等方面详细阐述,全面展现了系统设计构想和实施方略。系统简单实用,投入低,回报大,极具推广价值。
关键词:大数据 路灯时控系统 S7-200PLC 实时时钟
中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2019)04(a)-0119-03
1 數据采集与分析
采集2016、2017年内蒙包头地区365d天黑天亮时间,汇总进行数据分析,发现数据变化中的规律。
公历是以太阳的运动轨迹生成的,因此,同一地区每年的任何一天,天黑天亮的时间基本一致,相差不超过10s。比如:2016年6月12日的天黑时间为20:45:17,天亮时间为04:35:50;2017年6月12日的天黑时间为20:45:09,天亮时间为04:35:52。那么就可以采集一年的天黑天亮的时间,作为基础数据固化,将数据与路灯开、停时间相关联,利用大数据对路灯实现精准时控,误差精确到分钟,而不必考虑年度数据的更新,省去大量存储空间。
全年最长夜晚出现在12月22日,夜长13h43min,最短夜晚出现在6月21日,夜长7h48min,两个极限点夜长时间相差近6h。如果使用时控开关控制,开关时间不及时调整将给生产生活造成巨大影响。
天黑天亮时间变化快慢在全年是不同的,比如,2月28日到5月12日相对变化迅速,平均30d内的夜长时差是81min。5月26日到7月6日相对变化趋缓,平均30d内的夜长时差是11min。这样对于时控开关控制系统来说,就需要在夜长时差变化迅速区间,缩短调整周期,从而再次增加调时维护工作量。
经统计全年夜晚总时长3944h37min,与路灯开、停时间相关联,全年路灯工作时间就是3944h37min。若使用时控开关,按照全年调时12次,调时及时准确的情况下,经统计全年路灯工作时间是4333h18min。就是说,依托大数据的路灯时控比时控开关人工调时方式全年缩短路灯运行时间9%。
2 程序设计
路灯控制系统程序由1个主程序和14个子程序组成,分别是:1~12月子程序,时钟校准子程序,时间偏移计算子程序。主程序调用1~12月子程序实现路灯的精准时控。时钟校准子程序在设定的时间被主程序调用实现系统时钟校准。时间偏移计算子程序用于实现时钟偏移,提升系统的地域适应性,扩大地域使用范围。
2.1 路灯精准时控功能程序设计
2.1.1 S7-200PLC实时时钟功能
S7-200PLC具有硬件时钟,读取实时时钟指令READ_RTC从硬件时钟读取当前时间和日期,并将其以BCD码格式载入以地址VB0起始的8个字节的时间缓冲区。VB0:当前年份(0~99),VB1:当前月份(1~12),VB2当前日期(1-31),VB3:当前小时(0~23),VB4:当前分钟(0~59),VB5:当前秒(0~59),VB6: 00 保留,VB7: 当前星期(1~7),1=星期日。
设置实时时钟指令SET_RTC将当前时间和日期写入VB0起始的8个字节的时间缓冲区。系统中利用该功能实现硬件时钟校准。
2.1.2 月子程序的调用
使用比较指令,将VB1中存储的当前月份数值与设定值进行比较,等于1即调用1月子程序,等于2即调用2月子程序,以此类推。任何时刻,1~12月子程序总有一个被调用执行,其他等待调用。
2.1.3 依托大数据的精准开、关灯
将全年天黑、天亮时间366组(考虑闰年的2月29日),每组天黑、天亮2套数据,搜集整理后,作为预制设定时间运用于月子程序中,通过比较指令,判断当前日期、当前时间是否等于预制设定日期时间,如图1所示,VB2=16#1、VW60=16#0734,是指:日期为1日、时间到达7:34,关灯标志位M0.1为真,触发关灯命令。同理,VB2=16#3、VW62=16#1756,是指:日期为3日、时间到达17:56,开灯标志位M10.1为真,触发开灯命令。
主程序中将12个月子程序中产生的12个关灯标志位M0.1、M0.2……M1.4并联,使用上升沿共同控制关灯脉冲M0.0置位。将12个月子程序中产生的12个开灯标志位M10.1、M10.2、……M11.4并联,使用上升沿共同控制开灯脉冲M10.0置位。关灯、开灯脉冲置位后,利用定时器使其10s后复位。将二者运用于输出命令,使用最简单的起保停功能实现对路灯运行输出命令Q0.0的控制。
2.2 时间偏移量程序设计
众所周知利用大数据作为预制设定时间控制路灯,实现了路灯的精准时控,但是该套数据仅适合于包头区域,一旦经纬度偏移过多,天黑、天亮的时间就会偏离该套数据,从而不再适宜实地应用。为了让路灯时控系统在更广泛的区域应用,提升系统的区域适应性,引入了时间偏移量程序。
对366组732个开关灯时间数据加入偏移量会导致占用大量存储空间,程序量翻倍,对于S7-200PLC不堪重负。因此改变程序设计思路,将偏移量加入实时时钟,通俗的讲:就是将实时时钟调快或调慢。如果希望早10min开灯,那就将实时时钟加上10min(调快),再运用于开灯控制。如果希望晚10min关灯,那就将实时时钟加上-10min(调慢),再运用于关灯控制。
由于S7-200PLC实时时钟是以BCD码存储的,在计算偏移量之前要将时、分数据BCD码分别从BCD码转为整型。加入偏移量后再从整型转为BCD码,运用于路灯时控。
计算时间偏移,有三种情况,程序如图2所示。
(1)当加入时间偏移量后,分钟数据≥60时,就需要考虑进位,将整60min进位给小时数据,即小时数据加1h,剩下的分钟为最终分钟数据。
(2)当加入时间偏移量后,分钟数据<0时,就需要考虑借位,向小时数据借1h即60min,与当前分钟数据相加结果即为最终分钟数据。
(3)当加入时间偏移量后,若0≤分钟数据<60时,不做任何操作,直接用于路灯时控。
将以上功能整合,形成时间偏移功能子程序。在主程序中调用子程序,将小时、分钟数据、偏移量数据赋值,得到偏移后小时、分钟数据输出。如图3所示。
2.3 时钟校准程序设计
本系统利用西门子S7-200PLC自带的实时时钟功能,运行过程中要考虑时钟走时不准的情况发生。因此设计了时钟校准程序。在每年的规定时段利用网络时间对系统时间进行校准,从而保证系统时间的精确。
2.3.1 时钟校准子程序设计
如图4所示,I0.0为外部输入的时钟校准信号,在网络标准时间为8:00时I0.0为1,该信号会持续1min。当信号为1时,M5.0为1,系统关闭读取时钟功能,利用T41延时10S开始调用系统设置时钟功能SET_RTC,进入设置时钟状态。将一个16进制BCD码:08010000写入VD3中,即系统实时时钟被锁定在8:01,并保持不变。当时钟校准信号I0.0为0时,剛好是8:01,M5.0恢复为0,设置时钟功能关闭,读取时钟功能打开,实时时钟就从8:01开始正常走时,完成校准。
2.3.2 时钟校准子程序的调用
时钟校准作业仅在每年的1月1日和7月1日进行,其他时段不起作用。因此,在主程序中设计了时钟校准调用程序,如图5所示,VW1中存储着实际月、日数据,通过比较,在规定的两个日期:16#0101、16#0701调用时钟校准子程序。
3 结语
基于大数据的路灯时控系统经过理论数据分析,实际应用测试,系统完善推广等多个阶段,目前已日趋成熟,在包钢股份煤焦化工分公司广泛应用。系统实现免调时,省去全年至少234次的调时维护工作。路灯每天的开、停时间跟随太阳运行轨迹变化,均不相同,误差精确到分钟,从根本上杜绝了由于调时不及时、不准确造成的电能浪费和环境照度不足导致的安全隐患。据统计与人工调时相比全年缩短运行时间388h41min,本部区域节电30318.6度,降低电耗9%。如将此技术广泛推广,节能效果非常可观。
参考文献
[1]廖常初.PLC编程及应用[M].北京:机械工业出版社,2014.
[2]吴中俊.可编程序控制器原理及应用[M].北京:机械工业出版社,2005.
[3]夏少建.基于大数据的设备管理研究[J].港口装卸, 2018(1):5-7.



