引言
在我國石油、化工、軍事、能源等領域現(xiàn)有各類型儲油罐數(shù)萬個,而且隨著經(jīng)濟的不斷發(fā)展,其數(shù)量也呈持續(xù)上升趨勢。其中,大部分油罐均為人工手動計量,效率低,誤差大,制約了儲油罐群自動化管理水平的提高。管理自動化:由人與計算機技術設備和管理控制對象組成的人機系統(tǒng),核心是管理信息系統(tǒng)。管理自動化采用多臺計算機和智能終端構成計算機局部網(wǎng)絡,運用系統(tǒng)工程的方法,實現(xiàn)最優(yōu)控制與最優(yōu)管理的目標。大量信息的快速處理和重復性的腦力勞動由計算機來完成,處理結果的分析、判斷、決策等由人來完成,形成人、機結合的科學管理系統(tǒng)。工廠或事業(yè)單位的人、財、物、生產(chǎn)、辦公等業(yè)務管理自動化,是以信息處理為核心的綜合性技術,涉及電子計算機、通信系統(tǒng)與控制等學科。一般采用由多臺具有高速處理大量信息能力的計算機和各種終端組成的局部網(wǎng)絡。現(xiàn)代已在管理信息系統(tǒng)的基礎上研制出決策支持系統(tǒng)(DSS),為高層管理人員決策提供備選的方案。 對社會的影響 自動化是新的技術革命的一個重要方面。自動化技術的研究、應用和推廣,對人類的生產(chǎn)、生活等方式將產(chǎn)生深遠影響。生產(chǎn)過程自動化和辦公室自動化可極大地提高社會生產(chǎn)率和工作效率,節(jié)約能源和原材料消耗,保證產(chǎn)品質量,改善勞動條件,改進生產(chǎn)工藝和管理體制,加速社會的產(chǎn)業(yè)結構的變革和社會信息化的進程。
2.系統(tǒng)的功能與體系結構
2.1 系統(tǒng)功能
系統(tǒng)需要能對各儲罐進行實時測量和控制。
對每一個油罐需采集的參數(shù)有:油品的界面(液位)、溫度(罐內(nèi)油品在任何界面時的上、中、下三點溫度值)、油泵的進口和出口壓力和油泵的主軸溫度;
對每一個油罐需控制和調節(jié)的參數(shù)有:油泵的進口壓力、油泵的出口壓力。
能通過上位機(IPC)進行集中的監(jiān)控管理。
能通過Internet進行遠程監(jiān)控管理。
2.2 系統(tǒng)的體系結構
系統(tǒng)的底層采用CAN總線網(wǎng)絡完成現(xiàn)場的測控任務。CAN是控制器局域網(wǎng)絡(Controller Area Network, CAN)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)了的,并最終成為國際標準(ISO118?8)。是國際上應用最廣泛的現(xiàn)場總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標準總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機械車輛設計的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。
監(jiān)控機根據(jù)后臺數(shù)據(jù)處理程序負責對整個CAN總線進行監(jiān)視管理;
數(shù)據(jù)庫負責存儲從底層控制系統(tǒng)中采集的數(shù)據(jù)、并向系統(tǒng)發(fā)送的控制數(shù)據(jù)以及對進行各種計算直接產(chǎn)生的中間數(shù)據(jù),并對歷史數(shù)據(jù)進行存儲和歸檔。
Web服務器是一個基于Internet的超文本分布信息系統(tǒng)。對于客戶/服務器體系結構的遠程測控系統(tǒng),遠程客戶需要通過Internet/Intranet訪問服務器端。如今,主要有兩種訪問模式,即B/S和C/S模式。本文中系統(tǒng)的頂層采用基于瀏覽器的客戶端/服務器B/S(Browser/Server)通信方式?;赪eb的CAN網(wǎng)絡儲油罐群遠程監(jiān)控系體系結構如圖1所示。
3 系統(tǒng)底層網(wǎng)絡的設計
3.1 基于CAN現(xiàn)場總線的底層網(wǎng)絡方案
目前對于油罐參數(shù)的采集與傳送主要通過RS-485 網(wǎng)絡來完成,其檢錯、糾錯、錯誤定位能力弱,無總線脫離功能。而CAN(Controller Area Network)是一種應用廣泛的現(xiàn)場總線,它以ISO/OSI模型為基礎的,具有完整的軟件支持系統(tǒng),能夠解決總線控制、沖突檢測、鏈路維護等問題,允許多主存在。適合于熱插拔,高速、檢錯和糾錯能力、良好的EMC特性。CAN控制器工作于多主方式,網(wǎng)絡中的各節(jié)點都可根據(jù)總線訪問優(yōu)先權(取決于報文標識符)采用無損結構的逐位仲裁的方式競爭向總線發(fā)送數(shù)據(jù),且CAN協(xié)議廢除了站地址編碼,而代之以對通信數(shù)據(jù)進行編碼,這可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這些特點使得CAN總線構成的網(wǎng)絡各節(jié)點之間的數(shù)據(jù)通信實時性強,并且容易構成冗余結構,提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。而利用RS-485只能構成主從式結構系統(tǒng),通信方式也只能以主站輪詢的方式進行,系統(tǒng)的實時性、可靠性較差;
對一個大型儲液罐群來說,要構成基于現(xiàn)場總線的控制系統(tǒng),其檢測過程變量的變送器和相關的執(zhí)行器必須是具有現(xiàn)場總線接口的儀表,其費用很高。本文采用設計現(xiàn)場總線智能I/O的方法,將該智能I/O作為現(xiàn)場總線上的智能接點,將常規(guī)變送器和執(zhí)行器連入現(xiàn)場總線,具有很高的性價比。
3.2 CAN智能I/O的設計
節(jié)點是網(wǎng)絡上信息的接收和發(fā)送站,本設計采用由獨立的通信控制芯片與單片機接口構成的智能節(jié)點。CAN總線智能節(jié)點硬件設計包括:A/D和D/A轉換部分、看門狗硬件電路、CAN總線通信接口,其主要硬件結構如圖2 所示。
油罐的油位、油溫和油泵的進/出口壓力以及油泵的主軸溫度由變送器進行測量,其輸出信號經(jīng)過多路復用、A/D轉換器送入單片機,輸出控制每個油泵和調節(jié)其進口和出口壓力的信息由單片機經(jīng)D/A轉換器送達執(zhí)行機構。
CAN總線智能節(jié)點的軟件設計關鍵是CAN總線通信接口程序,其主要功能是將采集進來的數(shù)據(jù)經(jīng)過處理,通過定時中斷發(fā)送到Web服務器端,同時通過接收中斷接收處理來自服務器端的數(shù)據(jù)查詢、設置命令和控制命令。CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等方面?,F(xiàn)場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的技術支持。
命令碼主要體現(xiàn)在ID標識符上,由于采用的是標準幀格式發(fā)送CAN信息幀,因此,ID標識符為11位。其結構如下:ID0~ID5表示大型儲液罐群罐號,如“000000”為“1”號罐;ID6~ID8表示大型儲液罐群的被控量;ID9~ID10表示命令字,如“10”為設置命令,“11”為控制命令。
程序主要包括初始化程序、接收處理程序和發(fā)送處理程序。其重點和難點是SJA1000的初始化,包括工作方式的設置、接收濾波的設置、接收屏蔽寄存器(AMR)和接收代碼寄存器(ACR)的設置、波特率參數(shù)設置和中斷使能寄存器的設置等。
現(xiàn)場控制模塊數(shù)據(jù)的收發(fā)是大量的,也是實時性需要的,但是在遠程機上的控制通常只是常規(guī)的監(jiān)視和調整,不需要太高的實時性,同時也為了網(wǎng)絡的暢通,上位機與遠程機上的同步數(shù)據(jù)刷新率不必設的太高,一般可以設置為采樣多個數(shù)據(jù)后一次性發(fā)送。
4 系統(tǒng)的中間層設計
中間層是一個多層結構,主要負責數(shù)據(jù)讀取、數(shù)據(jù)轉發(fā)、數(shù)據(jù)處理、管理及監(jiān)控等功能,由CAN總線的網(wǎng)關、數(shù)據(jù)庫和WEB服務器組成。
4.1 監(jiān)控單元的設計
監(jiān)控單元由含CAN適配卡的工控機(上位機)和后臺數(shù)據(jù)處理程序組成。上位機通過CAN總線智能適配卡PCI-5110與CAN總線進行通信。本程序采用C++Builder編寫,有強大的人機交互功能,方便操作人員使用。
數(shù)據(jù)庫采用Microsoft SQL Server 7.0, 負責存儲從底層控制系統(tǒng)中采集的數(shù)據(jù)、向系統(tǒng)發(fā)送的控制數(shù)據(jù)以及對進行各種計算直接產(chǎn)生的中間數(shù)據(jù),并對歷史數(shù)據(jù)進行存儲和歸檔,實現(xiàn)控制程序、罐群基本信息和監(jiān)控信息等的管理功能。它包括當月數(shù)據(jù)庫、歷史數(shù)據(jù)庫、系統(tǒng)參數(shù)數(shù)據(jù)庫和儲罐容積表數(shù)據(jù)庫。當月數(shù)據(jù)庫中的數(shù)據(jù)超過規(guī)定的時間后就會自動地轉存到歷史數(shù)據(jù)庫中。
4.2 Web服務器的建立
WebSnap是C++ Builder 6.0最新的WebApplication開發(fā)架構,使用WebSnap不象Web Service那樣需要熟悉套接字Socket,并且在編寫服務器或客戶應用程序前也無須了解應用程序要提供或使用的服務,可進行WEB快速應用開發(fā)。WebSnap在開發(fā)數(shù)據(jù)庫應用程序方面有強勁的功能,其ADO數(shù)據(jù)庫連接控件具有很好地連接各種數(shù)據(jù)庫的功能。
WebSnap有以下特征:支持CGI(Common Gateway Interface)Web服務器應用程序、支持對客戶請求的多線程處理、提供Web模塊的緩存技術以便更快地對用戶消息進行響應、支持交叉平臺WebSnap把B/S應用的開發(fā)代入了一個全新的領域,真正做到了零客戶端配置。
4.3 中間層軟件設計
中間層的主要功能是:對來自底層的數(shù)據(jù)信息進行讀取、分解(解析)、運算處理(包括對數(shù)據(jù)庫存儲),并且響應來自上層的客戶請求,對該請求分析處理后轉發(fā)相應的信息給底層,以達到對底層的監(jiān)視和控制。其系統(tǒng)軟件應用結構如圖3所示。
CAN適配卡的控制程序模塊將來自CAN適配卡的數(shù)據(jù)進行解析、存儲到數(shù)據(jù)庫,以及把來自Web服務器應用程序傳遞來的信息進行處理并向CAN適配卡發(fā)送相應數(shù)據(jù);Web服務器應用程序模塊:負責系統(tǒng)的全局調度,接收客戶端請求并響應,它擔當著對客戶控制命令的下傳和對上傳數(shù)據(jù)信息的處理;而Windows消息處理模塊則建立了Web服務器應用程序和基于CAN適配卡的控制程序的一種溝通機制。
其中,Web服務器應用程序編程使整個系統(tǒng)軟件設計的關鍵部分。在WebSnap中,可以創(chuàng)建五種標準類型的Web服務器應用程序,它們是ISAPI和NASPI類型、獨立于操作系統(tǒng)的CGI類型、獨立于操作系統(tǒng)的WinCGI類型、Apache類型和Web服務器應用程序調試器類型。為了方便調試服務器應用程序起見,我們采用了Web服務器應用程序調試器類型。
由于WebSnap具備了嵌入腳本的能力,因此我們采用Dreamweaver來制作HTML頁面文件并將其作為模板集成到C++ Builder的Web服務器應用程序中,構成一個完美的服務器網(wǎng)站。WebSnap應用程序與數(shù)據(jù)庫的連接主要通過ADO組件技術和SQL。在WebSnap應用程序的主窗體上嵌入ADOConnection組件,使WebSnap應用程序與數(shù)據(jù)庫總保持邏輯連接[6]。
5 數(shù)據(jù)交互路徑
系統(tǒng)中的數(shù)據(jù)流向大體可分為上行數(shù)據(jù)和下行數(shù)據(jù)。上行數(shù)據(jù)就是從現(xiàn)場采集的數(shù)據(jù)上傳給服務器,下行數(shù)據(jù)就是服務器接收來自客戶瀏覽器的命令請求下傳到相應的現(xiàn)場設備。
5.1 下行數(shù)據(jù)
當遠程客戶通過身份(用戶名和口令)驗證進入控制主頁時,選擇任務,如“關閉1號儲液罐進油閥”,點擊提交按鈕,這樣服務器便接收來自客戶瀏覽器的控制命令請求??蛻魹g覽器把地址欄中的URL內(nèi)容傳給了Web服務器,將URL 第二部分服務器名(192.168.1.238:1024)解碼與Web服務器相連,Web服務器應用程序通過WebDispatcher將URL 第四部分路徑名(Command)解析,從它的動作項列表中選取【PathInfo】屬性值與Command相同的動作項。該動作項觸發(fā)其對應的頁面制作器PageCommand。如果沒有找到匹配的動作項,WebDispatcher將調用默認的動作項。PageCommand的屬性【HTMLFile】標記著對應的HTML文件地址,其事件屬性【OnHTMLTag】標記著PageCommandHTMLTag。當關閉1號儲液罐進油閥事件被觸發(fā)時,頁面制作器PageCommand開始構造HTML頁面,當發(fā)現(xiàn)透明書簽〈#IsIn進油閥〉(HTML文件代碼中)時,用相應的解析函數(shù)PageCommandHTMLTag中的替換文本替代。與此同時,我們在解析函數(shù)PageCommandHTMLTag中自定義Windows消息(關閉1號進油閥)并且發(fā)送它,當基于CAN適配卡的控制程序截獲這個消息時,把關閉1號進油閥編制成命令碼“1101100000”封裝成CAN信息幀數(shù)組的結構成員ID發(fā)送到CAN適配卡。經(jīng)CAN適配卡(轉換成CAN協(xié)議能識別的數(shù)據(jù)格式)傳到CAN總線時,經(jīng)驗收碼和屏蔽碼辨別,被CAN總線智能節(jié)點1接收,表明要控制的對象是1號大型儲液罐。
遠程測控系統(tǒng)的命令窗口如圖4所示。
5.2 上行數(shù)據(jù)
上行數(shù)據(jù)與下行數(shù)據(jù)流程的原理基本相同。從現(xiàn)場儲液罐群被控量中采集來的數(shù)據(jù),經(jīng)各個CAN總線智能節(jié)點處理后定時發(fā)到CAN總線上,經(jīng)CAN適配卡進入PC機,基于CAN適配卡的控制程序模塊把CAN信息幀數(shù)組(VCI_CAN_OBJ結構體類型)中的成員ID標識符提取出來分解,分別把分解得到的罐號和其它被控量存到數(shù)據(jù)庫中。
6 結束語
當前是一個構筑在網(wǎng)絡基礎之上的信息化時代。將Web技術與現(xiàn)場總線技術的結合,通過現(xiàn)場總線技術將現(xiàn)場設備接入網(wǎng)絡,實現(xiàn)控制網(wǎng)絡與互聯(lián)網(wǎng)的完全融合,實現(xiàn)儲油罐群的遠程網(wǎng)絡控制與管理,具有一定的先進性與優(yōu)越性。
-
控制系統(tǒng)
+關注
關注
41文章
6420瀏覽量
110105 -
CAN總線
+關注
關注
145文章
1898瀏覽量
130339 -
Web
+關注
關注
2文章
1253瀏覽量
69059 -
計算機
+關注
關注
19文章
7174瀏覽量
87165
發(fā)布評論請先 登錄
相關推薦
評論