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