《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(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ā)的方式。該系統(tǒng)能夠精確實(shí)現(xiàn)染色機(jī)溫度控制系統(tǒng)參數(shù)的采集,,并可提取動(dòng)態(tài)特性的有關(guān)信息,。
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)能夠精確實(shí)現(xiàn)染色機(jī)溫度控制系統(tǒng)參數(shù)的采集,,并可提取動(dòng)態(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ī)差。個(gè)別采用的溫度自動(dòng)控制系統(tǒng)由于造價(jià)較高,、操作復(fù)雜等原因又限制了在中小企業(yè)的應(yīng)用,。因此研究和開發(fā)一種實(shí)用的溫度控制系統(tǒng)成為當(dāng)務(wù)之急。
1 染色機(jī)溫度控制系統(tǒng)總體設(shè)計(jì)方案
染色機(jī)溫度控制系統(tǒng)中需要由微機(jī)控制的對(duì)象為氣動(dòng)閥,,檢測的信號(hào)有染色機(jī)溫度和壓力信號(hào),。需要輸出的信號(hào)有閥門控制信號(hào)和氣壓控制信號(hào)。本控制系統(tǒng)可以控制十套染色機(jī),并且可以完成數(shù)據(jù)的動(dòng)態(tài)顯示及工作階段指示,、各路溫度,、壓力的上下限設(shè)置,、溫度壓力的超限報(bào)警,、參數(shù)的設(shè)置修改、單路調(diào)節(jié)設(shè)置,、各個(gè)閥門的控制及相應(yīng)的狀態(tài)指示和數(shù)據(jù)的記錄,、打印、顯示功能,。
由于系統(tǒng)中的輸入,、輸出信號(hào)較多,根據(jù)系統(tǒng)設(shè)計(jì)的要求原則和染色機(jī)工藝特點(diǎn),,本系統(tǒng)采用工業(yè)控制機(jī)為核心的控制系統(tǒng),。該系統(tǒng)結(jié)構(gòu)框見圖1。


系統(tǒng)以工業(yè)控制機(jī)為主控核心,,結(jié)合外圍設(shè)備構(gòu)成整個(gè)控統(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ī)范模擬量的輸入,,在選擇溫度傳感器和壓力傳感器時(shí),我們要求其具有0~5V的電壓變送輸出,,這樣,,可以直接將采集的信號(hào)進(jìn)行A/D轉(zhuǎn)換,并送入計(jì)算機(jī),。數(shù)據(jù)采集的工作流程如圖2所示,。


1.2 研華PCL-878L數(shù)據(jù)采集卡基本特性
PCL-818L是針對(duì)IBM-PC/XT/AT以及其他兼容機(jī)設(shè)計(jì)的,機(jī)箱中有ASIC插槽的計(jì)算機(jī)都可以方便的使用,。它為用戶提供了16個(gè)模擬信號(hào)輸入,,可以通過跳線開關(guān)和軟件選擇過程16個(gè)單通道信號(hào)輸入或8個(gè)差分信號(hào)輸入;12位的A/D轉(zhuǎn)換器,用來轉(zhuǎn)換模擬輸入,;同時(shí)提供最大為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)境,這是研華針對(duì)PCL系列板提供的標(biāo)準(zhǔn)開發(fā)環(huán)境,,其優(yōu)點(diǎn)是針對(duì)性強(qiáng),,缺點(diǎn)是不是通用的開發(fā)環(huán)境,程序移植性較差,;②由用戶自行開發(fā)針對(duì)底層硬件的驅(qū)動(dòng)程序,,這種方法靈活性最大,代碼執(zhí)行效率也高,,可以充分發(fā)揮硬件的性能,,但是要求開發(fā)者具有相當(dāng)?shù)挠?jì)算機(jī)軟、硬件水平,;③采用通用的開發(fā)環(huán)境(Visual Studio,、Delphi 等),調(diào)用研華提供的標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫文件和第三方制作的ActiveX控件,。采用這種方法可以在一定的程序上降低程序開發(fā)的難度,,在提供較好靈活性地同時(shí),提供相對(duì)于第一種方法更好的移植性,。因此在實(shí)際中,,較多采用的是第三種開發(fā)方法。

2.1 VB環(huán)境下的軟件開發(fā)
VB本身并不提供對(duì)計(jì)算機(jī)外設(shè)進(jìn)行底層操作的語句或是函數(shù),。但PCL-818L提供的一套隨機(jī)附帶軟件,,其中包括了 DLL(Dynamic Link Library)動(dòng)態(tài)聯(lián)接庫文件,提供了對(duì)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”的動(dòng)態(tài)聯(lián)接庫提供了兩種I/O方式,;標(biāo)準(zhǔn)方式、快速方式,。根據(jù)目前一般工作裝置的動(dòng)態(tài)特性,,采用標(biāo)準(zhǔn)方式已完全可以滿足系統(tǒng)的要求。
2.2 數(shù)據(jù)采集卡的DLL調(diào)用
1)在計(jì)算機(jī)中安裝好的硬件,并進(jìn)行相應(yīng)的硬件設(shè)置,。對(duì)于PCL-818L數(shù)據(jù)采集卡,,首先進(jìn)行地址跳線,將其地址設(shè)置為300H,,在單端或差動(dòng)輸入方面設(shè)置為單端輸入,,其余基本不需要改動(dòng),只采用板卡默認(rèn)設(shè)置即可,。
2)據(jù)所采用的計(jì)算機(jī)平臺(tái),,安裝相應(yīng)的驅(qū)動(dòng)程序,,并進(jìn)行軟件設(shè)置,。本系統(tǒng)中,采用的計(jì)算機(jī)平臺(tái)為Windows 2000,,為此,,我們安裝了Advantech的For Windows 2000驅(qū)動(dòng)程序。
3)完成驅(qū)動(dòng)程序的安裝之后,,我們將運(yùn)行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的一個(gè)動(dòng)態(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
一個(gè)典型的引入單元可以定義如下:
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ù)實(shí)現(xiàn)打開PCL-818L設(shè)備,以便進(jìn)一步對(duì)設(shè)備進(jìn)行配置和操作,。

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

調(diào)用status=DRV—FAllntScanStart(DriverHandle,,IpFAl-lntScanstart)啟動(dòng)中斷方式數(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ù)采集。

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

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

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