《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 研華PCL-818L數(shù)據(jù)采集卡在染色機(jī)監(jiān)控系統(tǒng)中的應(yīng)用
研華PCL-818L數(shù)據(jù)采集卡在染色機(jī)監(jiān)控系統(tǒng)中的應(yīng)用
摘要: 介紹了在Windows環(huán)境下,,用VB開發(fā)的染色機(jī)溫度控制系統(tǒng)的數(shù)據(jù)采集和分析系統(tǒng),。詳細(xì)介紹了硬件核心PCL-818L數(shù)據(jù)采集卡及其原理,討論了其在VB環(huán)境下利用系統(tǒng)提供函數(shù)進(jìn)行軟件開發(fā)的方式。
Abstract:
Key words :

[摘 要]
介紹了在Windows環(huán)境下,,用VB開發(fā)的染色機(jī)溫度控制系統(tǒng)數(shù)據(jù)采集和分析系統(tǒng),。詳細(xì)介紹了硬件核心PCL-818L數(shù)據(jù)采集卡及其原理,,討論了其在VB環(huán)境下利用系統(tǒng)提供函數(shù)進(jìn)行軟件開發(fā)的方式,。該系統(tǒng)能夠精確實現(xiàn)染色機(jī)溫度控制系統(tǒng)參數(shù)的采集,并可提取動態(tài)特性的有關(guān)信息,。

 


當(dāng)前我國的染色生產(chǎn)中,,高溫高壓染色機(jī)的應(yīng)用比較普及,許多生產(chǎn)單位染色過程中加熱,、保溫的操作都是由人工進(jìn)行的,。由于人為因素的介入導(dǎo)致升溫、保溫等關(guān)鍵步驟不一致,,使產(chǎn)品產(chǎn)生嚴(yán)重的機(jī)差,。個別采用的溫度自動控制系統(tǒng)由于造價較高、操作復(fù)雜等原因又限制了在中小企業(yè)的應(yīng)用,。因此研究和開發(fā)一種實用的溫度控制系統(tǒng)成為當(dāng)務(wù)之急,。
1 染色機(jī)溫度控制系統(tǒng)總體設(shè)計方案
染色機(jī)溫度控制系統(tǒng)中需要由微機(jī)控制的對象為氣動閥,檢測的信號有染色機(jī)溫度和壓力信號,。需要輸出的信號有閥門控制信號和氣壓控制信號,。本控制系統(tǒng)可以控制十套染色機(jī),并且可以完成數(shù)據(jù)的動態(tài)顯示及工作階段指示,、各路溫度、壓力的上下限設(shè)置,、溫度壓力的超限報警,、參數(shù)的設(shè)置修改、單路調(diào)節(jié)設(shè)置,、各個閥門的控制及相應(yīng)的狀態(tài)指示和數(shù)據(jù)的記錄,、打印、顯示功能,。
由于系統(tǒng)中的輸入,、輸出信號較多,根據(jù)系統(tǒng)設(shè)計的要求原則和染色機(jī)工藝特點,,本系統(tǒng)采用工業(yè)控制機(jī)為核心的控制系統(tǒng),。該系統(tǒng)結(jié)構(gòu)框見圖1,。


系統(tǒng)以工業(yè)控制機(jī)為主控核心,結(jié)合外圍設(shè)備構(gòu)成整個控統(tǒng),。外圍設(shè)備主要包括鍵盤,、顯示器、打印機(jī),、D/A輸出,、A/D數(shù)據(jù)采集卡。
1.1 數(shù)據(jù)采集部分
本系統(tǒng)主要是染色機(jī)溫度和壓力(測量壓力還是為了溫度的控制)控制,。它們的測量好壞在一定程度上影響了控制系統(tǒng)的控制效果,。數(shù)據(jù)采集部分主要處理從傳感器采集得到的數(shù)據(jù),其組成部分包括傳感器,,模擬量采集卡和工控機(jī),。模擬量采集卡選擇研華PCL-818L數(shù)據(jù)采集卡。為了規(guī)范模擬量的輸入,,在選擇溫度傳感器和壓力傳感器時,,我們要求其具有0~5V的電壓變送輸出,這樣,,可以直接將采集的信號進(jìn)行A/D轉(zhuǎn)換,,并送入計算機(jī)。數(shù)據(jù)采集的工作流程如圖2所示,。


