亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng)及其實現(xiàn)方法

文檔序號:6334122閱讀:480來源:國知局
專利名稱:一種基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng)及其實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)控仿真技術(shù),具體涉及一種基于Windows操作系統(tǒng)的仿真嵌入式數(shù) 控系統(tǒng)及其實現(xiàn)方法。
背景技術(shù)
隨著嵌入式控制技術(shù)的不斷發(fā)展,嵌入式控制器日益普及于工業(yè)生產(chǎn)的方方面 面。而嵌入式控制模擬仿真技術(shù)也得到了快速發(fā)展,但是,現(xiàn)有國內(nèi)的數(shù)控模擬仿真技術(shù), 是根據(jù)數(shù)控系統(tǒng)的外在功能表現(xiàn)重新設(shè)計軟件進行模仿,難免出現(xiàn)功能不全,表現(xiàn)不一致 等問題。

發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)中的不足之處,提供一種基于Windows操作系統(tǒng)的 仿真嵌入式數(shù)控系統(tǒng),本發(fā)明在Windows環(huán)境下實現(xiàn)了虛擬的CNC (數(shù)控機床)系統(tǒng)驅(qū)動程 序,將uC/OS-II進行基于Windows線程的移植,為CNC應(yīng)用軟件提供虛擬的運行環(huán)境,移植 后運行于Windows操作系統(tǒng),實現(xiàn)對CNC的軟件仿真直接對數(shù)控系統(tǒng)軟件進行移植,與數(shù)控 系統(tǒng)實物的人機交互、功能表現(xiàn)高度一致,達到了很好的仿真效果。本發(fā)明的另一目的在于提供上述基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng) 的實現(xiàn)方法。本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的一種基于Windows操作系統(tǒng)的仿真 嵌入式數(shù)控系統(tǒng),包括將嵌入式CNC軟件所連接的外部設(shè)備移植到Windows操作系統(tǒng)所生成的Windows 用戶界面程序;安裝運行indows操作系統(tǒng)的計算機;將嵌入式CNC軟件移植到Windows操作系統(tǒng)所生成的CNC仿真系統(tǒng);將嵌入式CNC軟件中的驅(qū)動程序移植到Windows操作系統(tǒng)生成的虛擬驅(qū)動層;使用一個Windows線程虛擬嵌入式CNC軟件中的uC/OS-II操作系統(tǒng)所生成的虛 擬uC/OS-II操作系統(tǒng)。上述系統(tǒng)中,所述虛擬驅(qū)動層設(shè)置有使用Windows的標準文件10接口重定義嵌入式CNC軟件中的原文件系統(tǒng)接口所 生成的文件系統(tǒng),使CNC仿真系統(tǒng)使用Windows的文件系統(tǒng),直接使用計算機的磁盤作為存 儲器;顯示驅(qū)動,為CNC仿真系統(tǒng)的繪圖接口提供一塊連續(xù)內(nèi)存存儲顯示數(shù)據(jù),數(shù)據(jù)區(qū) 的大小由顯示分辨率和顏色質(zhì)量決定,Windows用戶界面程序從顯示驅(qū)動讀取顯示數(shù)據(jù)轉(zhuǎn) 為位圖進行顯示,模擬CNC的液晶顯示;鍵盤驅(qū)動,為CNC仿真系統(tǒng)提供鍵盤掃描狀態(tài)數(shù)據(jù)訪問的接口,Windows用戶界面程序?qū)④浖M的鍵盤狀態(tài)通過鍵盤驅(qū)動通知CNC仿真系統(tǒng);非易失性隨機訪問存儲器(NVRAM),在虛擬驅(qū)動中,使用一個磁盤文件存儲NVRAM 變量值,CNC仿真系統(tǒng)啟動時,從文件讀取變量值到RAM空間,供CNC仿真系統(tǒng)使用;CNC仿 真系統(tǒng)關(guān)閉時,將變量值存儲到磁盤文件,使CNC仿真系統(tǒng)下次啟動時,NVRAM變量保持為 上次關(guān)閉時刻的值;輸入/輸出端口,用于CNC仿真系統(tǒng)的伺服軸移動量輸出、內(nèi)嵌PLC的信號輸入/ 輸出、主軸轉(zhuǎn)速控制的模擬電壓輸出、主軸編碼器及手輪編碼器信號輸入,具體為伺服軸移動量輸出,當CNC仿真系統(tǒng)運行產(chǎn)生伺服軸移動時,通過虛擬驅(qū)動輸出 移動量,在CNC軟件中,移動量輸出的頻率很高,兩次輸出的間隔為毫秒級。虛擬驅(qū)動中采 用環(huán)行隊列來存儲各伺服軸每次輸出的移動量,提供給Windows用戶界面程序使用,以仿 真伺服軸的運動;內(nèi)嵌PLC的輸入/輸出信號;進行主軸轉(zhuǎn)速控制的模擬電壓輸出;主軸編 碼器及手輪編碼器輸入。上述基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng)的實現(xiàn)方法,具體為將嵌入式CNC軟件移植到計算機的Windows操作系統(tǒng)生成CNC仿真系統(tǒng);將嵌入式CNC軟件中的驅(qū)動程序移植到計算機的Windows操作系統(tǒng)生成虛擬驅(qū)動 層;使用一個Windows線程虛擬嵌入式CNC軟件中的uC/0S_II操作系統(tǒng),生成虛擬 uC/OS-II操作系統(tǒng)。上述方法中,所述使用一個Windows線程虛擬嵌入式CNC軟件中的uC/0S_II操作 系統(tǒng),生成虛擬UC/OS-II操作系統(tǒng),具體包括時鐘TICK的獲得,時鐘中斷的產(chǎn)生,以及任務(wù) 上下文切換。本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點及有益效果本發(fā)明在Windows環(huán)境下實現(xiàn)了虛擬的CNC (數(shù)控機床)系統(tǒng)驅(qū)動程序,將uC/ OS-II進行基于Windows線程的移植,為CNC應(yīng)用軟件提供虛擬的運行環(huán)境,移植后運行于 Windows操作系統(tǒng),實現(xiàn)對CNC的軟件仿真直接對數(shù)控系統(tǒng)軟件進行移植,與數(shù)控系統(tǒng)實物 的人機交互、功能表現(xiàn)高度一致,達到了很好的仿真效果。


