摘 要: 本文利用虛擬儀器技術(shù), 采用了LABV IEW 圖形編程環(huán)境, 開發(fā)了 一個(gè)通用的液位控制測控系統(tǒng), 本測控系統(tǒng)主要完成對(duì)液位、流量等參數(shù)的采集和控制。同時(shí)對(duì)測試結(jié)果進(jìn)行保存和打印。硬件使用外部設(shè)備。同時(shí)還描述了其與上位機(jī)的通訊方式。
1 引 言
工業(yè)液位控制中, 常常用到液位控制。如工業(yè)鍋爐的汽包水位、給水排水工程中的儲(chǔ)液容器等是最常見的設(shè)備。最重要的參數(shù)是壓力和流量。因此, 有必要對(duì)液位控制進(jìn)行自動(dòng)的、實(shí)時(shí)的監(jiān)控。過去通用的方法是由工作人員分班定時(shí)監(jiān)測液位計(jì)的指示值, 將指示值與規(guī)定液位數(shù)值比較, 并算出兩者的差值, 根據(jù)液位變化大小作出判斷??刂崎y門的關(guān)和開的大小。這樣的弊端: 定時(shí)查看缺乏實(shí)時(shí)性, 不能對(duì)系統(tǒng)中的突發(fā)事件進(jìn)行及時(shí)地處理; 不能排除人為發(fā)生錯(cuò)誤的因素, 如記錄時(shí)的誤讀和誤記等。所以, 本文設(shè)計(jì)一套實(shí)時(shí)、自動(dòng)的液位控制監(jiān)控系統(tǒng)。充分引入虛擬儀器的概念, 使所設(shè)計(jì)的監(jiān)控系統(tǒng)結(jié)構(gòu)清晰、概念簡單明了, 系統(tǒng)的軟、硬件具有開放性、兼容性。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
整套裝置的設(shè)計(jì)即以微處理機(jī)為基礎(chǔ), 將計(jì)算機(jī)技術(shù)控制技術(shù)、通信技術(shù)和圖形顯示技術(shù)結(jié)合在一起,由 PENM IUM N E 微機(jī)為上位機(jī), 實(shí)現(xiàn)過程監(jiān)控和信息管理的功能, 可編程控制器ADAM 5510 作為下位機(jī)與現(xiàn)場設(shè)備(控制柜) 相聯(lián), 完成系統(tǒng)各種聯(lián)鎖要求,實(shí)施對(duì)設(shè)備控制操作。如圖 1 系統(tǒng)框圖
圖 1 系統(tǒng)框圖
虛擬儀器技術(shù)的出現(xiàn)使自動(dòng)化測試系統(tǒng)結(jié)構(gòu)從傳統(tǒng)的機(jī)架層迭式結(jié)構(gòu)發(fā)展成為模塊式結(jié)構(gòu)。根據(jù)虛擬儀器技術(shù)的系統(tǒng)結(jié)構(gòu), 將工業(yè)液位監(jiān)控系統(tǒng)進(jìn)行如下抽象:
整個(gè)系統(tǒng)被分為五個(gè)層次: 儀器模塊、硬件接口、I/O 接口、儀器驅(qū)動(dòng)程序和系統(tǒng)軟件。系統(tǒng)結(jié)構(gòu)明了,層次劃分清晰, 每一層的功能明確。
ADAM 5510 是臺(tái)灣研華公司開發(fā)的基于 PC 的可編程智能控制器, 用于數(shù)據(jù)的采集和控制。每個(gè)系統(tǒng)有 4 個(gè) I/O 模塊 ( I/O 點(diǎn)數(shù) 64 點(diǎn)) , 系統(tǒng)提供通訊口(RS2232/485) 允許系統(tǒng)與其他設(shè)備通訊。ADAM 5510可直接連接多種類型的傳感器, 實(shí)用于測量溫度、壓力、流量、電壓、電流及多種類型數(shù)字信號(hào): 信號(hào)類型(電流、電壓) 及輸入、輸出范圍有多種選擇。
ADAM 5510 提供了很多 I/O 模塊, 大致有 4 類 I/O 模塊。模擬 I/O 模塊、數(shù)字 I/O 模塊、延時(shí)輸出模塊、計(jì)數(shù)器/頻率計(jì)模塊。在本設(shè)計(jì)中我們主要用到了數(shù) 字 I/O 模 塊 ADAM 5050 和 模 擬 I/O 模塊ADAM 5017。本液位測控系統(tǒng)硬件設(shè)備用來采集數(shù)據(jù)和控制,選用 PLC, 測量溫度、壓力、流量及由電機(jī)帶動(dòng)的閥門開關(guān)大小數(shù)字信號(hào)。數(shù)據(jù)采集和閥門控制部分是以PLC 為核心的, 它和上位機(jī)采用串行通信。軟件工具采用虛擬儀器基于數(shù)據(jù)流的編譯型圖形編程環(huán)境——L abV IEW 軟件。
3 通信的實(shí)現(xiàn)
ADAM 5510 可編程控制器基于 PC 的控制, 它既能作為獨(dú)立單元工作, 又能做為分布式控制系統(tǒng)的一部分。對(duì)ADAM 5510 進(jìn)行采集和控制, 這就涉及到通信問題。以實(shí)現(xiàn)遠(yuǎn)程下載和監(jiān)控。
ADAM 5510 與上位機(jī)進(jìn)行通信之前, 必須對(duì) RS2232 通信端口進(jìn)行初始化。使兩者按相同的通信格式。初始化參數(shù)包括波特率、起始位、停止位和奇偶校驗(yàn)位等。RS2232 通信口一般設(shè)置為波特率 9600b/s, 1 個(gè)起始 位, 7 個(gè) 數(shù) 據(jù) 位, 2 個(gè) 停 止 位 和 奇 偶 校 驗(yàn) 位,ADAM 5510 可以用 TUBRO C2. 0 進(jìn)行編程。
ADAM 5000/485 以串行通信模式, 它有 RS2485異步通信串行接口, 其通信協(xié)議A SC II 命令/響應(yīng)協(xié)議。如果沒有響應(yīng)到達(dá), 程序中斷并且主機(jī)返回控制命令。
其命令格式:
[分隔字符][地址][插槽][通道][命令][數(shù)據(jù)][校驗(yàn)位][回車]
每個(gè)命令開始有一個(gè)分隔符, 它只有四個(gè)有效字符: $ # % @。分隔符跟有兩個(gè)字符地址(16 進(jìn)制);
指明了目標(biāo)系統(tǒng)。這兩個(gè)字符后的地址指明了模塊插槽和通道。根據(jù)這個(gè)命令, 可選的數(shù)據(jù)段可以跟命令串。一個(gè)可選兩位校驗(yàn)位也添加到命令串。每條命令可以回車結(jié)束。
由于L abV IEW 軟件不支持ADAM 5510 的驅(qū)動(dòng),ADAM 5510 和LABV IEW 之間的通信則需要用戶對(duì)LABV IEW 進(jìn)行二次開發(fā)。本文在編寫通信程序是將ADAM 5510 仿成 ADAM 5000/485, 由于 L abV IEW支持ADAM 5000/485 的驅(qū)動(dòng), 按ADAM 5000/485 的命令格式發(fā)送和接收命令。在ADAM 5510 里面進(jìn)行編程時(shí)將收到的指令進(jìn)行解讀, 然后轉(zhuǎn)去執(zhí)行 5510 的相應(yīng)函數(shù), 再將結(jié)果按照ADAM 25000 的格式發(fā)給上位機(jī), 實(shí)現(xiàn)對(duì)ADAM 5510 的控制和采集。例將 5000改 成 5510, 其 他 配 置 不 變, L abV IEW 要 獲 取ADAM 5510 中模塊 5017 的數(shù)據(jù)。即當(dāng)L abV IEW 發(fā)送# 01S0 至 5510 時(shí), 5510 中用戶程序首先對(duì)LAB2V IEW 發(fā)送的命令進(jìn)行判斷, 如果接收的命令符合5000/485 指令集 (如為# 01S0 (CR ) ) , 則按照指令集的響應(yīng)格式返回(如: > + 1. 4567 + 1. 4852 + 1. 5661+ 1. 6821 + 1. 5459 + 2. 789 + 1. 7768 + 1. 1623(CR) )。這時(shí)LABV IEW 就將 5510 認(rèn)為是 5000/485了。
4 系統(tǒng)軟件設(shè)計(jì)
應(yīng)用軟件是整個(gè)液位控制系統(tǒng)的關(guān)鍵的部分, 它起著樞紐的作用, 對(duì)上和用戶打交道, 對(duì)下和各種設(shè)備通信以獲取信息。該軟件要完成的主要任務(wù)有: 系統(tǒng)初始化、測量參量的集中顯示、數(shù)據(jù)測試、數(shù)據(jù)存儲(chǔ)、打開記錄、數(shù)據(jù)庫存儲(chǔ)、報(bào)警、報(bào)表打印。
充分利用L abV IEW 模塊化、層次化的設(shè)計(jì)思想和設(shè)計(jì)方法, 采用自頂向下的結(jié)構(gòu)化設(shè)計(jì)方法, 建立系統(tǒng)的層次圖。其層次結(jié)構(gòu)圖如圖 2。
圖 2 層次結(jié)構(gòu)圖
4. 1 模規(guī)功能
(1) 實(shí)時(shí)監(jiān)測模塊(包括壓力流量數(shù)據(jù)監(jiān)測、參數(shù)設(shè)定)。在實(shí)時(shí)監(jiān)測模塊的設(shè)計(jì)中我們將液位控制模擬系統(tǒng)的當(dāng)前運(yùn)行狀況通過圖形和數(shù)字的方式集中的顯示在計(jì)算機(jī)屏幕上。用模擬屏監(jiān)測模式更直觀, 界面起到了顯示數(shù)據(jù)的作用, 而后臺(tái)運(yùn)行的數(shù)據(jù)采集才是核心的部分。默認(rèn)情況下, 數(shù)據(jù)采集由軟件自動(dòng)完成, 當(dāng)然, 也可以隨時(shí)切換到手工控制采集。即在上位機(jī)點(diǎn)擊仿真屏上的閥按鈕, 下位機(jī)開始進(jìn)行控制和采集。
(2) 報(bào)警處理模塊。報(bào)警處理模塊包含聲音報(bào)警、視覺報(bào)警和報(bào)警記錄的查詢功能。實(shí)時(shí)報(bào)警包含聲音報(bào)警和視覺報(bào)警。聲音報(bào)警是通過ADAM 5510 的5050 輸出量與液位控制屏中的報(bào)警燈相連。當(dāng)液位超過給定值的上限或下限, 報(bào)警燈發(fā)出聲音報(bào)警。視覺報(bào)警是通過在屏幕上的一個(gè)不停閃爍的燈來實(shí)現(xiàn)的。操作員還可以設(shè)置報(bào)警的上下限。
(3) 通訊模塊。通信功能實(shí)際上是由儀器驅(qū)動(dòng)程序和 I/O 接口軟件共同實(shí)現(xiàn)的。即將可編程控制器采集的值(下位機(jī)) 通過雙絞線將數(shù)據(jù)傳遞到微機(jī)(上位機(jī))。
(4) 數(shù)據(jù)庫管理模塊。對(duì)采集的數(shù)據(jù)進(jìn)行保存和分析處理, 從趨勢圖上看出它的曲線變化。并且從數(shù)據(jù)庫中查詢歷史數(shù)據(jù)。
(5) 控制。上位機(jī) PC 能對(duì)ADAM 5510 的電磁閥、泵進(jìn)行控制, 從而進(jìn)行手動(dòng)控制。起到監(jiān)控的作用。
(6) 報(bào)表模塊。對(duì)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)進(jìn)行報(bào)表打印,及時(shí)反映測試數(shù)據(jù)的變化。用戶可以查詢?nèi)魏畏?SPAN lang=EN-US>EXCEL 格式的報(bào)表。
4. 2 大致過程
(1) 建立前面板。從控制模塊上選擇你需要的對(duì)象, 放在虛擬儀器的前面板上。然后再分別設(shè)計(jì)各個(gè)要調(diào)用的V Is。設(shè)計(jì)各調(diào)用模塊(V Is) 時(shí)先在前面板上放置實(shí)現(xiàn)輸入/輸出所需的控制器、指示器, 再根據(jù)功能需求將V Is 細(xì)分成多個(gè)子V Is(subV Is) 分別實(shí)現(xiàn)不同的功能。
(2) 構(gòu)建圖形化的數(shù)據(jù)流圖。對(duì)虛擬儀器進(jìn)行程序設(shè)計(jì), 自己構(gòu)建數(shù)據(jù)流圖。從功能模板上選擇處理數(shù)據(jù)需要的“Functions”(用圖標(biāo)表示) , 并用線將它們連接起來以便數(shù)據(jù)進(jìn)行傳遞。構(gòu)建數(shù)據(jù)流圖是創(chuàng)建虛擬儀器致關(guān)重要的一步, 不管前面板設(shè)計(jì)的多好, 數(shù)據(jù)流圖上的數(shù)據(jù)處理不合理, 功能無法實(shí)現(xiàn)。
(3) 模塊化和層次。創(chuàng)建自己的虛擬儀器圖標(biāo)和連接器, 建好低級(jí)子VI。
5 結(jié) 語
由于采用了虛擬儀器技術(shù)的思想, 使得開發(fā)出來的液位控制系統(tǒng)結(jié)構(gòu)明了、層次清楚?,F(xiàn)場液位控制是用壓力傳感器來顯示液位的變化, 操作者是通過肉眼來觀察儲(chǔ)存罐內(nèi)液位的變化。有可能產(chǎn)生誤差。使用虛擬儀器直觀, 將儀表設(shè)計(jì)到軟件上, 數(shù)據(jù)顯示通過波形或儀表面板直觀來反映。系統(tǒng)具有開放性、可擴(kuò)展性和可重用性, 開發(fā)周期短等優(yōu)點(diǎn)。










