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