咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2019-11-26 10:24:34 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
1 引言
定量稱重控制技術(shù)越來(lái)越成熟 ,它追求快速、準(zhǔn)確、可靠。 快速性和準(zhǔn)確性是一對(duì)矛盾 ,為解決這一對(duì)矛盾 ,我們研制過(guò)雙 CPU的定量稱重控制器,較好地解決了這一矛盾,但是由于存在軟件組合異常 ,可靠性指標(biāo)不高。 目前單片微控器的集程度越來(lái)越高,功能越來(lái)越完善 ,且價(jià)格日趨降低,采用多單片微控器組成系統(tǒng) ,成本可以接受。 我們?cè)?a href="http://m.shgwjz.com/productshow-30-77-1.html">定量稱重控制器中,采用了一種 3 CPU的方案 ,既解決了快速性和準(zhǔn)確性的矛盾,又提高了系統(tǒng)的可靠性 ,防止了雙 CPU方案可能產(chǎn)生的軟件組合異常問(wèn)題。
2 硬件設(shè)計(jì)
主機(jī)的作用: 接收夾袋狀態(tài)信號(hào),輸出關(guān) /合袋夾動(dòng)作 ,從甲、乙機(jī)的到秤信號(hào) ,讀取各秤的累計(jì)袋數(shù)和累計(jì)重量 ,并將總累計(jì)袋數(shù)和重量值送給上位機(jī)。
甲、乙機(jī)的作用: 讀取各緩沖料斗的料位狀態(tài) ,根據(jù)傳感器變換的重量值往秤斗中進(jìn)行快、中、慢加料,根據(jù)主機(jī)給的信號(hào)進(jìn)行放料。
單片微控器的選擇: 主機(jī)主要完成協(xié)調(diào)功能 ,程序量不大,可選擇片內(nèi)程序存儲(chǔ)器小 ,且引腳較少的的單片微控器 ,這種微控器必須有全雙工串行口和一定的外中斷識(shí)別能力。 我們選擇了 AT90S2313,它內(nèi)部還具有串行 EEPROM 和 WDT,體現(xiàn)了真正的單片特性 ,較以往的單片微控器省去了相應(yīng)的擴(kuò)展電路。 甲、乙機(jī)的程序量相對(duì)主機(jī)的大,要配置顯示和鍵盤電路 ,需要較強(qiáng)的外擴(kuò)展能力 ,我們選擇了與主機(jī)同系列的單片微控器 AT90S4414,它的內(nèi)部同樣具備串行 EEPROM 和 WDT,也省去了這部分?jǐn)U展電路。 累計(jì)袋數(shù)和累計(jì)重量值是通過(guò)主機(jī)和甲、乙機(jī)的串行口進(jìn)行的 ,涉及放料部分的信息處理是由它們的并行口和外中斷協(xié)調(diào)的。
3 相應(yīng)軟件的設(shè)計(jì)
系統(tǒng)的主要工作流程如下: 開(kāi)機(jī)后 ,甲、乙機(jī)根據(jù)各自緩沖料斗的料位狀態(tài) ,往各自秤斗中加料 ,并不斷判斷到秤狀態(tài) ,到秤后 ,進(jìn)行落差補(bǔ)償 ,向主機(jī)申請(qǐng)放料。 主機(jī)不斷判斷袋夾按鈕是否按下,按下后主機(jī)控制袋夾關(guān)閉 ,袋夾關(guān)閉到位后,判斷甲、乙機(jī)是否有到秤的,若有 ,則通知甲、乙機(jī)可以放料 ,延時(shí)一定時(shí)間后,主機(jī)控制打開(kāi)袋夾 ,放下裝滿料的袋子,甲或乙機(jī)又進(jìn)行裝料循環(huán) ,主機(jī)又進(jìn)入袋夾按鈕是否按下和甲、乙機(jī)是否到秤的判斷。
在這種硬件條件下,就不怕甲、乙機(jī)同時(shí)放料沖突。 由于主機(jī)的兩個(gè)外中斷優(yōu)先級(jí)不一樣,即使它們同時(shí)申請(qǐng)中斷,主機(jī)也不會(huì)同時(shí)中斷,也就不會(huì)同時(shí)放料。甲、乙機(jī)可以從容地裝料,仿佛對(duì)方不存在。
主機(jī)的軟件工作流程:
( 1) 初始化,包括中斷和定時(shí)器的初始化,與甲、乙機(jī)聯(lián)絡(luò)信號(hào)的初始化。
( 2) 判斷按紐按下?tīng)顟B(tài),若未按下 ,等待,否則 ,到( 3)。
( 3) 判斷甲、乙機(jī)是否到秤 ,若不到秤 ,等待 ,否則,到( 4)。
( 4) 清到秤標(biāo)志 ,給甲或乙機(jī)發(fā)出放料信號(hào)。
( 5) 延時(shí)到一定時(shí)間后 ,打開(kāi)袋夾 ,同時(shí)清除給甲或乙機(jī)的放料信號(hào) ,返回 ( 2)。外中斷服務(wù)程序 0 :
( 1) 禁止外中斷 1中斷。
( 2) 設(shè)定甲機(jī)到秤標(biāo)志。
( 3) 返回。
外中斷服務(wù)程序 1 :
( 1) 禁止外中斷 0中斷。
( 2) 設(shè)定乙機(jī)到秤標(biāo)志。
( 3) 返回。
定時(shí)器 0中斷服務(wù)程序:
( 1) 判斷按鈕按下?tīng)顟B(tài),為高,到 ( 4) ,為低 ,到 ( 2)。
( 2) 延時(shí)一段時(shí)間,判斷按鈕按下?tīng)顟B(tài) ,為高 ,到 ( 4) ,為低 ,到 ( 3)。
( 3) 設(shè)定按紐按下標(biāo)志。
( 4) 重裝定時(shí)器初值 ,返回。
甲或乙機(jī)到秤后,向主機(jī)發(fā)出放料申請(qǐng),然后分別進(jìn)入等待放料狀態(tài) ,判斷主機(jī)給出的放料信號(hào),直到可以放料。 在放料的同時(shí) ,清除送給主機(jī)的到秤信號(hào)。
4 進(jìn)一步的討論
一些較大系統(tǒng)中采用并進(jìn)行處理技術(shù)是為了提高系統(tǒng)的速度,完成實(shí)時(shí)性很強(qiáng)的任務(wù)。 它將一個(gè)單機(jī)串行處理有時(shí)很難在一定約束條件下解決的問(wèn)題,簡(jiǎn)化為相對(duì)簡(jiǎn)單且時(shí)間上可同時(shí)進(jìn)行的子問(wèn)題 ,滿足了諸如實(shí)時(shí)性等約束條件。由于集成電路的集成度越來(lái)越高 ,價(jià)格不斷下降,這種并行處理技術(shù)可以在一些小系統(tǒng)中采用,解決單機(jī)串行處理所無(wú)法解決的問(wèn)題。 就我們所設(shè)計(jì)的這個(gè)測(cè)控系統(tǒng) ,如果用一個(gè) CPU控制兩個(gè)模擬通道和兩個(gè)功率輸出通道,并進(jìn)行必要的顯示控制,同時(shí)解決快速性和準(zhǔn)確性的問(wèn)題 ,這是不可能的。 即使采用速度很快的CPU,由于 A /D轉(zhuǎn)換器的速度匹配不上,還要進(jìn)行數(shù)字濾波計(jì)算、重量判斷 ,在快速裝料過(guò)程中不能達(dá)到同時(shí)準(zhǔn)確到秤判斷 ,也解決不了問(wèn)題。但是 ,我們采用雙 CPU或 3 CPU,這一問(wèn)題的的解決變得簡(jiǎn)單了。 它的成功就在于利用了并行處理的思想。 因此 ,在今后類似的小系統(tǒng)中 ,可以移植或簡(jiǎn)化一些以往由于成本的原因僅在大系統(tǒng)中使用的技術(shù) ,在硬件條件的允許下 ,可以使問(wèn)題的解決變得簡(jiǎn)單。
5 結(jié)束語(yǔ)
本文給出了一種可以解決定量稱重控制的快速性、準(zhǔn)確性和可靠性的方案。 它采用了較新的單片微控器 ,使硬件設(shè)計(jì)更為簡(jiǎn)單、可靠。 它所采用的技術(shù)思想,可以為其他類似系統(tǒng)所借鑒。
[參考文獻(xiàn) ]
[ 1] 胡春海. 雙 CPU 定量包裝電子秤 [ J ]. 自動(dòng)化儀表, 1998, 19( 9): 23-24.
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除