1.2 研華PCL-878L數(shù)據(jù)采集卡基本特性
PCL-818L是針對IBM-PC/XT/AT以及其他兼容機(jī)設(shè)計的,,機(jī)箱中有ASIC插槽的計算機(jī)都可以方便的使用。它為用戶提供了16個模擬信號輸入,,可以通過跳線開關(guān)和軟件選擇過程16個單通道信號輸入或8個差分信號輸入,;12位的A/D轉(zhuǎn)換器,用來轉(zhuǎn)換模擬輸入,;同時提供最大為40KHz采樣速率(在直接數(shù)據(jù)傳輸模式下),。另外,可以通過跳線或軟件兩種方式來選擇模擬量輸人范圍,。此卡還提供一路12位模擬輸出通道和16路數(shù)字輸入和數(shù)字輸出通道,。所有這些特性使得用戶的需求能夠得到很好的滿足。

2 PCL-818L開發(fā)應(yīng)用軟件方法
利用PCL—818L進(jìn)行Windows應(yīng)用程序開發(fā),,可以有三種方法,。①利用“研華”光盤中附帶的Geni DAQ Develepment開發(fā)環(huán)境,這是研華針對PCL系列板提供的標(biāo)準(zhǔn)開發(fā)環(huán)境,,其優(yōu)點是針對性強(qiáng),,缺點是不是通用的開發(fā)環(huán)境,程序移植性較差,;②由用戶自行開發(fā)針對底層硬件的驅(qū)動程序,,這種方法靈活性最大,,代碼執(zhí)行效率也高,可以充分發(fā)揮硬件的性能,,但是要求開發(fā)者具有相當(dāng)?shù)挠嬎銠C(jī)軟,、硬件水平;③采用通用的開發(fā)環(huán)境(Visual Studio,、Delphi 等),,調(diào)用研華提供的標(biāo)準(zhǔn)動態(tài)鏈接庫文件和第三方制作的ActiveX控件。采用這種方法可以在一定的程序上降低程序開發(fā)的難度,,在提供較好靈活性地同時,,提供相對于第一種方法更好的移植性。因此在實際中,,較多采用的是第三種開發(fā)方法,。

