摘è¦ï¼šåŸºäºŽWindowsçš„CNc,是數控技術發展的必然趨勢。æå‡ºäº†åœ¨Windows環境下實ç¾å¯¦æ™‚多任務處ç†çš„æ–¹æ³•ï¼Œä»‹ç´¹äº†æ•¸æŽ§è»Ÿä»¶çš„é«”ç³»çµæ§‹å’Œå¯¦ç¾çš„相關技術。實è¸è‰æ˜Žï¼Œé‡‡ç”¨é€™äº›æ–¹æ³•和技術較好地實ç¾äº†æ•¸æŽ§ç³»çµ±çš„實時多任務控制.開發的數控軟件具有開放性。
é—œéµè©žï¼šå¤šç·šç¨‹ 實時多任務控制 數控系統 䏿–· é¢å‘å°è±¡
1 引言
Pcæ©Ÿé€²å…¥æ•¸æŽ§é ˜åŸŸï¼Œæ¥µå¤§åœ°è±å¯Œäº†æ•¸æŽ§ç³»çµ±çš„硬軟件資æºï¼Œæœ‰åˆ©äºŽå¯¦ç¾ç¸½ç·šå¼ã€æ¨¡å¡ŠåŒ–ã€é–‹æ”¾åŒ–çš„æ•¸æŽ§ç³»çµ±ï¼Œä½¿å…¶å…·æœ‰å¾ˆé«˜çš„æ€§èƒ½åƒ¹æ ¼æ¯”ã€‚éš¨è‘—Windows系統的發展與普åŠï¼Œé–‹ç™¼Windows環境(Windows95,Windows NTåŠWindowsCr)下的數控系統已經æˆç‚ºå»£å¤§oiCåŒè¡Œçš„å…±è˜ã€‚近年來,國內已有ä¸å°‘å» å®¶é–‹ç™¼äº†å¹¾ç¨®åŸºäºŽWindowsçš„æŽ§åˆ¶ç³»çµ±ã€‚åœ‹å…§çš„æŽ§åˆ¶ç³»çµ±å„æœ‰å„ªé»žï¼Œä½†å¾žæ•¸æŽ§ç³»çµ±ç™¼å±•çš„è¶¨å‹¢ä¾†çœ‹ï¼Œä»æœ‰è¨±å¤šéœ€è¦æ”¹é€²ä¹‹è™•。
首先,沒有充分利用åƒWindowsã€UNIXã€0Sï¼2ç‰æ–°åž‹æ“ä½œç³»çµ±ã€‚è»Ÿä»¶é–‹ç™¼æ€æƒ³èˆ‡æŠ€è¡“è½åŽï¼Œå§‹çµ‚è™•äºŽç”šè‡³ä½ŽäºŽçµæ§‹åŒ–程åºè¨è¨ˆçš„æ°´å¹³ã€‚沒有充分利用é¢å‘å°è±¡çš„æ–°ç†è«–ã€æ–°æŠ€è¡“。
其次,數控系統軟件è¨è¨ˆä¸å˜åœ¨è¨è¨ˆä¸è¦èŒƒï¼Œå¯é 性與å¯ç¶è·æ€§å·®ï¼Œæ²’有采用一種開放å¼ã€æ¨¡å¡ŠåŒ–軟件è¨è¨ˆæ–¹æ³•。
本文所介紹的系統軟件,利用Windowsçš„å¤šç·šç¨‹æ©Ÿåˆ¶å’Œä¸æ–·æ©Ÿåˆ¶è§£æ±ºæ•¸æŽ§è»Ÿä»¶çš„實時多任務處ç†ï¼›åˆ©ç”¨é¢å‘å°è±¡çš„æ–°ç†è«–ã€æ–°æŠ€è¡“,采用一種開放å¼ã€æ¨¡å¡ŠåŒ–軟件è¨è¨ˆæ–¹æ³•,使軟件具有開放性。本系統軟件能使æ’補ã€ä¼ºæœæŽ§åˆ¶ã€NC程åºç·¨åˆ¶åŒæ™‚é€²è¡Œï¼Œèƒ½è¼ƒå¥½åœ°æ»¿è¶³æ•¸æŽ§ç³»çµ±çš„è¦æ±‚,并且已形æˆäº†ç”¢å“,應用效果良好。
2 CNC軟件的總體è¨è¨ˆ
為了使數控軟件具有明顯的開放數控特點,使數控軟件易于組è£ã€æ“´å……ã€ç¶è·ï¼Œæˆ‘們采用了工程化的è¨è¨ˆæ–¹æ³•,利用é¢å‘å°è±¡ç‰æŠ€è¡“開發一套基于Windows 32使•¸æŽ§è»Ÿä»¶ã€‚軟件è¨è¨ˆéµå¾ªæ¨¡å¡ŠåŒ–ã€å±¤æ¬¡åŒ–ã€å‹•æ…‹é…置的原則。
é–‹æ”¾å¼æŽ§åˆ¶ç³»çµ±æ‡‰é‡‡ç”¨åˆ†å±¤çš„é«”ç³»çµæ§‹ã€‚分層使得å„層實ç¾éš”é›¢ï¼Œå±¤èˆ‡å±¤ä¹‹é–“é€šéŽæ¨™æº–的接å£é€²è¡Œé€šä¿¡ï¼Œå¯¦ç¾å¯ç§»æ¤æ€§å’Œå¯ç”¨ç¬¬ä¸‰æ–¹è»Ÿä»¶ï¼Œåªç”¨æ›´æ›ç›¸æ‡‰å±¤å³å¯ã€‚本系統的縱å‘第一層次為界é¢å±¤ï¼Œå®ƒå®Œæˆç³»çµ±çš„監控管ç†ï¼šè¼¸å…¥ã€ O處ç†ã€é¡¯ç¤ºã€è¨ºæ–·å’Œç›£æŽ§ã€‚æ¤ç•Œé¢å±¤ç”±ç•Œé¢å’Œå„回調函數組æˆã€‚回調函數的功能是完æˆç•Œé¢ä¸ŠæŽ§ä»¶çš„事件驅動æ“作。回調函數的調用æ“作,由æ“作系統管ç†ã€‚
系統的縱å‘第二層次為功能單元層,包括è¯ç¢¼é¡žã€åˆ€è£œé¡žã€æ’補動態連接庫ã€é‹å‹•控制器類。è¯ç¢¼å±¤å°‡æ•¸æŽ§æŒ‡ä»¤è§£é‡‹æˆç‚ºæ•¸æŽ§ç³»çµ±çš„å…§éƒ¨æ•¸æ“šæ ¼å¼ã€‚刀補層進行刀具補償。æ’è£œå‹•æ…‹é€£æŽ¥åº«å®Œæˆæ•¸æ“šæ’è£œï¼Œç”¢ç”ŸåŠ å·¥æ•¸æ“šã€é€Ÿåº¦è™•ç†ã€è¼”助功能è¨å‚™æŽ§åˆ¶ã€‚é‹å‹•控制器類完æˆä½ç½®ä¼ºæœçš„æŽ§åˆ¶ã€‚è¯ç¢¼é¡žã€åˆ€è£œé¡žåˆ†åˆ¥ç”±å¤šå€‹è»Ÿä»¶èŠ¯ç‰‡çµ„æˆã€‚æ¤åŠŸèƒ½å–®å…ƒå±¤çš„èª¿ç”¨æ“作放在回調函數ä¸ã€‚
系統的縱å‘第三層次為支æ’層,包括é‹å‹•控制器å¡ã€é‹å‹•控制器的è¨å‚™é©…動程åºã€Iï¼Oå¡ã€æ“作系統ã€Pc機。é‹å‹•控制器å¡ä¸»è¦å®Œæˆä½ç½®ä¼ºæœçš„任務。é‹å‹•控制器的è¨å‚™é©…動程åºå®Œæˆå°é‹å‹•控制å¡å’ŒIï¼Oå¡çš„直接æ“ä½œã€‚æœ¬ç³»çµ±çš„é«”ç³»çµæ§‹å¦‚圖l所示。
在該數控系統的軟件ä¸ï¼Œé‡‡ç”¨äº†å‰åŽè‡ºåž‹çš„çµæ§‹å½¢å¼ã€‚å‰è‡ºç¨‹åºå³å¯¦æ™‚䏿–·ç¨‹åºï¼Œå®Œæˆå…¨éƒ¨çš„實時功能(æ’補動態連接庫ã€é‹å‹•控制器類ã€è¨å‚™é©…動程åºï¼‰ï¼Œä¸»è¦æ˜¯æ’補功能。åŽè‡ºç¨‹åºçš„主è¦åŠŸèƒ½æ˜¯æ’補å‰çš„æº–備功能åŠèª¿åº¦ç®¡ç†ï¼ˆåŒ…括界é¢è¯ç¢¼é¡žã€åˆ€è£œé¡žï¼‰ã€‚具體地講,是數控程åºè¼¸ã€è¯ç¢¼ã€åˆ€å…·è£œå„Ÿã€é¡¯ç¤ºåŠä¸Šè¿°ä»»å‹™ä¹‹é–“的調度管ç†åŠŸèƒ½ã€‚åŽè‡ºç¨‹åºçµæ§‹æ˜¯ä¸€å€‹å¤šç·šç¨‹çµæ§‹ï¼Œå®Œæˆå¤šä»»å‹™è™•ç†ã€‚在é‹è¡ŒéŽç¨‹ä¸ï¼Œå‰è‡ºç¨‹åºï¼ˆä¸æ–·æœå‹™ç¨‹åºï¼‰ä¸æ–·æ’入,共åŒå®Œæˆé›¶ä»¶åŠ å·¥ä»»å‹™ã€‚è€Œä½ç½®ä¼ºæœçš„任務主è¦ç”±é‹å‹•控制器完æˆã€‚åŠ å·¥ç¨‹åºç”±è¨ˆç®—機進行è¯ç¢¼ã€åˆ€å…·è£œå„Ÿã€é€Ÿåº¦è™•ç†åŽï¼Œå¾—到刀具ä¸å¿ƒçš„æ’è£œæŒ‡ä»¤æ•¸æ“šã€‚è¨ˆç®—æ©Ÿå°‡é€™äº›æ’è£œæŒ‡ä»¤æ•¸æ“šå’Œå…¶ä»–çš„æŒ‡ä»¤æ•¸æ“šä»¥å›ºå®šæ ¼å¼å˜æ”¾äºŽä¸€ç·©æ²–å€ä¸ã€‚æ¯æ¬¡ä¸æ–·ç™¼ç”Ÿæ™‚ï¼Œè¨ˆç®—æ©Ÿæ ¹æ“šé€™äº›æŒ‡ä»¤æ•¸æ“šé€²è¡Œç›¸æ‡‰çš„è™•ç†ã€‚如果å˜åœ¨æ’補指令,則實時計算出æ’補數據,并且進入緩沖å€ï¼Œé‹å‹•æŽ§åˆ¶å™¨æ ¹æ“šé€™äº›æ•¸æ“šæŽ§åˆ¶ç›¸æ‡‰è»¸çš„é›»æ©Ÿå‹•ä½œã€‚ç•¶è¨ˆç®—æ©Ÿä¸çš„一幀指令數據被讀完åŽï¼Œåœ¨æ’補間隙自動計算出新的æ’補指令數據,填入緩沖å€ã€‚

3 å¯¦ç¾æ–¹æ³•
3.1 軟件系統的多任務實時控制ç–ç•¥
CNC系統是一個專用的多任務計算機系統。在它的控制軟件ä¸ï¼Œèžåˆäº†è¨±å¤šè»Ÿä»¶æŠ€è¡“ä¸çš„å…ˆé€²æŠ€è¡“ï¼Œå…¶ä¸æœ€çªå‡ºçš„æ˜¯å¤šä»»å‹™å¹¶è¡Œè™•ç†å’Œå¯¦æ™‚處ç†ã€‚
· 多任務并行處ç†
CNCè£ç½®é€šå¸¸ä½œç‚ºä¸€å€‹ç¨ç«‹çš„éŽç¨‹æŽ§åˆ¶å–®å…ƒï¼Œæ‡‰ç”¨äºŽå·¥æ¥è‡ªå‹•化生產éŽç¨‹ä¸ï¼Œå®ƒçš„è»Ÿä»¶å¿…é ˆå®Œæˆç®¡ç†å’ŒæŽ§åˆ¶å…©å¤§åŠŸèƒ½ã€‚ç³»çµ±çš„ç®¡ç†éƒ¨åˆ†ï¼ŒåŒ…括輸入ã€Iï¼O處ç†ã€é¡¯ç¤ºã€è¨ºæ–·ã€‚系統的控制部分,包括è¯ç¢¼ã€åˆ€å…·è£œå„Ÿã€é€Ÿåº¦è™•ç†ã€æ’補ã€ä½ç½®æŽ§åˆ¶ã€‚在CNCè£ç½®çš„實際é‹è¡ŒéŽç¨‹ä¸ï¼Œå¤šå€‹ä»»å‹™ä¸çš„若干個任務è¦åŒæ™‚進行。
·實時處ç†
CNC軟件在工æ¥è‡ªå‹•化的實際應用éŽç¨‹ä¸ï¼Œç‚ºäº†æ»¿è¶³ç”Ÿç”¢çš„è¦æ±‚ï¼Œå¿…é ˆå…·æœ‰å¯¦æ™‚æ€§ã€‚
為了使我們的數控軟件具有并行處ç†å’Œå¯¦æ™‚處ç†çš„能力,我們采用Windows 95çš„å¤šç·šç¨‹æ¨¡åž‹å’Œä¸æ–·æ©Ÿåˆ¶çš„æŽ§åˆ¶ç–略。
3.1.1 Windows多線程模型
為了使CNC系統軟件能在Windows環境下并行處ç†å¤šä»»å‹™ï¼Œé‡‡ç”¨å¤šç·šç¨‹ä¾†å¯¦ç¾å¤šä»»å‹™æŽ§åˆ¶ã€‚線程是32使“作系統的主è¦ç‰¹é»žï¼Œå®ƒæ”¯æŒæ¶å å¼çš„多任務機制,是æ“作系統的基本調度單元。我們å¯å°‡å„管ç†å’ŒæŽ§åˆ¶æ¨¡å¡Šç½®äºŽç¨ç«‹çš„線程ä¸ã€‚
å¾žè€Œå¯¦ç¾æ•¸æŽ§è»Ÿä»¶ç³»çµ±çš„å¹¶è¡Œè™•ç†æ“作。在我們的數控軟件ä¸ï¼Œå»ºç«‹äº†ä¸»æŽ§åˆ¶ç·šç¨‹ï¼ˆç›£æŽ§å’Œç•Œé¢ç·šç¨‹ï¼‰ã€é¡¯ç¤ºï¼é¢æ¿æ“ä½œç·šç¨‹å’Œè‡ªå‹•åŠ å·¥ç·šç¨‹ã€‚é¡¯ç¤ºï¼é¢æ¿æ“作線程的é 置時間片為50ms è‡ªå‹•åŠ å·¥ç·šç¨‹æ˜¯ç”±ä¸»ç·šç¨‹å•Ÿå‹•å’Œæ¶ˆé™¤çš„ã€‚é€šéŽå»ºç«‹é€™ä¸‰å€‹ç·šç¨‹ï¼Œå¯å¯¦ç¾æ•´å€‹ç³»çµ±çš„å”調é‹è¡Œã€‚
主控制線程主è¦å®Œæˆç›£æŽ§å’Œç•Œé¢ç®¡ç†ã€åŠŸèƒ½æŽ§åˆ¶ã€ç³»çµ±ç®¡ç†ç‰ï¼Œå¹¶è² è²¬å¯¦æ™‚å•Ÿå‹•å’Œæ¶ˆé™¤è‡ªå‹•åŠ å·¥ç·šç¨‹ã€‚ç³»çµ±é€€å‡ºæ™‚ï¼Œå°‡æ¶ˆé™¤é¡¯ç¤ºï¼é¢æ¿æ“作線程。主控制線程是經éŽWindowsçš„æ¶ˆæ¯æŽ’éšŠï¼Œä¾†å¯¦ç¾å…¶æ“作æµç¨‹ã€‚
3.1.2 Windowsçš„ä¸æ–·æ©Ÿåˆ¶

Windows是一種éžç¨å å¼çš„多任務系統,應 用程åºé€šéŽæ‡‰ç”¨ç¨‹åºéšŠåˆ—ä¾†æŽ¥æ”¶è¼¸äººï¼Œç„¶åŽæ¶ˆæ¯ã€‚循環從應用程åºéšŠåˆ—ä¸ç²å–輸人消æ¯ï¼Œå¹¶æŠŠå®ƒç™¼é€²çµ¦ç›¸æ‡‰çš„窗å£ã€‚在這種工作模å¼ä¸‹ï¼Œå¯¦ç¾å¯¦æ™‚控制較為困難。然而,從å¦å¤–一個角度看,用戶的éµç›¤ã€é¼ 標åŠå®šæ™‚å™¨è¼¸äººéƒ½æ˜¯ç¡¬ä»¶ä¸æ–·ï¼Œè€Œ windowsæä¾›çš„è¨å‚™é©…動程åºï¼Œå¯¦éš›ä¸Šæ˜¯ä¸æ–·æœå‹™ç¨‹åºã€‚ç”±äºŽå¯¦éš›åŠ å·¥å°äºŽå¯¦æ™‚æ€§çš„è¦æ±‚å¾ˆé«˜ï¼Œå› æ¤ï¼Œå¿…é ˆé‡‡ç”¨ä¸æ–· J的方å¼å¯¦ç¾å¯¦æ™‚æ€§å¼·çš„ä»»å‹™ã€‚ç”±äºŽä¸æ–·å¯ä»¥åœ¨ä»»ä½•時刻發生,而ä¸é™äºŽä½¿ç”¨è¨å‚™çš„æ‡‰ç”¨ç¨‹åºé‹è¡ŒæœŸé–“ï¼Œæ‰€ä»¥ï¼Œä¸æ–·æœå‹™ç¨‹åºå¿…é ˆåœ¨å›ºå®šä»£ç¢¼æ®µä¸ã€‚在大框架EMSå…§å˜é…ç½®ä¸ï¼Œåªæœ‰ä¸€ç¨®é¡žåž‹çš„代碼,æ‰èƒ½ä¿è‰ä»»ä½•時刻å‡å¯ç”¨ä¾†é€²è¡Œæ¤é¡žä¸æ–·æœå‹™ã€‚這種類型的代碼就是動態連接庫(DLL)的固定代碼段ä¸çš„ä»£ç¢¼ã€‚å› æ¤ï¼Œå¿…é ˆé‡‡ç”¨DLL來實ç¾ä¸æ–·ã€‚在我們的系統ä¸ï¼Œé‡‡ç”¨DLL實ç¾äº†ç¡¬ä»¶ä¸æ–·ï¼Œé‹è¡Œå¯é 。在我們的軟件ä¸ï¼Œåœ¨åœ–2çš„è‡ªå‹•åŠ å·¥ç·šç¨‹ä¸ï¼Œé‡‡ç”¨ä¸æ–·æ©Ÿåˆ¶ä¾†å¯¦æ™‚æŽ§åˆ¶ã€‚è‡ªå‹•åŠ å·¥ç·šç¨‹ä¸»è¦å®Œæˆæ‰“é–‹NC文件ã€èªžæ³•檢查ã€è¯ç¢¼ã€åˆ€å…·è£œå„Ÿã€æ’è£œï¼Œç”¢ç”ŸåŠ å·¥æ•¸æ“šã€‚åœ¨é€™äº›åŠŸèƒ½ä¸ï¼Œæ’è£œå¿…é ˆå¯¦æ™‚å®Œæˆï¼Œå› è€Œé‡‡ç”¨ä¸æ–·æœå‹™ç¨‹åºä¾†å¯¦ç¾ã€‚è‡ªå‹•åŠ å·¥ç·šç¨‹çš„é–‹å•Ÿï¼Œåœ¨å›žèª¿å‡½æ•¸ä¸å®Œæˆã€‚è‡ªå‹•åŠ å·¥ç·šç¨‹çš„æŽ§åˆ¶æµç¨‹è¦‹åœ–3ï¼Œä¸æ–·æœå‹™ç¨‹åºæŽ§åˆ¶æµç¨‹è¦‹åœ–4。

由于動態連接庫å¯ä»¥æ ¹æ“šéœ€è¦è¢«æ‡‰ç”¨ç¨‹åºéˆæ´»åœ°è£è¼‰ã€å¸å‡ºï¼Œå 用的系統資æºå°‡ç›¸æ‡‰æ¸›å°‘,所以把æ’è£œä¸æ–·æœå‹™ç¨‹åºç·¨è¯é€£æŽ¥æˆå‹•æ…‹éˆæŽ¥åº«çš„å½¢å¼ä½¿ç”¨ã€‚
3.2 é¢å‘å°è±¡çš„開發技術
由于é¢å‘å°è±¡çš„軟件開發技術綜åˆäº†åŠŸèƒ½æŠ½è±¡èˆ‡æ•¸æ“šæŠ½è±¡ï¼Œå®ƒè¼ƒå¥½åœ°å¯¦ç¾äº†è»Ÿä»¶çš„坿“´æ€§ã€å¤šæ…‹æ€§ï¼Œå¹¶ä½¿è»Ÿä»¶æ˜“于修改。我們采用é¢å‘å°è±¡æ–¹æ³•å°æ•¸æŽ§è»Ÿä»¶é€²è¡Œå»ºæ¨¡ï¼Œåˆ†3個層次å°å…¶é€²è¡Œæè¿°èˆ‡å¯¦ç¾ï¼šç³»çµ±ã€æŽ§åˆ¶å–®å…ƒå’ŒåŸºæœ¬é¡žï¼Œä½¿CNC軟件å¯çµ„è£ã€æ˜“擴展。
åŸºæœ¬é¡žæ˜¯æ•¸æŽ§ç³»çµ±åŠŸèƒ½ç´°ç²’åº¦åˆ†è§£çš„çµæžœï¼Œæ˜¯çµ„æˆé–‹æ”¾ç³»çµ±çš„æœ€å°å–®ä½ã€‚基本類構æˆé¢å‘å°è±¡æ•¸æŽ§è»Ÿä»¶çš„類體系。具有標準化接å£çš„基本類,稱之為軟件芯片。
控制單元是由一系列功能相關的基本類組æˆçš„ã€å®Œæˆä¸€å®šåŠŸèƒ½çš„è»Ÿä»¶å¯¦é«”ã€‚æŽ§åˆ¶å–®å…ƒå¯ä»¥åµŒå¥—。
系統是由一系列控制單元組æˆçš„æŸç¨®é¡žåž‹çš„æ•¸æŽ§ç³»çµ±è»Ÿä»¶ã€‚
在我們的數控軟件開發的類,有é‹å‹•控制器類ã€è¯ç¢¼é¡žã€åˆ€è£œé¡žã€‚它們都作為功能單元分別完æˆä½ç½®ä¼ºæœåŠŸèƒ½ã€è¯ç¢¼åŠŸèƒ½ã€åˆ€è£œåŠŸèƒ½ã€‚è¯ç¢¼é¡žã€åˆ€è£œé¡žè¼ƒå¾©é›œï¼Œç”±å¤šå€‹è»Ÿä»¶èŠ¯ç‰‡ç¹¼æ‰¿çµ„æˆã€‚
3.3 å¤šç·©æ²–å€æŠ€è¡“
é‹å‹•控制器類ã€è¯ç¢¼é¡žã€åˆ€è£œé¡žã€å‹•態連接庫都是相å°ç¨ç«‹çš„功能單元,它們相互有大é‡çš„æ•¸æ“šäº¤æ›ï¼Œå› æ¤é‡‡ç”¨å¤šç·©æ²–å€å¯¦ç¾æ•¸æ“šäº¤æ›ã€‚
為了å”調å„線程ã€å„任務之間的é‹è¡Œï¼Œä½¿å„模塊相å°ç¨ç«‹ã€‚在軟件ä¸å»ºç«‹å¤šå€‹æ•¸æ“šç·©æ²–å€ï¼Œå…·é«”çš„å¯¦ç¾æ–¹æ³•是:
(1)為多緩沖å€åˆ†é…å…§å˜ï¼Œå»ºç«‹æŒ‡å‘ç•¶å‰ç·©æ²–å€çš„讀ã€å¯«æŒ‡é‡ï¼Œæ§‹æˆä¸€å€‹ç’°å½¢å¤šç·©æ²–å€ï¼›
(2)為æ¯å¡Šå…§å˜è¨ç½®ä¸€å€‹æ¨™å¿—ä½ï¼Œä½œç‚ºå°å‚™ç·©æ²–å€é€²è¡Œæ“ä½œçš„åˆ¤æ–·ä¾æ“šï¼›
(3)æ¯è®€ä¸€å€‹ç·©æ²–å€ï¼Œå°è©²ç·©æ²–å€è¨ç½®å·²è®€æ¨™å¿—,當å‰è®€æŒ‡é‡å‘å‰ç§»å‹•一個緩沖å€ï¼›
(4)æ¯å¯«ä¸€å€‹ç·©æ²–å€ï¼Œå°è©²ç·©æ²–å€è¨ç½®å·²å¯«æ¨™å¿—,當å‰å¯«æŒ‡é‡å‘å‰ç§»å‹•一個緩沖å€ï¼›
(5)å°äºŽç•¶å‰æ“ä½œæœªçµæŸçš„ç·©æ²–å€ï¼Œè¨ç½®æ£åœ¨æ“ä½œæ¨™å¿—ï¼Œç¦æ¢å…¶ä»–æ“作。
采用這種方法,將系統ä¸å¿…é ˆåœ¨å–®å€‹æ’補周期內完æˆçš„é‹ç®—,“å‡åŒ–â€åœ¨å¤šå€‹æ’補周期內完æˆï¼Œæœ‰æ•ˆåœ°åˆ©ç”¨äº†CPU的計算時閹,æé«˜äº†ç³»çµ±çš„工作效率。
3.4 界é¢å¯¦ç¾æŠ€è¡“
測控軟件的界é¢ä¸åƒ…具有Windows ä¸€èˆ¬æŽ§ä»¶åŠŸèƒ½ï¼Œè€Œä¸”é‚„å¿…é ˆå…·æœ‰æ¨¡æ“¬ä¸€äº›å¯¦ç‰©çš„æŽ§ä»¶ï¼Œå¦‚ï¼šé›»è¡¨é¡¯ç¤ºã€æ—‹éˆ•ç‰ã€‚å› æ¤ï¼Œé‡‡ç”¨LabWindowsï¼CVI工具è¨è¨ˆç³»çµ±ç•Œé¢ã€‚采用LabWindowsï¼CVI時以一種c語言è¨è¨ˆç•Œé¢éžå¸¸æ–¹ä¾¿ã€‚æ¤å·¥å…·è¨è¨ˆçš„界é¢åŒ…æ‹¬é æ–‡ä»¶ï¼ˆï¼Šï¼Žh)ã€ç•Œé¢æ–‡ä»¶ï¼ˆï¼Šï¼Žuir)。在*.hä¸ï¼Œæä¾›ç•Œé¢æŽ§ä»¶çš„回調函數。應用程åºå¯åœ¨å›žèª¿å‡½æ•¸ä¸å¯¦ç¾æ‰€éœ€è¦çš„功能。在æ¤ç³»çµ±ä¸ï¼Œé¡¯ç¤ºï¼é¢æ¿æ“作線程作為界é¢çš„定時器控件的回調函數。Windows按照定時器è¨å®šçš„æ™‚å•,定時調用定時器控件的回調函數。
4 çµè«–
綜上所述,本CNC系統軟件采用Windowsçš„å¤šç·šç¨‹æ¨¡åž‹èˆ‡ä¸æ–·æ©Ÿåˆ¶ç›¸çµåˆçš„æŽ§åˆ¶ç–ç•¥å’Œå±¤æ¬¡åŒ–çš„é«”ç³»çµæ§‹ï¼Œåˆ©ç”¨é¢å‘å°è±¡æŠ€è¡“ã€å¤šç·©æ²–å€æŠ€è¡“ã€ç•Œé¢å¯¦ç¾æŠ€è¡“,æˆåŠŸåœ°åœ¨Windowsç’°å¢ƒä¸‹å¯¦ç¾æ•¸æŽ§ç³»çµ±çš„å¯¦æ™‚å¤šä»»å‹™æŽ§åˆ¶è¦æ±‚,較好地實ç¾è»Ÿä»¶çš„坿“´å……性ã€å¤šæ…‹æ€§ã€é‡æ§‹æ€§ï¼Œå¹¶ä½¿è»Ÿä»¶æ˜“于修改。該è¨è¨ˆæ–¹æ³•應用于我們開發的數控軟件上,已å–得了良好的效果。
åƒè€ƒæ–‡ç»
1 黃太貴.微機數控系統.電å科技大å¸å‡ºç‰ˆæœï¼Œ1995
2 (美) Gate VimaI 5.0 開發使用手冊機械工出版æœã€‚1998
3 王浩.高級Windows程åºè¨è¨ˆæŠ€è¡“ï¼ŽåŒæ¿Ÿå¤§å¸å‡ºç‰ˆæœï¼Œ1997
4 王燕.é¢å‘å°è±¡çš„ç†è«–與C++å¯¦è¸æ¸…è¯å¤§å¸å‡ºç‰ˆç¤¾ 1995