• 沒有找到結果。

7.1 LabVIEW 的簡介

LabVIEW[33,34]是美國國家儀器(National Instrument)公司(簡稱 NI 公司)

於 1986 年所發展出的套裝軟體及界面,是一種可以用圖形(Graphics)環境來建 立程式的語言,故又可稱之為“G"語言。其使用圖形程式設計概念,使數位信號 處理、率波、數值、量測的應用和統計分析等工程技術變的平易而簡單。

對於儀表控制及資料擷取之自動程序方面,若以傳統的程式語言 C、BASIC 等來規劃、執行,其步驟相當複雜且困難,但 LabVIEW 降低了這些複雜的工作。

其歸於 LabVIEW 是屬於高階的圖形程式語言,可利用圖示連結的方式作自動測試 及量測,大大降低在程式設計時的一些複雜步驟。LabVIEW 所設計的圖控儀表,

不論在外觀與操控上都與真實的儀表外觀很相似,因此又被稱為虛擬儀表(Virtual Instrument),簡稱 VI。而此種虛擬儀控軟體,以圖形化方式賦予人機介面功能,

因此在編寫程式過程中,較一般傳統編譯軟體工具更為簡單、方便,也更加縮短 程式設計者的設計時間,因此非常適合發展為監測軟體。而在 VI 的設計上主要分 為三個主要的部分[34]:

1. 前置面版(Front Panel)亦稱人機界面。

2. 程式方塊流程圖(Block Diagram)。

3. 圖像和連接器(Icon/Connector)。

我們以 RS-232 的子 VI 來說明,前置面版,如圖 7.1 所示,是我們設定輸入值 和從程式方塊流程圖觀察輸出值的一種工具,因為前置面版類似一真正的儀表,

所以其輸入稱為控制器(Controls)而輸出則稱為顯示器(Indicators),在此主要 是輸入 RS-232 的初始設定。每一個前置面版都附有程式方塊流程圖,如圖 7.2 所 示,它就是一個 VI 的程式,我們使用圖像的設計來建立程式方塊流程圖,其組成 部分表示程序的節點;例如 For Loop、Case 和計算函數。在方塊流程圖中,我們 利用線條將所有的組成部分連結起來,使得資料藉著連線傳輸,以達到如同傳統 程式語言般的功能。

我們能夠把一個已完成的 VI 製作成圖像和連接器,如圖 7.3 所示,並可在其 他 VI 的程式方塊圖中使用,就像是副程式一樣,例如 RS-232 這個子 VI 一樣,製 作完此圖像和連接器後,就要決定輸入輸出,它就像是副程式中的變數。LabVIEW 功能最為強大的部分在於圖像的使用,我們可以利用圖像製作出高水準的 VI,並 且可以無限次使用,同時更可以提供自己或其他使用者再利用,此種模組式的方 式使編譯程式擁有高度的可讀性、維護性及容易除錯等優點。

所以,虛擬儀表是層次性(Hierarchical)且模組化(Modular)的,在此架構 下,LabVIEW 發展了模組化程式寫作的觀念,它的目的是為系統建立模組化的分 析模式,系統全部皆由很多獨立模組所組成,這種模組藉由訊息連接作彼此的溝 通,而完成整個工作。而且 LabVIEW 也具有除錯功能,可以清楚的看見程式執行 的程序與資料傳遞的過程,以方便修正並使系統發展更容易及完美。

圖 7.1 RS232 的人機界面

圖 7.2 RS232 的程式方塊流程圖

圖 7.3 RS232 的圖示與連結器

目前此圖控軟體已經廣泛地運用於工業界、學術界與研究機構,成為資料擷 取與儀器控制的軟體使用工具。而近期的 LabVIEW 軟體可以使用於各種電腦平 台,例如:麥金塔(Mac clone)、與 Windows NT 、Windows 98/95、Windows 2000、

Windows XP 之下的個人電腦(PC)上,它是一種適用性高並擁有強大功能的儀控 與分析軟體,使用者可以輕易地建立自己的程式或是虛擬儀器。

