稱煤地磅變大噸位后對原輸出系統的改造
如何在地磅的噸位變大后,使輸出系統的整個模式不變,是地磅改造的一個問題。通 過小噸位地磅改大噸位后輸出系統仍保持原有狀態和模式的說明,提出了解決這類問題的方法。
1.小噸位地磅存在的問題
由于汽車載重量不斷增加,30 t稱重重量已不 能滿足需要。因此,企業拆了 30 t的地磅,在原有的 地方新安裝了 100 t的地磅。100 t的地磅所帶的終 端系統是數碼管顯示,只能簡單打印出每輛車每次 的載重量,根本不符合主管部門的要求。新安裝的 100 t地磅仍采用原有的計算機稱重軟件和系統。實 際投入使用后發現,低于40 t的重量能夠準確地進 行顯示、計算、打印等,大于40 t的重量統統按40 t的重量統統按40t顯示、計算。
2.小噸位地磅輸出系統分析
通過對地磅稱重系統的硬件和軟件進行分析 得知,地磅的傳感器共有6只,每只承重量是20 t,6 只傳感器串聯起來可以承重120 t。傳感器通過 PC6139光電隔離模入接口卡和計算機進行連接, PC6139接口卡主要承擔模擬信號與數字信號的轉 換。
原計算機稱重系統的軟件是用C語言編寫的, 通過對其源程序分析,沒有發現對超過40 t重量進 行限制的任何語句。
為了找到地磅稱重時的重量和PC6139卡輸出 到計算機的數據之間的比例關系,用C語言編寫了 如下的測試程序采集原始數據,該程序在Bor-land C++3.1 環境下編譯通過。主程序如下: #define PC_BASE 0x0318 /* 定義 PC6139 卡的端口地址*/#include
#include
#include
#include
#include
#include
#include
#include
#include
int far WL[300];
FILE *fp; long sum=0;
void far main(void)
{
register int i , m, n;
int data;
int len , k;
int DDD[100];
float ttt;
int flag;
int data_h,data_l;
fp=fopen ("test.dat","a+t"); /* 建立一個原始數 據輸出文件test.dat */
for(m = 0; m<100; m++) {inp(PC_BASE+3); outp(PC_BASE, 0); for(i=0; i<10000; i++) flag = 0x80; o卿(PC—BASE+1, 0); while(flag == 0x80) {
flag = inp(PC_BASE+2); flag = flag & 0x80;
}
data_h = inp(PC_BASE+2); data_l = inp(PC_BASE+3);
DDD[m] =data_h*256 + data_l; sum +=(long)DDD[m];
}
for(m = 0; m<100; m++) {
for(n = m+1; n<100; n++) { if(DDD[m] < DDD[n]) { data = DDD[m];
DDD[m] = DDD[n];
DDD[n] = data;
}
}
}
ttt = 0.0;
for(m = 12; m<18; m++) ttt = ttt + DDD[m]; data = (int)(ttt / 6.0); fprintf(fp,"ave=%f,n,sum/100.0); fprintf(fp,"real=%d,n,data); for(i=0;i<100;i++)
fprintf(fp,"%d,n,DDD[i]); fprintf(fp,"%cn,' '); fclose(fp); for(m=0; m<100; m++)
WL[m] = data;
}
通過對不同重量的測試,采集一組PC6139輸 出的原始數據,結果發現,地磅的載重一旦達到或 超過40 t時,PC6139光電隔離模入接口卡的數碼 輸出值就達到該卡的最大值4 096。無論再怎樣增 加重量,其值不再增加,經過計算機運算后,輸出結 果保持在40 t。
分析認為,地磅傳感器的輸出電壓值會隨著重 量的增加線性變大,但由于PC6139光電隔離模入
接口卡的放大增益過大,以至于地磅傳感器輸出電壓增大到一定時(重量超過40 t),PC6139光電隔離 模入接口卡數碼輸出值達到了最大,即便地磅傳感 器的輸出電壓隨著重量的增加而線性變大,數碼輸 出值也不再變化,因而不能正確反映重量大于40 t 的稱重值。
3.改造方法
由于地磅傳感器的輸出電壓值與所承載的重 量成正比關系,所以只要地磅傳感器在承載120 t 時的輸出電壓能夠推動PC6139光電隔離模入接口 卡,數碼輸出值接近4 096(不可超過此值),通過修 改C語言編寫的稱重軟件的相關語句,就能正確反 映所稱物體的重量。
PC6139光電隔離模入接口卡放大增益公式 Rg=50/(G-1)
式中R——放大增益控制電阻;
G—放大增益倍數。
通過測量PC6139光電隔離模入接口卡原電阻 Rg(50 ft),得出其放大增益約1 000倍。為了滿足地 磅是120 t的稱重需要,將放大增益倍數降低,取 Rg=125 ft,放大增益約400倍即可。
降低PC6139光電隔離模入接口卡的放大增益 后,需要重新進行地磅零重量標定。具體做法:用汽 車承載100 t、80 t、60 t等幾組不同重量的重物進行 稱重測量,記錄下PC6139光電隔離模入接口卡的 數碼輸出值與實際重量的變化關系表,得到數碼輸 出值變化與重量變化的比例關系。
由于降低了 PC6139光電隔離模入接口卡的放 大增益,就必須對地磅原來輸出系統源程序中零重 量標定和比例關系進行相應地修改,否則無法顯示 正確的重量。根據測試程序測量取得的數據,修改 后的關鍵源程序如下: aaa = 0.0; for(i=0; i<100; i++) aaa = aaa + WL[i]; aaa =(aaa/100.0 * 10000.0/4096.0); if(aaa <= 898.0) { as[BA] = aaa;
BA = BA+ 1; if(BA >= 5) {
BA = 0;
tmp = 0.0; for(i=0; i<5; i++) tmp = tmp + as[i]; sys_def.XS1 = tmp / 5.0;
} else {
BA = 0;
}
if(aaa <= sys_def.XS1) weight = 0.0 ;
else {
weight = (aaa-sys_def.XS1)*sys_def.XS2/10.0; if(weight < 0 ) weight = 0.0 ;
}
if(weight < 10) weight = 0.0;
至此,對原計算機稱重系統改造完成,經過有 關部門對該系統檢測,達到規定要求。
4輸出系統改造后的啟示
雖然以上的修改能滿足廠方地磅對大噸位的 需求,但程序的靈活性不大。在實際操作過程中,地 磅的自身重量和放大倍數常常受外界的干擾,所 以,需要定期對程序進行適當地校正。可以給軟件 系統增加一個配制文件SYS_DAT.CFG,根據測試程 序測量取得的數據,把地磅自身重量和放大倍數存 入該配置文件,當需要修改2個參數時,不需要修 改源程序文件,只需要修改SYS_DAT.CFG即可。