咨詢(xún)電話
ENGLISH0755-88840386發(fā)布時(shí)間:2019-11-07 14:46:52 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
1 引言
定量稱(chēng)重控制技術(shù)越來(lái)越成熟,它追求快速、準(zhǔn)確、可靠??焖傩院蜏?zhǔn)確性是一對(duì)矛盾,為解決這一對(duì)矛盾,我們研制過(guò)雙CPU的定量稱(chēng)重控制器,較好地解決了這一矛盾,但是由于存在軟件組合異常,可靠性指標(biāo)不高。目前單片微控器的集程度越來(lái)越高,功能越來(lái)越完善,且價(jià)格日趨降低,采用多單片微控器組成系統(tǒng),成本可以接受。我們?cè)诙糠Q(chēng)重控制器中,采用了一種3CPU的方案,既解決了快速性和準(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ī)的大,要配置顯示和鍵盤(pán)電路,需要較強(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)袋夾,放下裝滿(mǎn)料的袋子,甲或乙機(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)題,滿(mǎ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或3CPU,這一問(wèn)題的的解決變得簡(jiǎn)單了。它的成功就在于利用了并行處理的思想。因此,在今后類(lèi)似的小系統(tǒng)中,可以移植或簡(jiǎn)化一些以往由于成本的原因僅在大系統(tǒng)中使用的技術(shù),在硬件條件的允許下,可以使問(wèn)題的解決變得簡(jiǎn)單。
5 結(jié)束語(yǔ)
本文給出了一種可以解決定量稱(chēng)重控制的快速性、準(zhǔn)確性和可靠性的方案。它采用了較新的單片微控器,使硬件設(shè)計(jì)更為簡(jiǎn)單、可靠。它所采用的技術(shù)思想,可以為其他類(lèi)似系統(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)系刪除