王宏文,劉 贊,韓振磊
(河北工業(yè)大學(xué) 控制科學(xué)與工程學(xué)院,天津 300130)
目前市場上的遠程采集系統(tǒng)多數(shù)采用單片機跑裸機程序?qū)崿F(xiàn),隨著用戶對系統(tǒng)任務(wù)要求的增加,裸機系統(tǒng)對事件處理的實時性和邏輯性處理難度進一步增大,導(dǎo)致設(shè)計出的產(chǎn)品穩(wěn)定性也相對較差,選用μC/OS-II實時操作系統(tǒng)移植到STM32F103單片機上,增加了系統(tǒng)的穩(wěn)定性[1]。吸收ModBus協(xié)議幀格式簡單、緊湊等特點和Hydrometer熱量表協(xié)議數(shù)據(jù)安全性強的優(yōu)勢,整理出了一套高效率、高可靠性的傳輸協(xié)議,增加了采集系統(tǒng)的實時性和安全性。
遠程采集系統(tǒng)自上而下包括上位機、集中器、采集器和熱量表。系統(tǒng)物理層采用RS485總線完成戶熱量表數(shù)據(jù)采集工作,為了增加系統(tǒng)采集數(shù)據(jù)的效率,采集器與熱量表、集中器與采集器之間分別采用兩條獨立的總線[2],其結(jié)構(gòu)圖如圖1所示。
圖1 采集系統(tǒng)結(jié)構(gòu)圖Fig.1 Acquisition system structure
上位機在遠程采集系統(tǒng)中負責分類、匯總和顯示采集數(shù)據(jù),與集中器間采用廣域網(wǎng)進行數(shù)據(jù)交互。集中器與采集器之間和采集器與熱量表之間分別采用獨立的RS485總線方式,避免了共用同一條總線時采集器采集數(shù)據(jù)必須等待總線空閑,采用獨立的總線,多個采集器可實現(xiàn)定時并行的采集熱量表數(shù)據(jù),提高系統(tǒng)抄表效率[3]。
集中器是遠程采集系統(tǒng)中連接采集器和網(wǎng)絡(luò)服務(wù)器的關(guān)鍵環(huán)節(jié),其主要功能是定時采集采集器數(shù)據(jù),上傳數(shù)據(jù)到網(wǎng)絡(luò)服務(wù)器,起到數(shù)據(jù)匯總和中轉(zhuǎn)的作用。
集中器硬件系統(tǒng)采用模塊化設(shè)計思想,在增強系統(tǒng)的穩(wěn)定性和可靠性方面起到了至關(guān)重要的作用[4]。集中器的硬件結(jié)構(gòu)如圖2所示。
圖2 集中器硬件設(shè)計圖Fig.2 Concentrator hardware design diagram
集中器在項目中是市電供電,整個系統(tǒng)的事件都是由集中器的實時時鐘來產(chǎn)生的,為防止停電造成系統(tǒng)時鐘紊亂,硬件系統(tǒng)配有一個RTC芯片,來維持掉電時的系統(tǒng)時間。系統(tǒng)為了備份抄收數(shù)據(jù)信息,將近2個采集周期的數(shù)據(jù)備份到STM32F103VET6單片機的FLASH中,自供暖季開始的所有數(shù)據(jù)備份到裝有FAT32的SD卡里,管理人員可從SD卡直接查看用戶數(shù)據(jù)和故障信息。集中器上傳用戶數(shù)據(jù)到網(wǎng)絡(luò)服務(wù)器,廣域網(wǎng)采用DTU模塊來完成上傳工作,模塊化設(shè)計保證DTU全天候在線,增加了系統(tǒng)的穩(wěn)定性。集中器和采集器在安裝時共用同一套代碼,通過系統(tǒng)配置端口可配置設(shè)備類型和樓棟信息。在μC/OS-II系統(tǒng)上移植圖形用戶接口 GUI(graphical user interface),增加界面友好性[5],用戶現(xiàn)場可以查詢采暖信息和應(yīng)繳熱費。集中器的電源電路均采用隔離的DC-DC模塊構(gòu)成,在RS485總線發(fā)生短路的情況下能夠有效的起到保護作用。
μC/OS-II操作系統(tǒng)是一個可移植、可固化的、可裁剪的、占先式多任務(wù)實時內(nèi)核。該系統(tǒng)源代碼開放、整潔、一致,注釋詳盡,適合中小型系統(tǒng)開發(fā)。μC/OSII采用的是可剝奪型實時多任務(wù)內(nèi)核,在任何時候都運行就緒了的最高優(yōu)先級的任務(wù)。μC/OS-II操作系統(tǒng)的啟動過程如圖3所示。
圖3 μC/OS-II操作系統(tǒng)的啟動過程Fig.3 μC/OS-II of the operating system to start the process
集中器的軟件設(shè)計采用模塊化設(shè)計思想。將集中器的工作按功能化分成7個任務(wù),分別為時鐘任務(wù)、存儲任務(wù)、顯示任務(wù)、上傳任務(wù)、監(jiān)控任務(wù)、采集任務(wù)和數(shù)據(jù)校驗任務(wù)[6]。系統(tǒng)任務(wù)結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)任務(wù)結(jié)構(gòu)Fig.4 System task structure
集中器在增加產(chǎn)品穩(wěn)定性和縮短開發(fā)周期上,將μC/OS-II實時操作系統(tǒng)移植到STM32F103VET6單片機上,實現(xiàn)了控制系統(tǒng)的多任務(wù)有序運行,保證系統(tǒng)的可靠性和穩(wěn)定性[7]。μC/OS-II操作系統(tǒng)負責協(xié)調(diào)各個任務(wù),并通過實施調(diào)度將CPU使用權(quán)讓給當前最高優(yōu)先級的任務(wù)。各個任務(wù)間使用信號量、消息郵箱、消息隊列和信號量集來實現(xiàn)任務(wù)間的通信,保證了任務(wù)之間的同步性和互不干擾性。
數(shù)據(jù)傳輸協(xié)議在遠程采集系統(tǒng)中關(guān)系到系統(tǒng)的工作效率、可靠性和安全性。本文結(jié)合ModBus協(xié)議和Hydrometer熱量表通信協(xié)議總結(jié)出一套高效、可靠的通信協(xié)議,不僅具有ModBus協(xié)議的高效率特點,而且還結(jié)合Hydrometer熱量表協(xié)議的可靠性和靈活性[8]。
數(shù)據(jù)傳輸協(xié)議采用總線拓撲結(jié)構(gòu),由物理層、數(shù)據(jù)鏈路層、網(wǎng)路層和應(yīng)用層組成。在數(shù)據(jù)鏈路層,數(shù)據(jù)信息是以幀形式傳輸?shù)?,每幀由幀起始符、地址域、?shù)據(jù)長度(L)、數(shù)據(jù)域(DATA)、校驗碼(CRC16)和結(jié)束符6部分組成,如表1所示。
表1 數(shù)據(jù)幀格式Tab.1 Data frame format
數(shù)據(jù)幀格式沿用了ModBus協(xié)議的起始符、地址域和結(jié)束符,而數(shù)據(jù)域中每個數(shù)據(jù)都是由其在數(shù)據(jù)結(jié)構(gòu)中的位置、類型和數(shù)值組成,在數(shù)據(jù)傳輸中提供數(shù)據(jù)校驗的依據(jù),數(shù)據(jù)結(jié)構(gòu)中的位置使指針讀寫操作更加方便,數(shù)據(jù)的解析、組合操作更具有通用性。
系統(tǒng)軟件設(shè)計中,良好、清晰的數(shù)據(jù)結(jié)構(gòu)有利于對系統(tǒng)數(shù)據(jù)的管理和傳輸,熱量表和采集器的數(shù)據(jù)結(jié)構(gòu)如圖5所示。
采集器軟件設(shè)計時,將有關(guān)熱量表的所有數(shù)據(jù)總結(jié)到HotData結(jié)構(gòu)中,并且定義CollectData結(jié)構(gòu)保存所有用戶的采集數(shù)據(jù)。增加代碼的緊湊度和可讀性。
圖5 數(shù)據(jù)結(jié)構(gòu)Fig.5 Data structure
本文提出的遠程采集系統(tǒng)穩(wěn)定性和高效性的研究方案有顯著實用性,其結(jié)構(gòu)簡單,生產(chǎn)成本低廉,運行費用少,維護成本低,易于推廣等顯著優(yōu)勢,促進了我國熱計量系統(tǒng)的改造進程。本系統(tǒng)采用μC/OS-II操作系統(tǒng)和改進的協(xié)議,在復(fù)雜環(huán)境下仍能穩(wěn)定高效工作,解決了市場上遠程采集系統(tǒng)的隱患。本系統(tǒng)已經(jīng)在北京市通州區(qū)蓮水怡園小區(qū)完成了全區(qū)的供暖系統(tǒng)改造,系統(tǒng)運行穩(wěn)定,極大地提高了抄表效率。
[1]王曉蘭,譚文忠.基于儀表總線的嵌入式接口設(shè)計[J].儀表技術(shù)與傳感器,2004(6):21-38.
[2]Jean J Labrosse.嵌入式實時操作系統(tǒng)μC/OS-II[M].2版.邵貝貝,譯.北京:中國電力出版社,2001.
[3]李紀奎,向懷坤.基于μC/OS-II的視頻動態(tài)交通信息采集系統(tǒng)研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,2007(2):306-309.
[4]林品.基于MBUS總線的遠程抄表系統(tǒng)研究與開發(fā)[D].南京:南京理工大學(xué),2012.
[5]郜煥平.基于模糊產(chǎn)生式規(guī)則的智能管理模型及其應(yīng)用[J].現(xiàn)代制造工程,2005(11):26-29.
[6]遲雪華.基于GPRS無線遠程抄表系統(tǒng)的研究與設(shè)計[D].南京:南京理工大學(xué),2011.
[7]李金拌.自動抄表系統(tǒng)原理與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2012.
[8]閏德光,謝軍龍,戴汝平.M-BUS二線制總線[J].自動化儀表,2003,24(3):24-32. ■