為了進(jìn)一步提高數(shù)控回轉(zhuǎn)庫的技術(shù)水平,使之在單機(jī)狀態(tài)可實(shí)現(xiàn)管理功能,降低用戶使用成本,提高工作效率,使用基于嵌入式系統(tǒng)平臺的帶管理回轉(zhuǎn)庫,可以實(shí)現(xiàn)簡單的單機(jī)回轉(zhuǎn)庫管理功能,有效地提高數(shù)控回轉(zhuǎn)庫的性價比、可操作性和實(shí)用性。本文介紹了嵌入式單機(jī)管理系統(tǒng)的設(shè)計(jì)、功能與實(shí)現(xiàn)。
嵌入式系統(tǒng)、單機(jī)管理、數(shù)控回轉(zhuǎn)庫
隨著嵌入式技術(shù)的發(fā)展,先進(jìn)的嵌入式設(shè)備以其優(yōu)良的品質(zhì)、高可靠性及模塊化,廣泛地應(yīng)用于工業(yè)控制、航空航天、醫(yī)療、智能儀表、通信、數(shù)控、自動化生產(chǎn)設(shè)備、數(shù)據(jù)采集等領(lǐng)域。本文正是基于Windows CE操作系統(tǒng)開發(fā)了數(shù)控回轉(zhuǎn)庫嵌入式單機(jī)管理系統(tǒng)。
嵌入式單機(jī)管理系統(tǒng)的設(shè)計(jì)
此嵌入式單機(jī)管理系統(tǒng)采用Windows CE嵌入式操作系統(tǒng),它是微軟推出的一種緊湊、高效、可擴(kuò)展的32位嵌入式操作系統(tǒng),具有多線程、多任務(wù)、完全搶占式的特點(diǎn),特別適合于有限資源的硬件平臺。Windows CE支持Microsoft Win32 API和其他的編程接口,支持內(nèi)存管理、文件操作、多線程、網(wǎng)絡(luò)功能等,是目前應(yīng)用較廣的嵌入式操作系統(tǒng)。
對于Windows CE 的嵌入式應(yīng)用開發(fā),微軟公司提供了較多的支持。開發(fā)者可以使用 EVB、EVC、Visual Basic.net和Visual C#.NET集成開發(fā)環(huán)境進(jìn)行應(yīng)用程序的開發(fā)。
系統(tǒng)的實(shí)時性是工業(yè)控制系統(tǒng)的基本要求。它是指能夠在限定時間內(nèi)執(zhí)行完規(guī)定的功能,并對外部的異步事件做出反應(yīng)的能力。實(shí)時性的強(qiáng)弱以完成規(guī)定功能和做出響應(yīng)時間的長短來衡量。Windows CE操作系統(tǒng)3.0版本以后極大增強(qiáng)了對實(shí)時性的支持。首先,Windows CE支持嵌套式中斷,減少了中斷延遲。其次,Windows CE支持256個線程優(yōu)先級,而且Windows CE各線程的定時系統(tǒng)互相獨(dú)立,線程的時間片大小可調(diào),最快可達(dá)到1ms。這些都為靈活調(diào)度嵌入式系統(tǒng)的任務(wù)提供了支持,保證了基于Windows CE應(yīng)用的實(shí)時性功能。
嵌入式單機(jī)管理系統(tǒng)的功能
此嵌入式單機(jī)管理系統(tǒng)在數(shù)控回轉(zhuǎn)庫中主要完成對單臺回轉(zhuǎn)庫的數(shù)據(jù)管理以及對庫體運(yùn)行的監(jiān)控。
單機(jī)運(yùn)行部分,此系統(tǒng)通過串口與回轉(zhuǎn)庫硬件控制系統(tǒng)進(jìn)行實(shí)時的數(shù)據(jù)通訊,對回轉(zhuǎn)庫硬件控制系統(tǒng)下達(dá)運(yùn)行指令,當(dāng)回轉(zhuǎn)庫硬件控制系統(tǒng)接收到指令后,控制回轉(zhuǎn)庫到達(dá)目標(biāo)位置。硬件控制系統(tǒng)返回到回轉(zhuǎn)庫執(zhí)行狀態(tài)信息。此單機(jī)管理系統(tǒng)將實(shí)時接收來自硬件控制系統(tǒng)的數(shù)據(jù)反饋和報警信息,提供實(shí)時的數(shù)據(jù)監(jiān)控顯示。
此嵌入式單機(jī)管理系統(tǒng)的另一主要功能是存儲管理功能,包括日常管理、數(shù)據(jù)查詢和數(shù)據(jù)維護(hù)。
嵌入式單機(jī)管理系統(tǒng)的實(shí)現(xiàn)
1. 系統(tǒng)實(shí)現(xiàn)
基于 Windows CE的嵌入式單機(jī)管理系統(tǒng)是在 Windows CE操作系統(tǒng)平臺上開發(fā)的軟件系統(tǒng),既有一般軟件的共性,又具有不同于桌面 PC機(jī)軟件的特點(diǎn):一是專業(yè)化,嵌入式軟件往往服務(wù)于具體的應(yīng)用領(lǐng)域;二是小型化,軟件占用的空間小;三是實(shí)時性強(qiáng);四是配置要求低,可運(yùn)行于低配置的環(huán)境中。
由于嵌入式開發(fā)環(huán)境中系統(tǒng)的 CPU處理能力有限 ,而嵌入式單機(jī)管理系統(tǒng)中處理任務(wù)多、相關(guān)的數(shù)據(jù)量大 ,因而在具體的軟件實(shí)現(xiàn)過程中采用線程技術(shù),將一些功能模塊用線程在后臺運(yùn)行。
由于Windows CE操作系統(tǒng)的內(nèi)存有限,在開發(fā)嵌入式系統(tǒng)時特別要注意內(nèi)存泄漏的問題。首先分配和釋放應(yīng)當(dāng)對稱,順序是按棧式分配和釋放。即按1-2-3順序分配,3-2-1順序釋放,可以避免內(nèi)存碎片的產(chǎn)生。如果無法按棧式分配和釋放,產(chǎn)生了內(nèi)存碎片,只要每次分配都是固定一樣的大小,在分配和釋放總數(shù)相等時,內(nèi)存最大需求量不會增長,因?yàn)樗槠拇笮≌且峙涞拇笮。梢栽倮谩?/P>
內(nèi)存泄漏分兩種:1)無限泄漏,由不退出的驅(qū)動或程序造成,癥狀是內(nèi)存使用率不停地增長,對Windows CE來說,其危害是災(zāi)難性的——系統(tǒng)崩潰。2)有限泄漏,內(nèi)存使用率增長到一定值后保持穩(wěn)定,其危害是浪費(fèi)資源,但系統(tǒng)不一定崩潰。對于無限泄漏的檢測,思路是不斷地定時查詢內(nèi)存狀態(tài),比較內(nèi)存使用率,如果增長不斷直致系統(tǒng)崩潰,即可斷定存在無限泄漏。之所以在此介紹內(nèi)存泄漏的問題,是想說明它的重要性。這也是與在PC機(jī)上開發(fā)上位機(jī)軟件主要的區(qū)別之一。
2.界面的實(shí)現(xiàn)
2.1單機(jī)運(yùn)行部分
在正常的運(yùn)行之前,首先要對數(shù)控回轉(zhuǎn)庫進(jìn)行參數(shù)設(shè)置。參數(shù)設(shè)置部分包括:調(diào)試參數(shù)的設(shè)置,即對數(shù)控回轉(zhuǎn)庫基本運(yùn)行參數(shù)的設(shè)置;偏載參數(shù)的設(shè)置,即對電機(jī)、變頻器等一些主要參數(shù)的設(shè)置,來實(shí)現(xiàn)對數(shù)控回轉(zhuǎn)庫偏載的判斷。用戶管理部分也是在此完成的,可以對登錄用戶進(jìn)行管理,包括設(shè)置用戶名、密碼和用戶權(quán)限,以及進(jìn)行用戶信息的建立、修改和保存。
2.2存儲管理部分
存儲管理包括數(shù)據(jù)維護(hù)、數(shù)據(jù)查詢和日常管理等。
2.2.1 數(shù)據(jù)維護(hù)
數(shù)據(jù)維護(hù)包括:入庫數(shù)據(jù)修改、出庫數(shù)據(jù)修改、庫存數(shù)據(jù)修改、貨位設(shè)置、數(shù)據(jù)庫備份等操作。
在進(jìn)行日常管理操作前,需要進(jìn)行貨位的管理,可進(jìn)行單個及批量增加,并可進(jìn)行刪除操作。
數(shù)據(jù)修改包括出入庫數(shù)據(jù)修改和庫存數(shù)據(jù)修改。出入庫數(shù)據(jù)修改只能檢索修改出入庫物品的數(shù)量;庫存數(shù)據(jù)修改可以修改庫存物品的所有信息。
2.2.2數(shù)據(jù)查詢
數(shù)據(jù)查詢包括入庫查詢、出庫查詢、庫存查詢及出入庫盤點(diǎn)查詢,可按多種關(guān)鍵字查詢并生成信息報表。
2.2.3日常管理
日常管理功能主要進(jìn)行日常的出入庫操作和查看報警瀏覽。如果有自動門時,可進(jìn)行自動門的開關(guān)操作。日常管理操作界面是回轉(zhuǎn)庫日常主要的操作界面,對數(shù)控回轉(zhuǎn)庫的操作都應(yīng)在此完成。
2.2.3.1入庫操作
下面給出一個入庫操作的具體例子,當(dāng)要向庫中新增兩條記錄時,按下新增庫存按鈕,進(jìn)入添加記錄畫面。在添加記錄畫面中輸入物品的各信息,編號可以手動輸入也可通過手持條碼器掃描條碼輸入。需要說明的是,料斗指的是層;貨格指的是每層中橫向的貨格;分格指的是每層中縱向的小分格。灰色的小分格代表此位沒有貨物,黃色代表已存物品。如圖4添加記錄中的貨位顯示。
這里的料斗可以選擇,當(dāng)選擇料斗為1時,在下面將會有料斗1的貨位顯示出來。貨格會根據(jù)料斗的選定自動分配貨格。當(dāng)選定貨格后,未占用的分格也會自動分配以供選定。全部屬性填寫完成后,按添加按鈕。可以一次輸入多條記錄。待入庫操作的數(shù)據(jù)將顯示在入庫界面的表格中,可進(jìn)行批量入庫操作。
增加庫存為已有記錄的入庫操作,點(diǎn)擊后出現(xiàn)添加入庫記錄界面,使用關(guān)鍵字進(jìn)行檢索,選擇后填寫入庫數(shù)量,添加后待入庫操作的數(shù)據(jù)顯示在入庫界面的表格中。
按“開始執(zhí)行”按鈕后,回轉(zhuǎn)庫自動優(yōu)化路徑,選擇最近層運(yùn)行,到位后入庫確認(rèn),之后進(jìn)行下一個物品的入庫操作。所有未完成執(zhí)行操作的記錄在退出時會自動進(jìn)行保存,下次進(jìn)入時表單號不變,仍可繼續(xù)上一次的操作。
2.2.3.2出庫操作
出庫操作與入庫操作相反。取出庫存可對庫存物品進(jìn)行檢索,選擇后填寫出庫數(shù)量,添加出庫記錄完成,則出庫操作的物品信息顯示在表格中,可批次進(jìn)行操作。點(diǎn)擊“開始執(zhí)行”按鈕,回轉(zhuǎn)庫自動優(yōu)化路徑,選擇最近層運(yùn)行,到位后出庫確認(rèn),隨后進(jìn)行下一個物品的出庫操作。所有未完成執(zhí)行操作的記錄在退出時會自動進(jìn)行保存,下次進(jìn)入時表單號不變,仍可繼續(xù)上一次的操作。
2.2.3.3庫存報警瀏覽
庫存物品的庫存量在低于報警值時,系統(tǒng)會在日常管理界面進(jìn)行報警,用戶也可以隨時按庫存物品的庫存量為關(guān)鍵詞進(jìn)行檢索,對較低庫存量的物品進(jìn)行查看。
2.2.3.4、載重報警瀏覽
載重報警瀏覽可以查看哪個料斗載重超過設(shè)置范圍,整個庫體載重量是否超過設(shè)置范圍,以便客戶能夠即時地對料斗貨物進(jìn)行合理的重量分配。
3.系統(tǒng)安全性的實(shí)現(xiàn)
此回轉(zhuǎn)庫單機(jī)管理系統(tǒng)的安全性主要通過以下方法實(shí)現(xiàn)。
數(shù)據(jù)庫的備份與恢復(fù):此系統(tǒng)有大量的庫存物品記錄和報表信息,為了安全起見,可將數(shù)據(jù)庫備份到其他介質(zhì)上,如可通過U盤拷貝到安全的地方妥善保管,在系統(tǒng)遭到破壞時可利用備份信息迅速恢復(fù)數(shù)據(jù)庫內(nèi)容。
用戶管理:當(dāng)用戶要對數(shù)控回轉(zhuǎn)庫進(jìn)行操作時,必須首先由管理員在用戶管理界面添加用戶名、密碼、分配操作權(quán)限,此用戶才可登錄系統(tǒng)對數(shù)控回轉(zhuǎn)庫進(jìn)行操作。
針對自動化數(shù)控回轉(zhuǎn)庫的發(fā)展需求和我國裝備制造業(yè)的發(fā)展目標(biāo),本文對基于Windows CE 實(shí)時操作系統(tǒng)下的數(shù)控回轉(zhuǎn)庫的單機(jī)管理系統(tǒng)進(jìn)行了開發(fā),并通過對嵌入式回轉(zhuǎn)庫控制系統(tǒng)的實(shí)時性與控制策略進(jìn)行研究,實(shí)現(xiàn)了數(shù)控回轉(zhuǎn)庫控制系統(tǒng)友好的圖形化人機(jī)界面,實(shí)現(xiàn)了數(shù)控回轉(zhuǎn)庫調(diào)試參數(shù)的設(shè)置、關(guān)鍵數(shù)據(jù)的監(jiān)控、報警功能、單機(jī)庫存物品的管理等功能。該研究為數(shù)控回轉(zhuǎn)庫以及其他裝備制造企業(yè)采用嵌入式開發(fā)技術(shù)提供了一定的經(jīng)驗(yàn)支持。
“一帶一路”背景下,物流裝備企業(yè)的全球化發(fā)展 01月01日 08:00
解讀汽車物流全局?jǐn)?shù)字化 08月16日 14:11
“大數(shù)據(jù)與智慧物流”專題報道 12月06日 14:24
2017年中國零售電商十大熱點(diǎn)事件點(diǎn)評 12月11日 16:35
供應(yīng)鏈協(xié)同、互聯(lián)網(wǎng)+,中國制造業(yè)轉(zhuǎn)型的十個方向! 01月11日 10:42
預(yù)判:2018年,中國快遞十個可見趨勢 02月28日 11:16
2018年關(guān)于零售的18個趨勢 03月27日 10:51