谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

XK3101型稱重顯示控製器係統軟件的設計

發布時間:2021-06-25 14:57:00 |來源:網絡轉載

—、前言
現代電子衡器是由專用稱重儀表、稱重傳感器、秤體三部分組成的。通常,這三部分都藕影響整個電子秤係統的準確性、穩定性和可靠性。然而,除去硬件的因素,依靠軟頌來確保係統高精度高計量功能,則完全是由專用稱重儀表來提供的,這就是電子衡器為專用稱重功能。
電子衡器的專用稱事功能,是以軟件形式表現出新的。在研製過程也盡可能空發揮微處理機的優點,力親硬件功能模塊化的同時實現矗功能模塊化,能夠用軟件賣現的功能都盡量采用軟件去實現,做到一次開發,長期受益,有利於功能鏟展和降低成本。如圖1所示為該稱重儀表的係統程序流程圖。為了提髙實時能方,縮短軟件的處理時間,該軟件全部采用Z80匯編語言設計而成。

稱呼總儀表係統程序流程圖

二、係統軟件的變體實現及特點
和硬件研製相比,軟件設計具有更多的靈活性。但是,研製軟件所需的時間和費用,往往是一個不易估計的問題。對於一個比較簡單,規模較小的應用程序,通常隻須用程序流程圖就足以說明所有的問題。如果程序比較複雜、規模很大,則程序設計將麵臨一些其它問題。例如,如何把整個程序劃分成模塊,如何把程序編得清楚明了,便於査錯和測試等。實踐證明,一個好的應用軟件,不僅要能夠執行規定的任務,而且在開始獲計時,就應該考慮到維護和再設計的方便,使它具有足夠的靈活性、可擴充性和可移植性。
由於係統軟件比較複雜,規模較大。因此,在具體程序設計中采用了程序流程圖、模決化程序設計、結構化程片設計這三種方法同時並川的方式,比較好地解決了以上兩個問題,滿足了用戶提出的性能指標及功能要求,從而得到-•個可靠性高,可讀性強且效率較優的係統程序。
1,係統軟件的總體布局及功能
從整個軟件係統來說,采用的方法是繪製流程圖並配以詳盡的文件編製。從圖1可以看出,它以直觀、易於理解的方式對所要求的任務作出了詳細描述.這樣,一方麵有利於在程序設計時很容易地從流程圖轉變成程序;另一方麵,若有較大的問題出現,也便於以此作為依據,重新進行軟、硬件的協調工作。同時,為今後的軟件維護和再設計提供了很大方便。
適當的文件編製是軟件設計的重要內容。它以對用戶和維護人員最為合適的形式來描述程序,不僅有助於進行査錯和測試,而且對程序的使用和擴充,也是必不可少的。
該係統軟件的完整文件,涉及如下一些內容'
•總流程圖及各功能鍵、各模塊流程圖
•程序的功能說明
•所有參量的定義清單
•存貯單元的分配圖    /
•完整的程序清單和注釋
•測試計劃和測試結果說明
在整個係統設汁中,由軟件來實現的功能主要有以下幾點:
①開機自動進入檢査筆劃程序,檢査4個指示燈,顯示出儀器型號並自動清零。
②多種貨物設定功能。
③重量顯示功能。校驗狀態為30000碼,使用狀態下為3000碼。
④量程及功能自動選擇。由三組8位微型撥動開關來改變最程及功能選擇。
⑤自動追零功能,具有長期的穩定性。
⑥去皮功能(重新校零)。
⑦可作金額、體積、含水率、固定皮重差這四種附加運算。
⑧具有日報、月報的累計打印功能,並可進行日報統計。
⑨製作車輛登記一覽表。
⑩次數累計。將一天或一個月貨物的次數累計。
⑪互鎖禁止功能。如日報、月報統計鍵與消除開關的連鎖,並有蜂鳴器報警,從而避免了因操作錯誤將統計數據衝掉。
⑫操作錯誤自診斷功能。具有Errl〜Errl3顯示。
⑬超載顯示報警功能。
⑭蜂鳴器用於指示鍵接觸是否良好。
此外,還有打印票據的修正,累計值的修正等功能。
2,係統軟件的模塊化設計
由於模塊比程序小,采用模塊化程序設計便於設計、測試,從而大大提高了軟件的可靠性。如果模塊間的耦合強度大,那麽,盡管單個模塊的可靠性高,但所組成的程序的可靠性仍然很低。而耦合強度的強弱取決於模塊間共享與互相引用(或調用)數據的多少與頻率。因此,應盡量減少使用公共數據,減少模塊間的相互作用,從而提高軟件的可靠性。實際中,模塊是按以下兩種原則進行分割的,即按功能分割與,以數據為中心分割,前者把功能相似或相關的操作集中於一個模塊中,後者把對一個或一類數據所作
的操作集中在同一模塊中。
本係統軟件中,大量采用模塊化程序設計方法,冇以下優點:
①作為一個具有某種功能、相對獨立的模塊比起一個完整的程序要相對容易編寫、査錯、修改和測試。
②模塊可以共享,一個模塊可能被多個任務在不同的條件下調用。這樣,一方麵減少了不必要的程序段,提高軟件的可靠性,另一方麵,增強了程序的可讀性,為程序的維護和再設計提供了方便,使它具有足夠的靈活性、可擴充性和可移植性。
③模塊化程序設計方法允許將任務進行分割,並為利用一些已有的程序提供了很大的方便,從而進一步加快了軟件研製速度,縮短了硏製周期。
3.A/D中斷實時數據處理程序
如上所述,采用模塊化程序設計方法的優點是很突出的。但是在該稱重儀表應用軟件的編製過程中,某些程序(如A/D中斷數據處理程序及其它功能鍵程序)難以模塊化,因此采用了結構化程序設計方法。釆用這種方法的優點主要在於能夠編寫出操作順序分明、便於査錯和糾正錯誤的程序,使其保持簡明性,盡可能提高軟件的可維護性及可舞性。
如圖2所示為非結構化程序流程圖。可以看出,如果在模塊B中發生一個錯誤,則該錯誤可能有5個來源。為了糾正這一錯誤,不僅要檢査每個可能的序列,而且還必須保證所作的任何變更,不會對其它的序列產生影響。這就往往使測試工作顧此失彼,給閱讀和査錯帶來了很大困難。

