微機(jī)與電子地磅的連接技術(shù)
1.引言
隨著人類向信息化社會(huì)的步入,電子地磅等度量工具也逐漸向電子化、數(shù)字化方向發(fā)展。根據(jù)國(guó) 家計(jì)量管理部門(mén)的要求,各地傳統(tǒng)的機(jī)械式地磅正在逐漸被改造為機(jī)電結(jié)合式電子地磅或全電子地磅。電子地磅的優(yōu)點(diǎn)是:稱量準(zhǔn)確、靈敏度高、反應(yīng)迅速、顯示直觀。電子磅一般都配有標(biāo)準(zhǔn)串行口 RS— 232把稱量數(shù)據(jù)輸出到打印機(jī)或微機(jī)等設(shè)備。由于電子磅的存儲(chǔ)及統(tǒng)計(jì)能力很有限,為了對(duì) 稱量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,就有必要將電子地磅的稱量數(shù)據(jù)輸入到微機(jī)中。若用手工方式輸入稱量數(shù) 據(jù),不僅速度慢,而且容易產(chǎn)生一些人為造成的有意或無(wú)意錯(cuò)誤。微機(jī)與電子磅的串行口相連,由 微機(jī)自動(dòng)從串行口上讀取稱量數(shù)據(jù),就可以避免上述弊病。作者在為新疆霍爾果斯糖廠和新源糖廠開(kāi)發(fā)的原料收購(gòu)管理信息系統(tǒng)中采用了這一技術(shù)效果很好,得到了用戶的充分肯定。各地的糧食 倉(cāng)庫(kù)、棉麻公司及農(nóng)產(chǎn)品加工企業(yè)等單位一般都有大噸位的電子地磅,因此該技術(shù)可廣泛應(yīng)用于農(nóng) 副產(chǎn)品的收購(gòu)過(guò)程之中。
2.電子地磅工作原理
電子地磅工作的一般原理是:通過(guò)壓力傳感器將壓力轉(zhuǎn)換為模擬電信號(hào),再經(jīng)過(guò)A/D轉(zhuǎn)換器, 將模擬電信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并輸出,如下圖1所示。
壓力傳感器發(fā)出的是連續(xù)變化的模擬電信號(hào),為實(shí)時(shí)反映秤臺(tái)上重物的變化,電子地磅儀表按一定 的時(shí)間間隔(例如200ms)采集傳感器發(fā)出的模擬電信號(hào),經(jīng)A/D轉(zhuǎn)換后以數(shù)字信號(hào)輸出到串行口。
3.電子地磅輸出數(shù)據(jù)的方式
電子地磅儀表以單工方式,用ASCII碼格式,按一定的時(shí)間間隔向串行口輸出數(shù)據(jù)。為能區(qū)分 出每一次輸出的數(shù)據(jù),電子地磅儀表給輸出的數(shù)據(jù)加上了起始標(biāo)志和結(jié)止標(biāo)志或計(jì)量單位標(biāo)志。例如,一臺(tái)最大量程為50噸的電子地磅,稱量精確到公斤,稱重?cái)?shù)據(jù)占6個(gè)字節(jié),起始標(biāo)志(占2個(gè) 字節(jié))為“ DO,結(jié)束標(biāo)志(占2個(gè)字節(jié))為kg,即電子地磅儀表發(fā)出的一個(gè)完整數(shù)據(jù)共有10個(gè) 字節(jié)。稱重?cái)?shù)據(jù)25. 86噸”由電子磅儀表的串行口輸出的形式如下圖2所示。
4.微機(jī)讀取電子地磅儀表數(shù)據(jù)的技術(shù)
微機(jī)串行口與電子地磅儀表串行口的物理連接方式,可視情況采用零調(diào)制調(diào)器直連或通過(guò)調(diào)制解 調(diào)器的標(biāo)準(zhǔn)接線方式,具體接線方式可參閱有關(guān)串行通信方面的技術(shù)資料。這里主要介紹微機(jī)從電子地磅儀表讀取數(shù)據(jù)的底層軟件實(shí)現(xiàn)技術(shù)。
微機(jī)與電子地磅儀表的串行口連接之后,就可開(kāi)始設(shè)計(jì)電子地磅數(shù)據(jù)的讀取程序??捎?/span>C或匯編語(yǔ)言編寫(xiě)讀取程序,BIOS的系統(tǒng)功能INT 14H為串行口服務(wù)例程,功能表如下:
設(shè)電子地磅儀表的串行口通訊參數(shù)為:800波特率,無(wú)校驗(yàn),1位停止位,7位編碼,則由上表知 其初始化參數(shù)字節(jié)為:(11000010)2 =(C2)l6。
電子地磅儀表是以單工方式,按一定的時(shí)間間隔連續(xù)向串行口輸出數(shù)據(jù)的,而微機(jī)讀取數(shù)據(jù)的時(shí) 間又具有任意性。所以,微機(jī)一次從串行口讀取的字節(jié)數(shù)必須是電子地磅儀表一次輸出的數(shù)據(jù)字節(jié)數(shù) 的2倍以上,才能確保其讀取的字節(jié)串中包含一個(gè)完整的電子地磅數(shù)據(jù)串,如圖3所示。
該程序?qū)⒆x到的電子地磅數(shù)據(jù)串存放在DS :X所指的內(nèi)存區(qū)域,其中包含一個(gè)完整的電子地磅數(shù) 據(jù)串。根據(jù)具體的編程工具和應(yīng)用環(huán)境,可將這一程序做適當(dāng)?shù)男薷牟R編成二進(jìn)制文件,加載到 上層軟件中調(diào)用,就可使微機(jī)讀取從電子磅傳來(lái)的稱量數(shù)據(jù)。
5.應(yīng)注意的問(wèn)題
由微機(jī)讀取電子地磅儀表數(shù)據(jù)的過(guò)程可知,電子地磅儀表輸出數(shù)據(jù)時(shí)與微機(jī)無(wú)關(guān),并不受其控制。 在微機(jī)讀取數(shù)據(jù)期間,要確保微機(jī)毫無(wú)遺漏地讀取這期間電子地磅儀表所輸出的每一個(gè)字節(jié),讀取數(shù) 據(jù)的速度必須快于儀表輸出數(shù)據(jù)的速度,否則就會(huì)遺漏某些字節(jié)。特別是微機(jī)在讀取數(shù)據(jù)期間,若 發(fā)生中斷(如定時(shí)報(bào)警)而中斷例程執(zhí)行的時(shí)間又較長(zhǎng),就會(huì)出現(xiàn)遺漏字節(jié)的情況。作者在實(shí)踐中 使用過(guò)的電子磅儀表有兩種型號(hào):AD — 4322A和8142兩種儀表的數(shù)據(jù)輸出格式略有差別。當(dāng)用CPU 為486DX2 — 80MHz的微機(jī)的DOS系統(tǒng)與儀表相連時(shí),若不加載漢字系統(tǒng)能很好地讀取數(shù)據(jù),而 當(dāng)加載漢字系統(tǒng)UCDOS時(shí),就會(huì)頻繁出現(xiàn)漏讀數(shù)據(jù)的情況。導(dǎo)致這一情況的原因是由于UCDOS 的“支持直寫(xiě)屏”技術(shù)截取了時(shí)鐘中斷(INT08),其中斷例程每秒種要對(duì)顯示緩沖區(qū)進(jìn)行18.2次 的掃描刷新。當(dāng)CPU檔次高于486DX2 — 100MHz時(shí),就不會(huì)出現(xiàn)漏讀數(shù)據(jù)的情況。