圖1是本發(fā)明的結(jié)構(gòu)示意圖。圖2是本發(fā)明中時鐘中斷產(chǎn)生的具體流程圖;圖3是本發(fā)明中CNC系統(tǒng)移植的操作流程圖。
具體實施例方式下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限 于此??偟膩碚f,本發(fā)明技術(shù)方案就是在Windows操作系統(tǒng)環(huán)境下通過軟件模擬嵌入式 系統(tǒng)的相關(guān)硬件驅(qū)動層,以及使用Windows線程模擬的uC/OS-II操作系統(tǒng),創(chuàng)建一個虛擬 的嵌入式系統(tǒng)軟件運行環(huán)境,移植嵌入式控制器的應(yīng)用軟件,以Windows用戶界面程序模 擬CNC連接的外部設(shè)備,使CNC軟件通過虛擬驅(qū)動層對這些設(shè)備進行操作,實現(xiàn)對嵌入式控制器的仿真。下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述。實施例1如圖1所示,基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng),包括將嵌入式CNC軟件所連接的外部設(shè)備移植到Windows操作系統(tǒng)所生成的Windows 用戶界面程序;含Windows操作系統(tǒng)的計算機;將嵌入式CNC軟件移植到Windows操作系統(tǒng)所生成的CNC仿真系統(tǒng);將嵌入式CNC軟件中的驅(qū)動程序移植到Windows操作系統(tǒng)生成的虛擬驅(qū)動層;使用一個Windows線程虛擬嵌入式CNC軟件中的uC/0S_II操作系統(tǒng)所生成的虛 擬uC/OS-II操作系統(tǒng)。一、虛擬驅(qū)動層虛擬驅(qū)動實現(xiàn)與原CNC軟件中驅(qū)動程序一致的接口函數(shù),為應(yīng)用層軟件提供與 硬件交互必需的接口,主要包括文件系統(tǒng),顯示驅(qū)動,鍵盤驅(qū)動,非易失性隨機訪問存儲器 (NVRAM),輸入/輸出端口等。1. 1、文件系統(tǒng) 虛擬驅(qū)動使用Windows的標準文件10接口重定義原文件系統(tǒng)接口,使CNC軟件使 用Windows的文件系統(tǒng),直接使用計算機的磁盤作為存儲器。1.2、顯示驅(qū)動顯示驅(qū)動為CNC軟件的繪圖接口提供一塊連續(xù)內(nèi)存存儲顯示數(shù)據(jù),數(shù)據(jù)區(qū)的大小 由顯示分辨率和顏色質(zhì)量決定。Windows用戶界面程序從顯示驅(qū)動讀取顯示數(shù)據(jù)轉(zhuǎn)為位圖 進行顯示,模擬CNC的液晶顯示。1. 3、鍵盤驅(qū)動鍵盤驅(qū)動為CNC軟件提供鍵盤掃描狀態(tài)數(shù)據(jù)訪問的接口。Windows用戶界面程序 將軟件模擬的鍵盤狀態(tài)通過鍵盤驅(qū)動通知CNC軟件。1.4、非易失性隨機訪問存儲器(NVRAM)在虛擬驅(qū)動中,使用一個磁盤文件存儲NVRAM變量值,仿真CNC啟動時,從文件讀 取變量值到RAM空間,供CNC軟件使用;仿真CNC關(guān)閉時,將變量值存儲到磁盤文件。使仿 真CNC下次啟動時,NVRAM變量保持為上次關(guān)閉時刻的值。1. 5、輸入/輸出端口輸入/輸出端口驅(qū)動主要包含1. 5. 1伺服軸移動量輸出。當CNC軟件運行產(chǎn)生伺服軸移動時,通過虛擬驅(qū)動輸出 移動量。在CNC軟件中,移動量輸出的頻率很高,兩次輸出的間隔為毫秒級。虛擬驅(qū)動中采 用環(huán)行隊列來存儲各伺服軸每次輸出的移動量,提供給Windows用戶界面程序使用,以仿 真伺服軸的運動。1.5.2內(nèi)嵌PLC的輸入/輸出信號。1. 5. 3進行主軸轉(zhuǎn)速控制的模擬電壓輸出。1.5. 4主軸編碼器及手輪編碼器輸入。二、虛擬uC/OS-II操作系統(tǒng)層
5
使用一個Windows線程實現(xiàn)虛擬的uC/0S_II操作系統(tǒng),使得CNC軟件通過虛擬的 uC/OS-II操作系統(tǒng)直接運行于Windows,減少移植過程中與操作系統(tǒng)相關(guān)的工作。這個虛 擬層其實是將uC/OS-II進行基于Windows線程的移植,其所有任務(wù)都在Windows的一個線 程中運行。uC/OS-II的移植主要包括三個內(nèi)容時鐘TICK的獲得,時鐘中斷的產(chǎn)生,任務(wù)上 下文切換。2. 1、時鐘TICK的獲得模擬軟件本身是運行在Windows下,不需要強實時性,因此采用Windows的軟件定 時器,通過使用定時精度ms級的timeSetEventO函數(shù)來產(chǎn)生模擬時鐘TICK。其函數(shù)原型 MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK IpTimeProc, WORD dwUser,UINT fuEvent),將需要周期性執(zhí)行的任務(wù)定義在IpTimeProc回調(diào)函數(shù)中,從 而完成所需處理的事件。調(diào)用這個函數(shù)后會增加一個線程,時間一到則在這個線程中調(diào)用 回調(diào)函數(shù)。2. 2、時鐘中斷的產(chǎn)生timeSetEventO函數(shù)調(diào)用定時回調(diào)函數(shù)是和主線程同時被Windows操作系統(tǒng)調(diào) 度的,并沒有起到中斷的作用。所以在調(diào)用定時回調(diào)函數(shù)lpTimeProc的時候必須停止主線 程的運行,退出回調(diào)函數(shù)則恢復(fù)主線程的運行,這些事情都放在定時回調(diào)函數(shù),也就是uC/ OS-II的時鐘中斷處理函數(shù)中完成,如圖2所示。2. 3任務(wù)上下文切換這里的任務(wù)上下文和uC/OS-II在x86上移植的不同點是段寄存器不用保存,因為 在Windows下的uC/OS-II任務(wù)其實只是在同一個線程中切換,而且在保護模式下段寄存 器,其值在同一個線程中是不會變的。三、CNC系統(tǒng)軟件移植CNC系統(tǒng)軟件是在外部定時中斷響應(yīng)中進行插補處理的。模擬的CNC系統(tǒng)運行在 以Windows Thread虛擬的uC/OS-II系統(tǒng)之上,CNC的所有任務(wù)均運行在一個線程中,且只 模擬了時鐘TICK中斷。模擬軟件無實時性要求,所以可將插補處理在優(yōu)先級最高的任務(wù)中 進行,周期性的調(diào)用原中斷服務(wù)函數(shù),再對任務(wù)過程進行少許修改即可。如圖3為插補處理 任務(wù)的流程。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的 限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化, 均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng),其特征在于,包括將嵌入式CNC軟件所連接的外部設(shè)備移植到Windows操作系統(tǒng)所生成的Windows用戶界面程序;安裝運行Windows操作系統(tǒng)的計算機;將嵌入式CNC軟件移植到Windows操作系統(tǒng)所生成的CNC仿真系統(tǒng);將嵌入式CNC軟件中的驅(qū)動程序移植到Windows操作系統(tǒng)生成的虛擬驅(qū)動層;使用一個Windows線程虛擬嵌入式CNC軟件中的uC/OS II操作系統(tǒng)所生成的虛擬uC/OS II操作系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng),其特征在于, 所述虛擬驅(qū)動層設(shè)置有使用Windows的標準文件IO接口重定義嵌入式CNC軟件中的原文件系統(tǒng)接口所生成 的文件系統(tǒng),使CNC仿真系統(tǒng)使用Windows的文件系統(tǒng),直接使用計算機的磁盤作為存儲 器;顯示驅(qū)動,為CNC仿真系統(tǒng)的繪圖接口提供一塊連續(xù)內(nèi)存存儲顯示數(shù)據(jù),數(shù)據(jù)區(qū)的大 小由顯示分辨率和顏色質(zhì)量決定,Windows用戶界面程序從顯示驅(qū)動讀取顯示數(shù)據(jù)轉(zhuǎn)為位 圖進行顯示,模擬CNC的液晶顯示;鍵盤驅(qū)動,為CNC仿真系統(tǒng)提供鍵盤掃描狀態(tài)數(shù)據(jù)訪問的接口,Windows用戶界面程序 將軟件模擬的鍵盤狀態(tài)通過鍵盤驅(qū)動通知CNC仿真系統(tǒng);非易失性隨機訪問存儲器,在虛擬驅(qū)動中,使用一個磁盤文件存儲非易失性隨機訪問 存儲器變量值,CNC仿真系統(tǒng)啟動時,從文件讀取變量值到RAM空間,供CNC仿真系統(tǒng)使用; CNC仿真系統(tǒng)關(guān)閉時,將變量值存儲到磁盤文件,使CNC仿真系統(tǒng)下次啟動時,非易失性隨 機訪問存儲器變量保持為上次關(guān)閉時刻的值;輸入/輸出端口,用于CNC仿真系統(tǒng)的伺服軸移動量輸出、內(nèi)嵌PLC的信號輸入/輸出、 主軸轉(zhuǎn)速控制的模擬電壓輸出、主軸編碼器及手輪編碼器信號輸入。
3.根據(jù)權(quán)利要求2所述的基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng),其特征在于, 所述輸入/輸出端口進行CNC仿真系統(tǒng)的伺服軸移動量輸出,具體為當CNC仿真系統(tǒng)運行 產(chǎn)生伺服軸移動時,通過虛擬驅(qū)動輸出移動量,在CNC軟件中,移動量輸出的頻率很高,兩 次輸出的間隔為毫秒級,虛擬驅(qū)動中采用環(huán)行隊列來存儲各伺服軸每次輸出的移動量,提 供給Windows用戶界面程序使用,以仿真伺服軸的運動。
4.根據(jù)權(quán)利要求1所述的基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng)的實現(xiàn)方法, 其特征在于,具體為將嵌入式CNC軟件移植到計算機的Windows操作系統(tǒng)生成CNC仿真系統(tǒng); 將嵌入式CNC軟件中的驅(qū)動程序移植到計算機的Windows操作系統(tǒng)生成虛擬驅(qū)動層; 使用一個Windows線程虛擬嵌入式CNC軟件中的uC/OS-II操作系統(tǒng),生成虛擬uC/ OS-II操作系統(tǒng)。
5.根據(jù)權(quán)利要求4所述的基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng)的實現(xiàn)方法, 其特征在于所述使用一個Windows線程虛擬嵌入式CNC軟件中的uC/OS-II操作系統(tǒng),生 成虛擬uC/OS-II操作系統(tǒng),具體包括時鐘TICK的獲得,時鐘中斷的產(chǎn)生,以及任務(wù)上下文 切換。全文摘要
本發(fā)明提供一種基于Windows操作系統(tǒng)的仿真嵌入式數(shù)控系統(tǒng),本發(fā)明在Windows環(huán)境下實現(xiàn)了虛擬的CNC系統(tǒng)驅(qū)動程序,將uC/OS-II進行基于Windows線程的移植,為CNC應(yīng)用軟件提供虛擬的運行環(huán)境,移植后運行于Windows操作系統(tǒng),實現(xiàn)對CNC的軟件仿真直接對數(shù)控系統(tǒng)軟件進行移植,與數(shù)控系統(tǒng)實物的人機交互、功能表現(xiàn)高度一致,達到了很好的仿真效果。
文檔編號G06F9/455GK101950167SQ201010512889
公開日2011年1月19日 申請日期2010年10月20日 優(yōu)先權(quán)日2010年10月20日
發(fā)明者吳蘇如, 李俊, 邱澤豐, 郭艷紅 申請人:廣州數(shù)控設(shè)備有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1