數控體系的數值解決措施

時間:2024-08-27 23:03:10 數控機床 我要投稿
  • 相關推薦

數控體系的數值解決措施

  編輯預處理與譯碼分離傳統的數據系統都提供了一個程序編輯器,它的功能只是對數控源程序進行編輯和修改,且操作不方便,而NC程序格式分析及詞、語法分析(這些工作通常稱為預處理)均由譯碼模塊處理。在譯碼過程中,無論程序是否有錯,都必須進行分析,浪費了CPU的時間。因此,我們在開發數據處理模塊時,把預處理功能從譯碼子模塊中分離出來,且融入編輯器子模塊,使編輯器既能輸入和編輯NC程序,又能對整個源程序一次性分析查錯。當發現錯誤后及時修改,避免了加工過程中出現錯誤不得不停機的情況發生。微軟的VisualC++5.0中的MFC提供一個文本編輯類CEditView,利用它幾乎不用編寫什么代碼,便能生成一個類似Windows中WordPad的文本編輯器,雖然它沒有Word的文字處理功能強大,但用來編輯數控系統清單已經足夠。文本編輯器主要由兩個子窗口組成,一個為編輯窗口,數控程序的所有編輯操作均在此進行;另一個為信息窗口,顯示預處理過程中各種信息(包括各種錯誤信息),大大方便了程序的修改。

  由于NC是以ASCII碼形式存放,讀入緩沖區前必須進行一定轉換。另外,為加速預處理,要求源程序一次性讀入內存。為此我們定義一種數據結構和一個數組:structNCFormat{LPTSTRNCLineS;程序段存放的數組UINTNCLength;預處理過程中,每個程序段均要經過兩次掃描。第一次掃描是進行格式分析和詞法分析,第二次掃描是進行語法分析。在兩次掃描過程中每當發現錯誤,輸出出錯信息到信息窗口。其中出錯信息是一種數據結構,其定義如下:structErrorInfo{UINTNCLineNO;出現錯誤的行charNOChar;出現錯誤的字符CStringLineStr;錯誤所在的程序段UINTErrorKind;錯誤種類編譯與解釋方法相結合單純使用編譯方法或解釋方法都有不可避免的缺點,因此,我們把兩種方法結合起來,取長補短。在開始加工前首先開辟一段內存作為緩沖區(一般不宜過大,如256K),然后一次性編譯若干程序段,直到緩沖區滿。在這里,編譯的結果并不是機器能識別的最終代碼,而是另外一種數據結構,其定義如下:structNCTemp{UINTNCLineNO;程序段行號CstringArrayModeAddress;存放模態字CstringArrayNoModeAddress;存放非模態字BOOLAbsReCord;絕對坐標或相對坐標標志UINTInterpG0123;插補類型CuterComG4012;刀具半徑補償類型LenthComG434;刀具長度補償類型EntMsgWorkPiece;零件實體坐標信息BOOLDowithFlag;程序被解釋處理過的標志;緩沖區滿后,啟動解釋處理程序,每次從緩沖區中取出一個用上述數據結構存放的程序段,并將其處理成系統能識別的目的程序,再依次進行運動軌跡計算、進給速度計算、插補和位控。每個被解釋處理過的程序段必須置標志DowithFlag為TRUE。

  消息驅動是Windows95的根本運行機制,而多任務多線程操作又是其最大優點。在這里把編譯定義成一個線程;解釋、運動軌跡計算、進給速度計算定義成一個線程;插補、位控定義為一個線程。編譯線程優先級最低,三個線程通過消息交互。一旦CPU空閑,且緩沖區中有被解釋處理過的程序段,則啟動編譯線程,從源程序中讀入程序段來刷新這些被解釋處理過的程序段。如此交替,直至整個數控程序執行完畢,從宏觀上看構成了時間上的資源重疊。

【數控體系的數值解決措施】相關文章:

企業員工激勵誤區及解決措施03-10

數控機床爬行異常如何解決03-09

餐廳開業期間的常見問題及解決措施02-27

數控機床精度故障的原因及解決方法03-05

數控機床精度故障的原因及解決方案03-21

企業管理風險產生的原因和解決措施05-17

企業資本運作存在問題和解決措施04-08

如何解決數控機床加工精度異常的故障?03-20

數控機床電源的常見故障及抗干擾措施03-04

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
亚洲成年轻人天堂久久 | 午夜福利在线视频国产不卡 | 日韩高清在线观看不卡一区二区 | 日韩欧美亚洲精品少妇 | 中文字幕亚洲一区 | 在线亚洲专区精品中文字幕 |