LabVIEW 程式語言跳脫傳統的程式設計環境進入到容易使用的圖形化程式作 業環境,若是配合資料擷取卡(DAQ)、運動控制卡等硬體,便可以輕易地量測外 部訊號與控制外加儀器。藉由圖形化程式設計語言(稱之為 G 語言)的協助,傳 統程式語言上的許多問題,便可以在短時間內解決。

LabVIEW 就如同其名稱所顯示的意義,它開始是從實驗室出發,迄今仍為各 類實驗室所經常使用的軟體工具之一—從世界主要研究與發展的實驗室(例如美 國的 Lawrence Livermore、Argonne、Batalle、Sandia、Jet Propuksion 實驗室、Wite Sands 與 Oak Ridge、以及歐洲的 CERN)到許多工廠的研究實驗室,特別是電子 工程、機械工程與物理等學科,尤其使用頻繁。而近期 LabVIEW 的使用範圍已經 跨越實驗室了,向上有太空梭的使用、往下也有美國海軍潛水艇以及北海的石油 探勘等,目前仍往各層次不斷發展。

在工廠的許多地方皆需要量測不同的資料—不論是電爐、冷凍櫃、溫室等,

LabVIEW 皆可以來量測。除此之外,使用者也可以測量電壓、施力、位移、張力、

PH 值等等。在任何地方,電腦被當作呈現資料與控制硬體設備的虛擬儀器,而 LabVIEW 則被當成接觸劑來連接 PC 與待測物。使用此圖控軟體的主要原因不單 單只是方便,更重要的它提供量測後的分析與顯示能力,並對於真實世界中所選 擇的待測物提供一個溝通的介面。

經過量測與分析後,下一步通常是基於結果來控制所選擇的受控體。例如,

量測溫度後決定開啟或關閉電爐或冷凍設備,或者是量測馬達的位置後決定停止 或繼續動作。監視與控制是 LabVIEW 的優勢,有時更可以直接監視與控制,或者 經由程式邏輯控制器的協助來做通訊,一般我們稱之為監督控制與資料擷取

(Supervisory Control and Data Acquisition ,SCADA)。

7.2 通訊網路界面與 LabVIEW

在一般資料傳輸時,資料輸出入動作一定有一個來源和一個終點,而無論來 源與終點的資料格式為何種形式,都必須透過共同認定的通訊界面或通訊協定才 能進行。在本研究中主要是用到串列埠通訊界面(RS-232)及 TCP/IP 通訊協定的 部分。

7.2.1 串列埠通訊界面

電腦的串列埠和週邊設備的連接,市場上已成立了一個標準,其規格是由 EIA

(Electronics Industries Association,電子工業學會)所訂定,叫 EIA RS-232C 標準

(RS 代表 recommended standard)一般稱為 RS-232,其資料組成格式如圖 7.4 所 示。RS-232 規格適用於各類的串列傳輸,所以這規格用 DTE(data terminal equipment , 資 料 終 端 設 備 ) 來 代 表 負 責 處 理 資 料 的 設 備 , 用 DCE ( data communication equipment,數據通訊設備)來代表負責將資料傳送的設備。

圖 7.4 RS-232 資料組成格式

而要和 DSP 晶片傳輸前,我們必須先對電腦和 DSP 晶片的串列埠界面 RS-232 做初始化,設定以下的通訊參數,如圖 7.1 所示:

傳輸埠(COM port) : COM1 or COM2 傳輸鮑率(Baud rate) : 19200 bps 資料長度(Data bits) : 8 bits

停止位元(Stop bit) : 1 bit 同位元檢查(Parity) : None

所示:

7.2.2 TCP/IP 之通訊協定

使用 TCP/IP 協定架構而成的網際網路 1980 年 DARPA(Defense cy:美國國防部高等研究計劃局)將所屬的研究網 路 ARPANET(Advanced Research Project Agency Network:阿帕網路,美國官方的 電腦網路,為 et 的前身),轉換成使用 TCP/IP 協定的網路,至 年轉換完 成。同時 ( cations Agency:國防通信局)將 ARPA-NET 分 成兩個不同的網路,一個屬於學術研究性質的網路,沿用 ARPANET 名字(又稱 為 Internet)。一個屬於軍事用途的網路,稱為 。