2.1 VB環(huán)境下的軟件開發(fā)
VB本身并不提供對計算機(jī)外設(shè)進(jìn)行底層操作的語句或是函數(shù)。但PCL-818L提供的一套隨機(jī)附帶軟件,,其中包括了 DLL(Dynamic Link Library)動態(tài)聯(lián)接庫文件,,提供了對PCL-818L相關(guān)口地址的讀寫操作函數(shù)。這些函數(shù)都是標(biāo)準(zhǔn)的 Windows API,,可在VB中聲明后進(jìn)行調(diào)用,。因此在VB環(huán)境下的軟件開發(fā)關(guān)鍵就是正確地完成底層的I/O操作,“Advantech”的動態(tài)聯(lián)接庫提供了兩種I/O方式,;標(biāo)準(zhǔn)方式,、快速方式。根據(jù)目前一般工作裝置的動態(tài)特性,,采用標(biāo)準(zhǔn)方式已完全可以滿足系統(tǒng)的要求,。
2.2 數(shù)據(jù)采集卡的DLL調(diào)用
1)在計算機(jī)中安裝好的硬件,并進(jìn)行相應(yīng)的硬件設(shè)置,。對于PCL-818L數(shù)據(jù)采集卡,,首先進(jìn)行地址跳線,將其地址設(shè)置為300H,,在單端或差動輸入方面設(shè)置為單端輸入,,其余基本不需要改動,只采用板卡默認(rèn)設(shè)置即可,。
2)據(jù)所采用的計算機(jī)平臺,安裝相應(yīng)的驅(qū)動程序,,并進(jìn)行軟件設(shè)置,。本系統(tǒng)中,采用的計算機(jī)平臺為Windows 2000,,為此,,我們安裝了Advantech的For Windows 2000驅(qū)動程序,。
3)完成驅(qū)動程序的安裝之后,我們將運行PCL-818數(shù)據(jù)采集卡的設(shè)置軟件,,設(shè)置類型為PCL-818L,,地址為300Hex,A/D通道配置為16 Single-ended,,輸入范圍為+/-5V,,D/A
參考電壓為InternalO-5V,其余皆為默認(rèn)設(shè)置,。
4)使用DLL有利于應(yīng)用程序的模塊化,,可以簡化程序的修改。下面我們將用具體的例子說明如何調(diào)用DLL,。
假設(shè)系統(tǒng)提供名為818L.dII的一個動態(tài)鏈接庫,,則應(yīng)有如下聲明:
Declare Function W_818_Initial Lib"818L.dll",(ByVal card_number As Long,,ByVal base_address As Long)AS Long
Declare Function W_818_Switch_Card_No Lib"818L.dll"(ByVal card_number As Long)AS Long
Declare Function W_818_DI Lib"818L.dll"(ByVal port_number As Long,,di_data AS Byte)As Long
Declare Function W_818_Dl_Channel Lib"818L.dll"(ByVal ch_no AS Long,di_data As Long)AS Long
Declare Function W_818_DO Lib"818L.dll"(ByVal port_numberAs Long,,ByVal do_data As Byte)As Long
Declare Function W_818_DA Lib"818L.dll"(ByVal ch_no AsLong,,ByVal da_data AS Long)As Long
Declare Function W_818_AD_Set_Channel Lib"818L.dll"(ByVal ch_no AS Long)AS Long
一個典型的引入單元可以定義如下:
Unit AVEunit
Interface
Function AverageData(M1%,M2%)AS Integer
Implementation
AverageData
End Function
在其他需要調(diào)用該DLL的應(yīng)用程序中,,我們只需要添加上面的AVEunit單元,,就可以像使用VB自身的函數(shù)一樣使用AverageData函數(shù)了。
所有相關(guān)函數(shù)操作如下,,調(diào)用status=DRV_DeviceOpen(DeviceNum,,DriverHandle)函數(shù)實現(xiàn)打開PCL-818L設(shè)備,以便進(jìn)一步對設(shè)備進(jìn)行配置和操作,。

調(diào)用status=DRV_AlConfig(DriverHandle,,IpAlConfig)函數(shù),實現(xiàn)對設(shè)備模擬量輸入的初始化配置,,將板卡的輸入量程設(shè)置到所需要的量程,。
調(diào)用status=DRV—EnableEvent(DriverHandle,IpEnable-Event)函數(shù)開啟中斷,。

調(diào)用status=DRV—FAllntScanStart(DriverHandle,,IpFAl-lntScanstart)啟動中斷方式數(shù)據(jù)采集。

調(diào)用status=DRV—FAlCheck(DriverHandle,,IpFAlCheck)函數(shù)來檢測接收緩沖區(qū)數(shù)據(jù)是否已滿,,如果緩沖區(qū)已滿,則將數(shù)據(jù)從接收緩沖取走,。
如果數(shù)據(jù)采集完成,,則調(diào)用status=DRV—FalStop(DriverHandle)函數(shù)來停止數(shù)據(jù)采集,。

最后如果對板卡所有操作都完成,調(diào)用status=DRV—DeviceClose(DriveHandle)關(guān)閉PCL—818L設(shè)備,,停止所有操作,。在此系統(tǒng)上,對所有硬件設(shè)備操作,,只需調(diào)用簡單的幾個函數(shù)就可以實現(xiàn),,編程難度和工作量大為減少。

3 結(jié)束語
利用工控機(jī),,輔以數(shù)據(jù)采集卡PCL-818L,,以VB為開發(fā)環(huán)境,可在較短的時間內(nèi),,方便有效地開發(fā)出功能強(qiáng)大的染色機(jī)信號采集和控制系統(tǒng),。特別是利用 VB在生成友好界面方面的優(yōu)勢,對于狀態(tài)監(jiān)控尤為適用,。這樣不僅使整個采集,、控制系統(tǒng)的工作可靠性大大提高,并且縮短了系統(tǒng)的開發(fā)周期,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。