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