姜曉俊,李 智
(青島大學機電工程學院,山東青島 266071)
多循環(huán)程序框架的單軸運動控制系統(tǒng)設計
姜曉俊,李 智
(青島大學機電工程學院,山東青島 266071)
以單軸運動控制系統(tǒng)為例,介紹了多循環(huán)程序框架,并結(jié)合事件響應機制,論述了基于此機制的控制系統(tǒng)的設計思路和實現(xiàn)過程。基于多循環(huán)架構(gòu)的運動控制系統(tǒng),可以對不同任務進行分類處理,使得程序有良好的可擴展性,并易于維護,事件響應機制可以控制程序執(zhí)行流程的改變,且又不占用、浪費CPU的資源,能夠很好地響應前面板動作。
LabVIEW;運動控制;生產(chǎn)者/消費者結(jié)構(gòu);多循環(huán)程序框架
LabVIEW是一種圖形化的編程語言和開發(fā)環(huán)境,它廣泛地被工業(yè)界、學術(shù)界和研究實驗室所接受,被公認為是標準的數(shù)據(jù)采集和儀器控制軟件,可為實現(xiàn)儀器編程和運動控制系統(tǒng)提供便捷途徑[1]。
LabVIEW提供了某些基本程序框架,例如:靜態(tài)單循環(huán)結(jié)構(gòu)——順序結(jié)構(gòu);動態(tài)單循環(huán)結(jié)構(gòu)——狀態(tài)機;多循環(huán)結(jié)構(gòu)——生產(chǎn)者/消費者結(jié)構(gòu)。雖然生產(chǎn)者/消費者多循環(huán)框架足以充當多數(shù)虛擬儀器項目主框架,但是有時候,需要對項目的不同處理模塊進一步分類,將同一類型的工作歸為一類,以期獲得較高的運行效率。本文的多循環(huán)任務框架由3個獨立隊列在4個循環(huán)中間傳遞不同類型的數(shù)據(jù),包括一個獨立的循環(huán)處理GUI事件、一個獨立的循環(huán)進行狀態(tài)轉(zhuǎn)換、一個獨立的循環(huán)進行運動顯示和另一個單獨的循環(huán)進行錯誤處理等,以協(xié)調(diào)各循環(huán)完成不同的任務。……