本文介紹了Windows 98環(huán)境下基于PC機工業(yè)控制器自動測試系統(tǒng),著重論述了如何保證 自行設計的ISA總線測試板卡系統(tǒng)精度以及設計實現(xiàn)過程中的抗干擾、總線驅動等關鍵問題
1 概述
工業(yè)控制器作為工業(yè)監(jiān)測控制的關鍵設備,其應用越來越廣泛,然而其使用前的測試還 停留在人工測試階段,采用人工測試存在測試時間長、不夠精確等缺點。本文作者在Window s 98下開發(fā)的基于PC機工業(yè)控制器測試系統(tǒng),實現(xiàn)了帶RS232通訊接口工業(yè)控制器模擬量精度的自動校驗和開關量信號的自動測試。該測試系統(tǒng)的開發(fā)為工業(yè)控制器的測試提供了一種快速、準確、可靠的自動測試工具。
2測試系統(tǒng)組成及原理
為使測試系統(tǒng)有良好的用戶界面,縮短開發(fā)周期,測試系統(tǒng)采用了現(xiàn)成PC機加上自行設計 的ISA 總線I/O測試板卡的設計方案,其核心是一個基于ISA總線測試板卡的數(shù)據(jù)采集與控制 系統(tǒng)。測試系統(tǒng)由PC機主板、ISA總線測試板卡、鼠標、顯示器、打印機和相應的測試軟件 組成,參見圖1,測試板卡信號輸出端(AO,DO)和控制器的信號輸入端(AI,DI)連接 ,測試板卡信號輸入端(AI,DI)和控制器的信號輸出端(AO,DO)連接,PC機的RS232串 口和被測控制器的RS232串口相連,形成若干閉環(huán)測試回路。
當測試控制器的AI通道時,通過測試板卡的AO通道向被測試控制器發(fā)出測試激勵信號(給 定值),經(jīng)D/A轉換送到控制器AI通道,再進行A/D轉換,所得實測值從串口返回PC機,和相應給定值進行比較,得出該測試點測量精度;控制器AO通道的測試是先通過串口發(fā)給定值到控制器模擬輸出通道,通過測試板卡的AI通道采集實測值,計算該點測量精度。開關量的測試與之類似,將給定邏輯值和實測邏輯值進行比較即可。
3 測試板卡框圖及簡介
測試板卡框圖見圖2,測試板卡由模擬輸入通道、模擬輸出通道,開關量信號的 輸入和輸出以及接口電 路組成,模擬輸入通道包括了模擬信號電流/電壓轉換電路、多路模 擬開關、A/D轉換部分 ,模擬輸出通道包括了多路D/A轉換器、恒流源電路和輸出信號轉接電路。板卡共有8路模擬量輸入、14路模擬量輸出和8路開關量輸入、輸出,模擬量輸入輸 出信號為4~20 mA?電流,模擬量輸入的測量精度為0.125 ‰,模擬量輸出的測量精度為 0.5 ‰。開關量輸入信號為無源觸點或TTL電平輸入,開關量輸出信號為TTL電平輸出,足以滿足工業(yè)監(jiān)控器的精度測試和電氣連接要求。
4.系統(tǒng)精度
系統(tǒng)精度是指模擬輸入、輸出通道的精度,在設計中從7個方面進行了考慮。
(1)采用低溫漂系數(shù)精密電阻取樣
取樣電阻將模擬量輸入信號0-20mA變換成0-2V電平信號,選用0.2 ‰低溫漂系數(shù)的精密電阻,以保證取樣精度。
(2)模擬濾波
模擬量輸入信號經(jīng)RC低頻、高頻濾波,濾除高頻噪聲和低頻噪聲。
(3)采用41/2位雙積分A/D轉換器ICL7135[!--empirenews.page--]
雙積分式A/D轉換器測量的是輸入電壓在積分時間間隔內(nèi)的平均值,能有效地抑 制工頻干擾,其轉換精度較高。
A/D芯片外圍電路也是影響A/D轉換精度的因素。為保證轉換精度,除了采用高精度 基準參考源,其正負工作電源必須穩(wěn)壓;為減少ICL7135在積分轉換階段的非線性 ,A/D轉換時鐘頻率應限制在166 kHz內(nèi),取信號積分周期為工作電源周期的整數(shù)倍。
(4)模擬量的輸出傳輸采用電流形式
采用電流傳輸能消除傳輸電阻壓降對精度的影響,且電流傳輸時兩線間呈低阻,使外界干擾對傳輸線的作用減小。
(5)選用分辨率為13位的D/A轉換器MAX547
MAX547為MAXIM公司的并行八通道電壓輸出D/A轉換器,具有集成度高,滿13位有效 、每路帶雙緩沖輸入鎖存器等特點。由于芯片D/A轉換電路通過“?R-2R?”梯形網(wǎng)絡實現(xiàn) ,基準參考電壓輸入端的負載變化范圍達10倍,需選擇負載調(diào)整率小的基準參考源,為消除A/D、D/A?轉換的互相影響,ICL7135和MAX547基準參考源分別進行了配置 。
(6)采用自行設計的高穩(wěn)定性恒流源電路
恒流源電路如圖3所示,前級電路將MAX547輸出電壓值+2?5 V轉換成與后級電路輸出電 流4-20 mA?成線性比例的電壓值,且具備調(diào)零、調(diào)滿量程功能。后級電路起信號轉換、恒流驅動作用,即將前級輸出電壓變換成電流輸出,并保證輸出電流信號不隨外加負 載改變而變化。為保證精度,恒流電阻R13選用了低溫漂系數(shù)精密電阻。
(7)接地
為使數(shù)字電路中數(shù)字負載的噪聲耦合到模擬電路的誤差最小,將模擬地與數(shù)字地分開接,模擬地僅在一點和數(shù)字地相連,使得數(shù)字部分的電流不會流到模擬回路中去。
測試系統(tǒng)位于實驗室環(huán)境中,且和被測控制器近距離連接,主要干擾源是電源系統(tǒng)。所采取的措施有:在每
4.3 I/O地址沖突的解決
測試板卡I/O端口編址方式為I/O端口單獨編址,該方式下I/O端口地址與存儲單元地 址 重疊,需用指令來區(qū)別是對存儲器
存儲器是用來存儲程序和數(shù)據(jù)的部件,有了存儲器,計算機才有記憶功能,才能保證正常工作。它根據(jù)控制器指定的位置存進和取出信息。
操作還是對I/O地址操作。因此,板卡的端口地址譯碼電 路應同時加I/O讀(或I/O寫)指令和表示DMA操作正在進行的AEN之反向信號來限定,當CPU 或DMA訪問存儲器時,端口地址譯碼電路的輸出就不可能有效。
4.4 總線驅動
測試板卡板內(nèi)總線驅動是必須的,在板內(nèi)加雙向數(shù)據(jù)總線驅動,既可避免發(fā)生數(shù)據(jù)總 線競爭,又能減輕系統(tǒng)總線負擔。而板內(nèi)地址可不加驅動,因為板內(nèi)地址驅動為單向驅動, 地址信號對系統(tǒng)總線構成的負載不會造成系統(tǒng)工作不正常。
5 軟件設計
測試系統(tǒng)在Window 98操作系統(tǒng)下開發(fā),測試軟件用基于控件對象可視化編程的Visua l Basic 6.0編制,測試數(shù)據(jù)存儲管理選用了Microsoft Access 7.0 。整個系統(tǒng)具備自動、手動測試功能,自動測試方式自動完成被測控制器所有通道測試,手動測試方式測試任意單項、任意通道??纱鎯Α@示、打印當前測試數(shù)據(jù)并查詢歷史測試數(shù)據(jù)。
軟件設計實現(xiàn)中共設4個模塊完成上述功能:
?、?strong>I/O端口的初始化;
?、跀?shù)據(jù)采集模塊;
?、弁ㄓ嵞K;
?、軐崟r顯示模塊
用于顯示數(shù)據(jù)的模塊。
組電源輸入端加入高、低頻濾波,對每個芯片電源加對地濾波,大大地降低了各芯片間的串擾;板內(nèi)電源線、地線加粗、地線敷銅,從而減少接地參考點隨電流的變化。