專利名稱:通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及監(jiān)控系統(tǒng)的控制軟件,尤其是一種后端機(jī)的控制系統(tǒng)。
技術(shù)背景隨著信息社會的不斷發(fā)展,監(jiān)控系統(tǒng)也越來越受到廠家的歡迎。 現(xiàn)有的監(jiān)控系統(tǒng)技術(shù)中,后端機(jī)、前端機(jī)以及采集端的可擴(kuò)展性差。前端機(jī)設(shè)備和后端機(jī)設(shè)備均采用硬件設(shè)備來實現(xiàn),成本高,硬PLC當(dāng) 企業(yè)的生產(chǎn)規(guī)模擴(kuò)大需要提高包裝能力時,只能采用更大容量的硬 PLC控制系統(tǒng),這樣原有的硬PLC相應(yīng)報廢,勢必造成大量浪費。 發(fā)明內(nèi)容為了克服已有的監(jiān)控系統(tǒng)的采集端的可擴(kuò)展性差、成本高、提高 包裝能力時浪費資源的不足,本發(fā)明提供一種可擴(kuò)展性好、降低成本、 提高包裝能力時避免浪費的通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng)。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng),所述后端機(jī)接收服務(wù)器的 運行參數(shù),再將相應(yīng)的參數(shù)送給每個采集端;前端機(jī)監(jiān)測采集端的運 行狀態(tài),并將狀態(tài)參數(shù)上傳給所述后端機(jī);如果后端機(jī)內(nèi)部FLASH沒有配置信息,等待來自RS232/RS485的配 置命令;后端機(jī)得到正確配置后,應(yīng)答ACK信號;接收到錯誤配置 后,應(yīng)答NAK信號;如果后端機(jī)內(nèi)部FLASH有配置信息,則每次啟動后的預(yù)設(shè)時間內(nèi)等 待重新配置命令,超過預(yù)設(shè)時間后,按照內(nèi)部的配置信息工作;后端機(jī)內(nèi)部FLASH的配置內(nèi)容規(guī)定為配置參數(shù)版本號、線路編號、 告警電話號碼、前端機(jī)個數(shù)、前端機(jī)編號1、撥打此前端機(jī)的電話號
碼,…,前端機(jī)編號n以及撥打此前端機(jī)的電話號碼; 數(shù)據(jù)的傳輸通過RS485半雙工,多機(jī)通信方式,主控器作為主機(jī),后 端機(jī)作為從機(jī);每一幀報發(fā)送完畢后等待接收端應(yīng)答ACK/NAK,如 果ACK,則發(fā)送報文成功;如果NAK,則重發(fā);發(fā)送完畢后發(fā)送端 重新處于多機(jī)通信方式;
由主控器主動發(fā)起通信,后端機(jī)作應(yīng)答,采用一問一答的方式; 數(shù)據(jù)傳輸幀包括命令編號、線路編號、前端機(jī)編號、采集端個數(shù)以及 內(nèi)容;
當(dāng)正常數(shù)據(jù)査詢時,監(jiān)控中心向后端機(jī)發(fā)送數(shù)據(jù)采集幀,當(dāng)采集某一 線路、某一前端機(jī)下的單個采集端時,則指定有效的線路編號、前端 機(jī)編號、采集端個數(shù)以及在內(nèi)容中有效的采集端地址;當(dāng)采集某一線 路、某一前端機(jī)下的所有采集端時,則指定有效的線路編號、前端機(jī) 編號,采集端個數(shù)和內(nèi)容為廣播地址;當(dāng)采集某一線路下、所有的前端 機(jī)下的所有采集端時,則指定有效的線路編號,前端機(jī)編號、采集端 個數(shù)、內(nèi)容均為廣播地址;當(dāng)采集所有設(shè)備的數(shù)據(jù)時,則線路編號、 前端機(jī)編號、采集端個數(shù)和內(nèi)容;后端機(jī)返回一幀,內(nèi)容為各個采集 端的數(shù)據(jù)信息報,包括采集端地址、輸入數(shù)字開光量告警標(biāo)志、8個 輸入數(shù)字開關(guān)量、8個輸出數(shù)字控制量、模擬量告警標(biāo)志、模擬量有 效個數(shù)以及各個模擬量值;
當(dāng)設(shè)置采集端輸出數(shù)字開關(guān)量時,控制中心向后端機(jī)發(fā)送參數(shù)配置幀, 內(nèi)容為采集端地址、輸出數(shù)字開關(guān)量有效位、置1寄存器和置0寄存器,并保存到釆集端;后端機(jī)向監(jiān)控中心返回的幀,內(nèi)容為采集端 地址以及成功或者失敗的標(biāo)識;當(dāng)設(shè)置前端機(jī)告警電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀, 內(nèi)容為4個告警電話號碼;后端機(jī)返回一個幀,內(nèi)容為成功或者失敗標(biāo)識;當(dāng)設(shè)置采集端告警參數(shù)上下值時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀, 內(nèi)容為采集端地址、模擬量有效個數(shù)以及各個模擬量的上下值;后端 機(jī)向監(jiān)控中心返回幀,內(nèi)容為采集端地址以及成功或者失敗的標(biāo)識; 當(dāng)進(jìn)行數(shù)據(jù)告警時,監(jiān)控中心向后端機(jī)發(fā)送告警幀,后端機(jī)向監(jiān)控中 心返回幀,內(nèi)容包括采集端地址以及成功或者失敗標(biāo)識; 當(dāng)設(shè)置前端機(jī)電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容 為前端機(jī)電話號碼,后端機(jī)返回監(jiān)控中心一幀,內(nèi)容為失敗、成功或 者請求標(biāo)識;當(dāng)撥打維修人員電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi) 容為電話號碼個數(shù)以及各個維修人員電話號碼;后端機(jī)返回監(jiān)控中心 一幀,內(nèi)容為成功或者失敗標(biāo)識;當(dāng)設(shè)置采集端輸入開關(guān)狀態(tài)量時,監(jiān)控中心向后端機(jī)發(fā)送幀,內(nèi)容為 采集端地址、輸入數(shù)字開關(guān)量有效端口位以及輸入數(shù)字開關(guān)量正常值; 后端機(jī)向監(jiān)控中心返回幀,內(nèi)容為采集端地址以及成功或者失敗標(biāo)識; 設(shè)置采集端全部參數(shù)配置時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi) 容為配置參數(shù)版本號、線路編號、前端機(jī)編號、采集端地址、輸入數(shù) 字開關(guān)量狀態(tài)正常值、輸入數(shù)字開關(guān)量有效位、輸出數(shù)字開關(guān)量狀態(tài) 正常值、輸出數(shù)字開關(guān)量有效位、模擬量端口有效個數(shù)以及各個模擬量告警上下限值;后端機(jī)向監(jiān)控中心返回幀,內(nèi)容位采集端地址以及成功或者失敗標(biāo)識。本發(fā)明的技術(shù)構(gòu)思為利用電信電話網(wǎng)絡(luò)資源的廣泛性而開發(fā)的一個基于有線電話網(wǎng)絡(luò)通用監(jiān)控系統(tǒng)。項目的采集端有很好的可擴(kuò)展性,并且設(shè)備之間通過嵌入式軟件來實現(xiàn)。針對當(dāng)前沒有公共標(biāo)準(zhǔn)的情況下,設(shè)計了魯棒和穩(wěn)定的網(wǎng)管平臺與前端機(jī)設(shè)備及后端機(jī)設(shè)備通信協(xié)議,特別是告警控制系統(tǒng)可靠性非常高,能對付強(qiáng)干擾的能力。本系統(tǒng)具有齊全的功能模塊包括用戶管理模塊,數(shù)據(jù)庫管理模塊,參數(shù)設(shè)置模塊,參數(shù)查詢模塊,告警處理模塊,數(shù)據(jù)編碼處理模塊等;完善的管理功能拓?fù)涔芾砼c網(wǎng)絡(luò)監(jiān)控、配置管理與配置統(tǒng)計分析、告警監(jiān)控及故障管理、報表管理與自定義報表、操作管理、定時輪巡、系統(tǒng)自身管理、安全管理等。后端機(jī)是整個包裝生產(chǎn)線的核心部分。后端機(jī)接收服務(wù)器的運行 參數(shù),再將相應(yīng)的參數(shù)送給每個采集端。另一方面,前端機(jī)也監(jiān)測采 集端的運行狀態(tài),并將狀態(tài)參數(shù)上傳給后端機(jī)。運行過程中,后端機(jī) 根據(jù)執(zhí)行部件的檢測結(jié)果,按照一定的時序控制指令發(fā)給采集端,從 而使得整個控制系統(tǒng)協(xié)調(diào)運行。本發(fā)明的有益效果主要表現(xiàn)在可擴(kuò)展性好、降低成本、提高包裝能力時避免浪費。
圖1為本發(fā)明的初始化任務(wù)流程圖。圖2為本發(fā)明的時鐘任務(wù)流程圖。圖3為本發(fā)明的與前端機(jī)通信任務(wù)流程圖。圖4為本發(fā)明的與后端機(jī)通信任務(wù)流程圖。圖5為本發(fā)明的串口中斷子函數(shù)。 圖6為本發(fā)明的字節(jié)發(fā)送函數(shù)。 圖7為本發(fā)明的字節(jié)接收函數(shù)。圖8為本發(fā)明的RS485總線搶斷子函數(shù)。 圖9為本發(fā)明的接收數(shù)據(jù)狀態(tài)轉(zhuǎn)換圖。 圖10為本發(fā)明的RS485發(fā)送數(shù)據(jù)包函數(shù)。 圖11為本發(fā)明的摘掛機(jī)模式示意圖。 圖12為本發(fā)明的電話模塊初始化函數(shù)示意圖。 圖13為本發(fā)明的振鈴檢測中斷函數(shù)示意圖。 圖14為本發(fā)明的中斷讀取DTMF函數(shù)示意圖。 圖15為本發(fā)明的發(fā)送DTMF信號函數(shù)示意圖。 圖16為本發(fā)明的發(fā)送與接收DTMF字節(jié)函數(shù)示意圖。 圖17為本發(fā)明的DTMF撥號函數(shù)示意圖。 圖18為本發(fā)明的DTMF報文通信發(fā)送函數(shù)示意圖。 圖19為本發(fā)明的DTMF通信接收函數(shù)示意圖 圖20為本發(fā)明的配置文件的讀取子函數(shù)。 圖21為本發(fā)明的RS485收發(fā)切換函數(shù)。 圖22為本發(fā)明的査看配置文件的正確性。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。參照圖1 圖22, 一種通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng),后端機(jī) 是整個包裝生產(chǎn)線的核心部分。后端機(jī)接收服務(wù)器的運行參數(shù),再將 相應(yīng)的參數(shù)送給每個采集端。另一方面,前端機(jī)也監(jiān)測采集端的運行 狀態(tài),并將狀態(tài)參數(shù)上傳給后端機(jī)。運行過程中,后端機(jī)根據(jù)執(zhí)行部件的檢測結(jié)果,按照一定的時序控制指令發(fā)給采集端,從而使得整個控制系統(tǒng)協(xié)調(diào)運行。如果后端機(jī)內(nèi)部FLASH沒有配置信息,則一直等待來自RS232/RS485的配置命令。規(guī)定在參數(shù)配置和與采集端通信時串口的 方式不同。參數(shù)配置時為"57600bps,N,8, 1",與后端機(jī)通信時為多機(jī) 通信方式,"57600bps,M/S,9, 1"。配置命令為"10, 02,長度(1字 節(jié)),0C (命令),配置內(nèi)容,CRC, 10, 03"。后端機(jī)得到正確配置后, 應(yīng)答ACK信號;接收到錯誤配置后,應(yīng)答NAK信號;超時為5s。正確 配置后,復(fù)位重啟。如果后端機(jī)內(nèi)部FLASH有配置信息,則每次啟動后的10s的時間 內(nèi)等待重新配置命令。超過10s之后,按照內(nèi)部的配置信息工作。如果后端機(jī)正常工作,也可以通過主控器來配置,此時按照通信 協(xié)議來處理。后端機(jī)內(nèi)部FLASH的配置內(nèi)容規(guī)定為配置參數(shù)版本號(2字節(jié)、 保留)、線路編號(l字節(jié))、告警電話號碼(4X4字節(jié))、前端機(jī)個數(shù) (l字節(jié))、前端機(jī)編號l (l字節(jié))、撥打此前端機(jī)的電話號碼(4字 節(jié)),…,前端機(jī)編號n(l字節(jié))、撥打此前端機(jī)的電話號碼(4字節(jié))。數(shù)字開關(guān)量采集端的開關(guān)狀態(tài)(如設(shè)備的電壓告警),包括輸入 數(shù)字開關(guān)量和輸出數(shù)字開關(guān)量。數(shù)字開關(guān)量的告警,由采集端來判斷,前端機(jī)來發(fā)送。模擬量采集端對設(shè)備的某些模擬量進(jìn)行采集和模數(shù)轉(zhuǎn)換,范圍為0x00 0xFF。采集端判別模擬量是否在合理的范圍內(nèi), 告警由前端機(jī)來發(fā)送。成功的標(biāo)識為0x01;失敗的標(biāo)識為OxFF;請求 的標(biāo)識為0x55。約定PC機(jī)和采集端雙方都清楚知道采集端的數(shù)字開關(guān)量、模擬量的個數(shù),以及每個量與實際物理含義的對應(yīng)關(guān)系。每個采集端的地 址由線路編號+前端機(jī)編號+采集端地址來唯一確定。開關(guān)量的排列順序KG7…KG0 (—個字節(jié)表示);模擬量的排列順序AnO…An7。每個 模擬量用一個字節(jié)表示。線路編號、前端機(jī)編號、采集端地址編號均 為1 32, OxFF為廣播地址。數(shù)據(jù)的傳輸通過RS485半雙工,多機(jī)通信方式。主控器作為主機(jī), 后端機(jī)作為從機(jī)。每一幀報文,首字節(jié)是從機(jī)地址(SM2二1, TB8=1), 然后是報文內(nèi)容(SM2=0, TB8=0),發(fā)送完畢后等待接收端應(yīng)答 ACK/NAK。如果ACK,則發(fā)送報文成功;如果NAK,則重發(fā),重發(fā)最多 3次;如果在0.5s內(nèi)沒有收到應(yīng)答,則發(fā)送失敗,不重發(fā)。發(fā)送完畢 后發(fā)送端重新處于多機(jī)通信方式。發(fā)送成功后,則等待接收端的應(yīng)答, 等待時間最長為0. 5s。 RS485半雙工從發(fā)送狀態(tài)切換到接收狀態(tài)時間 為0 (幾個機(jī)器周期),從接收狀態(tài)切換到發(fā)送狀態(tài)時間最長為0. ls, 以保證正確接收。由主控器主動發(fā)起通信,從機(jī)作應(yīng)答,采用一問一答的方式。數(shù) 據(jù)傳輸鏈路建立協(xié)議數(shù)據(jù)幀起始標(biāo)志占用2個字節(jié),為0x1002;結(jié) 束標(biāo)志占用2個字節(jié),為0x1003;插入字節(jié)為0xl0;單幀為0,多幀 為1;幀類型占用4bit:①1000為告警數(shù)據(jù)幀;②0100為數(shù)據(jù)采集幀; ③0010為參數(shù)配置幀。如果一幀數(shù)據(jù)中DLE+STX與DLE+ETX之間出現(xiàn) DLE,則用DLE+DLE代替,以解決DLE沖突。通信幀的校驗采用校驗 碼=(^100 -除起始標(biāo)志和結(jié)束標(biāo)志的累加和(校驗碼+數(shù)據(jù)的累加和 =0)的形式。數(shù)據(jù)傳輸幀包括命令編號、線路編號、前端機(jī)編號、采集端個數(shù) 以及內(nèi)容。如果PC機(jī)發(fā)送的命令是無效的,則返回幀中的"內(nèi)容"為"失敗"。當(dāng)正常數(shù)據(jù)査詢時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為0x01的數(shù) 據(jù)采集幀。線路編號、前端機(jī)編號、采集端個數(shù)和采集端地址的取值范圍為1 32,廣播地址為0xFF。當(dāng)采集某一線路、某一前端機(jī)下的單個采集端時,則指定有效的線路編號、前端機(jī)編號、采集端個數(shù)為0x01以及在內(nèi)容中有效的采集端地址;當(dāng)采集某一線路、某一前端機(jī)下的所有采集端時,則指定有效的線路編號、前端機(jī)編號,采集端個數(shù)和內(nèi)容為廣播地址;當(dāng)采集某一線路下、所有的前端機(jī)下的所有采集端時,則指定有效的線路編號,前端機(jī)編號、采集端個數(shù)、內(nèi)容均為廣播地址;當(dāng)采集所有設(shè)備的數(shù)據(jù)時,則線路編號、前端機(jī)編號、采 集端個數(shù)和內(nèi)容,全部為0xFF。其它的數(shù)據(jù)組合為無效。內(nèi)容采集 端地址或廣播地址。后端機(jī)返回一命令編號位0x81的幀,內(nèi)容為各個 采集端的數(shù)據(jù)信息報,包括采集端地址、輸入數(shù)字開光量告警標(biāo)志、8 個輸入數(shù)字開關(guān)量、8個輸出數(shù)字控制量、模擬量告警標(biāo)志、模擬量 有效個數(shù)以及各個模擬量值。此幀返回的是某一線路+某一前端機(jī)下 的所有(或者單個)采集端的數(shù)據(jù),"采集端個數(shù)"返回的是該前端機(jī) 下的實際采集端個數(shù)。對于廣播地址,則要拆分成多幀。例如,如果 PC機(jī)命令為采集某一線路下的所有采集端的數(shù)據(jù),則返回的幀數(shù)等于 該線路下前端機(jī)的個數(shù),每一個前端機(jī)返回一幀。當(dāng)設(shè)置采集端輸出數(shù)字開關(guān)量時,控制中心向后端機(jī)發(fā)送命令編 號為0x02的參數(shù)配置幀,內(nèi)容為采集端地址、輸出數(shù)字開關(guān)量有效 位、置1寄存器和置0寄存器,并保存到采集端。后端機(jī)向監(jiān)控中心 返回命令編號為0x82的幀,內(nèi)容為采集端地址以及成功或者失敗的標(biāo) 識。當(dāng)設(shè)置前端機(jī)告警電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送命令編號 為0x03的參數(shù)配置幀,內(nèi)容為4個告警電話號碼。后端機(jī)返回一個命令編號為0x83的幀,內(nèi)容為成功或者失敗標(biāo)識。當(dāng)設(shè)置采集端告警參數(shù)上下值時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為0x04的參數(shù)配置幀,內(nèi)容為采集端地址、模擬量有效個數(shù)以及各 個模擬量的上下值。后端機(jī)向監(jiān)控中心返回命令編號為0x84的幀,內(nèi) 容為采集端地址以及成功或者失敗的標(biāo)識。當(dāng)進(jìn)行數(shù)據(jù)告警時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為0x85的告 警幀,告警類型為前端機(jī)故障標(biāo)識為OxOl,采集端丟失標(biāo)識為0x02, 采集端新增標(biāo)識為0x04,采集端數(shù)據(jù)告警標(biāo)識為0x08,采集端故障標(biāo) 識為OxlO。對告警類型l的說明如果前端機(jī)出現(xiàn)故障,則PC機(jī)向 該前端機(jī)發(fā)送任何命令報文,前端機(jī)均沒有反應(yīng),則由PC機(jī)來判斷前 端機(jī)出現(xiàn)故障。對于0x08與0x04,報警內(nèi)容為采集端地址,告警類 型,開關(guān)量告警標(biāo)識,8個開關(guān)量,8個控制量,模擬量有效個數(shù),模 擬兩告警標(biāo)識,各個模擬量值以及告警線路地址。對于其他類型內(nèi)容 為采集端地址,告警類型,采集端地址以及告警線路地址。后端機(jī)向 監(jiān)控中心返回命令編號為0x05的幀,內(nèi)容包括采集端地址以及成功或 者失敗標(biāo)識。當(dāng)設(shè)置前端機(jī)電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為 0x06的參數(shù)配置幀,內(nèi)容為前端機(jī)電話號碼,后端機(jī)返回監(jiān)控中心一 命令編號為0x86的幀,內(nèi)容為失敗、成功或者請求標(biāo)識。當(dāng)撥打維修人員電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為 0x07的參數(shù)配置幀,內(nèi)容為電話號碼個數(shù)以及各個維修人員電話號 碼。后端機(jī)返回監(jiān)控中心一命令編號為0x87的幀,內(nèi)容為成功或者失敗標(biāo)識。當(dāng)設(shè)置采集端輸入開關(guān)狀態(tài)量時,監(jiān)控中心向后端機(jī)發(fā)送命令編 號為0x09的幀,內(nèi)容為采集端地址、輸入數(shù)字開關(guān)量有效端口位以及輸入數(shù)字開關(guān)量正常值。后端機(jī)向監(jiān)控中心返回命令編號為0x89的幀,內(nèi)容為采集端地址以及成功或者失敗標(biāo)識。設(shè)置采集端全部參數(shù)配置時,監(jiān)控中心向后端機(jī)發(fā)送命令編號為OxOa的參數(shù)配置幀,內(nèi)容為配置參數(shù)版本號、線路編號、前端機(jī)編號、 采集端地址、輸入數(shù)字開關(guān)量狀態(tài)正常值、輸入數(shù)字開關(guān)量有效位、 輸出數(shù)字開關(guān)量狀態(tài)正常值、輸出數(shù)字開關(guān)量有效位、模擬量端口有 效個數(shù)以及各個模擬量告警上下限值。后端機(jī)向監(jiān)控中心返回命令編 號位0x8A的幀,內(nèi)容位采集端地址以及成功或者失敗標(biāo)識。在圖1中,當(dāng)初始化任務(wù)時,DTMF模塊初始化釋放郵箱控制權(quán), 創(chuàng)建時鐘任務(wù),創(chuàng)建與前端機(jī)通信任務(wù),最后刪除初始化任務(wù)。在圖 2中當(dāng)Led閃爍時鐘任務(wù)開始時,刷新看門狗配置數(shù)據(jù)指示燈熄滅, 并且時鐘計數(shù)器初始化為0。然后配置數(shù)據(jù)指示燈狀態(tài)變化,如果沒 有配置數(shù)據(jù),延時O. ls,時間計數(shù)器增加IO,后刷新看門狗。在圖3 中,當(dāng)與前端機(jī)通信任務(wù)開始時,首先初始化串口為多機(jī)通信方式, 讀取配置文件。如果配置文件有效,則創(chuàng)建與后端機(jī)通信任務(wù)。査看 電話線連接是否正常,如果不正確,則電話指示燈快閃,否則等待接 收主控命令。査看命令是否對本單元進(jìn)行操作,如果是,則處理對本 單元的操作的命令,并把生成響應(yīng)數(shù)據(jù)包放到發(fā)送數(shù)據(jù)緩沖區(qū)并返回 數(shù)據(jù)包到主控;如果不是,則查看是否存在該單元的聯(lián)系電話號碼, 如果不存在,則生成響應(yīng)失敗的數(shù)據(jù)包放入發(fā)送數(shù)據(jù)緩沖區(qū)并返回數(shù) 據(jù)包到主控;如果存在,則與前端機(jī)連接,連接成功后傳送數(shù)據(jù)到前端機(jī);如果連接不成功或者傳送數(shù)據(jù)錯誤,則生成響應(yīng)失敗的數(shù)據(jù)包 并放入發(fā)送緩沖區(qū),返回數(shù)據(jù)包到主控。如果發(fā)送成功,則啟動保護(hù) 定時器,成功連接到前端機(jī)的回送報文,并將回送報文放入發(fā)送緩沖 區(qū),返回數(shù)據(jù)包到主控。在圖4中,當(dāng)與后端主控進(jìn)行通信任務(wù)時, 査看是否有數(shù)據(jù)包接收,如果有則接收數(shù)據(jù)包,處理數(shù)據(jù)包;如果沒 有則査看是否有數(shù)據(jù)包發(fā)送,査看RS485通信總線資源是否被占用, 如果有,則查看搶占總線是否成功,如果總線沒有被占用或者搶占總 線成功,則允許數(shù)據(jù)包發(fā)送,發(fā)送數(shù)據(jù)報文。在圖5中,進(jìn)入串口中斷時,打開串口通信數(shù)據(jù)指示燈,判斷是 否接收中斷,如果不是中斷,清除發(fā)送中斷標(biāo)志位,熄滅中斷指示燈; 如果是中斷,讀取接收寄存器中的數(shù)據(jù),判斷是否是本機(jī)地址,如果 是本機(jī)地址,則清除多機(jī)通信標(biāo)志位并允許接收數(shù)據(jù),關(guān)閉中斷指示 燈;如果不是本機(jī)地址,則接收數(shù)據(jù)到數(shù)據(jù)緩存區(qū),查看是否置位數(shù) 據(jù)通信任務(wù)標(biāo)志,如果置位則熄滅中斷指示燈,如果不置位,則置位 標(biāo)志并發(fā)送信息。在圖6中,當(dāng)調(diào)用字節(jié)發(fā)送函數(shù)時,首先發(fā)送字節(jié)數(shù)據(jù)放入發(fā)送 寄存器,關(guān)閉發(fā)送中斷使能,査詢等待數(shù)據(jù)發(fā)送標(biāo)志位置位,數(shù)據(jù)發(fā) 送完畢后標(biāo)志位清零。在圖7中,當(dāng)調(diào)用字節(jié)接收函數(shù)時,切換485 總線到接收狀態(tài),查詢是否超過査看次數(shù),如果超過,則接收數(shù)據(jù)失 敗返回;如果未超過,則查看是否有數(shù)據(jù),如果沒有數(shù)據(jù),則通知其 他任務(wù),本任務(wù)正在等待接收數(shù)據(jù),延時20ms后繼續(xù)查看;如果存在 數(shù)據(jù),則讀取接收數(shù)據(jù)緩沖區(qū),然后成后返回。在圖8中,當(dāng)調(diào)用RS485總線搶占函數(shù)時,查看是否接收到與主 控通信任務(wù)要求發(fā)送數(shù)據(jù)的信號,如果有,則檢查RS485總線是否通信繁忙,如果繁忙,則隨機(jī)延時10 1280ms時間后繼續(xù)檢查,如果沒有處于繁忙狀態(tài),則返回信號量通知與主控通信任務(wù)可以發(fā)送數(shù)據(jù)。在圖10中,當(dāng)調(diào)用RS485發(fā)送數(shù)據(jù)包函數(shù)時,首先收發(fā)狀態(tài)轉(zhuǎn)換 為發(fā)送狀態(tài),提取采集端地址,計算校驗并組幀報文,然后接收對方 應(yīng)答信號,如果對方無應(yīng)答或者要求重發(fā),則重新發(fā)送,否則,數(shù)據(jù) 成功返回。在圖11中,當(dāng)掛機(jī)時,清零振鈴計數(shù)器,允許計數(shù)器中斷, 關(guān)閉電話通信指示燈;當(dāng)摘機(jī)時,清零振鈴計數(shù)器,關(guān)閉計數(shù)器中斷, 打開電話通信指示燈。在圖12中,當(dāng)調(diào)用電話模塊初始化函數(shù)時,首 先掛機(jī),初始化9170芯片,初始化9200芯片,最后關(guān)閉DTMF接收與 通信指示燈。在圖13中,當(dāng)進(jìn)入振鈴中斷時,振鈴計數(shù)器加l,査看 計數(shù)器是否大于40,發(fā)送信號為CommWithBackend任務(wù),計數(shù)器清0 并關(guān)閉振鈴中斷。在圖14中,當(dāng)調(diào)用中斷讀取DTMF函數(shù)時,進(jìn)入中 斷,清除外部中斷標(biāo)志,關(guān)閉中斷延時三個節(jié)拍,讀取DTMF信號并打 開中斷,查看數(shù)據(jù)緩沖區(qū)是否滿,如果滿,則丟棄接收數(shù)據(jù);如果沒 有滿,則寫入數(shù)據(jù)緩沖區(qū)。在圖15中,當(dāng)調(diào)用發(fā)送DTMF信號函數(shù)時, 時鐘信號拉高并延時10ms,關(guān)閉中斷,片選DTMF信號發(fā)送芯片,模 擬產(chǎn)生時鐘信號移位發(fā)出DTMF信號,模擬產(chǎn)生時鐘信號,移位發(fā)出 DTMF信號。中斷開啟,延時100ms片選關(guān)閉并延時20ms,最后中斷退 出。在圖16中,當(dāng)調(diào)用發(fā)送DTMF字節(jié)函數(shù)時,關(guān)閉DTMF接收狀態(tài), 開啟DTMF發(fā)送狀態(tài),發(fā)送字節(jié)低4bit,發(fā)送字節(jié)高4bit。當(dāng)接收DTMF 字節(jié)函數(shù)時,5s最長時間限制循環(huán)并査看數(shù)據(jù)緩沖區(qū)數(shù)據(jù),讀取低 4bit數(shù)據(jù),再次5s最長時間限制循環(huán),査看數(shù)據(jù)緩存區(qū)數(shù)據(jù),讀取 高4bit數(shù)據(jù)。在圖17中,當(dāng)調(diào)用DTMF撥號函數(shù)時,首先關(guān)閉DTMF接收狀態(tài),開啟DTMF發(fā)送狀態(tài),摘機(jī)延時1S,撥取制定電話號碼的低4bit,延時250ms,撥取制定的電話號碼的高4bit, 5s等待通信對 方應(yīng)答信號,顯示撥號成功或者失敗。在圖20中,采集端讀取配置文件時,首先讀取指定扇區(qū)的數(shù)據(jù), 判斷數(shù)據(jù)是否有標(biāo)志位。如果沒有則讀取失敗,如果讀取正確,讀取 校驗字節(jié),檢査CRC檢驗是否正確,CRC校驗錯誤則返回讀取失敗, 如果讀取正確,則讀取數(shù)據(jù)到配置文件并返回配置文件讀取成功。在 圖21中,寫入配置文件時,讀取配置文件,寫入數(shù)據(jù)有效標(biāo)志,計算 CRC數(shù)據(jù)校驗,并在指定扇區(qū)寫入數(shù)據(jù),如果寫入成功,則返回成功 標(biāo)志,否則返回失敗標(biāo)志。在圖22中,查看配置文件是否正確時,如 果讀取主配置文件成功,則備份主配置文件,否則讀取副配置文件, 使用副配置文件更新主配置文件。再次讀取主配置文件,判斷主配置 文件中數(shù)據(jù)地址是否有效,判斷配置文件中數(shù)據(jù)模擬量個數(shù)是否有效, 判斷配置文件中模擬量的上下限,如果有效則返回成功,否則返回失
權(quán)利要求
1、一種通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng),其特征在于所述后端機(jī)接收服務(wù)器的運行參數(shù),再將相應(yīng)的參數(shù)送給每個采集端;前端機(jī)監(jiān)測采集端的運行狀態(tài),并將狀態(tài)參數(shù)上傳給所述后端機(jī);如果后端機(jī)內(nèi)部FLASH沒有配置信息,等待來自RS232/RS485的配置命令;后端機(jī)得到正確配置后,應(yīng)答ACK信號;接收到錯誤配置后,應(yīng)答NAK信號;如果后端機(jī)內(nèi)部FLASH有配置信息,則每次啟動后的預(yù)設(shè)時間內(nèi)等待重新配置命令,超過預(yù)設(shè)時間后,按照內(nèi)部的配置信息工作;后端機(jī)內(nèi)部FLASH的配置內(nèi)容規(guī)定為配置參數(shù)版本號、線路編號、告警電話號碼、前端機(jī)個數(shù)、前端機(jī)編號1、撥打此前端機(jī)的電話號碼,…,前端機(jī)編號n以及撥打此前端機(jī)的電話號碼;數(shù)據(jù)的傳輸通過RS485半雙工,多機(jī)通信方式,主控器作為主機(jī),后端機(jī)作為從機(jī);每一幀報發(fā)送完畢后等待接收端應(yīng)答ACK/NAK,如果ACK,則發(fā)送報文成功;如果NAK,則重發(fā);發(fā)送完畢后發(fā)送端重新處于多機(jī)通信方式;由主控器主動發(fā)起通信,后端機(jī)作應(yīng)答,采用一問一答的方式;數(shù)據(jù)傳輸幀包括命令編號、線路編號、前端機(jī)編號、采集端個數(shù)以及內(nèi)容;當(dāng)正常數(shù)據(jù)查詢時,監(jiān)控中心向后端機(jī)發(fā)送數(shù)據(jù)采集幀,當(dāng)采集某一線路、某一前端機(jī)下的單個采集端時,則指定有效的線路編號、前端機(jī)編號、采集端個數(shù)以及在內(nèi)容中有效的采集端地址;當(dāng)采集某一線路、某一前端機(jī)下的所有采集端時,則指定有效的線路編號、前端機(jī)編號,采集端個數(shù)和內(nèi)容為廣播地址;當(dāng)采集某一線路下、所有的前端機(jī)下的所有采集端時,則指定有效的線路編號,前端機(jī)編號、采集端個數(shù)、內(nèi)容均為廣播地址;當(dāng)采集所有設(shè)備的數(shù)據(jù)時,則線路編號、前端機(jī)編號、采集端個數(shù)和內(nèi)容;后端機(jī)返回一幀,內(nèi)容為各個采集端的數(shù)據(jù)信息報,包括采集端地址、輸入數(shù)字開光量告警標(biāo)志、8個輸入數(shù)字開關(guān)量、8個輸出數(shù)字控制量、模擬量告警標(biāo)志、模擬量有效個數(shù)以及各個模擬量值;當(dāng)設(shè)置采集端輸出數(shù)字開關(guān)量時,控制中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為采集端地址、輸出數(shù)字開關(guān)量有效位、置1寄存器和置0寄存器,并保存到采集端;后端機(jī)向監(jiān)控中心返回的幀,內(nèi)容為采集端地址以及成功或者失敗的標(biāo)識;當(dāng)設(shè)置前端機(jī)告警電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為4個告警電話號碼;后端機(jī)返回一個幀,內(nèi)容為成功或者失敗標(biāo)識;當(dāng)設(shè)置采集端告警參數(shù)上下值時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為采集端地址、模擬量有效個數(shù)以及各個模擬量的上下值;后端機(jī)向監(jiān)控中心返回幀,內(nèi)容為采集端地址以及成功或者失敗的標(biāo)識;當(dāng)進(jìn)行數(shù)據(jù)告警時,監(jiān)控中心向后端機(jī)發(fā)送告警幀,后端機(jī)向監(jiān)控中心返回幀,內(nèi)容包括采集端地址以及成功或者失敗標(biāo)識;當(dāng)設(shè)置前端機(jī)電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為前端機(jī)電話號碼,后端機(jī)返回監(jiān)控中心一幀,內(nèi)容為失敗、成功或者請求標(biāo)識;當(dāng)撥打維修人員電話號碼時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為電話號碼個數(shù)以及各個維修人員電話號碼;后端機(jī)返回監(jiān)控中心一幀,內(nèi)容為成功或者失敗標(biāo)識;當(dāng)設(shè)置采集端輸入開關(guān)狀態(tài)量時,監(jiān)控中心向后端機(jī)發(fā)送幀,內(nèi)容為采集端地址、輸入數(shù)字開關(guān)量有效端口位以及輸入數(shù)字開關(guān)量正常值;后端機(jī)向監(jiān)控中心返回幀,內(nèi)容為采集端地址以及成功或者失敗標(biāo)識;設(shè)置采集端全部參數(shù)配置時,監(jiān)控中心向后端機(jī)發(fā)送參數(shù)配置幀,內(nèi)容為配置參數(shù)版本號、線路編號、前端機(jī)編號、采集端地址、輸入數(shù)字開關(guān)量狀態(tài)正常值、輸入數(shù)字開關(guān)量有效位、輸出數(shù)字開關(guān)量狀態(tài)正常值、輸出數(shù)字開關(guān)量有效位、模擬量端口有效個數(shù)以及各個模擬量告警上下限值;后端機(jī)向監(jiān)控中心返回幀,內(nèi)容位采集端地址以及成功或者失敗標(biāo)識。
全文摘要
一種通用監(jiān)控系統(tǒng)的后端機(jī)控制系統(tǒng),后端機(jī)接收服務(wù)器的運行參數(shù),再將相應(yīng)的參數(shù)送給每個采集端;前端機(jī)監(jiān)測采集端的運行狀態(tài),并將狀態(tài)參數(shù)上傳給所述后端機(jī);如果后端機(jī)內(nèi)部FLASH沒有配置信息,等待來自RS232/RS485的配置命令;如果后端機(jī)內(nèi)部FLASH有配置信息,則每次啟動后的預(yù)設(shè)時間內(nèi)等待重新配置命令,超過預(yù)設(shè)時間后,按照內(nèi)部的配置信息工作;實現(xiàn)正常數(shù)據(jù)查詢、設(shè)置采集端輸出數(shù)字開關(guān)量、設(shè)置前端機(jī)告警電話號碼、設(shè)置采集端告警參數(shù)上下值、進(jìn)行數(shù)據(jù)告警、設(shè)置前端機(jī)電話號碼、撥打維修人員電話號碼、設(shè)置采集端輸入開關(guān)狀態(tài)量和設(shè)置采集端全部參數(shù)配置。本發(fā)明可擴(kuò)展性好、降低成本、提高包裝能力時避免浪費。
文檔編號G05B19/418GK101236429SQ20081005978
公開日2008年8月6日 申請日期2008年2月27日 優(yōu)先權(quán)日2008年2月27日
發(fā)明者孟利民, 徐志江 申請人:浙江工業(yè)大學(xué)