朱啟文
(南京信息職業(yè)技術(shù)學(xué)院,江蘇南京 210003)
定時控制在工業(yè)控制、農(nóng)業(yè)生產(chǎn)、交通疏導(dǎo)以及人們的日常生活等方面都有廣泛的應(yīng)用。目前,各種可編程時序控制器應(yīng)用較廣,市場上的產(chǎn)品種類也很多,主要是采用PLC作為控制器件。但在控制較復(fù)雜的時序過程時,有一些缺點,比如,程序設(shè)置是根據(jù)不同的工作要求,由用戶通過觸摸鍵盤對運行時間、輸出繼電器狀態(tài)等參數(shù)進(jìn)行設(shè)定,使控制系統(tǒng)按預(yù)先設(shè)定的步序進(jìn)行自動連續(xù)運行控制。這些現(xiàn)有時序系統(tǒng)使用很不方便,更新程序過程時間較長;一些采用有線或無線聯(lián)機控制的場合,布線和接口的成本又比較高。
本文提出一種可編程的時序控制系統(tǒng),采用可伸縮的網(wǎng)狀構(gòu)架,針對各種有復(fù)雜時序要求的信息應(yīng)用,利用了計算機軟件系統(tǒng)的資源優(yōu)勢,將對控制對象的控制程序轉(zhuǎn)變成代表事件序列的時序信息程序,下載到控制器的非易失存儲器中,由控制器獨立、離線、按程序運行。
對于不同的定時控制裝置或系統(tǒng),其控制特征與即時時刻(T)、控制輸出狀態(tài)(S)以及控制時間的精度/誤差(Δt)總是密切相關(guān)。
如果i控制條件的控制特征用作業(yè)(Hi)來定義,
換言之,一個定時控制裝置或系統(tǒng)的一個控制口總是可以通過在Ci1條件下,T±Δt時刻,輸出S狀態(tài)來實現(xiàn)。
由于該序列H規(guī)范了某條件下,任意時刻的輸出狀態(tài)。于是可以通過一組由以上三個信息構(gòu)成的隊列(/序列)元(Hi)構(gòu)成的控制隊列(/序列)(H)來實現(xiàn)一個定時控制裝置。
但從序列中,不難看出其給出的控制條件信息冗余度很大。對于大多數(shù)場合而言,輸出狀態(tài)很長一段時間是保持不變的。于是可以通過輸出差分信息ΔS來表示,
從而大大壓縮了這個定時控制器的作業(yè)序列長度。
舉例來說:一個教學(xué)工作日的打鈴控制由每秒的輸出控制序列,可以轉(zhuǎn)換成狀態(tài)跳變控制序列,如{……、(8:00:00,打開,normal)、(8:00:05,關(guān)閉,normal)、(8:45:00,打開,normal)、(8:45:05,關(guān)閉,normal)、……}。
所有的定時控制器的輸出要求,我們總是能夠轉(zhuǎn)換成某一時刻執(zhí)行一次輸出狀態(tài)的改變。對于前面的基本輸出模型Hi1=O(T±Δt,S,Ci1)。i1表示某次作業(yè)的輸入條件序號。Ci1可以是確定的條件,如前面的例子,可以描述出一個正常教學(xué)工作日(條件為Ci1)下的輸出序列表。
而對于節(jié)假日或一學(xué)年的特殊教學(xué)活動安排來說,這個輸出序列就不適用了。為此可以對條件進(jìn)行編碼。將若干條件(j)的不同序列(i)用條件Cij表示。
上面的基本輸出模型可以描述為:
作為中國最大的化肥分銷企業(yè)和鉀肥進(jìn)口企業(yè),中農(nóng)控股自2013年起與BHP在鉀肥業(yè)務(wù)方面開始溝通,經(jīng)過5年的磨合與熟悉,雙方在鉀肥業(yè)務(wù)上建立了高度的共識和默契。在此基礎(chǔ)上,中農(nóng)控股成為BHP鉀肥進(jìn)入中國市場的首個合作伙伴。
根據(jù)上面時序控制系統(tǒng)的分析可以構(gòu)架控制系統(tǒng)的構(gòu)架,如圖1所示:
圖1 控制系統(tǒng)總體構(gòu)架
考慮到方案應(yīng)當(dāng)具備一定的通用性,因此抽象出一個方案知識庫,用戶在應(yīng)用場景中可以從方案知識庫中提取所需方案,然后在此方案的基礎(chǔ)上進(jìn)行修改,用戶也可以自己定義方案,然后將自定義方案添加到知識庫中。這樣控制器就是一個帶有操作系統(tǒng)的硬件環(huán)境,用戶可以在計算機部分進(jìn)行一定的設(shè)置,這些設(shè)置最后就形成了一個應(yīng)用程序下載到這個操作系統(tǒng)中,控制器就可以直接運行這個應(yīng)用程序,這樣當(dāng)用戶需求發(fā)生變化時只需要更新相應(yīng)的應(yīng)用程序。
時序控制信息的存儲方式?jīng)Q定了時序控制策略的可行性,因此時序控制信息的數(shù)據(jù)結(jié)構(gòu)非常重要,本系統(tǒng)采用了可伸縮方式的時序控制結(jié)構(gòu),利用網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)模型構(gòu)架時序控制信息結(jié)構(gòu)如圖2所示。
圖2 時序控制信息數(shù)據(jù)結(jié)構(gòu)圖
時序控制電路中的單片機每秒讀取時序控制設(shè)備的時鐘芯片中的即時時間,然后將即時時間和時序信息數(shù)據(jù)結(jié)構(gòu)中各個時間進(jìn)行比較,首先進(jìn)行年節(jié)點的判斷。其中,首字節(jié)代表下面有多少時序信息有效,例如:月份中的首字節(jié)為3,代表月份中有3個月是含有時序事件的,每個月占兩個字節(jié),第一個字節(jié)代表是哪一個月,第二個字節(jié)代表偏移量。其中年和月的偏移量為一個字節(jié),其他從天開始偏移量為2個或2個以上的字節(jié)(為了以后的擴展)。
月判斷流程和年判斷流程一樣,小時、分鐘和秒判斷時步長要加3,其他都相同。如有周循環(huán)進(jìn)入周區(qū)域進(jìn)行判斷,判斷方法和年、月判斷方法相同,然后進(jìn)入時區(qū)域進(jìn)行判斷,依次到秒?yún)^(qū)域。秒節(jié)點后的偏移量就指向一個帶有事件的區(qū)域。如果該事件是帶條件的,就去讀取輸入口的狀態(tài)值和條件值相比較,如果輸入口狀態(tài)值和條件值相匹配就執(zhí)行相應(yīng)條件下的動作,如果該事件是不帶事件的,則直接執(zhí)行該事件。
可編程時序控制系統(tǒng)硬件部分由幾大模塊組成,如圖3所示。
圖3 控制系統(tǒng)硬件設(shè)計
核心主控模塊采用低成本51單片機進(jìn)行時序控制策略的調(diào)度[1],其中時鐘模塊選用DS1307作為時鐘芯片;非易失性存儲器存放的是時序控制信息,這些時序信息是通信上位機設(shè)定好后下載到非易失性存儲器中;電源模塊負(fù)責(zé)給整個控制電路供電,該電源模塊帶有后備電池,能在斷電的情況下給時鐘供電多年;監(jiān)控模塊主要是防止系統(tǒng)出現(xiàn)異常時自動復(fù)位,加強系統(tǒng)的穩(wěn)定性;通信模塊可以是一個備用模塊,主要負(fù)責(zé)和上位機之間的通信,用戶通過上位機設(shè)定的時序信息通過串口下載到控制電路中[2]。
為了用戶可以很方便配置各種時序控制策略,軟件采用方案庫設(shè)定的方式進(jìn)行操作。用戶可以設(shè)置方案,設(shè)置完成后,會將該用戶設(shè)置的方案、用戶名和設(shè)置日期一起存入數(shù)據(jù)庫中。當(dāng)用戶將方案設(shè)置完畢后將用戶的設(shè)置轉(zhuǎn)換成控制指令的數(shù)據(jù)集合,然后通過串口下載到控制系統(tǒng)的硬件板上??刂葡到y(tǒng)的主界面如圖4所示。
圖4 控制系統(tǒng)軟件主界面
用戶通過控制系統(tǒng)軟件將時序控制方案設(shè)定完成后通過串口將這些時序控制信息下載到時序控制板中,其中的通信流程如圖5所示。
如圖5所示,通信開始是首先發(fā)送通信開始幀,時序控制電路收到后會發(fā)送確認(rèn)幀。若收到上次通信事件失敗幀,則控制軟件將進(jìn)行一定的處理,通知用戶上次通信失敗,讓用戶進(jìn)行選擇。如果需要恢復(fù)上次的通信事件,則抽取該幀中的事件ID號到數(shù)據(jù)庫中查詢相應(yīng)的事件隊列,然后再開始發(fā)送通信開始幀;如果要寫入一個新的事件,則直接將新的事件寫入時序控制電路。每發(fā)送一幀數(shù)據(jù)幀都進(jìn)行等待確認(rèn)幀,若通信中斷則從頭開始重傳。含有時間信息的數(shù)據(jù)幀都發(fā)送完畢后,發(fā)送通信結(jié)束幀,通信結(jié)束
圖5 通信流程
本系統(tǒng)的主要優(yōu)勢在于其通用性、實用性以及易用性。該系統(tǒng)可以實現(xiàn)復(fù)雜信息場合下的時序控制設(shè)備的應(yīng)用,用戶只需在計算機的時序控制設(shè)備進(jìn)行編程的軟件程序中錄入簡單的時間信息和特殊事件,即可完成。
利用本系統(tǒng)所采用的這種新的技術(shù)策略,用戶可以很方便地進(jìn)行一些設(shè)置。根據(jù)各種不同需求建立所需的方案序列。采用非易失存儲器作為程序傳輸?shù)慕橘|(zhì),避免了傳統(tǒng)方法通過無/有線傳輸?shù)目臻g、成本等的限制,可以使時序控制設(shè)備離線工作,實現(xiàn)時序控制系統(tǒng)設(shè)置簡便、靈活,而且采用低成本51單片機作為控制器件,節(jié)約了成本,更具有人性化[3]。
[1]趙亮,侯國瑞.單片機C語言編程與實例[M].北京:人民郵電出版社,2003:307-311.
[2]王幸之.單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2000:45-49.
[3]張毅剛.新編MCS-51單片機應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006:55-78.