一、前言:
以往VB程序給大多數(shù)程序設(shè)計師的印象,是比較適合應(yīng)用于畫面顯示、報表打印及數(shù)據(jù)庫處理等方面的程序,且具有簡單易用,學(xué)習(xí)時間較短,畫面變化豐富等優(yōu)點,但是不適合執(zhí)行速度高,通信效率要求嚴(yán)格的自動監(jiān)控系統(tǒng)程序。其最主要的重點是考慮實時反應(yīng)控制、通信效率、復(fù)雜的邏輯計算、各不同程序間的優(yōu)先處理程序等處理,所以選用VC++語言的設(shè)計系統(tǒng)來得多,但是VC++對畫面的處理為最差的一環(huán),而且培養(yǎng)一個熟練的VC++設(shè)計師,可能需要比VB花費數(shù)倍以上的時間。
再由實際的應(yīng)用面來看,一般MIS系統(tǒng)大都選擇VB語言設(shè)計,所處理的就是財務(wù)、人事、物料、業(yè)務(wù)、生產(chǎn)等系統(tǒng)。自動監(jiān)控系統(tǒng)純粹為工廠生產(chǎn)的控制,以C語言設(shè)計為主,所要求的是制造過程的掌控、實時的反應(yīng)控制、警報實時通知及處理等要項。隨著時代的進步,兩種系統(tǒng)的信息必須相互交流,但是存在各自系統(tǒng)的設(shè)計理念不同,開發(fā)工具差異性較大,雙方的系統(tǒng)設(shè)計師都無法認(rèn)知對方系統(tǒng)的特性,因此整合的困難度很高。如果要取得工廠各種儀表數(shù)值,馬達激活停止,操作開關(guān)…..等電器信號,就需要DCS、PLC等各種控制器才能完成,而且此種控制程序的設(shè)計更是不一樣,以前對于此數(shù)種不同系統(tǒng)的整合方法可謂緣木求魚般的困難。
但是科技的進步,新的信息系統(tǒng)及設(shè)備陸續(xù)被開發(fā)出來,早于數(shù)年前已經(jīng)有人以PC的架構(gòu)為基礎(chǔ),研發(fā)出采用DOS操作系統(tǒng)的PC Based控制器,可以輸出輸入電器信號,以C語言為設(shè)計工具,為一般PC程序設(shè)計師也可以設(shè)計自動控制程序的開啟方便之門。此類產(chǎn)品以泓格的I-7000、I-7188、I-8000等系列為其代表。隨著PC操作系統(tǒng)由DOS轉(zhuǎn)到Windows系統(tǒng),硬件發(fā)展也日新月異,設(shè)備小型化且內(nèi)存容量增加,微軟于兩、三年前就提出WinCE架構(gòu),以作為Embedded硬設(shè)備的核心。泓格應(yīng)合此種發(fā)展趨勢于去年中(2003)提出WinCon-8000控制器,筆者曾于機電整合雜志2003年12月份發(fā)表此產(chǎn)品的應(yīng)用趨勢文章。微軟也針對應(yīng)用軟件的開發(fā)工具提出Microsoft Studio.Net的架構(gòu),希望統(tǒng)一應(yīng)用程序的設(shè)計方式。由此觀之無論硬件或軟件都朝向同一整合方向,而且實際應(yīng)用面上,也由單純的工業(yè)界的自動控制,發(fā)展至商業(yè)面、生活面…等等各種層面都需要整合的地步。面對整合的復(fù)雜性,應(yīng)用系統(tǒng)設(shè)計觀念必須有不一樣的思維。微軟提出Studio.Net的架構(gòu)就是要簡化開發(fā)的困難度,WinCon-8000硬件也是容易整合的設(shè)備。所以結(jié)合VB.Net及WinCon-8000的系統(tǒng),就是連只會VB 6.0的程序設(shè)計師也很快地開發(fā)出一套簡易的自動控制應(yīng)用系統(tǒng)。本文將說明此種新的設(shè)計觀點,不要局限于只會VB的人,就不會設(shè)計控制信號相關(guān)應(yīng)用系統(tǒng)的舊觀念。大家要相信未來實際應(yīng)用的整合復(fù)雜度將越來越高,一定要有新的信息架構(gòu)才能因應(yīng),VB.Net加上WinCon-8000就是一個很好的開始。
二、VB.Net與WinCon-8000結(jié)合的特色:
我們由VB設(shè)計師的角色來看WinCon-8000控制器整合性問題。一般自動控制系統(tǒng)的主要功能包含電氣信號的輸出入、與各式控制設(shè)備的資料交換通信、實時數(shù)據(jù)顯示、生產(chǎn)線流程圖顯示、歷史資料趨勢圖、警報檢查實時通知….等等。VB對畫面顯示、數(shù)據(jù)處理等功能尚可應(yīng)付,但是對于電氣信號及控制器通信幾乎束手無策。
微軟提出新的軟件開發(fā)架構(gòu).NET Framework,企圖成為未來軟件的共通開發(fā)平臺,使得程序設(shè)計師能夠應(yīng)用許多類別鏈接庫,設(shè)計出不同硬件平臺的應(yīng)用程序,例如:PC、PDA、手機、WinCE Embedded設(shè)備….等等。而且不論程序語言的不同,都是在同一個開發(fā)平臺上可以直接相互使用,因此各別程序設(shè)計師可以使用自己擅長的程序語言,與小組人員共同開發(fā)系統(tǒng)。
目前VB是被使用最多的一種程序語言,VB.Net除了保有VB的基本語法外,也增加許多新的功能,例如:多線程(Multi-Thread)、Internet Web、資料流標(biāo)準(zhǔn)化…等等,而且讓許多硬件設(shè)備商很容易加上其功能。WinCon-8000是自動控制的專屬設(shè)備,也是一種WinCE Embedded設(shè)備,所以由程序設(shè)計的角度來看,也是資料輸出入的一種設(shè)備,只要使用廠商提供的開發(fā)Toolkit,就很簡單的控制信號輸出入。VB.Net有兩點功能對設(shè)計自動控制系統(tǒng)更為有利。
* 多線程(Multi-Thread):實時控制程序必須有多個線程(Multi-Thread)才能同時并行多種功能的執(zhí)行,例如:輸出入電氣信號、控制設(shè)備間通信、控制邏輯計算、畫面顯示….等等都需要獨立的線程處理,才不會相互影響執(zhí)行效率。以往就是因為VB只有單一線程(Thread)的缺點,所以許多自控系統(tǒng)都不會考慮此開發(fā)工具。
* Web整合化:目前所有系統(tǒng)都朝向資料Web化趨勢發(fā)展,自控信號資料也不會例外。但是現(xiàn)有的PLC、DCS等系統(tǒng)的原有架構(gòu)問題,Web化技術(shù)上待克服的問題很多,但是使用VB.Net就是標(biāo)準(zhǔn)功能。未來透過Internet遙控系統(tǒng)將會非常普遍。例如:你可以設(shè)計一個網(wǎng)絡(luò)遠程遙控系統(tǒng),從辦公室經(jīng)由網(wǎng)際網(wǎng)絡(luò),激活家中空調(diào)系統(tǒng)或電飯鍋煮飯等都是非常容易的一件事。
由以上說明我們知道微軟已經(jīng)將信息平臺建構(gòu)成型,再來就是各式硬件供貨商及各類應(yīng)用系統(tǒng)設(shè)計師所要發(fā)揮的地方。泓格的WinCon-8000控制器就是適應(yīng)此種趨勢的代表作,依筆者觀察世界上好象尚未有此類產(chǎn)品的出現(xiàn)。我們來看看WinCon-8000如何提供程序設(shè)計師一個很容易的開發(fā)環(huán)境。前面已經(jīng)提過VB.Net有畫面顯示、Web網(wǎng)絡(luò)、SQL數(shù)據(jù)庫等強大功能。WinCon-8000突破下列兩點就達成完美的整合架構(gòu)。
* 電氣信號的控制:WinCon-8000具有信號模塊插槽,與PLC等控制器相同的架構(gòu),主機為PC硬件及WinCE操作系統(tǒng),如此巧妙地變成使用PC的環(huán)境,但是具有PLC控制信號的功能,此為一機兩面的「PC+PLC」組合體。信號模塊包含模擬量信號(Analog)、開關(guān)量信號(Digital)等多種規(guī)格的產(chǎn)品,也就是一般控制用電氣信號都有。泓格對于這些信號模塊提供SDK的鏈接庫,信號控制的設(shè)計就是讀取及寫入等兩種指令,如同有關(guān)檔案數(shù)據(jù)處理也是Read、Write等指令一樣的簡單易用。原本控制信號是要透過PLC來控制,如今WinCON-8000為PC的架構(gòu),設(shè)計方式當(dāng)然就是使用PC的程序語言。所以對VB程序設(shè)計者來說,控制信號也是資料的一種,系統(tǒng)的整合就是如此容易的完成。