邢崗 馮奕紅 溫宏偉
摘 要:使用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.