0 前言
controX2000通用監控軟件是基于Microsoft Windows 98、windows 2000、windows NT操作系統的,controX2000軟件包內部采用真正的Client/Sever體系結構,用戶可以在企業所有層次的各個位置上都可以及時獲得系統的實時信息,無論是在控制現場還是在辦公室內,可以進行交互式的操作,讓操作者和管理人員作出快捷有效的決策。通過使用controX2000,會使用戶極大地增強其生產線能力,提高工廠的生產力和效率,提高產品的質量和減少成本及原材料的消耗。它適用于從單一設備的生產運營管理和故障診斷,到網狀結構的分布式大型集中監控管理系統的開發。
1 controX2000的系統結構
controX2000 總體結構由開發環境、數據服務、驅動程序庫和運行環境構成。
●開發環境:是一個工程開發設計工具。用于創建監控虛擬現實場景(圖頁)、監控的設備及相關變量、動畫連接、設定運行系統配置等的系統組態。
●數據服務:作為數據處理的核心,用于根據開發環境的設計進行與硬件設備通訊的調度和數據的加工處理以及網絡的傳輸。
●驅動程序庫:負責與外部設備的數據信息交換,每一種通訊驅動程序支持相應類型的外部硬件設備。
●運行環境:運行界面。從數據服務獲得通訊數據,并依據由開發環境的動畫設計顯示動畫畫面,實現人與控制設備的交互操作。
在controX2000中一臺計算機可以同時承擔多項任務。如瀏覽站、事件處理、報警處理、數據記錄、報表處理等任務。
2 成品入庫監控系統的整體設計
綏化卷煙廠入庫監控系統,由現場一號、二號采集站和監控管理機組成,采集站PLC完成系統自動控制和現場數據采集,數據經PLC預處理后,通過現場RS485通訊網送入監控系統,監控系統完成數據的轉化處理,形成Access數據庫,供管理系統使用,工業控制機采用單硬盤、雙啟動系統,即在一塊硬盤的兩個分區安裝雙啟動系統;本設計操作系統選用穩定性好用于網絡的WINDOWS2000,具體安裝是:C分區安裝Windows 2000、Office 2000、Controx 2000 開發版,Windows 2000作為系統操作平臺及網絡服務;Office 2000提供Access數據庫,用于編寫數據庫及報表,為系統調試提供數據存儲及數據管理;Controx 2000 開發版主要用于監控程序編寫、修改、調試,此分區設有用戶名及密碼,只有編程、調試人員可以進入。D分區安裝Windows 2000、Office 2000、Controx 2000 運行版, Controx 2000 運行版用于監控程序的運行,此分區系統完全自動啟動運行,入庫監控系統具體如示意圖1-1。
圖(1-1)入庫監控系統示意圖
3 Controx 2000與采集站的連接
在卷煙入庫系統中現場的硬件設備采集來的數據,需要通過組態軟件的設備驅動程序傳送到組態軟件中。在上位監控軟件中則需要配置這些硬件的驅動程序。controX2000 也同樣要配置這些硬件的驅動程序。對于一個網絡工程,上位機也具有多臺,每臺上位機的作用不一定相同。如何配置各個上位機也是組態軟件需要做的工作。在 controX2000 中,上位機被稱作為節點。數據采集硬件被稱作設備。節點與設備之間的數據交換是通過 controX2000 提供的通訊驅動程序實現的。工程人員不必關心具體的通訊協議,只需要在新建硬件窗口中選擇設備的類型。然后按照設備配置向導的提示一步步完成即可。這樣使驅動程序的配置更加方便。
節點是在一個工程中用于顯示畫面、記錄數據、產生報警等功能的計算機。本系統由工業控制機擔任,監控系統與外部設備的數據信息交換,是通過組態軟件提供的通訊驅動程序實現的,每一種通訊驅動程序支持相應的外部硬件設備。controX2000 的通訊驅動程序支持目前流行的大多數控制器和控制系統。controX2000 有多種通訊方式與外部設備通訊。包括標準串口通訊(即 RS-232 或 RS-485/422 方式)、專用的通訊卡、標準的網絡通訊、DDE 通訊方式、OPC 標準的通訊接口、仿真通訊。本系統外部設備為PLC采集站,通過RS-485 方式實現。
4 controX2000數據采集系統的編程
4.1 監視畫面的開發
用戶通過在controX2000上制作的人機界面(HMI)畫面來監視和控制工程現場的實際情況。controX2000的人機界面的框架是由圖頁和布置來實現的。圖頁可以是虛擬現實場景,如一個監控的車間,也可以是一幅報表圖,或者是一個具體的設備。它是controX2000提供給用戶進行組態和運行的基本框架。各種單元、符號、插件的組態和運行都必須建立在圖頁上。布置 則是將整個工程提供給用戶的人機界面。它可以是一幅圖頁也可以包含幾幅圖頁。它提供給用戶的不僅是幾幅反應現場情況的圖頁,還包含便于用戶操作的其他功能。
controX2000為圖頁和布置提供了強大的編輯功能:一個復雜的畫面是由許許多多的基本圖元組成的。同時,象單元、符號也是由基本圖元或基本圖元和插件、符號組成的。所以說,基本圖元是構成畫面的最基本元素。畫面是直接面對用戶的HMI(人機界面)。基本圖元的繪制效果就直接反映給用戶。每個圖元都必須具有名稱和提示信息屬性。名稱是圖元用以區別起他圖元的代號。提示信息便于用戶了解圖元的詳細情況。
controX2000為用戶提供了豐富的動畫設計手段,使得畫面看起來栩栩如生。'動畫鏈接'就是建立圖頁中圖形對象與數據變量的對應關系。通過制作動畫鏈接使圖形對象改變外觀來反映數據變量值的變化。打開對象窗口的動畫子窗口(雙擊要連接的圖素,選擇“動畫” 頁),可以看到系統提供的動畫屬性,設計動畫現象直觀。
卷煙入庫數據采集監控軟件畫面,包括一個數據采集監控主布置和五個圖頁:圖頁是實時形成監控、實時采集數據、實時數據表格、實時產量報表和數據處理。
4.2 controX2000對數據實時處理軟件
數據采集監控軟件由controX2000作為支撐軟件,具體由controX2000的腳本語言實現,腳本語言是一個面向對象的組態開發語言。它是為實現標準功能之外的效果,響應現場操作人員的控制操作,或者需要在組態系統中實現用戶自己的控制邏輯功能所采用的。腳本語言提供一種統一的方法來對所有的對象進行訪問、控制和在對象之間建立關聯。
controX2000系統對它進行了特別的實現,以使它更容易被理解、書寫和使用。腳本語言具有簡捷、高效的特點,易于被軟件開發人員掌握。在controX2000的組態環境中,在對象編輯窗口中列出的當前對象的事件。它有多種觸發條件。當觸發條件滿足時,事件執行預先定義的一段腳本程序。controX2000的組態環境中,可以定義全局和圖頁兩個層次的快捷鍵功能,在應用系統運行時,如果指定的按鍵被按下,系統會執行預先定義的一段腳本程序。在監控軟件的應用系統中的數據采集層次,您可以定義在特定條件下或間隔時間發生的事件,如果事件在滿足條件時被激活,系統會執行預先定義的一段腳本程序。在controX2000中提供了多種觸發條件的事件處理機制。
4.3 監控軟件的編程
controX2000系統的腳本使用Object Pascal語言語法定義。它是在標準的Turbo Pascal基礎上增加了面向對象的語言擴展和用于各種用途的函數、過程調用擴展。采用強類型語法檢查,能有效地在編譯階段發現程序中的錯誤。具有結構化的設計思想、嚴謹的語法規則和良好的書寫風格,它的語法與自然語言很相似。本系統主要有實時數據采集程序、數據處理程序、自動保存數據程序、自動清零程序、實時數據數據報表、日報表、定時關機等程序,下面是實時數據采集部分程序:
begin
date.Value:=datetostr(now);
time.Value:=timetostr(now);
n26.Value:=60;
if D2596.Value=n26.Value then
begin
n1.Value:=D2590.Value;
n2.Value:=D2591.Value;
n3.Value:=D2592.Value;
n8.Value:=D2593.Value;
end;
if n1.value=n2.value then 總產量.value:=n1.value
else if n1.value=n3.value then 總產量.value:=n1.value
else if n2.value=n3.value then 總產量.value:=n2.value
else 總產量.value:=n1.value ;
if n5.value=n6.value then 大慶.value:=n6.value
else if n5.value=n7.value then 大慶.value:=n5.value
else if n6.value=n7.value then 大慶.value:=n7.value
else 大慶.value:=n7.value ;
if 總產量.value<大慶.value then 綏化.value:=0
else 綏化.value:=總產量.value-大慶.value ;
if n40.value=1 then ExitWindows(1);
end
5、controX2000與數據庫的連接
controX2000支持標準的ODBC,一個數據庫管理系統需要一個ODBC(Open Datebase Connectivity---開放數據庫互連)驅動程序,以動態連接庫(DLL)的形式獲取歷史數據庫中的數據信息。用戶可以使用標準的ODBC接口將數據登錄到Oracle、Microsoft SQL Sever、Microsoft -Access、Sybase、FoxPro等數據庫中。這些數據庫文件中的數據可以方便進行控制系統歷史和實時數據的分析,ODBC驅動程序使用方法。
5.1外建一個數據庫,這里我們選用Access數據庫dby,在庫中建立一個表:小時報表,為表建立字段,為表的索引字段,并且該值應該是不斷增加的,TagName用來保存標簽名稱,TagValue用來保存標簽的值,TagDate則用來保存標簽產生的時間。
5.2用Windows控制面板中自帶的ODBC Data Sources (32bit)管理工具新建一個Microsoft Access Driver(*.mdb)驅動的數據源,假設為"Ms Access Database"。然后配置該數據源,指向剛才建立的Access數據庫。
5.3在監控程序中建立ODBC的驅動設備’sjk’,其中數據源指向為"Ms Access Database",表名指向"小時報表",索引字段為ID,數據字段為TagValue,過濾字段為TagName,日期字段為TagDate,至此,一個ODBC設備就建立完成了。
5.4 建立連接數據庫事件程序
controX2000標準的ODBC,需要建立事件腳本程序,以便定時向Access數據庫傳送數據,程序中的腳本語句為: ExecODBCConnByIndex('sjk','0,1,2,3,4,5,6');
6結束語
隨著計算機軟硬件技術的發展,人們對工業自動化的監控系統要求也越來越高。現今控制系統的控制器已經能夠滿足人們在各種生產場合下的控制需要。用戶的注意力也轉移到了如何更有效的管理生產現場控制系統,尤其是現場數據的監控系統,controX2000監控軟件正是在這一時期出現的一種先進的工業控制用軟件包,它融過程控制設計、現場操作以及工廠資源管理于一體,將一個企業內部的各種生產系統和應用以及信息交流匯集在一起,實現最優化管理。目前,一個先進的監控軟件不僅要對眾多的現場控制器和其他現場智能部件進行控制和監視,操作時具有高性能和高可靠性,以及隨時對各種突發事件做出反應,不丟失任何數據和報警信息。而且要協助使用者連接工廠現有的平臺和應用,使它們協調運轉,以優化工廠一級的管理。一個功能強大的工業監控軟件必須在用戶需要的時候將工廠最底層的信息實時地傳送到控制中心,并使各種信息在全廠范圍內傳遞,實現工業現場網絡,為企業帶來巨大經濟效益。