臧振勝
(中油遼河工程有限公司,遼寧 盤錦 124010)
質(zhì)量流量計(jì)可以測(cè)量水蒸汽介質(zhì)的流量和干度參數(shù)值,根據(jù)工況溫度和壓力值還可以計(jì)算出水蒸汽的實(shí)時(shí)密度、介質(zhì)狀態(tài)。OCS 控制器可以準(zhǔn)確穩(wěn)定地采集多個(gè)質(zhì)量流量計(jì)的實(shí)時(shí)數(shù)據(jù)值,并進(jìn)行邏輯判斷和告警輸出,OCS 同時(shí)實(shí)現(xiàn)網(wǎng)關(guān)功能將數(shù)據(jù)匯總轉(zhuǎn)發(fā)至后端設(shè)備[1]。
圖1 監(jiān)控裝置主界面圖Fig.1 The main interface of the monitoring device
主界面顯示RTC 硬件時(shí)鐘參數(shù),格式為yyyy-mm-dd和HH:mm:ss,分別代表日期和時(shí)間,應(yīng)用%SR047 寄存器(RTC_DATE)和%SR044 寄存器(RTC_SEC)。Alarm Object Proprieties 告警控件可以實(shí)現(xiàn)所設(shè)置事件的告警信息。流量計(jì)的測(cè)量介質(zhì)為水蒸汽,儀表顯示的參數(shù)有瞬時(shí)流量值(t/h)、累積流量值(T),溫度值(℃),干度值(%)和壓力值(MPa)。%R00101 寄存器顯示瞬時(shí)流量值,%R00103 寄存器顯示累積流量值,流量計(jì)上限告警用H 表示對(duì)應(yīng)Q2,下限告警用L 表示對(duì)應(yīng)Q1,當(dāng)流量計(jì)出現(xiàn)通信故障時(shí)顯示X 標(biāo)識(shí)對(duì)應(yīng)%R00611 變量閃爍,溫度對(duì)應(yīng)%R00107 寄存器,干度對(duì)應(yīng)%R00109 寄存器,壓力對(duì)應(yīng)%R00105 寄存器。曲線記錄顯示最近2h 的歷史數(shù)據(jù)值,X 軸為記錄時(shí)間,Y 軸為流量計(jì)的瞬時(shí)流量值對(duì)應(yīng)%AQ109寄存器。此外主頁(yè)上還有頁(yè)面跳轉(zhuǎn)功能鍵包括:參數(shù)設(shè)置、1 號(hào)站流量計(jì)、2 號(hào)站流量計(jì)和3 號(hào)站流量計(jì)[2]。
除了實(shí)時(shí)顯示流量計(jì)的數(shù)據(jù)之外,監(jiān)控裝置可以實(shí)現(xiàn)歷史數(shù)據(jù)的查詢報(bào)表,如圖2 所示。以1#流量計(jì)為例,數(shù)據(jù)查詢功能可以顯示歷史數(shù)據(jù)的詳細(xì)信息包括:序號(hào)、記錄時(shí)間、瞬時(shí)流量、累積流量、壓力值和溫度值。第一條記錄序號(hào)寄存器%R10001,時(shí)間寄存器%R12002,瞬時(shí)流量寄存器%R10008,累積流量寄存器%R10010,壓力寄存器%R10012,溫度寄存器%R10014;第二條記錄序號(hào)寄存器%R10032,時(shí)間寄存器%R12012,瞬時(shí)流量寄存器%R10039,累積流量寄存器%R10041,壓力寄存器%R10043,溫度寄存器%R10045,以此類推。點(diǎn)擊查詢時(shí)間按鈕會(huì)進(jìn)入查詢界面并會(huì)提示“請(qǐng)輸入要查詢的日期”,輸入年月日的信息,并點(diǎn)擊“載入數(shù)據(jù)”觸發(fā)%T10001 寄存器。點(diǎn)擊上5 頁(yè)會(huì)觸發(fā)%T10019 寄存器,點(diǎn)擊下5 頁(yè)會(huì)觸發(fā)%T10021 寄存器,點(diǎn)擊上一頁(yè)寄存器會(huì)觸發(fā)%T10002寄存器,點(diǎn)擊下一頁(yè)寄存器會(huì)觸發(fā)%T10002 寄存器[3,4]。
圖2 數(shù)據(jù)查詢主界面圖Fig.2 The main interface of data query
為了保證控制系統(tǒng)的可靠運(yùn)行對(duì)硬件運(yùn)行的時(shí)鐘進(jìn)行連續(xù)性追溯,屏幕界面包括上次斷電時(shí)刻、本次上電時(shí)刻和本次斷電時(shí)長(zhǎng)3 部分。其中,上次斷電時(shí)刻日期對(duì)應(yīng)%R00224 寄存器,時(shí)鐘對(duì)應(yīng)%R00221 寄存器;本次上電時(shí)刻日期對(duì)應(yīng)%R00214 寄存器,時(shí)鐘對(duì)應(yīng)%R00211 寄存器;本次斷電時(shí)長(zhǎng)對(duì)應(yīng)%R00235 寄存器。本次上電時(shí)刻和上次斷電時(shí)刻的邏輯處理細(xì)節(jié)為:每次上電捕捉上電和斷電時(shí)間,上電時(shí)將保存系統(tǒng)RTC_SEC 時(shí)鐘信息的%SR044寄 存 器 賦 給%R211、%R212、%R213、%R214、%R215和%R216 的6 個(gè)寄存器,由此記錄的就是硬件上電的啟動(dòng)時(shí)間信息。在硬件穩(wěn)定運(yùn)行時(shí),一直將保存系統(tǒng)RTC_SEC 時(shí)鐘信息的%SR044 寄存器給%R201、%R202、%R203、%R204、%R205 和%R206的6 個(gè)寄存器。這樣一旦系統(tǒng)出現(xiàn)異常,%R201 開始的寄存器存儲(chǔ)的就是上次斷電前最后的系統(tǒng)RTC 時(shí)鐘信息,%R00235 寄存器中記錄了上次斷電至本次上電期間的中斷時(shí)間信息。具體的實(shí)現(xiàn)過(guò)程是將兩個(gè)時(shí)間節(jié)點(diǎn)的RTC信息都折算成有多少天,最后將上述兩個(gè)時(shí)間進(jìn)行減處理得到最終的中斷時(shí)間數(shù)據(jù)[5]。
圖3 斷電時(shí)刻記錄界面Fig.3 Record interface of power-off moment
Modbus 參數(shù)設(shè)置包括Modbus RTU 設(shè)置和Modbus TCP設(shè)置兩部分。修改Modbus-RTU 通信參數(shù)后,需要停用、再啟用通信啟/停按鈕,新的設(shè)置方能生效。其中RTU 設(shè)置時(shí)需要設(shè)置從站ID、波特率、校驗(yàn)方式、數(shù)據(jù)位和停止位,分別對(duì)應(yīng)%R00919、%R00912、%R00913、%R00914和%R00915 寄存器。TCP 設(shè)置時(shí)需要設(shè)置IP 地址、Mask掩碼和網(wǎng)關(guān)地址,分別對(duì)應(yīng)%R00901、%R00903 和%R00905寄存器。上述參數(shù)的設(shè)置都需要點(diǎn)擊“通信停用中”按鈕進(jìn)行觸發(fā)保存。如果波特率里的數(shù)值小于5 或大于9,則把它賦予5,9600 波特率。如果校驗(yàn)位里的數(shù)值小于0 或大于2,則把它賦予0,無(wú)校驗(yàn)。如果數(shù)據(jù)位里的數(shù)值小于2 或大于3,則把它賦予3,8 數(shù)據(jù)位[6]。
針對(duì)流量計(jì)的運(yùn)行狀態(tài)監(jiān)控,設(shè)備具有告警功能。由于現(xiàn)場(chǎng)流量計(jì)的運(yùn)行狀態(tài)復(fù)雜,既要實(shí)現(xiàn)告警動(dòng)作又要避免誤告警出現(xiàn)。為此,告警功能采用流量計(jì)高報(bào)限值、高報(bào)延遲時(shí)間、低報(bào)限值和低報(bào)延遲時(shí)間,同時(shí)還對(duì)高低限值告警做啟??刂啤R粤髁坑?jì)1 為例,低報(bào)限值對(duì)應(yīng)%R00361 寄存器、延遲時(shí)間對(duì)應(yīng)%R00373 寄存器、啟停控制對(duì)應(yīng)%M00001 寄存器;高報(bào)限值對(duì)應(yīng)%R00363寄存器、延遲時(shí)間對(duì)應(yīng)%R00375 寄存器,啟??刂茖?duì)應(yīng)%M00002 寄存器。為了便于操作者對(duì)告警信息的觀察和定位,在告警界面同樣放置Alarm Object Properties 告警信息欄控件,用戶可以依據(jù)現(xiàn)實(shí)的告警信息對(duì)告警閾值和延遲時(shí)間進(jìn)行針對(duì)性動(dòng)態(tài)設(shè)置[7]。
裝置的穩(wěn)定運(yùn)行需要對(duì)設(shè)備RTC時(shí)鐘進(jìn)行有效的溯源。如圖6 所示,左上角顯示的是系統(tǒng)當(dāng)前時(shí)鐘信息,用戶可以點(diǎn)擊對(duì)應(yīng)的輸入框修改系統(tǒng)日期“yyyy-mm-dd”(%SR047寄存器)和修改系統(tǒng)時(shí)間“HH:mm:ss”(%SR044 寄存器)。進(jìn)行系統(tǒng)時(shí)間設(shè)置并不需要重啟操作,受硬件晶振自身精度和溫漂的影響,一般設(shè)備的時(shí)鐘誤差每個(gè)月在2min以內(nèi)。因此,需要周期性地對(duì)設(shè)備時(shí)鐘進(jìn)行微調(diào)[8]。
圖4 Modbus參數(shù)設(shè)置界面Fig.4 Modbus parameter setting interface
圖5 添加Modbus驅(qū)動(dòng)界面①Fig.5 Add Modbus driver interface①
圖6 添加Modbus驅(qū)動(dòng)界面②Fig.6 Add Modbus driver interface②
流量計(jì)監(jiān)控裝置可以同時(shí)對(duì)3 個(gè)流量計(jì)的數(shù)據(jù)進(jìn)行采集和計(jì)算,分別包括:質(zhì)量流量、溫度、干度/濕度和累積量。質(zhì)量流量是%R00001 寄存器除以1000 結(jié)果保存在%R00101 寄存器中,再計(jì)算將%R00101 寄存器乘以10 輸出至%AQ107 寄存器,通過(guò)Real 和Int 類型轉(zhuǎn)換%AQ109 寄存器的整形數(shù)據(jù)參與后續(xù)的整形計(jì)算和顯示。溫度將%R00003 寄存器除以1 輸出給%R00107 寄存器,再對(duì)寄存器%R00107 進(jìn)行上下限值判斷,如果超過(guò)上限固定300℃,如果超過(guò)下限固定-60℃。干度/濕度值保存在寄存器%R00005,除以系數(shù)1 后保存至寄存器%R00109。流量計(jì)干度的計(jì)算較為復(fù)雜,一般是通過(guò)前端傳感器采集的頻率值查詢對(duì)應(yīng)的干度標(biāo)定表格計(jì)算出來(lái)的。由于流量計(jì)的測(cè)量介質(zhì)為飽和蒸汽,水蒸汽如果處于飽和狀態(tài)下,其工況壓力值可以根據(jù)工況溫度值進(jìn)行計(jì)算,將溫度值%R00107 寄存器加273.15 實(shí)現(xiàn)℃和K 溫度單位的換算輸出至寄存器%AQ101,對(duì)上述變量進(jìn)行浮點(diǎn)數(shù)算數(shù)運(yùn)算%AQ103 = 8.10765 - (1750.286 / (235 + %R107)),10的%AQ103次冪輸出至%AQ105 寄存器,這樣寄存器%R105 = ((133.322 × %AQ105 / 100000) - (1.013)) / 10 的數(shù)值就是工況壓力值,為了避免壓力值超限,與上述溫度判斷一樣,當(dāng)壓力小于0 時(shí)置工況壓力為0,工況壓力大于等于10 時(shí),置工況壓力為10[9]。
本文闡述了應(yīng)用一體化OCS 控制器實(shí)現(xiàn)多臺(tái)流量計(jì)數(shù)據(jù)采集和控制的研發(fā)過(guò)程。流量計(jì)監(jiān)控裝置可以實(shí)現(xiàn)流量計(jì)工況溫度、干度、瞬時(shí)流量、累積流量的采集和告警監(jiān)控。裝置的觸摸屏交互功能操作直觀便捷,方便現(xiàn)場(chǎng)對(duì)告警、通信、時(shí)鐘等參數(shù)的動(dòng)態(tài)設(shè)置。經(jīng)測(cè)試,基于OSC控制器的流量計(jì)監(jiān)控裝置可以穩(wěn)定高效地采集3 臺(tái)流量計(jì)的監(jiān)控?cái)?shù)據(jù)且可以進(jìn)行歷史記錄查詢,達(dá)到了預(yù)期的設(shè)計(jì)效果。