稱重儀表非結構化程序流程圖

解決這一問題的方法就是采用結構化的程序設計。如圖3所示。顯然,它具有以下幾個優點,

稱重儀表結構化圖

①由於每個結構隻有一個入口和一個出口,因此,操作順序易於跟蹤,便於査錯和測試。
②每個模塊的錯誤來源是單一的。
③程序本身容易用程序框圖來描述。結構化的程序已經接近文件編製,因而閱讀比較容易。
④理論上已經證明,利用上述基本結構,可以構成所有的程序。實踐也證明,這種設計方法對於提高軟件設計的工作效率是有益的。
基於上述優點,在A/D中斷數據處理程序中采用了結構化程序設計方法。其它功能健的具體程序中也廣泛采用了這種方法。
在軟件設計過程中,本文不僅要考慮係統程序的可靠性、可讀性,還要考慮到它的效率問題。一般來說,服務於不同目標的程序有不同的效率要求。一些使用頻繁的軟件,在不犧牲可靠性的情況下,效率成為主要目標。在本係統軟件中,A./D中斷數據處理程序是使用最為頻繁的。但是,即使對程序的時間或空間要求很嚴格,也不應在程序設計技巧上下太大功夫,而應在選擇設計算普時就應該選擇能滿足或接近於滿足給定時空要求的算法。一個好的算法所節省的時間或空間往往是無法通過對程序進合優化所能節省出來的。
在這裏,量程轉換倍率X1,x2,x5,X10,x20,X50就是通過加法來實現的,也就是把速度慢的運算用速度快的算法代替。舉例如下:
而在A/D中斷數據處理程序中R*10,R/10是由左移、右移指令來實現的。它們都是以枷牲可讀性及空間為代價來提高軟件的效率的,這比調用一個乘法子程序和除法子程序其執行速度相對地要快得多。
A/D中斷處理程序還包括自動零點追蹤功能。自動零點追蹤是指每次采樣零跟蹤範圍,太大將影響計量準確性,太小將不能保證儀表的零點。本係統軟件中控製在l/4d左右。
稱重儀表的零點值是隨環境因素、工作條件的變化而變化的。過去,儀器用硬件來消除零漂,但精度一高,時間一長,零點值就很難穩定在零。使用微處理機以後,即使采樣到視為零的基數值,也可能是隨機的。為解決這個問題,在微處理機每次處理A/D數據的過程中,測試零點值,以修正原存儲的零點值(取而代之)。需注意兩個問題:①正在測量時不能將測量值誤認為零點值(即隻對寫點進行自動追蹤),此時要保存原有的零點值,隻有在測量間隙才繼續自動校正,②零點值的自動校正,可能要影響分辨力,但儀表的分辨力不應降低。釆用的方法是將每次測得的數據與原存零點值求相對差,當差值大於n即認為非零點並建立標誌;反之則取代原存零點值,儲存該次測試結果。n必須根據精度要求來確定。選n=3。如圖4所示為自動零點追蹤的框圖。由於采用了軟件調蓼,因而零點具有長期的穩定性。不僅克服了由於電路自身,傳感器及現場等引起的漂移,而且為保證係統的穩定可靠創造了很好的條件。

