- 計算機控制技術(MCGS實現)
- 李江全 劉嬌娣 劉育辰 黨媚
- 12663字
- 2020-08-28 16:35:57
2.2 知識鏈接
2.2.1 控制系統應用軟件概述
1.控制系統應用軟件的種類
測控軟件可以分為單任務和多任務兩大類。
單任務測控軟件完成的任務比較簡單,或程序所執行的任務是預先安排好的,這種單任務測控軟件也可以在其中引入中斷處理程序。
多任務測控軟件比較復雜,系統并行地運行多個任務,分別處理不同的事件,并以某種方式分時占用計算機資源。多任務測控軟件往往需要多任務操作系統的支持,由操作系統來完成多任務的調度工作。基于DOS的多任務功能往往由測控軟件設計者自身完成,而基于多任務操作系統平臺(如Windows、OS/2、UNIX等)的多任務功能則由操作系統來完成。鑒于Windows的普及性,許多軟件商都推出了基于Windows平臺的測控軟件。
測控軟件又可分為專用和通用兩大類。
專用測控軟件針對某個特定的測控系統而研制,檢測點數、控制回路數、控制策略、顯示界面以及報表功能都是相對固定的,無法做大的改動。
通用測控軟件也稱為組態軟件,它不針對具體的測控對象,而是提供一個開發平臺,使設計者能快速地根據不同的測控對象構成具體的測控系統。
2.控制系統應用軟件的功能
(1)數據輸入/輸出功能
過程數據輸入/輸出是測控軟件的基本功能之一。數據輸入包括來自現場的各種數據轉換值、讀數值和狀態值等,以及來自控制臺的各種輸入值(如設定值和報警限等)。數據輸出包括送往現場的控制量、邏輯控制信號以及送往控制臺的各種指示信號。
即使是最簡單的測控軟件,也需具備數據采集功能和參數報警功能。
(2)回路控制功能
回路控制是測控軟件最重要的功能之一。計算機測控系統的基本任務和周期性任務就是根據設定值與現場測量值獲得偏差信號,由偏差信號經一定控制算法獲得輸出控制量,并將該控制量送往執行器,通過調節物料流量或能量,使控制對象的被控量逼近系統的目標值(設定值)。由于信號的輸入、輸出構成了一個環路,且控制過程是周期性的,因此稱之為回路控制。一個系統有多少個控制點就有多少個控制回路,檢測點的數目至少等于控制回路的數目。
(3)界面顯示功能
不同的測控系統所要求的顯示界面是不同的。但界面的種類大體包括總貌顯示界面、棒圖顯示界面、細目顯示界面、實時趨勢界面、歷史趨勢界面、報警界面、回路控制界面、參數總表界面、操作記錄界面、事故追憶界面及工藝流程界面等。
(4)報表功能
報表的種類是多種多樣的,不同的測控系統、不同的用戶對報表的格式有不同的要求。根據報表的打印啟動方式來分類,主要有定時報表、隨機報表和條件報表等。時報表、班報表、周報表、月報表及年報表均可視為定時報表,定時報表在定時時間到點時由系統自動打印輸出。隨機報表可由操作人員隨時啟動報表打印輸出;條件報表則只有條件滿足時由系統自動啟動打印操作,如出現某個事故或報警信號時,自動打印有關數據。
(5)系統生成功能
專用的測控軟件一般不具有系統生成功能,而一個通用的測控軟件往往具有系統生成功能。系統生成功能即系統組態功能,主要包括數據庫生成、歷史數據庫生成、圖形生成、報表生成、順序控制生成及連續控制生成等諸多子系統。
(6)通信功能
運行在單機控制系統的測控軟件一般不具有通信功能,即使有通信功能,也只用于擴充系統。運行在多機系統的測控軟件必須具有通信功能。多機控制系統往往又是二級或多級控制系統。上位機與上位機之間一般采用通用的網絡通信,如以太網、TCP/IP等。上位機與下位機之間一般都采用RS-485總線式通信網絡或具有實時性的通信網絡及其協議,以確保控制功能的實時性和可靠性。
(7)其他功能
1)控制策略:為控制系統提供可供選擇的控制策略方案。
2)數據存儲:存儲歷史數據并支持歷史數據的查詢。
3)系統保護:自診斷、斷電處理、備用通道切換和為提高系統可靠性、維護性采取的措施。
4)數據共享:具有與第三方程序的接口,方便數據共享。
應該指出,并非每項功能都是任何測控軟件所必需的,有的測控軟件可能只需要其中的幾項功能。
3.控制系統應用軟件的功能模塊
目前,在計算機控制系統中,控制軟件除控制生產過程之外,還對生產過程實現管理,根據控制軟件的功能,一個工業控制軟件應包含以下幾個主要模塊。
(1)數據采集及處理模塊
實時數據采集程序主要完成多路信號(包括模擬量、開關量、數字量和脈沖量)的采樣、輸入變換和存儲等。數據處理程序包括:數字濾波程序,用來濾除干擾造成的錯誤數據或不宜使用的數據;線性化處理程序用以對檢測元件或變送器的非線性應用軟件補償;標度變換程序用以把采集到的數字量轉換成操作人員所熟悉的工程量;數字信號采集與處理程序用以對數字輸入信號進行采集及碼制之間的轉換,如BCD碼轉換成ASCⅡ碼等;脈沖信號處理程序用以對輸入的脈沖信號進行電平高低判斷和計數;開關信號處理程序用以判斷開關信號輸入狀態的變化情況,如果發生變化,則執行相應的處理程序;數據可靠性檢查程序用來檢查是可靠輸入數據還是故障數據。
(2)控制模塊
控制算法程序是計算機控制系統中的一個核心程序模塊,主要實現按所選控制規律的計算,產生對應的控制量。它主要實現對系統的調節和控制,它根據各種各樣的控制算法和千差萬別的被控對象的具體情況來編寫,控制程序的主要目標是滿足系統的性能指標。常用的有數字式PID調節控制程序、最優控制算法程序、順序控制及插補運算程序等;還有運行參數設置程序,即對控制系統的運行參數進行設置,運行參數有采樣通道號、采樣點數、采樣周期、信號量程范圍、放大器增益系數和工程單位等。
(3)監控報警模塊
將采樣讀入的數據或經計算機處理后的數據進行顯示或打印,以實現對某些物理量的監視;根據控制策略,計算機要判斷是否超出工藝參數的范圍,如果超越了限定值,就需要由計算機或操作人員采取相應的措施,實時地對執行機構發出控制信號,完成控制,或輸出其他有關信號,如報警信號等,確保生產的安全。
(4)系統管理模塊
系統管理模塊用于將各個功能模塊程序組織成一個程序系統,并管理和調用各個功能模塊程序;還用于管理數據文件的存儲和輸出。系統管理程序一般以文字菜單和圖形菜單的人機界面技術來組織、管理和運行系統程序。
(5)數據管理模塊
這部分程序用于生產管理部分,主要包括變化趨勢分析、報警記錄、統計報表、打印輸出、數據操作、生產調度及庫存管理等程序。
(6)人機交互模塊
人機交互模塊分為兩部分:人機對話程序,包括顯示、鍵盤和指示等程序;界面顯示程序,包括用圖、表及曲線在CRT顯示器上形象地反映生產狀況的遠程監控程序等。
(7)數據通信模塊
數據通信程序是用于完成計算機與計算機之間、計算機與智能設備之間大量信息的傳遞和交換。它的主要功能有:設置數據傳送的波特率(速率);上位機向下位機(數據采集站)發送指令,命令相應的下位機傳送數據;上位機接收下位機傳送來的數據。
4.控制系統應用軟件的開發工具
簡化的計算機控制系統結構可分為兩層,即I/O控制層和操作控制層。I/O控制層主要完成對過程現場I/O處理,并實現直接數字控制(DDC);操作控制層則實現一些與運行操作有關的人機界面功能,相關控制軟件的編寫常采用以下3種開發工具:一是采用機器語言、匯編語言等面向機器的低級語言來編制,二是采用C、VisualBasic、VisualC++等高級語言來編制,三是采用監控組態軟件來編制。
(1)面向機器的語言
機器語言是一種CPU(中央處理器)指令系統,也稱為CPU的機器語言,它是CPU可以識別的一組由0和1序列構成的指令碼。用機器語言編制程序,就是從所使用的CPU的指令系統中挑選合適的指令,組成一個指令序列。這種程序可以被機器直接理解并執行,速度很快,但由于它們不直觀、難記、難以理解、不易查錯且開發周期長,現在只有專業人員在編制對于執行速度有很高要求的程序時才采用。
為了降低編程者的勞動強度,人們使用一些用于幫助記憶的符號來代替機器語言中的0、1指令,使得編程效率和質量都有了很大的提高。由這些助記符號組成的指令系統,稱為匯編語言。匯編語言指令與機器語言指令基本上是一一對應的。因為這些助記符號不能被機器直接識別,所以匯編語言程序必須被編譯成機器語言程序才能被機器理解和執行。編譯之前的程序被稱為“源程序”,編譯之后的程序被稱為“目標程序”。
匯編語言與機器語言都因CPU的不同而不同,所以統稱為“面向機器的語言”。使用這類語言,可以編出效率極高的程序,但對程序設計人員的要求也很高。他們不僅要考慮解題思路,還要熟悉機器的內部結構,所以一般人很難掌握這類程序設計語言。
用匯編語言編寫的程序代碼針對性強,代碼長度短,程序執行速度快,實時性強,要求的硬件也少,但編程繁瑣,工作量大,調試困難,開發周期長,通用性差,不便于交流和推廣。
(2)高級語言
常用的面向過程語言有C、Visual Basic、Pascal等。使用這類編程語言,程序設計者可以不關心機器的內部結構甚至工作原理,把主要精力集中在解決問題的思路和方法上。這類擺脫了硬件束縛的程序設計語言被統稱為高級語言。高級語言的出現是計算機技術發展的里程碑,它大大地提高了編程效率,使人們能夠開發出越來越大、功能越來越強的程序。
隨著計算機技術的進一步發展,特別是像Windows這樣具有圖形用戶界面的操作系統的廣泛使用,人們又形成了一種面向對象的程序設計思想。這種思想把整個現實世界或是其中一部分看成是由不同種類對象組成的有機整體。同一類型的對象既有共同點,又有各自不同的特性。各種類型的對象之間通過發送消息進行聯系,消息能夠激發對象做出相應的反應,從而構成了一個運動的整體。采用了面向對象思想的程序設計語言就是面向對象的程序設計語言,當前使用較多的面向對象的語言有Visual Basic、Visual C++、Java等。
高級語言通用性好,編程容易,功能多,數據運算和處理能力強,但實時性相對差些。
在計算機發展過程的早期,應用軟件的開發大多采用匯編語言。在工業過程控制系統中,目前仍大量應用匯編語言。由于計算機技術的發展,工業控制計算機的基本系統逐漸與廣泛使用的個人計算機兼容,而各種高級語言也都有各種I/O口操作語句,并具有對內存直接存取的功能。這樣,就有可能用高級語言來編寫需要進行許多I/O操作的工業控制系統的應用程序。從許多成功的應用來看,用高級語言開發工業控制和檢測系統的應用程序,其速度快,可靠性高,質量好。
匯編語言和高級語言各有其優點和局限性。在程序設計中,應發揮匯編語言實時功能強、高級語言運算能力強的優點,所以在應用軟件設計中,一般采用高級語言與匯編語言混合編程的方法,即用高級語言編寫數據處理、數據管理、圖形繪制、顯示、打印和網絡管理等程序;用匯編語言編寫時鐘管理、中斷管理、輸入/輸出及數據通信程序等實時性強的程序。
(3)監控組態軟件
監控組態軟件是一種針對控制系統而設計的面向問題的開發軟件,它為用戶提供了眾多的功能模塊,例如控制算法模塊(如PID)、運算模塊(如四則運算、開方、最大/最小值選擇、一階慣性、超前滯后、工程量變換及上下限報警等數十種)、計數/計時模塊、邏輯運算模塊、輸入模塊、輸出模塊、打印模塊和CRT顯示模塊等。系統設計者只需根據控制要求,選擇所需的模塊就能十分方便地生成系統控制軟件。
監控組態軟件是標準化、規模化和商品化的通用開發軟件,只需進行標準功能模塊的軟件組態和簡單的編程,就可設計出標準化、專業化、通用性強并可靠性高的上位機人機界面監控程序(HMI系統),且工作量較小,開發調試周期較短,對程序設計員要求也低一些。因此,監控組態軟件是性能優良的軟件產品,將成為開發上位機監控程序的主流開發工具。
工業控制軟件包是由專業公司開發的控制軟件產品,它具有標準化、模塊組合化和組態生成化等特點,通用性強,實時性和可靠性高。利用工業控制軟件包和用戶組態軟件,設計者可根據控制系統的需求來組態生成各種實際的應用軟件。這種開發方式極大地方便了設計者,他們不必過多地了解和掌握如何編制程序的技術細節,只需要掌握工業控制軟件包和組態軟件的操作規程和步驟,就能開發、設計出符合需要的控制系統應用軟件,從而大大縮短了研制時間,也提高了軟件的可靠性。
在軟件技術飛速發展的今天,各種軟件開發工具琳瑯滿目,每種開發語言都有其各自的長處和短處。在設計控制系統的應用程序時,究竟選擇哪種開發工具,還是幾種軟件混合使用,要根據被控對象的特點、控制任務的要求以及所具備的條件而定。
2.2.2 監控組態軟件概述
隨著工業自動化水平的迅速提高,計算機在工業領域的廣泛應用,人們對工業自動化的要求也越來越高,種類繁多的控制設備和過程監控裝置在工業領域的應用,使得傳統的工業控制軟件已無法滿足用戶的各種需求。在開發傳統的工業控制軟件時,當工業被控對象一旦有變動,就必須修改其控制系統的源程序,導致其開發周期長;已開發成功的工控軟件又由于每個控制項目的不同而使其重復使用率很低,導致它的價格非常昂貴;在修改工控軟件的源程序時,倘若原來的編程人員因工作變動而離去時,則必須由其他人員或新手進行源程序的修改,因而難度很大。
監控組態軟件的出現為解決上述實際工程問題提供了一種嶄新的方法,因為它能夠很好地解決傳統工業控制軟件存在的種種問題,使用戶能根據自己的控制對象和控制目的任意組態,完成最終的自動化控制工程。
1.組態軟件的含義
在使用工控軟件時,人們經常提到組態一詞。與硬件生產相對照,組態與組裝類似。如要組裝一臺計算機,事先提供了各種型號的主板、機箱、電源、CPU、顯示器、硬盤及光驅等,我們的工作就是用這些部件拼湊成自己需要的計算機。當然軟件中的組態要比硬件的組裝有更大的發揮空間,因為它一般要比硬件中的“部件”更多,而且每個“部件”都很靈活,因為軟件都有內部屬性,通過改變屬性可以改變其規格(如大小、形狀和顏色等)。
組態(Configuration)有設置、配置等含義,就是模塊的任意組合。在軟件領域內,是指操作人員根據應用對象及控制任務的要求,配置用戶應用軟件的過程(包括對象的定義、制作和編輯、對象狀態特征屬性參數的設定等),即使用軟件工具對計算機及軟件的各種資源進行配置,達到讓計算機或軟件按照預先設置自動執行特定任務,以滿足使用者要求的目的,也就是把組態軟件視為“應用程序生成器”。
組態軟件更確切的稱呼應該是人機界面(Human Machine Interface,HMI)/控制與數據采集(Supervisory Control And Data Acquisition,SCADA)軟件。組態軟件最早出現時,實現HMI和控制功能是其主要內涵,即主要解決人機界面和計算機數字控制問題。
組態軟件是指一些數據采集與過程控制的專用軟件,它們是在自動控制系統控制層一級的軟件平臺和開發環境,使用靈活的組態方式(而不是編程方式)為用戶提供良好的用戶開發界面和簡捷的使用方法,它解決了控制系統通用性問題。其預設置的各種軟件模塊可以非常容易地實現和完成控制層的各項功能,并能同時支持各種硬件廠家的計算機和I/O產品,與工控計算機和網絡系統結合,可向控制層和管理層提供軟、硬件的全部接口,進行系統集成。組態軟件應該能支持各種工控設備和常見的通信協議,并且通常應提供分布式數據管理和網絡功能。對應于原有的HMI的概念,組態軟件應該是一個使用戶能快速建立自己的HMI的軟件工具或開發環境。
在工業控制中,組態一般是指通過對軟件采用非編程的操作方式(主要有參數填寫、圖形連接和文件生成等)使得軟件乃至整個系統具有某種指定的功能。由于用戶對計算機控制系統的要求千差萬別(包括流程界面、系統結構、報表格式和報警要求等),而開發商又不可能專門為每個用戶進行開發。所以,只能是事先開發好一套具有一定通用性的軟件開發平臺,生產(或者選擇)若干種規格的硬件模塊(如I/O模塊、通信模塊和現場控制模塊等),然后再根據用戶的要求在軟件開發平臺上進行二次開發,以及進行硬件模塊的連接。這種軟件的二次開發工作就稱為組態。相應的軟件開發平臺就稱為監控組態軟件,簡稱組態軟件。“組態”一詞既可以用作名詞也可以用作動詞。計算機控制系統在完成組態之前只是一些硬件和軟件的集合體,只有通過組態,才能使其成為一個具體的滿足生產過程需要的應用系統。
2.組態軟件的地位
在實時工業控制應用系統中,為了實現特定的應用目標,需要進行應用程序的設計和開發。在過去,由于技術發展水平的限制,沒有相應的軟件可供利用。應用程序一般都需要應用單位自行開發或委托專業單位開發,這就影響了整個工程的進度,系統的可靠性和其他性能指標也難以得到保證。
為了解決這個問題,不少廠商在開發系統的同時,也致力于控制軟件產品的開發。工業控制系統的復雜性,對軟件產品提出了很高的要求。要想成功開發一個較好的通用的控制系統軟件產品,需要投入大量的人力、物力,并需經實際系統檢驗,代價是很昂貴的,特別是功能較全、應用領域較廣的軟件系統,投入的費用更是驚人。
在組態軟件出現之前,工控領域的用戶通過手工或委托第三方編寫HMI應用,開發時間長、效率低且可靠性差;或者購買專用的工控系統,通常是封閉的系統,選擇余地小,往往不能滿足需求,很難與外界進行數據交互,升級和增加功能都受到嚴重的限制。組態軟件的出現,把用戶從這些困境中解脫出來,用戶可以利用組態軟件的功能,構建一套最適合自己的應用系統。
采用組態技術構成的計算機控制系統在硬件設計上,除采用工業PC機外,系統大量采用各種技術成熟的通用的I/O接口設備和現場設備,基本不再需要單獨進行具體電路設計。這不僅節約了硬件開發時間,更提高了工控系統的可靠性。
組態軟件實際上是一個專為工控開發的工具軟件。它為用戶提供了多種通用工具模塊,用戶不需要掌握太多的編程語言技術(甚至不需要編程技術),就能很好地完成一個復雜工程所要求的所有功能。系統設計人員可以把更多的注意力集中在如何選擇最優的控制方法,設計合理的控制系統結構,選擇合適的控制算法等這些提高控制品質的關鍵問題上。另一方面,從管理的角度來看,用組態軟件開發的系統具有與Windows一致的圖形化操作界面,非常便于生產的組織與管理。
由于組態軟件都是由專門的軟件開發人員按照軟件工程的規范來開發的,使用前又經過了比較長時間的工程運行考驗,其質量是有充分保證的。因此,只要開發成本允許,采用組態軟件是一種比較穩妥、快速和可靠的辦法。
組態軟件是標準化、規模化和商品化的通用工業控制開發軟件,只需進行標準功能模塊的軟件組態和簡單的編程,就可設計出標準化、專業化、通用性強和可靠性高的上位機人機界面控制程序,且工作量較小,開發調試周期短,對程序設計員要求也較低,因此,監控組態軟件是性能優良的軟件產品,已成為開發上位機控制程序的主流開發工具。
由IPC(進程間通道)、通用接口部件和組態軟件構成的組態控制系統是計算機控制技術綜合發展的結果,是技術成熟化的標志。由于組態技術的介入,計算機控制系統的應用速度大大加快了。
3.組態軟件的系統構成
組態軟件的結構劃分有多種標準,下面以使用軟件的工作階段和軟件體系的成員構成兩種標準討論其體系結構。
(1)以使用軟件的工作階段劃分
從總體結構上看,組態軟件一般都是由系統開發環境(或稱為組態環境)與系統運行環境兩大部分組成。系統開發環境和系統運行環境之間的聯系紐帶是實時數據庫,三者之間的關系如圖2-70所示。
圖2-70 系統組態環境、系統運行環境和實時數據庫三者之間的關系
1)系統組態環境。
它是自動化工程設計工程師為實施其控制方案,在組態軟件的支持下進行應用程序的系統生成工作所必需依賴的工作環境。通過建立一系列用戶數據文件,生成最終的圖形目標應用系統,供系統組態環境運行時使用。
系統開發環境由若干個組態程序組成,如圖形界面組態程序和實時數據庫組態程序等。
2)系統運行環境。
在系統運行環境下,目標應用程序被裝入計算機內存并投入實時運行。系統運行環境由若干個運行程序組成,如圖形界面運行程序和實時數據庫運行程序等。
組態軟件支持在線組態技術,即在不退出系統運行環境的情況下可以直接進入組態環境并修改組態,使修改后的組態直接生效。
自動化工程設計工程師最先接觸的一定是系統組態環境,通過一定工作量的系統組態和調試,最終將目標應用程序在系統運行環境投入實時運行,完成一個工程項目。
一套好的組態軟件應該能夠為用戶提供快速構建自己的計算機控制系統的手段。例如,對輸入信號進行處理的各種模塊、各種常見的控制算法模塊、構造人機界面的各種圖形要素、使用戶能夠方便地進行二次開發的平臺或環境等。如果是通用的組態軟件,還應當提供各類工控設備的驅動程序和常見的通信協議。
(2)按照成員構成劃分
組態軟件因為其功能強大,且每個功能相對來說又具有一定的獨立性,因此其組成形式是一個集成軟件平臺,由若干程序組件構成。
組態軟件必備的功能組件包括如下6個部分。
1)應用程序管理器。
應用程序管理器是提供應用程序的搜索、備份、解壓縮和建立應用等功能的專用管理工具。在自動化工程設計工程師應用組態軟件進行工程設計時,經常會遇到下面一些煩惱:經常要進行組態數據的備份,經常需要引用以往成功項目中的部分組態成果(如界面),經常需要迅速了解計算機中保存了哪些應用項目。雖然這些工作可以用手動方式實現,但效率低下,極易出錯。有了應用程序管理器的支持,這些工作將變得非常簡單。
2)圖形界面開發程序。
它是自動化工程設計人員為實施其控制方案,在圖形編輯工具的支持下進行圖形系統生成工作所依賴的開發環境。通過建立一系列用戶數據文件,生成最終的圖形目標應用系統,供系統運行環境下運行時使用。
3)圖形界面運行程序。
在系統運行環境下,圖形目標應用系統被圖形界面運行程序裝入計算機內并投入實時運行。
4)實時數據庫系統組態程序。
有的組態軟件只在圖形開發環境中增加了簡單的數據管理功能,因而不具備完整的實時數據庫系統。目前比較先進的組態軟件都有獨立的實時數據庫組件,以提高系統的實時性,增強處理能力。實時數據庫系統組態程序是建立實時數據庫的組態工具,可以定義實時數據庫的結構、數據來源、數據連接、數據類型及相關的各種參數。
5)實時數據庫系統運行程序。
在系統運行環境下,目標實時數據庫及其應用系統被實時數據庫系統運行程序裝入計算機內存,并執行預定的各種數據計算和數據處理任務。歷史數據的查詢、檢索和報警的管理都是在實時數據庫系統運行程序中完成的。
6)I/O驅動程序。
它是組態軟件中必不可少的組成部分,用于I/O設備通信,互相交換數據。DDE和OPC客戶端是兩個通用的標準I/O驅動程序,用來支持DDE和OPC標準的I/O設備通信,多數組態軟件的DDE驅動程序被整合在實時數據庫系統或圖形系統中,而OPC客戶端則多數單獨存在。
4.組態軟件的使用步驟
組態軟件通過I/O驅動程序從現場I/O設備獲得實時數據,對數據進行必要的加工后,一方面以圖形方式直觀地顯示在計算機屏幕上;另一方面按照組態要求和操作人員的指令將控制數據送給I/O設備,對執行機構實施控制或調整控制參數。具體的工程應用前必須經過完整且詳細的組態設計,才能使組態軟件正常工作。
下面列出組態軟件的使用步驟:
1)將所有I/O點的參數收集齊全,并填寫表格,以備在控制組態軟件和控制、檢測設備上組態時使用。
2)搞清楚所使用的I/O設備的生產商、種類和型號,使用的通信接口類型,采用的通信協議,以便在定義I/O設備時做出準確選擇。
3)將所有I/O點的I/O標識收集齊全,并填寫表格,I/O標識是唯一確定一個I/O點的關鍵字,組態軟件通過向I/O設備發出I/O標識來請求對應的數據。在大多數情況下,I/O標識是I/O點的地址或位號名稱。
4)根據工藝過程繪制、設計界面結構和界面草圖。
5)按照第1)步統計出的表格,建立實時數據庫,正確組態各種變量參數。
6)根據第1)步和第3)步的統計結果,在實時數據庫中建立實時數據庫變量與I/O點的一一對應關系,即定義數據連接。
7)根據第4)步的界面結構和界面草圖,組態每一幅靜態的操作界面。
8)將操作界面中的圖形對象與實時數據庫變量建立動畫連接關系,規定動畫屬性和幅度。
9)對組態內容進行分段和總體調試。
10)系統投入運行。
在一個自動控制系統中,投入運行的監控組態軟件是系統的數據收集處理中心、遠程監視中心和數據轉發中心,處于運行狀態的監控組態軟件與各種控制、檢測設備(如PLC、智能儀表、DCS等)共同構成快速響應的控制中心。
監控組態軟件投入運行后,操作人員可以在它的支持下完成以下6項任務:
1)查看生產現場的實時數據及流程界面。
2)自動打印各種實時/歷史生產報表。
3)自由瀏覽各個實時/歷史趨勢界面。
4)及時得到并處理各種過程報警和系統報警。
5)在需要時,人為干預生產過程,修改生產過程參數和狀態。
6)與管理部門的計算機聯網,為管理部門提供生產實時數據。
2.2.3 MCGS組態軟件簡介
MCGS(Monitorand Control Generated System,通用監控系統)是一套用于快速構造和生成計算機監控系統的組態軟件,由北京昆侖通態自動化軟件科技有限公司開發。它能夠在Microsoft的各種Windows平臺上運行,通過對現場數據的采集處理,以動畫顯示、報警處理、流程控制和報表輸出等多種方式向用戶提供解決實際工程問題的方案,它充分利用了Windows圖形功能完備、界面一致性好、操作簡便和易學易用的特點,比以往使用專用機開發的工業控制系統更具有通用性,在自動化領域有著更廣泛的應用。
1.MCGS組態軟件工程的構成
MCGS組態軟件所建立的工程由主控窗口、設備窗口、用戶窗口、實時數據庫和運行策略五部分構成,對每一部分分別進行組態操作,以完成不同的工作,因此具有不同的特性。
1)主控窗口。主控窗口是工程的主窗口或主框架。在主控窗口中可以放置一個設備窗口和多個用戶窗口,負責調度和管理這些窗口。主要的組態操作包括:定義工程的名稱、編制工程菜單、設計封面圖形、確定自動啟動的窗口、設定動畫刷新周期、指定數據庫存盤文件名稱及存盤時間等。
2)設備窗口。設備窗口是連接和驅動外部設備的工作環境。在本窗口內配置數據采集與控制輸出設備,注冊設備驅動程序,定義連接與驅動設備用的數據變量。
3)用戶窗口。用戶窗口主要用于設置工程中人機交互的界面,諸如生成各種動畫顯示界面、報警輸出和數據與曲線圖表等。
4)實時數據庫。實時數據庫是工程各個部分的數據交換與處理中心,它將MCGS工程的各個部分連接成有機的整體。在本窗口內定義不同類型和名稱的變量,作為數據采集、處理、輸出控制、動畫連接及設備驅動的對象。
5)運行策略。運行策略窗口主要完成工程運行流程的控制,包括編寫控制程序,選用各種功能構件,如數據提取、歷史曲線、定時器、配方操作和多媒體輸出等。
綜上所述,一個應用系統由主控窗口、設備窗口、用戶窗口、實時數據庫和運行策略五個部分組成。組態工作開始時,系統只為用戶搭建了一個能夠獨立運行的空框架,提供了豐富的動畫部件與功能部件。如果要完成一個實際的應用系統,應主要完成以下工作。
首先,要像搭積木一樣,在組態環境中用系統提供的或用戶擴展的構件構造應用系統,配置各種參數,形成一個有豐富功能,可實際應用的工程;然后,把組態環境中的組態結果提交給運行環境。運行環境和組態結果一起就構成了用戶自己的應用系統。
2.MCGS組態軟件的工作方式
(1)MCGS與設備進行通信
MCGS通過設備驅動程序與外部設備進行數據交換,包括數據采集和發送設備指令。設備驅動程序是由VB程序設計語言編寫的DLL(動態鏈接庫)文件,設備驅動程序中包含符合各種設備通信協議的處理程序,將設備運行狀態的特征數據采集進來或發送出去。MCGS負責在運行環境中調用相應的設備驅動程序,將數據傳送到工程中各個部分,完成整個系統的通信過程。每個驅動程序獨占一個線程,達到互不干擾的目的。
(2)MCGS產生動畫效果
MCGS為每一種基本圖形元素定義了不同的動畫屬性,如一個長方形的動畫屬性有可見度、大小變化、水平移動等,每一種動畫屬性都會產生一定的動畫效果。所謂動畫屬性,實際上是反映圖形大小、顏色、位置、可見度和閃爍性等狀態的特征參數。
然而,我們在組態環境中生成的界面都是靜止的,如何在工程運行中產生動畫效果呢?方法是:圖形的每一種動畫屬性中都有一個“表達式”設定欄,在該欄中設定一個與圖形狀態相聯系的數據變量,連接到實時數據庫中,以此建立相應的對應關系,MCGS稱之為動畫連接。
當工業現場中測控對象的狀態(如儲油罐的液面高度等)發生變化時,通過設備驅動程序將變化的數據采集到實時數據庫的變量中,該變量是與動畫屬性相關的變量,數值的變化,使圖形的狀態產生相應的變化(如大小變化)。現場的數據是連續被采集進來的,這樣就會產生逼真的動畫效果(如儲油罐液面的升高和降低)。用戶也可編寫程序來控制動畫界面,以達到滿意的效果。
(3)MCGS實施遠程多機監控
MCGS提供了一套完善的網絡機制,可通過TCP/IP網、Modem網和串口網將多臺計算機連接在一起,構成分布式網絡測控系統,實現網絡間的實時數據同步、歷史數據同步和網絡事件的快速傳遞。同時,可利用MCGS提供的網絡功能,在工作站上直接對服務器中的數據庫進行讀/寫操作。分布式網絡測控系統的每一臺計算機都要安裝一套MCGS工控組態軟件。MCGS把各種網絡形式,以父設備構件和子設備構件的形式,供用戶調用,并進行工作狀態、端口號和工作站地址等屬性參數的設置。
(4)對工程運行流程實施有效控制
MCGS開辟了專用的“運行策略”窗口,建立用戶運行策略。MCGS提供了豐富的功能構件,供用戶選用,通過構件配置和屬性設置兩項組態操作,生成各種功能模塊(稱為“用戶策略”),使系統能夠按照設定的順序和條件,操作實時數據庫,實現對動畫窗口的任意切換,控制系統的運行流程和設備的工作狀態。所有的操作均采用面向對象的直觀方式,避免了煩瑣的編程工作。
3.組建用戶工程的一般過程
(1)工程項目系統分析
分析工程項目的系統構成、技術要求和工藝流程,弄清系統的控制流程和測控對象的特征,明確監控要求和動畫顯示方式,分析工程中的設備數據采集及輸出通道與軟件中實時數據庫變量的對應關系,分清哪些變量是要求與設備連接的,哪些變量是軟件內部用來傳遞數據及動畫顯示的。
(2)工程立項搭建框架
在MCGS中稱為建立新工程。其主要內容包括:定義工程名稱、界面窗口名稱和啟動窗口(界面窗口退出后接著顯示的窗口)名稱,指定存盤數據庫文件的名稱以及存盤數據庫,設定動畫刷新的周期。經過此步操作,即在MCGS組態環境中,建立了由五部分組成的工程結構框架。界面窗口和啟動窗口也可在建立了用戶窗口后,再進行建立。
(3)設計菜單基本體系
為了對系統運行的狀態及工作流程進行有效的調度和控制,通常要在主控窗口內編制菜單。編制菜單分兩步進行,第一步首先搭建菜單的框架,第二步再對各級菜單命令進行功能組態。在組態過程中,可根據實際需要,隨時對菜單的內容進行增加或刪除,不斷完善工程的菜單。
(4)制作動畫顯示界面
動畫制作分為靜態圖形設計和動態屬性設置兩個過程。前一部分類似于“畫畫”,用戶通過MCGS組態軟件中提供的基本圖形元素及動畫構件庫,在用戶窗口內“組合”成各種復雜的界面。后一部分則設置圖形的動畫屬性,與實時數據庫中定義的變量建立相關性的連接關系,作為圖形產生動畫效果的驅動源。
(5)編寫控制流程程序
在運行策略窗口內,從策略構件箱中,選擇所需功能策略構件,構成各種功能模塊(稱為策略塊),由這些模塊實現各種人機交互操作。MCGS還為用戶提供了編程用的功能構件(稱之為“腳本程序”功能構件),使用簡單的編程語言,編寫工程控制程序。
(6)完善菜單按鈕功能
其包括對菜單命令、監控器件和操作按鈕的功能組態;實現歷史數據、實時數據、各種曲線、數據報表和報警信息輸出等功能;建立工程安全機制等。
(7)編寫程序調試工程
利用調試程序產生的模擬數據,檢查動畫顯示和控制流程是否正確。
(8)連接設備驅動程序
選定與設備相匹配的設備構件,連接設備通道,確定數據變量的數據處理方式,完成設備屬性的設置。此項操作在設備窗口內進行。
(9)工程完工綜合測試
測試工程各部分的工作情況,完成整個工程的組態工作,實施工程交接。
- 輕松學Java
- ROS機器人編程與SLAM算法解析指南
- 網絡綜合布線技術
- Learn CloudFormation
- HTML5 Canvas Cookbook
- 基于企業網站的顧客感知服務質量評價理論模型與實證研究
- 大數據案例精析
- Practical AWS Networking
- Microsoft System Center Data Protection Manager Cookbook
- 軟件測試設計
- 智能小車機器人制作大全(第2版)
- Getting Started with Tableau 2019.2
- 傳感器應用技術
- NetSuite ERP for Administrators
- Modern Big Data Processing with Hadoop