siemens x
I/O 設(shè)備

數(shù)據(jù)采集卡在染色機(jī)監(jiān)控系統(tǒng)中的應(yīng)用

2025China.cn   2008年08月20日
[摘 要>

  介紹了在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)前我國(guó)的染色生產(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)閥,檢測(cè)的信號(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)以工業(yè)控制機(jī)為主控核心,結(jié)合外圍設(shè)備構(gòu)成整個(gè)控統(tǒng)。外圍設(shè)備主要包括鍵盤、顯示器、打印機(jī)、D/A輸出、A/D數(shù)據(jù)采集卡。

1.1 數(shù)據(jù)采集部分

  本系統(tǒng)主要是染色機(jī)溫度和壓力(測(cè)量壓力還是為了溫度的控制)控制。它們的測(cè)量好壞在一定程度上影響了控制系統(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ī)。

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)鏈接庫(kù)文件和第三方制作的ActiveX控件。采用這種方法可以在一定的程序上降低程序開發(fā)的難度,在提供較好靈活性地同時(shí),提供相對(duì)于第一種方法更好的移植性。因此在實(shí)際中,較多采用的是第三種開發(fā)方法。

2.1 VB環(huán)境下的軟件開發(fā)

  VB本身并不提供對(duì)計(jì)算機(jī)外設(shè)進(jìn)行底層操作的語(yǔ)句或是函數(shù)。但PCL-818L提供的一套隨機(jī)附帶軟件,其中包括了DLL(Dynamic Link Library)動(dòng)態(tài)聯(lián)接庫(kù)文件,提供了對(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)接庫(kù)提供了兩種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)用程序的模塊化,可以簡(jiǎn)化程序的修改。下面我們將用具體的例子說明如何調(diào)用DLL。
假設(shè)系統(tǒng)提供名為的一個(gè)動(dòng)態(tài)鏈接庫(kù),則應(yīng)有如下聲明:
Declare Function W_818_Initial Lib"",(ByVal card_number As Long,ByVal base_address As Long)AS Long
Declare Function W_818_Switch_Card_No Lib""(ByVal card_number As Long)AS Long
Declare Function W_818_DI Lib""(ByVal port_number As Long,di_data AS Byte)As Long
Declare Function W_818_Dl_Channel Lib""(ByVal ch_no AS Long,di_data As Long)AS Long
Declare Function W_818_DO Lib""(ByVal port_numberAs Long,ByVal do_data As Byte)As Long
Declare Function W_818_DA Lib""(ByVal ch_no AsLong,ByVal da_data AS Long)As Long
Declare Function W_818_AD_Set_Channel Lib""(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ù)來檢測(cè)接收緩沖區(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)用簡(jiǎn)單的幾個(gè)函數(shù)就可以實(shí)現(xiàn),編程難度和工作量大為減少。

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

(轉(zhuǎn)載)

標(biāo)簽:數(shù)據(jù)采集卡 染色機(jī) 監(jiān)控系統(tǒng) 應(yīng)用 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道