LabVIEW 提供串列埠的函示如圖 7.5

圖 7.5 LabVIEW 之串列埠函式

,最早緣起於 Advanced Research Projects Agen

Intern 1983

DCA Defense Communi

MILNET

經由 DCA 的研究結果,提出一組標準通訊協定,該協定成員主要有以下 4 種 成員:

Internet Protocol IP 協定 Transmission Control Protocol TCP 協定 File Transfer Protocol FTP 協定 TELNET Protocol TELNET 協定

在複雜的網路通訊系統中,為了維護各層之間的運作正常及能互相溝通,因

而產 ),也稱為通訊協定

(Protocol)。

網路間(如 Ethernet 之間的相連)能夠互相連接,使得資訊的流通 更為快速與便利。

準組織)發表了 OSI(Open System Interconnection Model)模 型,以此做為網路設計、連線之標準及準則。

層、表現層、會議層、傳輸層、網 路層、資料連結層以及實體層[22,34]。

協定間的轉換、資料加密(Encrypt)、字元轉 生了一些特殊的協定,稱為協定家族(Protocol Family

在 DARPA 部門的研究和發展下,這些協定不僅使得電腦與電腦間得以相連,

而且也讓網路與

為 了 制 定 網 路 通 訊 協 定 的 標 準 , ISO ( International Standardization Organization:國際標

OSI 模型共分為七層,如圖 7.6 所示,每一層包括不同的網路裝置(Device)

或通訊協定(Protocol)。由上而下分別為:應用

(1) 應用層(Application Layer),為 OSI Model 中的最高層,主要功能為支援應用 軟體,如 FTP、Telnet、E-mail 等。

(2) 表現層(Presentation Layer),本層主要在決定電腦間如何”表現”,也就是定義 其資料格式。另外,表現層負責通訊

換及資料壓縮(Compress)等。

(3) 會議層(Session Layer),本層主要建立兩個不同應用程式間的通訊連結、處理 訊息及關閉連結等,並處理名稱的辨識。

合在一起,以方便封包在傳遞的過程中 更有效率。而在接收端的傳輸層中,則將收到的封包重新組合成原來的資料,並 且回傳已收到的訊息至傳送端。

成實際的 IP Address。除此之外,網路層還將決 Source Target)電腦的傳送路徑(Route)。

ata Frame),

並傳送至實體層(Physical Layer)。

2. 確保資料結構正確無誤地由實體層傳送至另一電腦。

3. 在接收中的資料連結層則負責將實體層所傳送的位元(Bit)組成資料架構。

4. 如在傳送時發生問題,錯誤的資料架構將被再傳送一次。

(7)

的位元一致。

3. 定義每個位元會持續傳輸的時間(Timing)。

4. 定義機械及電子介面規格,如纜線(Cable)與網路卡的接合式。

(4) 傳輸層(Transportation Layer),本層主要的功能在確保傳遞封包(Packet)的 過程中,能按照先後順序正確無誤地被處理。另外,傳輸層的另一功用是將過長 的資料分成數個小封包或將數個小封包組

(5) 網路層(NetWork Layer),本層主要將 IP Address 附加於訊息上,並將邏輯位 址及電腦名稱(Host Name)轉換

定來源( )電腦到目的(

(6) 資料連結層(Data Link Layer),本層主要為:

1. 在傳送中,接收來自網路層(Network Layer)的資料結構(D

體層(Physical Layer),本層為 OSI 的最底層,主要功能為:

1. 傳輸位元(Bit)。

2. 傳輸位元的編碼(Encoding),以確保傳送端所送出之位元與接收端所收到

應用層(Application Layer)

表現層(Presentation Layer)

會議層(Session Layer)

傳輸層(Transportation Layer)

網路層(Network Layer)

資料連結層(Data Link Layer)

實體層(Physical Layer)

圖 7.6 七層式 OSI 模式圖

OSI 模型上有其設定好的運作功能,就廣義的解釋來說,第 1、2 運作層(實

OSI 模型上有其設定好的運作功能,就廣義的解釋來說,第 1、2 運作層(實

相關文件