李亞楠
摘要:在單井自動化系統(tǒng)中,產(chǎn)品的調(diào)試、配置工作量較大,目前在油田現(xiàn)場,施工人員只能通過遠程桌面或TeamViewer之類的遠程控制軟件來連接服務器,之后通過RTU驅動軟件來進行產(chǎn)品的調(diào)試和配置。這種工作方式的缺點是,在同一時間只能有一個用戶操作服務器上的RTU驅動軟件,降低了施工效率。因此,開發(fā)了可多臺電腦同時進行RTU遠程調(diào)試、配置的軟件系統(tǒng)---RTU客戶端調(diào)試系統(tǒng)。
關鍵詞:單井自動化RTU多點同時
1引言
在系統(tǒng)施工過程中,產(chǎn)品的調(diào)試、配置都是通過服務器上的RTU驅動軟件來進行的。RTU客戶端調(diào)試系統(tǒng)基于系統(tǒng)桌面軟件開發(fā),支持TCP、UDP連接方式,通過網(wǎng)絡傳輸協(xié)議自動連接服務器,不需要本機數(shù)據(jù)庫支持,且在不同的電腦上可同時運行,能同時對不同的RTU進行調(diào)試和配置,提高了單井自動化系統(tǒng)的施工效率。
2系統(tǒng)開發(fā)環(huán)境
客戶端系統(tǒng)的開發(fā)環(huán)境為Microsoft Visual Studio 2010,開發(fā)語言為C#,為了使軟件界面整體風格簡潔、美觀,使用了部分界面控件包。
3軟件系統(tǒng)結構
3.1通訊模塊
通訊模塊負責完成RTU客戶端系統(tǒng)與服務器上RTU驅動軟件之間的數(shù)據(jù)通訊,包括模擬注冊、連接、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)。每個客戶端系統(tǒng)運行時將首先生成一個在60000-65535之間的ID(此ID由本機IP地址參與計算后得出,因此具有唯一性)。服務器RTU驅動軟件會把ID在60000以上的注冊設備自動識別為客戶端,將客戶端發(fā)送的數(shù)據(jù)轉發(fā)給對應的RTU設備,并將RTU設備發(fā)送的數(shù)據(jù)轉發(fā)給相應的客戶端。為了簡化通訊流程,RTU驅動軟件將不轉發(fā)功圖、電流圖測試數(shù)據(jù),當完成功圖、電流圖測試后,RTU驅動軟件只通知客戶端系統(tǒng)功圖、電流圖測試完成,由客戶端自己去數(shù)據(jù)庫中查找相應的數(shù)據(jù)。
通訊模塊中定義了通訊接口,并完成了TCP/UDP兩種通訊協(xié)議的實現(xiàn),在系統(tǒng)設置中完成對通訊協(xié)議的配置后,客戶端系統(tǒng)會自動調(diào)用相對應的協(xié)議實現(xiàn)來完成數(shù)據(jù)通訊。
3.2數(shù)據(jù)處理模塊
在客戶端系統(tǒng)中,將數(shù)據(jù)分為5大類:
1)功圖數(shù)據(jù)模塊,完成功圖、電流圖數(shù)據(jù)的解析;
2)電參數(shù)據(jù)模塊,完成電參數(shù)據(jù)的解析;
3)油井組織結構數(shù)據(jù)模塊,完成油井井號、歸屬關系的解析,最終形成樹形結構;
4)RTU配置數(shù)據(jù)模塊,包含了RTU的信道、ID、IP地址、RTU巡檢參數(shù)、RTU程序版本、RTU下所屬油井樹形結構等數(shù)據(jù);
5)系統(tǒng)日志數(shù)據(jù)模塊,將用戶對RTU的所有操作記錄及RTU的數(shù)據(jù)反饋格式化為固定的格式,并自動將數(shù)據(jù)保存到日志文件中。
3.3系統(tǒng)設置模塊
系統(tǒng)設置模塊負責讀取和保存客戶端系統(tǒng)的各項功能配置。客戶端系統(tǒng)運行時,將首先調(diào)用系統(tǒng)設置模塊,根據(jù)用戶設置來調(diào)用相應的實現(xiàn)模塊,并對各項用戶設置進行初始化。
3.4數(shù)據(jù)庫操作模塊
數(shù)據(jù)庫操作模塊負責完成以下工作:
1)數(shù)據(jù)庫連接測試;
2)數(shù)據(jù)庫端口是否開放測試;
3)建立并斷開數(shù)據(jù)庫連接;
4)根據(jù)指定條件讀取油井列表及油井組織關系;
5)讀取功圖、電流圖數(shù)據(jù);
6)讀取并設置用戶權限信息。
3.5用戶權限信息模塊
在客戶端系統(tǒng)中,將用戶劃分為三類,超級用戶,管理區(qū)用戶,普通瀏覽用戶。超級用戶可以查看所有油井數(shù)據(jù),查看、設置RTU運行參數(shù);管理區(qū)用戶則只能看到自己區(qū)塊內(nèi)的油井及RTU,并進行相關操作;普通瀏覽用戶則只能查看所屬區(qū)塊內(nèi)的油井及RTU相關數(shù)據(jù),不能對RTU進行設置。
用戶權限信息模塊負責檢查用戶登錄賬號的權限,并判斷用戶的操作是否符合其權限。
4系統(tǒng)交互數(shù)據(jù)定義
由于客戶端系統(tǒng)不能直接連接RTU,所有數(shù)據(jù)均需要經(jīng)過服務器RTU驅動軟件轉發(fā),因此必須定義客戶端系統(tǒng)與RTU驅動軟件之間的交互數(shù)據(jù)格式,具體格式為:
目標RTU ID+目標油井ID+測試類型+數(shù)據(jù)+本機IP地址
其中測試類型定義為枚舉型變量,包含了查看RTU時鐘、校正RTU時鐘、查看RTU巡檢參數(shù)、設置RTU巡檢參數(shù)、查看RTU信道、設置RTU信道、查看固化程序版本、測試電參、測試功圖、測試電流圖等類型。
同時在RTU驅動軟件上增加客戶端系統(tǒng)數(shù)據(jù)解析模塊和消息處理鏈表,鏈表中的節(jié)點為數(shù)據(jù)轉發(fā)類的實例,數(shù)據(jù)轉發(fā)類定義如下:
在數(shù)據(jù)轉發(fā)類中包含了目標油井ID,目標RTU ID,測試類型,數(shù)據(jù)和客戶端IP地址。
RTU驅動軟件接收到客戶端系統(tǒng)的測試要求后,轉發(fā)數(shù)據(jù)到指定的RTU,同時在消息處理鏈表中增加一個節(jié)點。之后,RTU驅動軟件接收到數(shù)據(jù)后需與消息處理鏈表中的節(jié)點進行比較,如發(fā)現(xiàn)有符合項,則將數(shù)據(jù)或測試結果轉發(fā)給客戶端系統(tǒng),同時將該消息節(jié)點從消息處理鏈表中刪除。
5系統(tǒng)優(yōu)勢
客戶端系統(tǒng)具有以下優(yōu)勢:
1)系統(tǒng)采用標準模塊化設計,方便擴展。例如,如需增加其他類型協(xié)議的解析,只需提取協(xié)議模塊接口,編寫新協(xié)議實現(xiàn)代碼即可,不需要對其他部分代碼做修改;
2)整個系統(tǒng)免安裝,直接拷貝到用戶電腦上即可使用;
3)系統(tǒng)運行日志自動上傳到服務器上,方便公司研發(fā)人員查找產(chǎn)品問題;
4)系統(tǒng)可同時在多臺電腦上運行,方便多人同時執(zhí)行單井自動化產(chǎn)品的調(diào)試和配置,提高了產(chǎn)品施工的效率。
6結束語
客戶端系統(tǒng)的開發(fā),給油田信息化部門同志的產(chǎn)品安裝和調(diào)試帶來了很大便利,后續(xù)將著手開發(fā)基于安卓平臺和IOS平臺的客戶端系統(tǒng),使產(chǎn)品安裝和調(diào)試工作脫離電腦的束縛。
參考文獻
[1]殷建平,徐云,王剛·《算法導論》·機械工業(yè)出版社,2012
(作者單位:貴州航天凱山石油儀器有限公司)