邢崗 馮奕紅 溫宏偉
摘 要:使用KG-220型時(shí)控開關(guān)對(duì)路燈進(jìn)行控制是當(dāng)前企業(yè)廠區(qū)內(nèi)普遍使用的路燈時(shí)控方式。這種控制方式的弊端是:要根據(jù)天黑天亮的時(shí)間變化,人工及時(shí)調(diào)整路燈啟停時(shí)間。一方面,廠區(qū)內(nèi)這樣的控制裝置一般都有幾十個(gè),調(diào)時(shí)工作牽扯大量維護(hù)精力。另一方面,由于人為疏忽,調(diào)整不及時(shí)或者調(diào)整不準(zhǔn)確,就會(huì)導(dǎo)致路燈在自然光充足時(shí)仍然工作,造成電能的浪費(fèi),或者自然光不足時(shí),路燈不工作,造成環(huán)境照度不足,給職工出行帶來安全隱患。為了解決原路燈時(shí)控系統(tǒng)的弊端,設(shè)計(jì)一種利用西門子S7-200PLC的實(shí)時(shí)時(shí)鐘功能,依托太陽運(yùn)行軌跡大數(shù)據(jù)的新型路燈時(shí)控系統(tǒng)。本文介紹了依托大數(shù)據(jù),利用西門子S7-200PLC的全新路燈時(shí)控系統(tǒng)。通過對(duì)數(shù)據(jù)分析、程序設(shè)計(jì)等方面詳細(xì)闡述,全面展現(xiàn)了系統(tǒng)設(shè)計(jì)構(gòu)想和實(shí)施方略。系統(tǒng)簡單實(shí)用,投入低,回報(bào)大,極具推廣價(jià)值。
關(guān)鍵詞:大數(shù)據(jù) 路燈時(shí)控系統(tǒng) S7-200PLC 實(shí)時(shí)時(shí)鐘
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2019)04(a)-0119-03
1 數(shù)據(jù)采集與分析
采集2016、2017年內(nèi)蒙包頭地區(qū)365d天黑天亮?xí)r間,匯總進(jìn)行數(shù)據(jù)分析,發(fā)現(xiàn)數(shù)據(jù)變化中的規(guī)律。
公歷是以太陽的運(yùn)動(dòng)軌跡生成的,因此,同一地區(qū)每年的任何一天,天黑天亮的時(shí)間基本一致,相差不超過10s。比如:2016年6月12日的天黑時(shí)間為20:45:17,天亮?xí)r間為04:35:50;2017年6月12日的天黑時(shí)間為20:45:09,天亮?xí)r間為04:35:52。那么就可以采集一年的天黑天亮的時(shí)間,作為基礎(chǔ)數(shù)據(jù)固化,將數(shù)據(jù)與路燈開、停時(shí)間相關(guān)聯(lián),利用大數(shù)據(jù)對(duì)路燈實(shí)現(xiàn)精準(zhǔn)時(shí)控,誤差精確到分鐘,而不必考慮年度數(shù)據(jù)的更新,省去大量存儲(chǔ)空間。
全年最長夜晚出現(xiàn)在12月22日,夜長13h43min,最短夜晚出現(xiàn)在6月21日,夜長7h48min,兩個(gè)極限點(diǎn)夜長時(shí)間相差近6h。如果使用時(shí)控開關(guān)控制,開關(guān)時(shí)間不及時(shí)調(diào)整將給生產(chǎn)生活造成巨大影響。
天黑天亮?xí)r間變化快慢在全年是不同的,比如,2月28日到5月12日相對(duì)變化迅速,平均30d內(nèi)的夜長時(shí)差是81min。5月26日到7月6日相對(duì)變化趨緩,平均30d內(nèi)的夜長時(shí)差是11min。這樣對(duì)于時(shí)控開關(guān)控制系統(tǒng)來說,就需要在夜長時(shí)差變化迅速區(qū)間,縮短調(diào)整周期,從而再次增加調(diào)時(shí)維護(hù)工作量。
經(jīng)統(tǒng)計(jì)全年夜晚總時(shí)長3944h37min,與路燈開、停時(shí)間相關(guān)聯(lián),全年路燈工作時(shí)間就是3944h37min。若使用時(shí)控開關(guān),按照全年調(diào)時(shí)12次,調(diào)時(shí)及時(shí)準(zhǔn)確的情況下,經(jīng)統(tǒng)計(jì)全年路燈工作時(shí)間是4333h18min。就是說,依托大數(shù)據(jù)的路燈時(shí)控比時(shí)控開關(guān)人工調(diào)時(shí)方式全年縮短路燈運(yùn)行時(shí)間9%。
2 程序設(shè)計(jì)
路燈控制系統(tǒng)程序由1個(gè)主程序和14個(gè)子程序組成,分別是:1~12月子程序,時(shí)鐘校準(zhǔn)子程序,時(shí)間偏移計(jì)算子程序。主程序調(diào)用1~12月子程序?qū)崿F(xiàn)路燈的精準(zhǔn)時(shí)控。時(shí)鐘校準(zhǔn)子程序在設(shè)定的時(shí)間被主程序調(diào)用實(shí)現(xiàn)系統(tǒng)時(shí)鐘校準(zhǔn)。時(shí)間偏移計(jì)算子程序用于實(shí)現(xiàn)時(shí)鐘偏移,提升系統(tǒng)的地域適應(yīng)性,擴(kuò)大地域使用范圍。
2.1 路燈精準(zhǔn)時(shí)控功能程序設(shè)計(jì)
2.1.1 S7-200PLC實(shí)時(shí)時(shí)鐘功能
S7-200PLC具有硬件時(shí)鐘,讀取實(shí)時(shí)時(shí)鐘指令READ_RTC從硬件時(shí)鐘讀取當(dāng)前時(shí)間和日期,并將其以BCD碼格式載入以地址VB0起始的8個(gè)字節(jié)的時(shí)間緩沖區(qū)。VB0:當(dāng)前年份(0~99),VB1:當(dāng)前月份(1~12),VB2當(dāng)前日期(1-31),VB3:當(dāng)前小時(shí)(0~23),VB4:當(dāng)前分鐘(0~59),VB5:當(dāng)前秒(0~59),VB6: 00 保留,VB7: 當(dāng)前星期(1~7),1=星期日。
設(shè)置實(shí)時(shí)時(shí)鐘指令SET_RTC將當(dāng)前時(shí)間和日期寫入VB0起始的8個(gè)字節(jié)的時(shí)間緩沖區(qū)。系統(tǒng)中利用該功能實(shí)現(xiàn)硬件時(shí)鐘校準(zhǔn)。
2.1.2 月子程序的調(diào)用
使用比較指令,將VB1中存儲(chǔ)的當(dāng)前月份數(shù)值與設(shè)定值進(jìn)行比較,等于1即調(diào)用1月子程序,等于2即調(diào)用2月子程序,以此類推。任何時(shí)刻,1~12月子程序總有一個(gè)被調(diào)用執(zhí)行,其他等待調(diào)用。
2.1.3 依托大數(shù)據(jù)的精準(zhǔn)開、關(guān)燈
將全年天黑、天亮?xí)r間366組(考慮閏年的2月29日),每組天黑、天亮2套數(shù)據(jù),搜集整理后,作為預(yù)制設(shè)定時(shí)間運(yùn)用于月子程序中,通過比較指令,判斷當(dāng)前日期、當(dāng)前時(shí)間是否等于預(yù)制設(shè)定日期時(shí)間,如圖1所示,VB2=16#1、VW60=16#0734,是指:日期為1日、時(shí)間到達(dá)7:34,關(guān)燈標(biāo)志位M0.1為真,觸發(fā)關(guān)燈命令。同理,VB2=16#3、VW62=16#1756,是指:日期為3日、時(shí)間到達(dá)17:56,開燈標(biāo)志位M10.1為真,觸發(fā)開燈命令。
主程序中將12個(gè)月子程序中產(chǎn)生的12個(gè)關(guān)燈標(biāo)志位M0.1、M0.2……M1.4并聯(lián),使用上升沿共同控制關(guān)燈脈沖M0.0置位。將12個(gè)月子程序中產(chǎn)生的12個(gè)開燈標(biāo)志位M10.1、M10.2、……M11.4并聯(lián),使用上升沿共同控制開燈脈沖M10.0置位。關(guān)燈、開燈脈沖置位后,利用定時(shí)器使其10s后復(fù)位。將二者運(yùn)用于輸出命令,使用最簡單的起保停功能實(shí)現(xiàn)對(duì)路燈運(yùn)行輸出命令Q0.0的控制。
2.2 時(shí)間偏移量程序設(shè)計(jì)
眾所周知利用大數(shù)據(jù)作為預(yù)制設(shè)定時(shí)間控制路燈,實(shí)現(xiàn)了路燈的精準(zhǔn)時(shí)控,但是該套數(shù)據(jù)僅適合于包頭區(qū)域,一旦經(jīng)緯度偏移過多,天黑、天亮的時(shí)間就會(huì)偏離該套數(shù)據(jù),從而不再適宜實(shí)地應(yīng)用。為了讓路燈時(shí)控系統(tǒng)在更廣泛的區(qū)域應(yīng)用,提升系統(tǒng)的區(qū)域適應(yīng)性,引入了時(shí)間偏移量程序。
對(duì)366組732個(gè)開關(guān)燈時(shí)間數(shù)據(jù)加入偏移量會(huì)導(dǎo)致占用大量存儲(chǔ)空間,程序量翻倍,對(duì)于S7-200PLC不堪重負(fù)。因此改變程序設(shè)計(jì)思路,將偏移量加入實(shí)時(shí)時(shí)鐘,通俗的講:就是將實(shí)時(shí)時(shí)鐘調(diào)快或調(diào)慢。如果希望早10min開燈,那就將實(shí)時(shí)時(shí)鐘加上10min(調(diào)快),再運(yùn)用于開燈控制。如果希望晚10min關(guān)燈,那就將實(shí)時(shí)時(shí)鐘加上-10min(調(diào)慢),再運(yùn)用于關(guān)燈控制。
由于S7-200PLC實(shí)時(shí)時(shí)鐘是以BCD碼存儲(chǔ)的,在計(jì)算偏移量之前要將時(shí)、分?jǐn)?shù)據(jù)BCD碼分別從BCD碼轉(zhuǎn)為整型。加入偏移量后再從整型轉(zhuǎn)為BCD碼,運(yùn)用于路燈時(shí)控。
計(jì)算時(shí)間偏移,有三種情況,程序如圖2所示。
(1)當(dāng)加入時(shí)間偏移量后,分鐘數(shù)據(jù)≥60時(shí),就需要考慮進(jìn)位,將整60min進(jìn)位給小時(shí)數(shù)據(jù),即小時(shí)數(shù)據(jù)加1h,剩下的分鐘為最終分鐘數(shù)據(jù)。
(2)當(dāng)加入時(shí)間偏移量后,分鐘數(shù)據(jù)<0時(shí),就需要考慮借位,向小時(shí)數(shù)據(jù)借1h即60min,與當(dāng)前分鐘數(shù)據(jù)相加結(jié)果即為最終分鐘數(shù)據(jù)。
(3)當(dāng)加入時(shí)間偏移量后,若0≤分鐘數(shù)據(jù)<60時(shí),不做任何操作,直接用于路燈時(shí)控。
將以上功能整合,形成時(shí)間偏移功能子程序。在主程序中調(diào)用子程序,將小時(shí)、分鐘數(shù)據(jù)、偏移量數(shù)據(jù)賦值,得到偏移后小時(shí)、分鐘數(shù)據(jù)輸出。如圖3所示。
2.3 時(shí)鐘校準(zhǔn)程序設(shè)計(jì)
本系統(tǒng)利用西門子S7-200PLC自帶的實(shí)時(shí)時(shí)鐘功能,運(yùn)行過程中要考慮時(shí)鐘走時(shí)不準(zhǔn)的情況發(fā)生。因此設(shè)計(jì)了時(shí)鐘校準(zhǔn)程序。在每年的規(guī)定時(shí)段利用網(wǎng)絡(luò)時(shí)間對(duì)系統(tǒng)時(shí)間進(jìn)行校準(zhǔn),從而保證系統(tǒng)時(shí)間的精確。
2.3.1 時(shí)鐘校準(zhǔn)子程序設(shè)計(jì)
如圖4所示,I0.0為外部輸入的時(shí)鐘校準(zhǔn)信號(hào),在網(wǎng)絡(luò)標(biāo)準(zhǔn)時(shí)間為8:00時(shí)I0.0為1,該信號(hào)會(huì)持續(xù)1min。當(dāng)信號(hào)為1時(shí),M5.0為1,系統(tǒng)關(guān)閉讀取時(shí)鐘功能,利用T41延時(shí)10S開始調(diào)用系統(tǒng)設(shè)置時(shí)鐘功能SET_RTC,進(jìn)入設(shè)置時(shí)鐘狀態(tài)。將一個(gè)16進(jìn)制BCD碼:08010000寫入VD3中,即系統(tǒng)實(shí)時(shí)時(shí)鐘被鎖定在8:01,并保持不變。當(dāng)時(shí)鐘校準(zhǔn)信號(hào)I0.0為0時(shí),剛好是8:01,M5.0恢復(fù)為0,設(shè)置時(shí)鐘功能關(guān)閉,讀取時(shí)鐘功能打開,實(shí)時(shí)時(shí)鐘就從8:01開始正常走時(shí),完成校準(zhǔn)。
2.3.2 時(shí)鐘校準(zhǔn)子程序的調(diào)用
時(shí)鐘校準(zhǔn)作業(yè)僅在每年的1月1日和7月1日進(jìn)行,其他時(shí)段不起作用。因此,在主程序中設(shè)計(jì)了時(shí)鐘校準(zhǔn)調(diào)用程序,如圖5所示,VW1中存儲(chǔ)著實(shí)際月、日數(shù)據(jù),通過比較,在規(guī)定的兩個(gè)日期:16#0101、16#0701調(diào)用時(shí)鐘校準(zhǔn)子程序。
3 結(jié)語
基于大數(shù)據(jù)的路燈時(shí)控系統(tǒng)經(jīng)過理論數(shù)據(jù)分析,實(shí)際應(yīng)用測試,系統(tǒng)完善推廣等多個(gè)階段,目前已日趨成熟,在包鋼股份煤焦化工分公司廣泛應(yīng)用。系統(tǒng)實(shí)現(xiàn)免調(diào)時(shí),省去全年至少234次的調(diào)時(shí)維護(hù)工作。路燈每天的開、停時(shí)間跟隨太陽運(yùn)行軌跡變化,均不相同,誤差精確到分鐘,從根本上杜絕了由于調(diào)時(shí)不及時(shí)、不準(zhǔn)確造成的電能浪費(fèi)和環(huán)境照度不足導(dǎo)致的安全隱患。據(jù)統(tǒng)計(jì)與人工調(diào)時(shí)相比全年縮短運(yùn)行時(shí)間388h41min,本部區(qū)域節(jié)電30318.6度,降低電耗9%。如將此技術(shù)廣泛推廣,節(jié)能效果非??捎^。
參考文獻(xiàn)
[1] 廖常初.PLC編程及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2014.
[2] 吳中俊.可編程序控制器原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.
[3] 夏少建.基于大數(shù)據(jù)的設(shè)備管理研究[J].港口裝卸, 2018(1):5-7.