郭 媛,陳新元,易建剛
(1.武鋼大學 信息工程學院,武漢 430080;2.武漢科技大學 機械自動化學院,武漢 430081;3.江漢大學 機電與建筑工程學院,武漢 430056)
0 引言
軋機AGC伺服液壓缸是在大型鋼鐵企業(yè)主軋線的關鍵液壓裝備之一,靜動態(tài)性能指標要求高,價格昂貴,更換作業(yè)耗時長,其故障將會對生產(chǎn)導致重大影響。制造、運輸、貯存、使用、維修環(huán)節(jié)都可能導致AGC液壓缸的性能發(fā)生改變。因此,適時對軋機AGC缸進行靜動態(tài)指標檢測非常必要。由于軋機AGC缸載荷大,精度高,目前國內(nèi)能對其全套靜動態(tài)指標進行測試的裝備較少,且自動化程度相對較低,大多處于手工操作階段,難以滿足產(chǎn)品發(fā)展需求[1,2]。因此,本文重點分析了軋機AGC缸頻率響應、階躍響應、動摩擦力和啟動摩擦力測試特點和方法[3],并針對性地開發(fā)了成套計算機輔助測試軟件系統(tǒng),應用效果良好。
1 測控系統(tǒng)框架設計
根據(jù)相關標準和軋機AGC伺服液壓缸的實際工況,確定測試系統(tǒng)開發(fā)總體目標,具體包括頻率響應測試、階躍響應測試、啟動摩擦力測試、動摩擦力測試和功能[3]。此外,還要完成測試和控制過程中高速數(shù)據(jù)采集、分析、處理、顯示、存儲和打印任務。因此,軟件中還應包括數(shù)據(jù)采集卡測試、數(shù)據(jù)曲線顯示及打印、數(shù)據(jù)庫管理等功能[4,5]。本文所設計的軋機AGC伺服液壓缸測試系統(tǒng)的總體結構采用了測控一體化方式,其結構如圖1所示。

圖1 軋機AGC伺服液壓缸測控系統(tǒng)結構
圖1中,測試部分數(shù)據(jù)采集卡為凌華公司的PCI-9118,控制部分采用SIEMENS的S7-300PLC,通訊及控制軟件用Visual C++開發(fā)設計。計算機系統(tǒng)通過PCI總線與數(shù)據(jù)采集卡相連,通過Profibus現(xiàn)場總線與PLC相連。數(shù)據(jù)采集卡的數(shù)字或模擬通道連接傳感器、二次儀表,以及其他相關元件;PLC通過其觸點與控制閥、信號開關元件相連。軟件系統(tǒng)中的測試部分和控制部分通過SIEMENS公司提供的符合ANSIC規(guī)范的函數(shù)庫建立連接,它能以動態(tài)連接庫的形式加載入軟件中。借助于這些函數(shù),可以實現(xiàn)對PLC中數(shù)據(jù)的實時讀寫操作??刂萍皽y試軟件界面采用虛擬儀器的設計思想,通過鼠標點擊可以進行各項操作。同時,考慮系統(tǒng)擴展,預留必要的備用控件。
2 測控系統(tǒng)軟件開發(fā)
本文介紹的軋機AGC缸測試軟件系統(tǒng)基于Windows平臺,采用面向對象的Visual C++ 6.0作為開發(fā)工具。測試系統(tǒng)具備AGC缸靜動態(tài)指標測試功能。
2.1 軟件系統(tǒng)功能模塊
測試系統(tǒng)軟件包含的主要功能如圖2所示。具體描述如下:
頻率響應:用于測試伺服液壓缸在正弦掃頻信號控制下的輸入與響應信號幅值比/相位差——信號頻率之間的關系;階躍響應:用于測試伺服液壓缸在給定的階躍控制信號下的位移——時間之間的關系;動摩擦力:用于測試伺服液壓缸在給定信號下的帶載荷摩擦力——位移之間的關系;啟動摩擦力:用于測試伺服液壓缸在給定信號下的空載啟動壓力——時間之間的關系,以確定啟動摩擦力的大??;板卡測試:用于測試數(shù)據(jù)采集卡各通道功能是否正常,精度是否符合要求。

圖2 測試軟件功能模塊結構
2.2 數(shù)據(jù)卡硬件驅動接口程序
PCI-9118數(shù)據(jù)采集卡接口函數(shù)調(diào)用的主要步驟如下:
1)安裝數(shù)據(jù)采集卡硬件和驅動程序。
2)將Dask.h、PCI-Dask.dll和PCI-Dask.lib三個文件拷貝到到當前開發(fā)程序目錄下。
3)將Dask.h和PCI-Dask.lib這2個文件添加到當前開發(fā)工程中。
4)在要調(diào)用數(shù)據(jù)采集卡接口函數(shù)的頭文件中,包含以下文件:#include "Dask.h"。
5)在初始化對話框函數(shù)中,添加以下代碼加載驅動:
if((m_nCardNO=Register_Card(PCI_9118HG,0))>=0)
{
AI_9118_Config(m_nCardNO,P9118_AI_BiPolar|P9118_AI_SingEnded,0,0,0); //配置數(shù)據(jù)采集卡極性和測試方式
AO_WriteChannel(m_nCardNO,0,2047);//DA-0通道清零
AO_WriteChannel(m_nCardNO,1,2047);//DA-1通道清零
}
else
{
MessageBox(“數(shù)據(jù)采集卡安裝不成功!”,”錯誤”,MB_OK|MB_ICONERROR);
}
6)退出測試軟件時,先要卸載數(shù)據(jù)采集卡驅動,函數(shù)調(diào)用如下:
if(m_nCard>=0)
{
AO_WriteChannel(m_nCard,0,2047);//DA-0通道清零
AO_WriteChannel(m_nCard,1,2047);//DA-1通道清零
Release_Card(m_nCard);
}
7)進行A/D采樣時,調(diào)用如下函數(shù),參數(shù)1為板卡編號,參數(shù)2為A/D通道號,參數(shù)3表示進行-5V~+5V范圍采樣,參數(shù)4為采樣保存數(shù)組。
AI_ReadChannel(m_nCard,m_nADChannel,AD_B_5_V,&nAD[t]);//AD采樣,
8)進行D/A輸出時,調(diào)用如下函數(shù),參數(shù)1為板卡編號,參數(shù)2為D/A通道號,參數(shù)3為D/A輸出數(shù)值。該卡D/A輸出為12位精度,故nValue取值范圍為0~212。
AO_WriteChannel(m_nCard,m_nADChannel,nValue);//DA輸出
2.3 測試數(shù)據(jù)文件管理程序
文件管理使用序號、文件名或測試日期等條件查詢,能快速實現(xiàn)文件查找和定位。技術人員根據(jù)查找符合條件的測試參數(shù)結果,便于對所檢測伺服液壓缸數(shù)據(jù)進行統(tǒng)一管理。
用Visual C++ 6.0連接Microsoft Access2000所創(chuàng)建的數(shù)據(jù)庫SGAGC.MDB為例,該文件保存在程序所在目錄SGAGC的Datasave文件夾下。程序與后臺數(shù)據(jù)庫連接的代碼實現(xiàn)如下:
1)在stdafx.h中添加以下代碼:
#include "odbcinst.h"
#include "afxdb.h"
2)在SGAGC.CPP中,添加以下代碼:
SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=SGAGC