關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于HCS08的數(shù)控工作臺控制系統(tǒng)設(shè)計與建模

基于HCS08的數(shù)控工作臺控制系統(tǒng)設(shè)計與建模

作者: 時間:2010-05-18 來源:網(wǎng)絡(luò) 收藏

 校零是設(shè)定當(dāng)前的位置為零點位置,通過上位機操作將數(shù)據(jù)寫入Flash中,在下次上電工作時會在自動找零時,自動運行到這個設(shè)定的零點位置。由圖2可以清楚地看到,整個狀態(tài)模型可以分為4個部分:自動找零狀態(tài)、手動控制狀態(tài)(包括高低速轉(zhuǎn)換、三軸電機運動的方向)、校零狀態(tài)和故障狀態(tài)。其中故障狀態(tài)可以與其他的狀態(tài)根據(jù)轉(zhuǎn)移條件發(fā)生狀態(tài)轉(zhuǎn)移,而手動控制狀態(tài)只能與校零狀態(tài)和故障狀態(tài)根據(jù)轉(zhuǎn)移條件發(fā)生狀態(tài)轉(zhuǎn)移,其內(nèi)部各個狀態(tài)之間不能發(fā)生狀態(tài)轉(zhuǎn)移,這是由的工作特性所決定的。從上電開始工作,在同一時間內(nèi)只允許進行一種活動,只有在當(dāng)前活動結(jié)束后才允許進行其他的活動,這種的工作特性就可以用UML狀態(tài)圖[6]清晰地表現(xiàn)出來,使得任何人都能對系統(tǒng)軟件模型有比較直觀的認識。
根據(jù)狀態(tài)來劃分整個系統(tǒng)軟件結(jié)構(gòu)[2],可以有效地對系統(tǒng)工作進行掌控,防止軟件功能互相耦合而引起邏輯混亂。簡單來說,當(dāng)系統(tǒng)正處在手動控制中,如果此時收到校零指令,系統(tǒng)就可以根據(jù)當(dāng)前狀態(tài)轉(zhuǎn)移條件轉(zhuǎn)移到校零狀態(tài),工作臺會按順序依次走到各軸的兩端限位位置,將兩端限位之間的距離保存到Flash中以便下次讀取,這樣就提高了系統(tǒng)的穩(wěn)定性和可靠性。
3.2 下位機軟件算法活動模型
鑒于工作臺在日常生產(chǎn)中對于控制的要求,以及Freescale 的特點,在軟件算法程序時,對電機發(fā)脈沖采用PWM重載中斷的方式,這樣極大地發(fā)揮了芯片的性能,并且提高了程序的可靠性。下面采用UML活動圖將主循環(huán)流程按照時間的順序展開,如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/163078.htm

從圖3中能夠清楚地看到下位機程序就是一直循環(huán)采集和事件處理的過程。系統(tǒng)一上電首先對硬件模塊和軟件功能進行初始化設(shè)置,保證程序處在可運行狀態(tài)。然后程序進入主循環(huán),先進行事件采集,包括讀寫Flash、串口數(shù)據(jù)接收、限位傳感器輸入信號以及伺服報警信號采集。如果沒有事件發(fā)生,則程序一直處于事件采集狀態(tài);如果有事件發(fā)生,則對采集到的事件進行分析決策。事件決策則是對當(dāng)前系統(tǒng)狀態(tài)進行判斷和轉(zhuǎn)移,決定哪些事件可以被執(zhí)行。最后事件分配和事件處理則是將被允許執(zhí)行的事件分配給相關(guān)的執(zhí)行函數(shù),調(diào)用相關(guān)函數(shù)來對事件進行處理,完成后返回到主循環(huán)開始,而程序也因此周而復(fù)始地一直執(zhí)行下去。
 由此可以看出,在程序中事件按從總體到個別的順序被執(zhí)行,每一步都有明確的目的性和層次性,條理清晰,邏輯清楚,這樣就使得程序在編制和維護時簡單易行。
 由于下位機采用的Freescale 型單片機作為核心,其運算處理速度能達到每秒20 M條指令,這樣就使得下位機程序?qū)ν獠渴录辛溯^高的響應(yīng)速度和處理速度,其實時性可以比較好地滿足工作臺的應(yīng)用需求。
3.3 下位機軟件通信模塊
Freescale 單片機采用異步通信RS-232作為串行,其適用于設(shè)備之間的通信距離不大于15 m、傳輸速度最大為20 KB/s的數(shù)據(jù)傳輸領(lǐng)域。本系統(tǒng)采用標準不歸零NRZ(Non Return to Zero)的數(shù)據(jù)格式進行數(shù)據(jù)交互。
本文介紹了工作臺下位機程序,分析和構(gòu)建了下位機軟件的主要功能、實現(xiàn)方式和軟件算法,并通過UML圖分別展示了下位機供需用例圖、軟件狀態(tài)模型和主循環(huán)活動模型。使用UML圖進行軟件設(shè)計使得軟件層次更加清晰,結(jié)構(gòu)嚴謹,可維護性強,充分體現(xiàn)出UML圖[7]在面向?qū)ο蟮能浖幊讨衅鸬降闹匾饔?。同時,本文所敘述的軟件設(shè)計與的方法, 對其他下位機的軟件開發(fā)也有很好的借鑒作用。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