一種集中抄表系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供一種集中抄表系統(tǒng),該系統(tǒng)包括上位機(jī)、閥門(mén)、熱量表、溫控面板、SD卡和集中器,其中,集中器分別與上位機(jī)、SD卡、閥門(mén)和熱量表,閥門(mén)和溫控面板相連接,集中器設(shè)置在大樓的樓頂,閥門(mén)和熱量表設(shè)置在大樓的管道上,溫控面板設(shè)置在大樓的用戶(hù)室內(nèi),溫控面板設(shè)有溫度傳感器;集中器通過(guò)閥門(mén)與溫控面板通信,溫控面板通過(guò)定時(shí)的方式和中斷的方式,達(dá)到與閥門(mén)通信的目的,兩者服從主從關(guān)系;本發(fā)明采用集中器分別與上層上位機(jī)和下層熱量表、閥門(mén)進(jìn)行通信,集中器根據(jù)上位機(jī)下發(fā)的各種指令執(zhí)行相應(yīng)的任務(wù),讀取熱量表數(shù)據(jù)、對(duì)閥門(mén)實(shí)施控制、通過(guò)閥門(mén)與溫控面板通信設(shè)置室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線,整個(gè)系統(tǒng)通信穩(wěn)定且實(shí)時(shí)性高。
【專(zhuān)利說(shuō)明】一種集中抄表系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種集中抄表系統(tǒng)。
【背景技術(shù)】
[0002] 在目前的供熱系統(tǒng)中,遠(yuǎn)程抄表技術(shù)的出現(xiàn)引起了社會(huì)各界的廣泛關(guān)注。遠(yuǎn)程抄 表技術(shù)是集計(jì)算機(jī)技術(shù)、智能控制技術(shù)、通信技術(shù)和嵌入式技術(shù)于一身,多領(lǐng)域多學(xué)科交叉 滲透的結(jié)果。它可以實(shí)現(xiàn)水表、熱量表和電表數(shù)據(jù)的遠(yuǎn)程集抄和對(duì)三表終端的遠(yuǎn)程操作,實(shí) 現(xiàn)了數(shù)據(jù)的集中管理,解決了傳統(tǒng)人工抄表不及時(shí)、錯(cuò)抄和漏抄的弊端,為有關(guān)部門(mén)的信息 化發(fā)展打下了堅(jiān)實(shí)的基礎(chǔ)。
[0003] 遠(yuǎn)程抄表系統(tǒng)大致可分為三個(gè)層次:下層由水表、電表、熱量表、閥門(mén)和溫控面板 組成,中間是集中器所在的位置,最上層是數(shù)據(jù)庫(kù)服務(wù)器系統(tǒng)。在抄表系統(tǒng)中,集中器扮演 者重要的角色,集中器設(shè)計(jì)的好壞,在很大程度上面影響著整個(gè)系統(tǒng)的工作效率,集中器是 連接后臺(tái)服務(wù)器和下層計(jì)量設(shè)備的重要橋梁。一方面,它要向上傳輸數(shù)據(jù)到有關(guān)管理部門(mén) 的數(shù)據(jù)庫(kù),另一方面,也同時(shí)接收主站下發(fā)的控制命令,對(duì)集中器或者閥門(mén)和溫控面板進(jìn)行 控制。
[0004] 通過(guò)調(diào)研目前供熱系統(tǒng)的各種技術(shù)以及現(xiàn)場(chǎng)的實(shí)際問(wèn)題,具有如下的問(wèn)題:
[0005] 第一:目前的供熱計(jì)量數(shù)據(jù)采集設(shè)備中多使用有線連接方式的數(shù)據(jù)采集器,其中 一個(gè)社區(qū)內(nèi)往往需要幾十個(gè)采集設(shè)備,并且采集設(shè)備通過(guò)有線連接方式將數(shù)據(jù)匯總至集中 器中。
[0006] 第二:集中器間數(shù)據(jù)的通訊,需要設(shè)計(jì)繁雜的通訊信號(hào)線,帶來(lái)現(xiàn)場(chǎng)施工的難度。
[0007] 第三:眾多的采集設(shè)備和施工復(fù)雜度高增加了系統(tǒng)的不穩(wěn)定性和后期維護(hù)的難 度。
[0008] 第四:數(shù)據(jù)采集設(shè)備的應(yīng)用具有嚴(yán)重的局限性:如集中器負(fù)載能力過(guò)小,不能滿 足現(xiàn)有建筑物設(shè)計(jì)的用戶(hù)數(shù)量,需要安裝多個(gè)集中器,增加繁雜的通訊信號(hào)線,增加成本。
[0009] 第五:在現(xiàn)有的建筑物設(shè)計(jì)的用戶(hù)數(shù)據(jù)量下,一定范圍的現(xiàn)場(chǎng)應(yīng)用,需要多個(gè)進(jìn)行 網(wǎng)絡(luò)連接和數(shù)據(jù)上報(bào),增加了用戶(hù)的運(yùn)營(yíng)成本。
[0010] 第六:設(shè)備的生命周期短暫,并且維護(hù)不方便,需要技術(shù)人員到現(xiàn)場(chǎng)操作。
[0011] 第七:集中器備對(duì)計(jì)量設(shè)備的單一性,現(xiàn)有設(shè)備往常一套系統(tǒng)只能支持采集一種 計(jì)量設(shè)備,并且數(shù)據(jù)上報(bào)方式單一性的問(wèn)題!
[0012] 第八:現(xiàn)用集中器采用多種市場(chǎng)上現(xiàn)存的通信模塊集成組成,所有采集控制均由 上位機(jī)完成,這樣在大用戶(hù)量的情況下,采集效率很低,服務(wù)器壓力很大,系統(tǒng)可維護(hù)性很 差!
【發(fā)明內(nèi)容】
[0013] 有鑒于此,本發(fā)明提供了一種集中抄表系統(tǒng),能夠具有性能穩(wěn)定、適用范圍廣、易 于擴(kuò)展等特點(diǎn)。
[0014] -種集中抄表系統(tǒng),該系統(tǒng)包括上位機(jī)、閥門(mén)、熱量表、溫控面板、SD卡和集中器, 其中,集中器分別與上位機(jī)、SD卡、閥門(mén)和熱量表,閥門(mén)和溫控面板相連接,集中器設(shè)置在大 樓的樓頂,閥門(mén)和熱量表設(shè)置在大樓的管道上,溫控面板設(shè)置在大樓的用戶(hù)室內(nèi),溫控面板 設(shè)有溫度傳感器;集中器通過(guò)閥門(mén)與溫控面板通信,溫控面板通過(guò)定時(shí)的方式和中斷的方 式,達(dá)到與閥門(mén)通信的目的,兩者服從主從關(guān)系;
[0015] 上位機(jī)下發(fā)指令給集中器,具體步驟如下:
[0016] 步驟21 :集中器的串口接收上位機(jī)發(fā)送的數(shù)據(jù);
[0017] 步驟22 :集中器判斷接收到的數(shù)據(jù)幀是否正確,如果錯(cuò)誤,則結(jié)束不執(zhí)行任何操 作;如果正確,則執(zhí)行下一步;
[0018] 步驟23 :集中器對(duì)接收到的數(shù)據(jù)幀進(jìn)行解析,得到上位機(jī)要求其執(zhí)行的任務(wù);
[0019] 步驟24 :集中器調(diào)用操作函數(shù),執(zhí)行相應(yīng)的任務(wù),主要任務(wù)包括配置集中器參數(shù)、 抄讀熱量表數(shù)據(jù)、閥門(mén)控制、讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線、讀取SD卡、設(shè)置抄表時(shí) 間和遠(yuǎn)程升級(jí);
[0020] 步驟25 :集中器創(chuàng)建回復(fù)的數(shù)據(jù)巾貞,將執(zhí)行任務(wù)獲得的數(shù)據(jù)填入數(shù)據(jù)幀;
[0021] 步驟26 :集中器通過(guò)消息隊(duì)列與集中器的上層管理任務(wù)通信,上層管理任務(wù)中存 儲(chǔ)每個(gè)任務(wù)對(duì)應(yīng)的通信類(lèi)型;
[0022] 步驟27 :集中器根據(jù)每個(gè)任務(wù)自身對(duì)應(yīng)的優(yōu)先級(jí)判斷通信類(lèi)型;
[0023] 步驟28 :集中器根據(jù)選定的通信類(lèi)型發(fā)送回復(fù)數(shù)據(jù)幀給上位機(jī),結(jié)束;
[0024] 當(dāng)執(zhí)行抄讀熱量表數(shù)據(jù)任務(wù)時(shí),集中器與熱量表進(jìn)行通訊,根據(jù)設(shè)置的抄表時(shí)間 抄讀熱量表數(shù)據(jù),具體步驟如下:
[0025] 步驟31 :集中器獲取當(dāng)前抄表時(shí)間節(jié)點(diǎn),在SD卡中建立文件夾用于存儲(chǔ)數(shù)據(jù),并 以時(shí)間節(jié)點(diǎn)為文件名,則時(shí)間節(jié)點(diǎn)作為查找數(shù)據(jù)的檢索名;
[0026] 步驟32 :輪詢(xún)每個(gè)通道并讀取每個(gè)通道下熱量表數(shù)據(jù),直到所有熱量表數(shù)據(jù)均讀 取完,將所有熱量表數(shù)據(jù)保存到所建立的文件夾中,并將熱量表數(shù)據(jù)發(fā)送給對(duì)應(yīng)的閥門(mén)存 儲(chǔ),等待溫控面板以定時(shí)或中斷的方式讀取并顯示在液晶顯示屏上;
[0027] 當(dāng)執(zhí)行閥門(mén)控制任務(wù)時(shí),集中器與閥門(mén)通信,并且對(duì)閥門(mén)實(shí)施相應(yīng)操作,閥門(mén)狀態(tài) 包括全開(kāi)、3/4開(kāi)、2/4開(kāi)、1/4開(kāi)和全關(guān),具體過(guò)程如下:
[0028] 步驟51 :集中器解析閥門(mén)控制任務(wù),判斷執(zhí)行的操作;
[0029] 步驟52 :查找被控閥門(mén)對(duì)應(yīng)的文件信息,根據(jù)文件信息中記載的閥門(mén)地址,創(chuàng)建 控制閥門(mén)的數(shù)據(jù)幀;
[0030] 步驟53 :通過(guò)集中器的串口,發(fā)送數(shù)據(jù)幀給閥門(mén);
[0031] 步驟54 :閥門(mén)接收到數(shù)據(jù)幀,執(zhí)行對(duì)應(yīng)的操作,并且保存閥門(mén)的狀態(tài)值,等待溫控 面板的讀取和集中器的讀??;
[0032] 步驟55 :閥門(mén)根據(jù)閥門(mén)的狀態(tài)值創(chuàng)建回復(fù)確認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器;
[0033] 步驟56 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)巾貞,判斷操作完成;
[0034] 當(dāng)執(zhí)行讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線任務(wù)時(shí),具體過(guò)程如下:
[0035] 步驟41 :閥門(mén)接收集中器的數(shù)據(jù),解析控制任務(wù),創(chuàng)建數(shù)據(jù)幀;
[0036] 步驟42 :溫控面板通過(guò)定時(shí)的方式和中斷的方式從閥門(mén)獲取數(shù)據(jù)幀,并解析得到 對(duì)應(yīng)的信息,讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線后,返回給閥門(mén);
[0037] 步驟43 :閥門(mén)利用溫控面板返回的室內(nèi)溫度或室內(nèi)溫度上下線設(shè)置結(jié)果,創(chuàng)建回 復(fù)確認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器;
[0038] 步驟44 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)巾貞,判斷操作完成;
[0039] 當(dāng)執(zhí)行讀取SD卡任務(wù)時(shí),集中器與SD卡進(jìn)行通信,具體過(guò)程如下:
[0040] 步驟71 :集中器以所述讀取SD卡任務(wù)指定的時(shí)間節(jié)點(diǎn)作為檢索名,查找SD卡中 的文件夾,并提取文件夾中的文件信息到全局變量中;
[0041] 步驟72 :集中器發(fā)送全局變量中保存的數(shù)據(jù)到上位機(jī);
[0042] 進(jìn)一步地,上位機(jī)解析收到的數(shù)據(jù),并且判斷正確性,如果正確,則保存;否則判斷 錯(cuò)誤的原因;
[0043] 當(dāng)執(zhí)行配置集中器參數(shù)任務(wù)時(shí),集中器對(duì)自身參數(shù)進(jìn)行配置,所述參數(shù)包括集中 器地址、時(shí)鐘時(shí)間、GPRS的IP地址及端口號(hào);當(dāng)執(zhí)行設(shè)置抄表時(shí)間任務(wù)時(shí),集中器設(shè)置抄表 時(shí)間;當(dāng)執(zhí)行遠(yuǎn)程升級(jí)任務(wù)時(shí),集中器對(duì)自身進(jìn)行升級(jí)。
[0044] 所述通信類(lèi)型包括zigbee通信類(lèi)型、485總線通信類(lèi)型、232總線通信類(lèi)型、MBUS 總線通信類(lèi)型和GPRS通信類(lèi)型,所述上位機(jī)與集中器之間采用zigbee和GPRS通信類(lèi)型, 集中器與熱量表之間采用485總線通信類(lèi)型或MBUS總線通信類(lèi)型,集中器與閥門(mén)之間采用 MBUS總線通信類(lèi)型,閥門(mén)與溫控面板之間采用485總線通信類(lèi)型。
[0045] 所述集中器將抄得的熱量表數(shù)據(jù)保存在SD卡中,并將該數(shù)據(jù)發(fā)給閥門(mén)存儲(chǔ),具體 過(guò)程如下:
[0046] 步驟342 :集中器輪詢(xún)每個(gè)通道并讀取每個(gè)通道下熱量表數(shù)據(jù),判斷是否接受到 熱量表回應(yīng)的數(shù)據(jù),如果熱量表沒(méi)有回應(yīng)數(shù)據(jù),則接受不到數(shù)據(jù),會(huì)把失敗的記錄存儲(chǔ),方 便以后查找日志,判斷錯(cuò)誤;如果接收到,則執(zhí)行下面的步驟;
[0047] 步驟343 :在SD卡中保存熱量表數(shù)據(jù),保存的形式是以128字節(jié)為偏移量;
[0048] 步驟344 :發(fā)送對(duì)應(yīng)的熱量表數(shù)據(jù)到閥門(mén),等待溫控面板的讀取。
[0049] 有益效果:
[0050] 本發(fā)明采用集中器分別與上層上位機(jī)和下層熱量表、閥門(mén)進(jìn)行通信,將集中器作 為中間橋梁,集中器根據(jù)上位機(jī)下發(fā)的各種指令執(zhí)行相應(yīng)的任務(wù),讀取熱量表數(shù)據(jù)、對(duì)閥門(mén) 實(shí)施控制、通過(guò)閥門(mén)與溫控面板通信設(shè)置室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線,整個(gè)系統(tǒng)通信 穩(wěn)定且實(shí)時(shí)性高,上位機(jī)可以很方便得到集中器收集的各種數(shù)據(jù),同時(shí)通過(guò)集中器也利于 對(duì)下層進(jìn)行控制,通過(guò)集中器可以減少服務(wù)器的壓力,提高穩(wěn)定性和形同的服務(wù)。
[0051] 本發(fā)明上位機(jī)與集中器之間采用zigbee和GPRS通信類(lèi)型,即采用無(wú)線傳輸,解決 了現(xiàn)場(chǎng)布線結(jié)構(gòu)復(fù)雜、成本高、不便擴(kuò)展和不便維護(hù)等一系列缺點(diǎn);集中器與熱量表之間采 用485總線通信類(lèi)型或MBUS總線通信類(lèi)型,并可以采用多路MBUS總線,且各路之間互不干 擾,很好地解決負(fù)載能力的問(wèn)題、短路保護(hù)功能,防止設(shè)備燒壞等。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0052] 圖1為本發(fā)明集中抄表系統(tǒng)的組成原理圖。
[0053] 圖2為本發(fā)明系統(tǒng)初始化的流程圖。
[0054] 圖3為本發(fā)明系統(tǒng)參數(shù)初始化的流程圖。
[0055] 圖4為本發(fā)明集中器與上位機(jī)通信的流程圖。
[0056] 圖5為本發(fā)明集中器與抄表控制模塊通訊的流程圖。
【具體實(shí)施方式】
[0057] 下面結(jié)合附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0058] 如附圖1所示,本發(fā)明提供了一種集中抄表系統(tǒng),該系統(tǒng)包括上位機(jī)、閥門(mén)、熱量 表、溫控面板、SD卡和集中器,其中,集中器分別與上位機(jī)、SD卡、閥門(mén)和熱量表,閥門(mén)和溫 控面板相連接,集中器設(shè)置在大樓的樓頂,閥門(mén)和熱量表設(shè)置在大樓的管道上,溫控面板設(shè) 置在大樓的用戶(hù)室內(nèi),溫控面板設(shè)有溫度傳感器;集中器通過(guò)閥門(mén)與溫控面板通信,溫控面 板通過(guò)定時(shí)的方式和中斷的方式,達(dá)到與閥門(mén)通信的目的,兩者服從主從關(guān)系。
[0059] 對(duì)整個(gè)系統(tǒng)初始化,包括系統(tǒng)初始化和系統(tǒng)參數(shù)初始化;
[0060] 步驟1 :如圖2所示,系統(tǒng)初始化的過(guò)程如下:
[0061] 步驟11 :采用LOG_QueueCreate()創(chuàng)建日志隊(duì)列,用于存儲(chǔ)相關(guān)運(yùn)行信息,并且同 時(shí)創(chuàng)建產(chǎn)生新日志的信號(hào)量。
[0062] 步驟12 :采用Createtasks_up ()分別創(chuàng)建數(shù)據(jù)發(fā)送任務(wù)TaskUpSend、數(shù)據(jù)解析 任務(wù)TaskUpAnalFr、倉(cāng)丨j建接收zigbee的任務(wù)TaskUpRecZigbee、接收485通訊模塊的任務(wù) TaskUpRecRS485、接收 232 總線的任務(wù) TaskUpRecRS232、接收 GPRS 的任務(wù) TaskUpRecGprs。
[0063] 步驟13 :采用CreateMboxs_up ()創(chuàng)建上行通信任務(wù)所需的信號(hào)量,消息郵箱,消 息隊(duì)列等,其中包括信號(hào)量CommTxPartSem,內(nèi)存塊CommTxBuffer,隊(duì)列UpSend_(^[I Str_Q。
[0064] 步驟14 :米用CreateTasks_Tasks ()創(chuàng)建四個(gè)管理任務(wù)分別為CreateTasksl ()、 CreateTasks2 ()、CreateTasks3 ()和 CreateTasks4 (),其中 CreateTasksl ()用于管理 5 個(gè) 串口、一個(gè)下行串口任務(wù)和串口指令;CreateTaskdO用于管理時(shí)鐘任務(wù)、抄表任務(wù)和日 志任務(wù);CreateTaskUO用于控制GPRS的登陸和連接,并且通過(guò)心跳檢測(cè)鏈路是否正常; CreateTaskMO用于創(chuàng)建按鍵和液晶任務(wù)。
[0065] 步驟15 :采用CreateMboxs_Tasks ()創(chuàng)建所有任務(wù)需要的信號(hào)量、消息郵箱和消 息隊(duì)列。
[0066] 步驟16 :采用CreateMutexs_Tasks ()創(chuàng)建互斥信號(hào)量。
[0067] 步驟17 :采用OSTaskCreateExt ()創(chuàng)建開(kāi)始運(yùn)行任務(wù),當(dāng)開(kāi)始運(yùn)行操作系統(tǒng)后,由 于程序上設(shè)置OSTaskCreateExt ()所創(chuàng)建的任務(wù)的優(yōu)先級(jí)最高,就會(huì)跳到其所創(chuàng)建的App_ TaskStart任務(wù),開(kāi)始對(duì)系統(tǒng)的參數(shù)初始化,并開(kāi)始運(yùn)行其他任務(wù)。
[0068] 步驟18 :采用OSStartO開(kāi)始運(yùn)行操作系統(tǒng)。
[0069] 步驟2 :由于大多數(shù)全局變量存放在SD卡中,所以程序啟動(dòng)后要重新獲取參數(shù)值, 因此程序在AppjaskStart任務(wù)中進(jìn)行全部參數(shù)的設(shè)置初始值,如圖3所示,系統(tǒng)參數(shù)初始 化過(guò)程如下:
[0070] 第1步:調(diào)用READ_ParaInit ()函數(shù)初始化timingpro. c文件中的全局變量抄表 完成標(biāo)志 gREAD_ReadCmplFlag 和抄表狀態(tài) gREAD_TimingState。
[0071] 第2步:調(diào)用PR0_InitGlobalVar()函數(shù)初始化上行接收最大數(shù)據(jù)幀字節(jié)gPR0_ ReceiveData[1024]和上行發(fā)送最大數(shù)據(jù)巾貞字節(jié)gPR0_SendData[1024]。
[0072] 第3步:初始化的參數(shù)包括集中器參數(shù)、表檔案信息、抄表時(shí)間節(jié)點(diǎn)信息和上行通 信參數(shù),其具體的流程步驟如下:
[0073] (1)讀取集中器基本參數(shù),判斷是否存儲(chǔ)過(guò),如果存儲(chǔ)過(guò),則初始化集中器基本參 數(shù),進(jìn)行步驟(2);如果沒(méi)有存儲(chǔ)過(guò),則賦初值給集中器基本參數(shù),進(jìn)行步驟(2)。
[0074] (2)讀取表檔案信息,判斷是否存儲(chǔ)過(guò),如果沒(méi)有存儲(chǔ)過(guò),則賦初值給表檔案信息, 進(jìn)行步驟(3);如果存儲(chǔ)過(guò),則初始化表檔案信息并按通道號(hào)讀取表信息,然后存儲(chǔ)到全局 變量中,進(jìn)行步驟(3)。
[0075] (3)讀取抄表時(shí)間節(jié)點(diǎn)信息,判斷是否存儲(chǔ)過(guò),如果存儲(chǔ)過(guò),則初始化抄表時(shí)間節(jié) 點(diǎn)信息,進(jìn)行步驟(4);如果沒(méi)有存儲(chǔ)過(guò),則賦初值給抄表時(shí)間節(jié)點(diǎn)信息,進(jìn)行步驟(4)。
[0076] (4)讀取上行通信參數(shù),判斷是否存儲(chǔ)過(guò),如果存儲(chǔ)過(guò),則初始化上行通信參數(shù),進(jìn) 行步驟(5);如果沒(méi)有存儲(chǔ)過(guò),則賦初值給上行通信參數(shù),進(jìn)行步驟(5)。
[0077] (5)調(diào)用 OS_CPU_SysTickInit (),提供時(shí)鐘節(jié)拍。
[0078] 上位機(jī)下發(fā)指令給集中器,兩者之間采用zigbee和GPRS通信類(lèi)型,如圖4所示具 體步驟如下:
[0079] 步驟21 :集中器的串口接收上位機(jī)發(fā)送的數(shù)據(jù);
[0080] 步驟22 :集中器判斷接收到的數(shù)據(jù)幀是否正確,如果錯(cuò)誤,則結(jié)束不執(zhí)行任何操 作;如果正確,則執(zhí)行下一步;
[0081] 步驟23 :集中器對(duì)接收到的數(shù)據(jù)幀進(jìn)行解析,得到上位機(jī)要求其執(zhí)行的任務(wù);
[0082] 步驟24 :集中器調(diào)用操作函數(shù),執(zhí)行相應(yīng)的任務(wù),主要任務(wù)包括配置集中器參數(shù)、 抄讀熱量表數(shù)據(jù)、閥門(mén)控制、讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線、讀取SD卡、設(shè)置抄表時(shí) 間和遠(yuǎn)程升級(jí);
[0083] 步驟25 :集中器創(chuàng)建回復(fù)的數(shù)據(jù)幀,將執(zhí)行任務(wù)獲得的數(shù)據(jù)填入數(shù)據(jù)幀;
[0084] 步驟26 :集中器通過(guò)消息隊(duì)列與集中器的上層管理任務(wù)通信,上層管理任務(wù)中存 儲(chǔ)每個(gè)任務(wù)對(duì)應(yīng)的通信類(lèi)型,所述通信類(lèi)型包括zigbee通信類(lèi)型、485通信類(lèi)型、232總線 通信類(lèi)型、MBUS總線通信類(lèi)型和GPRS通信類(lèi)型;
[0085] 步驟27 :集中器根據(jù)每個(gè)任務(wù)自身對(duì)應(yīng)的優(yōu)先級(jí)判斷通信類(lèi)型;
[0086] 步驟28 :集中器根據(jù)選定的通信類(lèi)型發(fā)送回復(fù)數(shù)據(jù)幀給上位機(jī),結(jié)束。
[0087] 當(dāng)執(zhí)行抄讀熱量表數(shù)據(jù)任務(wù)時(shí),集中器通過(guò)485總線或MBUS總線與熱量表進(jìn)行通 信,根據(jù)設(shè)置的抄表時(shí)間抄讀熱量表數(shù)據(jù),如圖5所示,具體步驟如下:
[0088] 步驟31 :集中器獲取當(dāng)前抄表時(shí)間節(jié)點(diǎn),在SD卡中建立文件夾用于存儲(chǔ)數(shù)據(jù),并 以時(shí)間節(jié)點(diǎn)為文件名,則時(shí)間節(jié)點(diǎn)作為查找數(shù)據(jù)的檢索名。
[0089] 步驟32 :判斷MBUS通道是否在1到7內(nèi),如果通道數(shù)大于7,則調(diào)用抄表結(jié)束日 志;如果在1到7內(nèi),則獲取本通道下的熱量表數(shù)目。
[0090] 步驟33 :讀取本通道下面的熱量表,具體過(guò)程如下:
[0091] 步驟331 :獲取熱表文件信息。
[0092] 步驟332 :判斷是否成功,如果失敗,則記錄失敗日志,然后讀取下一個(gè)通道的熱 量表;如果成功,則進(jìn)入下一步。
[0093] 步驟333 :獲取協(xié)議類(lèi)型,其中協(xié)議類(lèi)型包括五個(gè)廠家協(xié)議,以結(jié)構(gòu)體數(shù)組的形式 保存,程序上根據(jù)此次熱表文件信息中的協(xié)議類(lèi)型即可獲得。
[0094] 步驟334 :創(chuàng)建數(shù)據(jù)幀,該數(shù)據(jù)幀用于和熱量表的通信。
[0095] 步驟335 :通過(guò)消息隊(duì)列實(shí)現(xiàn)與下層管理任務(wù)的通信。
[0096] 步驟336 :調(diào)用串口 2發(fā)送數(shù)據(jù)幀給熱量表。
[0097] 步驟337 :判斷接收數(shù)據(jù)是否正確,如果正確,則存儲(chǔ)數(shù)據(jù),并且把數(shù)據(jù)發(fā)送給對(duì) 應(yīng)的閥門(mén)控制模塊,等待溫度控制模塊的讀取,并將正確的數(shù)據(jù)個(gè)數(shù)在液晶屏幕上顯示;如 果失敗,則記錄失敗原因,開(kāi)始讀取下一個(gè)通道的熱量表的數(shù)據(jù)。
[0098] 步驟34 :判斷本通道的所有熱量表數(shù)據(jù)是否讀取成功,如果成功,則保存本通道 的所有熱量表數(shù)據(jù)到所建立的文件夾中,并將熱量表數(shù)據(jù)發(fā)送給對(duì)應(yīng)的閥門(mén)存儲(chǔ),等待溫 控面板以定時(shí)或中斷的方式讀取并顯示在液晶顯示屏上;如果失敗,則記錄失敗信息,并返 回到步驟32,開(kāi)始讀取下一個(gè)通道的熱量表。
[0099] 當(dāng)執(zhí)行閥門(mén)控制任務(wù)時(shí),集中器通過(guò)MBUS總線與閥門(mén)通信,并且對(duì)閥門(mén)實(shí)施相應(yīng) 操作,閥門(mén)狀態(tài)包括全開(kāi)、3/4開(kāi)、2/4開(kāi)、1/4開(kāi)和全關(guān),具體過(guò)程如下:
[0100] 步驟51 :集中器解析閥門(mén)控制任務(wù),判斷執(zhí)行的操作;
[0101] 步驟52 :查找被控閥門(mén)對(duì)應(yīng)的文件信息,根據(jù)文件信息中記載的閥門(mén)地址,創(chuàng)建 控制閥門(mén)的數(shù)據(jù)幀,其中文本信息存儲(chǔ)每家用戶(hù)的熱量表、閥門(mén)和溫控面板地址;
[0102] 步驟53 :通過(guò)集中器的串口,發(fā)送數(shù)據(jù)幀給閥門(mén);
[0103] 此處需要說(shuō)明的是:系統(tǒng)設(shè)計(jì)的MBUS通道有6路,每一路可以帶的負(fù)載有200個(gè) 計(jì)量設(shè)備,因此總共可以掛載1200塊,但是有一個(gè)問(wèn)題是,不能同時(shí)打開(kāi)6路,否則其負(fù)載 能力會(huì)降低,通過(guò)這樣的設(shè)計(jì),完全可以達(dá)到實(shí)際現(xiàn)場(chǎng)的需求。
[0104] 步驟54 :閥門(mén)接收到數(shù)據(jù)幀,執(zhí)行對(duì)應(yīng)的操作,并且保存閥門(mén)的狀態(tài)值,等待溫控 面板的讀取和集中器的讀?。?br>
[0105] 步驟55 :閥門(mén)根據(jù)閥門(mén)的狀態(tài)值創(chuàng)建回復(fù)確認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器;
[0106] 步驟56 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)幀,判斷操作完成。
[0107] 當(dāng)執(zhí)行讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線任務(wù)時(shí),具體過(guò)程如下:
[0108] 步驟41 :閥門(mén)接收集中器的數(shù)據(jù),解析控制任務(wù),創(chuàng)建數(shù)據(jù)幀;
[0109] 步驟42 :溫控面板通過(guò)定時(shí)的方式和中斷的方式從閥門(mén)獲取數(shù)據(jù)幀,并解析得到 對(duì)應(yīng)的信息,讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線后,返回給閥門(mén);
[0110] 步驟43 :閥門(mén)利用溫控面板返回的室內(nèi)溫度或室內(nèi)溫度上下線設(shè)置結(jié)果,創(chuàng)建回 復(fù)確認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器;
[0111] 步驟56 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)幀,判斷操作完成;
[0112] 當(dāng)執(zhí)行讀取SD卡任務(wù)時(shí),集中器與SD卡進(jìn)行通信,具體過(guò)程如下:
[0113] 步驟71 :集中器以所述讀取SD卡任務(wù)指定的時(shí)間節(jié)點(diǎn)作為檢索名,查找SD卡中 的文件夾,并提取文件夾中的文件信息到全局變量中;
[0114] 步驟72 :集中器發(fā)送全局變量中保存的數(shù)據(jù)到上位機(jī);
[0115] 進(jìn)一步地,上位機(jī)解析收到的數(shù)據(jù),并且判斷正確性,如果正確,則保存;否則判斷 錯(cuò)誤的原因;
[0116] 當(dāng)執(zhí)行配置集中器參數(shù)任務(wù)時(shí),集中器對(duì)自身參數(shù)進(jìn)行配置,所述參數(shù)包括集中 器地址、時(shí)鐘時(shí)間、GPRS的IP地址及端口號(hào);當(dāng)執(zhí)行設(shè)置抄表時(shí)間任務(wù)時(shí),集中器設(shè)置抄表 時(shí)間;當(dāng)執(zhí)行遠(yuǎn)程升級(jí)任務(wù)時(shí),集中器對(duì)自身進(jìn)行升級(jí)。
[0117] 綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種集中抄表系統(tǒng),其特征在于,該系統(tǒng)包括上位機(jī)、閥門(mén)、熱量表、溫控面板、SD卡 和集中器,其中,集中器分別與上位機(jī)、SD卡、閥門(mén)和熱量表,閥門(mén)和溫控面板相連接,集中 器設(shè)置在大樓的樓頂,閥門(mén)和熱量表設(shè)置在大樓的管道上,溫控面板設(shè)置在大樓的用戶(hù)室 內(nèi),溫控面板設(shè)有溫度傳感器;集中器通過(guò)閥門(mén)與溫控面板通信,溫控面板通過(guò)定時(shí)的方式 和中斷的方式,達(dá)到與閥門(mén)通信的目的,兩者服從主從關(guān)系; 上位機(jī)下發(fā)指令給集中器,具體步驟如下: 步驟21 :集中器的串口接收上位機(jī)發(fā)送的數(shù)據(jù); 步驟22 :集中器判斷接收到的數(shù)據(jù)幀是否正確,如果錯(cuò)誤,則結(jié)束不執(zhí)行任何操作;如 果正確,則執(zhí)行下一步; 步驟23 :集中器對(duì)接收到的數(shù)據(jù)幀進(jìn)行解析,得到上位機(jī)要求其執(zhí)行的任務(wù); 步驟24 :集中器調(diào)用操作函數(shù),執(zhí)行相應(yīng)的任務(wù),主要任務(wù)包括配置集中器參數(shù)、抄讀 熱量表數(shù)據(jù)、閥門(mén)控制、讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線、讀取SD卡、設(shè)置抄表時(shí)間和 遠(yuǎn)程升級(jí); 步驟25 :集中器創(chuàng)建回復(fù)的數(shù)據(jù)幀,將執(zhí)行任務(wù)獲得的數(shù)據(jù)填入數(shù)據(jù)幀; 步驟26 :集中器通過(guò)消息隊(duì)列與集中器的上層管理任務(wù)通信,上層管理任務(wù)中存儲(chǔ)每 個(gè)任務(wù)對(duì)應(yīng)的通信類(lèi)型; 步驟27 :集中器根據(jù)每個(gè)任務(wù)自身對(duì)應(yīng)的優(yōu)先級(jí)判斷通信類(lèi)型; 步驟28 :集中器根據(jù)選定的通信類(lèi)型發(fā)送回復(fù)數(shù)據(jù)幀給上位機(jī),結(jié)束; 當(dāng)執(zhí)行抄讀熱量表數(shù)據(jù)任務(wù)時(shí),集中器與熱量表進(jìn)行通訊,根據(jù)設(shè)置的抄表時(shí)間抄讀 熱量表數(shù)據(jù),具體步驟如下: 步驟31 :集中器獲取當(dāng)前抄表時(shí)間節(jié)點(diǎn),在SD卡中建立文件夾用于存儲(chǔ)數(shù)據(jù),并以時(shí) 間節(jié)點(diǎn)為文件名,則時(shí)間節(jié)點(diǎn)作為查找數(shù)據(jù)的檢索名; 步驟32 :輪詢(xún)每個(gè)通道并讀取每個(gè)通道下熱量表數(shù)據(jù),直到所有熱量表數(shù)據(jù)均讀取 完,將所有熱量表數(shù)據(jù)保存到所建立的文件夾中,并將熱量表數(shù)據(jù)發(fā)送給對(duì)應(yīng)的閥門(mén)存儲(chǔ), 等待溫控面板以定時(shí)或中斷的方式讀取并顯示在液晶顯示屏上; 當(dāng)執(zhí)行閥門(mén)控制任務(wù)時(shí),集中器與閥門(mén)通信,并且對(duì)閥門(mén)實(shí)施相應(yīng)操作,閥門(mén)狀態(tài)包括 全開(kāi)、3/4開(kāi)、2/4開(kāi)、1/4開(kāi)和全關(guān),具體過(guò)程如下: 步驟51 :集中器解析閥門(mén)控制任務(wù),判斷執(zhí)行的操作; 步驟52 :查找被控閥門(mén)對(duì)應(yīng)的文件信息,根據(jù)文件信息中記載的閥門(mén)地址,創(chuàng)建控制 閥門(mén)的數(shù)據(jù)幀; 步驟53 :通過(guò)集中器的串口,發(fā)送數(shù)據(jù)幀給閥門(mén); 步驟54 :閥門(mén)接收到數(shù)據(jù)幀,執(zhí)行對(duì)應(yīng)的操作,并且保存閥門(mén)的狀態(tài)值,等待溫控面板 的讀取和集中器的讀取; 步驟55 :閥門(mén)根據(jù)閥門(mén)的狀態(tài)值創(chuàng)建回復(fù)確認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器; 步驟56 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)幀,判斷操作完成; 當(dāng)執(zhí)行讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線任務(wù)時(shí),具體過(guò)程如下: 步驟41 :閥門(mén)接收集中器的數(shù)據(jù),解析控制任務(wù),創(chuàng)建數(shù)據(jù)幀; 步驟42 :溫控面板通過(guò)定時(shí)的方式和中斷的方式從閥門(mén)獲取數(shù)據(jù)幀,并解析得到對(duì)應(yīng) 的信息,讀取室內(nèi)溫度或設(shè)置室內(nèi)溫度上下線后,返回給閥門(mén); 步驟43 :閥門(mén)利用溫控面板返回的室內(nèi)溫度或室內(nèi)溫度上下線設(shè)置結(jié)果,創(chuàng)建回復(fù)確 認(rèn)的數(shù)據(jù)幀,并且發(fā)送給集中器; 步驟44 :集中器接收到閥門(mén)確認(rèn)的數(shù)據(jù)幀,判斷操作完成; 當(dāng)執(zhí)行讀取SD卡任務(wù)時(shí),集中器與SD卡進(jìn)行通信,具體過(guò)程如下: 步驟71 :集中器以所述讀取SD卡任務(wù)指定的時(shí)間節(jié)點(diǎn)作為檢索名,查找SD卡中的文 件夾,并提取文件夾中的文件信息到全局變量中; 步驟72 :集中器發(fā)送全局變量中保存的數(shù)據(jù)到上位機(jī); 進(jìn)一步地,上位機(jī)解析收到的數(shù)據(jù),并且判斷正確性,如果正確,則保存;否則判斷錯(cuò)誤 的原因; 當(dāng)執(zhí)行配置集中器參數(shù)任務(wù)時(shí),集中器對(duì)自身參數(shù)進(jìn)行配置,所述參數(shù)包括集中器地 址、時(shí)鐘時(shí)間、GPRS的IP地址及端口號(hào);當(dāng)執(zhí)行設(shè)置抄表時(shí)間任務(wù)時(shí),集中器設(shè)置抄表時(shí) 間;當(dāng)執(zhí)行遠(yuǎn)程升級(jí)任務(wù)時(shí),集中器對(duì)自身進(jìn)行升級(jí)。
2. 如權(quán)利要求1所述的集中抄表系統(tǒng),其特征在于,所述通信類(lèi)型包括zigbee通信類(lèi) 型、485總線通信類(lèi)型、232總線通信類(lèi)型、MBUS總線通信類(lèi)型和GPRS通信類(lèi)型,所述上位 機(jī)與集中器之間采用zigbee和GPRS通信類(lèi)型,集中器與熱量表之間采用485總線通信類(lèi) 型或MBUS總線通信類(lèi)型,集中器與閥門(mén)之間采用MBUS總線通信類(lèi)型,閥門(mén)與溫控面板之間 采用485總線通信類(lèi)型。
3. 如權(quán)利要求1所述的集中抄表系統(tǒng),其特征在于,所述集中器將抄得的熱量表數(shù)據(jù) 保存在SD卡中,并將該數(shù)據(jù)發(fā)給閥門(mén)存儲(chǔ),具體過(guò)程如下: 步驟342 :集中器輪詢(xún)每個(gè)通道并讀取每個(gè)通道下熱量表數(shù)據(jù),判斷是否接受到熱量 表回應(yīng)的數(shù)據(jù),如果熱量表沒(méi)有回應(yīng)數(shù)據(jù),則接受不到數(shù)據(jù),會(huì)把失敗的記錄存儲(chǔ),方便以 后查找日志,判斷錯(cuò)誤;如果接收到,則執(zhí)行下面的步驟; 步驟343 :在SD卡中保存熱量表數(shù)據(jù),保存的形式是以128字節(jié)為偏移量; 步驟344 :發(fā)送對(duì)應(yīng)的熱量表數(shù)據(jù)到閥門(mén),等待溫控面板的讀取。
【文檔編號(hào)】G08C19/00GK104064007SQ201410248053
【公開(kāi)日】2014年9月24日 申請(qǐng)日期:2014年6月5日 優(yōu)先權(quán)日:2014年6月5日
【發(fā)明者】董偉, 王世程, 勾江濤, 劉磊 申請(qǐng)人:中國(guó)航天科技集團(tuán)公司第五研究院第五一三研究所, 山東省德魯計(jì)量科技有限公司