上海航天能源股份有限公司 肖廣清
實(shí)現(xiàn)燃?xì)夤芫W(wǎng)數(shù)據(jù)采集完整性的兩種解決方案
上海航天能源股份有限公司 肖廣清
燃?xì)夤驹诓杉芫W(wǎng)關(guān)鍵節(jié)點(diǎn)的數(shù)據(jù)過程中由于線路或部分設(shè)備故障,故障時(shí)間段內(nèi)的數(shù)據(jù)不容易采集到,給燃?xì)夤镜倪\(yùn)營(yíng)管理帶來了不便。文章介紹了保障數(shù)據(jù)完整性采用的兩種方案,可以很好的解決數(shù)據(jù)完整性的問題。
數(shù)據(jù) 完整性 補(bǔ)傳 燃?xì)夤芫W(wǎng)
燃?xì)夤緸榱吮U先細(xì)夤芫W(wǎng)的運(yùn)營(yíng)安全,有必要采集管網(wǎng)關(guān)鍵節(jié)點(diǎn)的數(shù)據(jù),然后對(duì)相應(yīng)數(shù)據(jù)分析來合理調(diào)度氣量的使用,然而目前市面上有很多數(shù)據(jù)采集軟件在現(xiàn)場(chǎng)出現(xiàn)故障時(shí)卻不能采集到故障時(shí)間段內(nèi)的數(shù)據(jù)。
上海航天能源股份有限公司開發(fā)了幾款軟件用于采集管網(wǎng)設(shè)備數(shù)據(jù),可以采用兩種不同方案采集故障時(shí)間段內(nèi)的數(shù)據(jù)。
第一種方案是數(shù)據(jù)中心(簡(jiǎn)稱中心)對(duì)數(shù)據(jù)上傳的頁(yè)碼進(jìn)行記錄,對(duì)于有缺頁(yè)情況會(huì)發(fā)送相應(yīng)指令到下位儀表,要求補(bǔ)傳對(duì)應(yīng)缺頁(yè)的數(shù)據(jù)。
第二種方案是下位儀表對(duì)于出現(xiàn)故障不能及時(shí)上傳到中心的數(shù)據(jù)進(jìn)行本地存儲(chǔ)。當(dāng)故障解除以后,儀表再把故障期間存儲(chǔ)的數(shù)據(jù)主動(dòng)上傳。
數(shù)據(jù)補(bǔ)傳包括中心主動(dòng)發(fā)送指令要求儀表補(bǔ)傳對(duì)應(yīng)的頁(yè)碼和下位設(shè)備主動(dòng)發(fā)送故障期間的數(shù)據(jù)兩種方案。
1.1 上位主動(dòng)采集
上位主動(dòng)采集實(shí)現(xiàn)數(shù)據(jù)的完整性需要通過中心和設(shè)備程序的配合?,F(xiàn)場(chǎng)設(shè)備對(duì)采集的數(shù)據(jù)會(huì)分配頁(yè)碼。下位設(shè)備每次往中心發(fā)送的頁(yè)碼與上次發(fā)送的頁(yè)碼都是不一樣的。中心對(duì)接收的頁(yè)碼進(jìn)行比較,發(fā)現(xiàn)上次的頁(yè)碼沒有上傳到中心就發(fā)送指令請(qǐng)求現(xiàn)場(chǎng)設(shè)備補(bǔ)傳之前的對(duì)應(yīng)頁(yè)碼的數(shù)據(jù)。
1.1.1 應(yīng)用場(chǎng)景
儀表發(fā)送數(shù)據(jù)無需中心驗(yàn)證的情況,可以采用這種方案,航天能源據(jù)此開發(fā)了一款無線壓力記錄儀產(chǎn)品。該產(chǎn)品電源使用電池的方式,可以使用在現(xiàn)場(chǎng)無市電的場(chǎng)合。儀表定時(shí)記錄現(xiàn)場(chǎng)采集的壓力數(shù)據(jù),為了延長(zhǎng)電池的使用壽命儀表默認(rèn)關(guān)閉GPRS模塊。儀表按照設(shè)定的時(shí)間間隔定時(shí)啟動(dòng)GPRS模塊發(fā)送數(shù)據(jù)。為了數(shù)據(jù)能夠快速發(fā)送到中心,協(xié)議采用無應(yīng)答的方式,見圖1。
圖1 無線壓力儀表上傳數(shù)據(jù)流程
由于以原因會(huì)導(dǎo)致數(shù)據(jù)沒有上傳到中心:
(1)網(wǎng)絡(luò)延遲。如儀表可能往中心發(fā)送了10幀數(shù)據(jù),但是中心只接收到了9幀。
(2)絡(luò)不穩(wěn)定掉線。儀表每次上線要求把上次上線與本次上線時(shí)間段內(nèi)的采集數(shù)據(jù)全部上傳到中心,但是上傳過程中由于掉線只上傳了一部分?jǐn)?shù)據(jù),沒有上傳完。
(3)中心服務(wù)器關(guān)閉或故障。中心服務(wù)器關(guān)閉或故障情況下,儀表發(fā)到中心的指令會(huì)沒有接收方。儀表只要再次上線,中心會(huì)判斷之前是否有頁(yè)碼沒有上傳到中心。如果有就發(fā)送指令要求儀表上傳對(duì)應(yīng)的數(shù)據(jù)。
1.1.2 實(shí)現(xiàn)原理
1.1.2.1 數(shù)據(jù)庫(kù)表內(nèi)容
數(shù)據(jù)庫(kù)中有一張表用于存儲(chǔ)每個(gè)儀表頁(yè)碼上線情況,每個(gè)儀表的頁(yè)碼范圍從201到4095。對(duì)應(yīng)頁(yè)碼上線后對(duì)應(yīng)上線次數(shù)置為1,如表1所示
表1 數(shù)據(jù)表頁(yè)碼上傳
1.1.2.2 上位軟件啟動(dòng)
從數(shù)據(jù)庫(kù)表中讀取之前的頁(yè)碼上傳記錄。包括所有頁(yè)碼的上傳情況,每個(gè)儀表生成一個(gè)數(shù)組iPage[4096]。
1.1.2.3 接收采樣數(shù)據(jù)
更新表pageUpload中對(duì)應(yīng)儀表對(duì)應(yīng)頁(yè)碼的上傳次數(shù)。當(dāng)采樣數(shù)據(jù)頁(yè)=本次上線最大頁(yè)碼時(shí),判斷需要補(bǔ)傳的頁(yè)碼,然后把補(bǔ)傳指令發(fā)送到儀表。
對(duì)于如何判斷需要補(bǔ)傳的頁(yè)碼,目前是以本次采樣的最大頁(yè)碼為依據(jù),只補(bǔ)傳前630頁(yè)以內(nèi)的采樣數(shù)據(jù),補(bǔ)傳頁(yè)碼判斷結(jié)構(gòu)如圖2所示。
圖2 補(bǔ)傳頁(yè)碼判斷結(jié)構(gòu)
630頁(yè)以外的變量上線次數(shù)全部置0,檢查對(duì)應(yīng)站的數(shù)組iPage[4096]。
1.2 下位儀表主動(dòng)補(bǔ)傳
下位儀表主動(dòng)補(bǔ)傳實(shí)現(xiàn)數(shù)據(jù)的完整性需要中心和設(shè)備程序的配合,雙方共同遵守標(biāo)準(zhǔn)modbus TCP協(xié)議。中心會(huì)定時(shí)采集現(xiàn)場(chǎng)儀表的數(shù)據(jù)。由于發(fā)現(xiàn)線路故障等原因。下位儀表接收不到中心發(fā)送的請(qǐng)求指令,當(dāng)連續(xù)間隔5 min下位儀表沒有接收到中心的請(qǐng)求指令,下位儀表開始定時(shí)存儲(chǔ)采樣數(shù)據(jù)。當(dāng)故障解除以后。下位儀表會(huì)把存儲(chǔ)的數(shù)據(jù)主動(dòng)上傳到中心。
1.2.1 應(yīng)用場(chǎng)景
中心主動(dòng)采集現(xiàn)場(chǎng)數(shù)據(jù)。中心發(fā)送請(qǐng)求幀,儀表接收到請(qǐng)求幀后發(fā)送回復(fù)幀,可以采用這種方案。航天能源在實(shí)施SCADA系統(tǒng)中,對(duì)于現(xiàn)場(chǎng)儀表的數(shù)據(jù)一般要求實(shí)時(shí)采集。為了保證數(shù)據(jù)采集的可靠性,我們一般采用modbus協(xié)議。Modbus協(xié)議是一種應(yīng)答方式的協(xié)議,如圖3所示。
圖3 SCADA系統(tǒng)數(shù)據(jù)采集流程
中心發(fā)送采集請(qǐng)求指令后必須接收到正確的應(yīng)答幀才代表本次采集數(shù)據(jù)完成,否則中心會(huì)再次發(fā)送同樣的請(qǐng)求幀,連發(fā)三次,直到成功?,F(xiàn)場(chǎng)儀表接收到請(qǐng)求幀后會(huì)重新計(jì)時(shí),如果連續(xù)5分鐘沒有再次接收到請(qǐng)求指令,儀表會(huì)定時(shí)采樣存儲(chǔ)數(shù)據(jù)。當(dāng)儀表再次接收到請(qǐng)求指令,儀表會(huì)主動(dòng)把采樣存儲(chǔ)的數(shù)據(jù)發(fā)送到中心。一般由于以下原因會(huì)導(dǎo)致儀表接收不到中心的請(qǐng)求幀:
(1)網(wǎng)絡(luò)不穩(wěn)定掉線。中心會(huì)定時(shí)發(fā)送采集數(shù)據(jù)請(qǐng)求指令。但是由于網(wǎng)絡(luò)掉線,中心發(fā)送的指令不能下發(fā)到儀表。
(2)中心服務(wù)器關(guān)閉或故障。中心服務(wù)器關(guān)閉或故障情況下,儀表發(fā)到中心的指令會(huì)沒有接收方。
(3)儀表GPRS模塊不在線。對(duì)于無線的情況,PLC等儀表雖然在線,當(dāng)時(shí)數(shù)據(jù)發(fā)送模塊GPRS故障導(dǎo)致接收不到中心發(fā)送的請(qǐng)求幀。
1.2.2 原理實(shí)現(xiàn)
單次通訊周期流程如下:
(1)正常通訊時(shí),中心軟件向下位儀表寫系統(tǒng)時(shí)間,儀表會(huì)保存系統(tǒng)時(shí)間到一個(gè)固定的地址區(qū);中心軟件讀、寫下位儀表數(shù)據(jù),儀表回復(fù)數(shù)據(jù)或執(zhí)行控制指令。
(2)儀表對(duì)中心下發(fā)的系統(tǒng)時(shí)間與儀表本身系統(tǒng)時(shí)間比較(通訊故障判斷),如果大于約定時(shí)間(默認(rèn)5 min),采樣數(shù)據(jù)并存放到儀表歷史數(shù)據(jù)文件中。
(3)儀表對(duì)中心發(fā)送的系統(tǒng)時(shí)間與儀表系統(tǒng)時(shí)間一致(偏差10 s以內(nèi)),儀表主動(dòng)發(fā)送補(bǔ)傳數(shù)據(jù)(通訊格式見表2)。
表2 補(bǔ)傳指令格式
由于正常的控制指令字節(jié)個(gè)數(shù)小于20字節(jié)。當(dāng)中心接收到大于20字節(jié)的指令并且符合補(bǔ)傳數(shù)據(jù)格式,那么就認(rèn)為是補(bǔ)傳數(shù)據(jù)。中心接收到補(bǔ)傳數(shù)據(jù)直接保存到數(shù)據(jù)庫(kù)中。
數(shù)據(jù)采集的完整既可以通過中心軟件主動(dòng)發(fā)送補(bǔ)傳指令來實(shí)現(xiàn)也可以通過下位儀表主動(dòng)記錄數(shù)據(jù)然后發(fā)送數(shù)據(jù)到中心來實(shí)現(xiàn)。這兩種實(shí)現(xiàn)數(shù)據(jù)采集完整性的方案各有各的應(yīng)用場(chǎng)合。航天能源在具體項(xiàng)目中根據(jù)項(xiàng)目的實(shí)際情況采樣這兩種方法中的一種,有力的提高了航天能源信息系統(tǒng)的健壯性和數(shù)據(jù)的完整性。
Two Solutions of the Integrity for Data Acquisition of Gas Pipeline Network
Shanghai Aerospace Energy Co., Ltd. Xiao Guangqing
Datum can’t be acquainted when line faults or equipment failures in the process of acquainting key datum of gas pipeline networks, which bring difficulties for gas operation management. Two solutions have been introduced, which can keep the integrity of datum.
data, integrity, supplement transmission, gas pipeline network