稱重儀表自動零點追蹤框圖

4.打印程序的設計
在汽車衡等智能儀表及單機自動控製係統中,越來越迫切需要具有較為理想的漢字打印機作為外部輸出設備。
從1986年開始汽車衡的研製工作,就對打印輸出的格式提出了要求,即為要打印成表格式的清單。格式如下:
1987年10月23日11時25分
序號:157車號:51928
貨號:105皮重:6720kg
代號:24淨重:14880kg
潔單要以漢字的形式輸出,而漢字的筆劃很複雜。因此,字符輪式的打印機不能采用。現有的各種點陣式微型打印機有些隻能與單一型號的單板機配套,有些雖然通用,但硬件結構過於複雜而且要占用主機的I/。通道作為數據通訊線;有些價格很昂貴,不利於今後民品的開發。它們最大的弱點就是不能方便地打印出較為理想的漢字,因為其字符組成一般均為5x7點陣,而能用5x7點陣組成的漢字為數極少。
本文在TP801P打印機的基礎上,在其硬件線路基本不改的情況下,對其軟件進行了重新設計(TP801P打印機最大的弱點就是無法象打印字母及ASCII代碼那樣實現複雜漢字的打印輸出)。提出在微型針式打印機中釆用9X16點陣(漢字采用該點陣)來組成字庫的設想,並於1987年2月調試完畢。由於本文對軟件進行了重新編製,使釆用TP801P硬件線路的可能得以實現,從而大大縮短了整個係統的研製周期,降低了整個係統的研製成本,提高了可靠性(TP801P的硬件線路極少,隻有必要的接口和打印驅動電路,打印功能兒乎完全靠軟件來實現)。該打印程序具有以下幾個特點:
①點陣大,字跡清晰美觀,用戶可根據實際需要任意定義。
②整個字庫分為漢字庫和非漢字庫。漢字點陣為9x16,非漢字(英文字母、ASCII代碼及字符等)的點陣為5X16。這樣既有利於調用,又節省了內存空間。
③打印功能分三種方式實現,全部采用子程序調用方式。分為漢字打印、非漢字打印及漢字非漢字混合打印這三種方式,從而方便了各種不同需求的打印完成,增強了通用性,使它可以廣泛地應用於各種智能儀器儀表的漢字打印輸出。
④由於打印工作幾乎完全依靠軟件來實現,因此硬件線路極少,降低了研製成本,且整個打印機係統的可靠性得以大大提高;又由於打印軟件采用的是調子程序方式,從而使係統軟件的靈活性、可移植性大大增強。
本程序隻需改動兩個位置的參數,就可實現更為複雜的漢字輸出(字的高度為16點陣,寬度不限)。
結論
本文從提高係統軟件的可靠性、可維護性及效率的考慮出發,結合實際靂要采用了程序流程圖等三種方法同時並用的方式,完成了該稱重儀表應用軟件的研製。XK3101型稱重顯示控製器主要用於SCS-30/50型電子汽車衡,對各種車輛裝載的整車物資進行計量。還可根據不同需要組合成電子料鬥秤、配料秤、起重吊秤等,作精密計量及控製使用。該稱量儀表自1987年完成設計後,已大批量交付用戶使用。

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8