欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術頻道

數控系統軟件芯片的研制和開發

  數控技術無疑是現代先進制造技術中最重要的技術基礎,從某種意義上說,數控技術的水平已成為衡量一個國家制造業水平的重要標志之一。出于技術壟斷及獨占市場等原因,各個廠家生產的數控系統在體系結構上大多是封閉的,不能進行高可*性的軟件擴展。近年來,國內外眾多的數控軟件開發者都在重復研究、開發相同或相似的數控系統,反復設計若干基本模塊,造成了人力、物力和財力的巨大浪費,而且由于缺乏統一的標準,不同的數控軟件開發者開發的軟件不能互相替換,缺乏兼容性,阻礙了數控軟件的升級換代,同時也阻礙了數控機床生產者對市場和用戶的快速響應能力。 通過對數控系統軟件體系結構的分析,我們設想如果把數控系統軟件中相同或類似的部分做成類似于硬件電子芯片的軟件芯片(Software IC,SIC)[1,2],每一個軟件芯片具有高度的功能獨立性、易移植性、易組裝性及易擴充性。這樣,當我們建立新的數控系統時,只需從芯片庫中取出所需的芯片進行組合即可,必要時加以擴充,使數控系統能夠重用,而不必從頭開發整個軟件系統。這樣就能改變目前數控系統的封閉型設計,為適應未來車間面向任務和訂單的生產組織模式奠定良好的基礎,使底層生產控制系統的集成更為簡便和有效,從而大大提高數控軟件的生產力和可*性,減少生產成本及開發周期。這是增強數控系統對市場的快速響應能力,促進數控產業快速、高效發展的必然之路。

1 數控系統軟件芯片的劃分

  合理的芯片劃分,是開發軟件芯片的首要步驟。數控系統軟件芯片庫中的各芯片以界面的方式開放,通過接口參數和界面信息的提示,用戶可掌握芯片的啟動、結束和運作。不同芯片的內部為黑箱封裝,外部接口開放,并在此基礎上實現新系統的構建。因此,如何定義出合理的數控系統軟件芯片,使芯片的外部接口易于標準化、規范化,內部易于進行黑箱封裝,是我們開發數控系統軟件芯片庫的關鍵步驟。

  目前,盡管數控系統從系統的設計方法到系統的實現方式千差萬別,但是其基本原理和軟件的組成都是類似的。在對現有的數控系統[3]和用戶需求進行仔細而全面分析的基礎上,同時,在總結現有系統控制結構的共有特征,并對其進行適當的歸類和抽象的基礎上,將數控系統劃分為以下幾個基本的功能模塊。

(1)人機交互界面模塊 此模塊主要完成在系統運行前和運行中系統參數的修改和設定,如設定系統工作模式(自動、手動、點動等),圖形顯示模式,系統初始化設定,坐標偏置設定,G代碼程序的編輯等。
(2)零件代碼解釋模塊 負責根據用戶的系統配置,以及零件程序的語法規則對用戶編寫的零件程序進行語法檢查,并進行解釋譯碼,將源代碼指令中給出的各種信息進行分離提取,變成各種狀態和數據,為預處理芯片提供語法上正確的零件程序的中間代碼。
(3)刀補預處理模塊 負責對解釋后的數據進行預處理及插補前的準備工作。
(4)軌跡插補模塊 負責加減速的控制、插補、終點判別等工作,向位置控制器輸出通過軌跡運算后的進給量。
(5)軸伺服控制模塊 在從I/O及插補運算得到的信息的幫助下,通過精插補控制機床執行機構按NC指令指定的路徑和速度運動。
(6)I/O模塊 負責控制器的輸入和輸出(包括機床檢測信號及位置和相關反饋信息的輸入、控制指令的輸出等)。
  以上這幾個模塊間具有互操作性、可移植性和可擴展性,因而可作為數控軟件芯片庫的基本芯片的劃分。

2 數控系統軟件芯片的構建及工作原理
  
  軟件芯片概念的提出是軟件重用發展過程中的里程碑。開發軟件芯片就是采用面向對象技術把特定類中的一些通用模塊做成獨立的可重用的對象類。由于面向對象具有封裝、分類、消息響應和繼承等很有價值的特點,使得軟件芯片和系統其它部分的耦合度得到盡可能的降低,這為軟件芯片的開發和使用提供了可*保證。同時,由于芯片都是對較成熟的技術進行封裝而實現的,在實踐上是經過了驗證的,也就是說一個成熟的芯片已經將錯誤率降到了最低點,所以可以利用數控軟件芯片來構造新的數控系統能最大程度地保證系統的可*性。 軟件芯片的構建就是將功能模塊的本體部分進行黑箱封裝,使之輸入接口和輸出接口盡量簡單、規范。由于C++語言的面向對象特性和封裝性較好[4],所以在本系統中將VC作為編程環境來進行芯片本體的構建。整個芯片是基于靜態庫創建的,最后生成一個Lib庫文件。所有功能的實現都封裝在Lib庫文件中。用戶使用時,不需要知道芯片內部的功能(如初始化、錯誤信息處理、數據分離)是怎樣實現的,只需將對應的.Lib文件和.H文件加入到自己的系統中,然后依照芯片說明提出的接口要求,通過接口參數調用相應的方法即可。接口參數和方法在Lib 文件中定義為,用戶可以在外界通過它們和芯片進行交互。就如同用戶通過硬件IC的引腳來使用芯片內部的功能一樣。

  下面就以零件程序解釋芯片為例,簡述數控系統軟件芯片的構建過程。
  首先,對芯片的本體功能進行分析,定義出合適的接口。一般來說,一個完整的零件數控加工程序,由若干程序段組成,一個程序段又由若干個代碼字組成,最后以“;”結束。每個代碼字由文字符和數字符組成,代碼字之間用空格符隔開。
根據自上向下的原則,該部分又可劃分為以下幾個部分:
  (1)詞法檢查 對源程序的數據進行拼寫及位數檢查;
  (2)語法檢查 對程序段中的G代碼和其它功能碼的格式進行檢查,如G代碼的相容性檢查等;
  (3)語義檢查 對上下文相關的錯誤進行檢查,如I、J、K和R不能出現在同一行代碼中等;
  (4)譯碼 將程序段的信息進行提取,變成相應的狀態量和數據量,存儲在輸出緩沖區中。
  在綜合考慮數控系統解釋器的內部邏輯關系和數控系統的運動控制的基礎上,將解釋芯片的輸入口數據定義為以字符串形式輸入的一行數控代碼段(char* LineStr);輸出口數據定義為一個包含各種信息量的結構。
  輸出數據結構:
typedef struct{
int Gp01;   ∥1組G代碼
  ……
int Gp15;   ∥15組G代碼
int N,   ∥程序段號
G,   ∥準備功能
M,   ∥輔助功能
P,Q,L,D,H;   ∥其他參數字符
long T;   ∥刀具選擇
double F;   ∥進給速度
double S;   ∥主軸速度
double D;   ∥刀具半徑
double X,Y,Z,A,B,C,I,J,K,R,U,V,W; ∥尺寸字
  ……
BOOL bLastCmnd;  最后一行指示標志
      }NCcode
如要對一行代碼段進行解釋譯碼,則先聲明一個實例:
  CCode code;  //CCode為Lib文件所生成的類
然后調用其成員函數,
  code.InterCode(char* LineStr)
  完成對LineStr中代碼段的詞法、語法、語義檢查和數據分離。在進行解釋過程中,如果發現代碼段中有語法或語義錯誤,InterCode 會給出相應的提示,并返回到編輯狀態重新編輯。

  類似的,如要對結構中的標志位進行初始化,則可通過調用code.FlagINI()實現。同時,還可以通過在外部對code.ENDED變量進行賦值來結束整個芯片的運行。

  解釋完成后的各種狀態和數據信息存放在前面定義的數據結構中。用戶只需按照一般結構的讀法去取相應的數據,如NCcode.G; NCcode.M ,也可以將整個數據結構作為下一個芯片的入口,實現芯片與芯片之間的數據傳遞。

  為了防止在芯片進行譯碼時,外界對數據結構進行操作而產生錯誤。本芯片使用了臨界區的方法,即在方法InterCode()被調用時,就用 CcriticalSection的成員函數Lock進行加鎖處理,拒絕外界訪問正在更新的數據,以免出現新老數據同時被讀入的錯誤。解釋完成后,用 Unlock進行解鎖處理,使用戶能訪問更新以后的數據。

3 芯片間的同步和協調

  當若干個芯片組成一個實用系統后,芯片之間的同步問題就變得格外重要,尤其是像數控系統這樣對實時性要求比較高的系統。在使用軟件芯片構建數控系統時,每一個有具體功能的芯片,如譯碼、插補等,都是一個單獨的線程。線程與線程之間的通信,是利用事件對象的方式來實現的。本系統由于是在VC環境下開發的,所以可以利用MFC庫中的CEvent類及其成員函數來完成。每一個事件對象可以有兩種狀態:信號態和非信號態。事件可以監控線程是否被置于信號態,并由此決定在適當的時候運行相應的線程。使用事件對象進行線程通信的另一個原因是事件對象的聲明十分容易,就像聲明一個全局變量一樣簡單。如 CEvent InterCodedStart;事件對象創建以后,是處于非信號態的,要是事件對象處于信號態,只需調用事件對象的成員函數 SetEvent(),即InterCodeStart.SetEvent();

  在執行了上面的語句后,事件對象InterCodeStart便處于信號態。線程監視事件是否處于信號態可利用下面的Windows API 函數實現。

  WaitForSingleObject(InterCodeStart.mhObject, 0);在此情況下,如果函數返回的是值為 WAITOBJECT0,則事件已被置于信號態,否則,事件仍處于非信號態。通過這些消息和方法,我們就可以實現系統各線程之間的通信,也可以通過這些事件對象間的通信控制將若干芯片“粘連”成一個有機的實用系統。

4 結束語

  本系統全部是在 Windows NT下的VC環境中開發的,所以利用了很多MFC中的基本類,這些都大大提高了整個系統的靈活性,增強了整個系統的功能。如,數控代碼的編輯器是基于CEditView類創建的,因此在使用時,它可以利用CEditView類本身所帶的一些編輯功能,如 New、Open、Save、Copy、Cut、Paste等,這使數控程序的編輯及管理變得和Windows下的文件管理一樣方便容易。同時,VC中各種控件的使用,不但增加了系統控制的易操作性,還使控制界面變得美觀、友好。這些都是值得進一步深入探討的地方。利用可重用構件技術來開發軟件芯片,并利用其構建新的數控系統的思想已用于國家自然科學基金項目“高可*性數控系統軟件芯片庫及其運行環境”的研究,取得了良好的效果,不但很好地實現了數控系統的開放性設計和資源重用,而且由于是基于Windows NT和IPC等通用環境下開發的,對數控系統的升級換代和對市場的及時響應,都具有良好的開發前景。

參考文獻
1 王芙清.面向對象程序設計.北京:北京大學出版社,1992:56~57,88~107,142~159
2 Lenz ManFred.IEEE SOFTWARE,1987,4(4):34~42
3 畢承恩.現代數控機床.北京:機械工業出版社,1991:1~50
4 Kate Gregory著,康博工作室譯.Visual C++ 5開發使用手冊.北京:機械工業出版社,1998:543~563

文章版權歸西部工控xbgk所有,未經許可不得轉載。

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

      9000px;">

          日本一区二区视频在线| 日韩天堂在线观看| 日韩三级免费观看| 亚洲精选在线视频| 555www色欧美视频| 日本最新不卡在线| 国产精品全国免费观看高清| **性色生活片久久毛片| 国产精品美女久久久久高潮| 日韩欧美久久久| 日韩一区二区三区视频在线| 欧美一级二级三级蜜桃| 国产成人小视频| 一区二区三区波多野结衣在线观看| 国产精品精品国产色婷婷| 亚洲手机成人高清视频| 欧美一区二区三区四区高清| caoporn国产一区二区| 成人国产精品免费观看视频| 国产丶欧美丶日本不卡视频| 日韩国产精品91| 日韩va亚洲va欧美va久久| 亚洲一区在线观看免费 | 国产成人综合亚洲91猫咪| 视频一区二区国产| 亚洲成av人片www| 亚洲电影在线播放| 亚洲一卡二卡三卡四卡无卡久久| 亚洲欧美日韩久久| 国产视频一区在线播放| 中文天堂在线一区| 久久精品人人爽人人爽| 国产精品免费视频一区| 久久色视频免费观看| 精品国产凹凸成av人网站| 欧美亚洲禁片免费| 日本一区二区三区久久久久久久久不| 国产三级精品在线| 久久久天堂av| 日本女优在线视频一区二区| 麻豆国产精品官网| www.欧美色图| 日韩欧美在线123| 亚洲精品乱码久久久久久| 亚洲一区二区三区爽爽爽爽爽| 亚洲.国产.中文慕字在线| 美国毛片一区二区| 91在线你懂得| 欧美一区二区久久| 国产欧美日韩精品在线| 毛片av一区二区三区| 96av麻豆蜜桃一区二区| 日本一区二区高清| 亚洲少妇30p| 日韩一本二本av| 久草中文综合在线| 丁香亚洲综合激情啪啪综合| 日韩女同互慰一区二区| 亚洲日本va午夜在线电影| 午夜不卡在线视频| 日韩va亚洲va欧美va久久| 中文字幕中文乱码欧美一区二区| 日韩视频一区二区三区在线播放| 久久久精品2019中文字幕之3| 制服丝袜中文字幕一区| 亚洲激情五月婷婷| a4yy欧美一区二区三区| 国产亚洲欧美一级| 中文字幕av一区 二区| 日韩av在线播放中文字幕| hitomi一区二区三区精品| 久久久青草青青国产亚洲免观| 亚洲成av人片一区二区梦乃| 亚洲444eee在线观看| 国产91精品免费| 欧美电影免费观看高清完整版| 一区二区三区免费网站| 777午夜精品视频在线播放| 欧美日韩视频在线观看一区二区三区 | 日韩国产欧美在线视频| 欧美韩日一区二区三区| 欧美一激情一区二区三区| 99这里都是精品| 六月丁香婷婷久久| 日韩av中文字幕一区二区三区| 亚洲成人自拍一区| 国产一区在线视频| 麻豆成人91精品二区三区| 亚洲第一会所有码转帖| 亚洲欧美电影一区二区| 国产精品视频九色porn| 欧美日韩精品一区二区三区蜜桃 | 日韩欧美另类在线| 久久婷婷色综合| 久久午夜电影网| 色偷偷一区二区三区| 蜜桃精品视频在线| 性久久久久久久| 亚洲国产日产av| 日韩精品午夜视频| 亚洲欧洲精品一区二区三区 | 国产网站一区二区| 国产精品羞羞答答xxdd| 国产精品三级久久久久三级| 亚洲精品在线网站| 激情成人综合网| 国产精品久久久99| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美艳星brazzers| 91麻豆国产自产在线观看| 成人精品视频网站| 色诱亚洲精品久久久久久| 极品美女销魂一区二区三区 | 美女视频第一区二区三区免费观看网站| 日本va欧美va精品| 中文字幕亚洲在| 青青草伊人久久| 久久丁香综合五月国产三级网站| 国产三级一区二区| 爽好多水快深点欧美视频| 国产在线精品一区二区| 在线播放日韩导航| 视频一区二区三区在线| 亚洲欧美在线视频观看| 成人欧美一区二区三区在线播放| 亚洲人妖av一区二区| 日本亚洲视频在线| 亚洲一区在线播放| 亚洲国产欧美在线| 亚洲综合丁香婷婷六月香| 久久 天天综合| 777色狠狠一区二区三区| 亚洲超丰满肉感bbw| 99精品视频在线观看| 亚洲成人免费av| 久久精品亚洲国产奇米99| 亚洲第一二三四区| 韩国女主播一区| 色嗨嗨av一区二区三区| 久久久久久免费| 偷拍亚洲欧洲综合| 成人免费黄色大片| 国产性天天综合网| 国模大尺度一区二区三区| 韩国v欧美v亚洲v日本v| 欧美日韩一区高清| 美国十次了思思久久精品导航| 91在线观看免费视频| 国产成人av一区| 欧美日韩一区二区三区在线看 | 一区二区三区在线观看欧美| 国产一区二区三区日韩| 欧美一区二区三区喷汁尤物| 亚洲精品成人在线| 日本丶国产丶欧美色综合| 亚洲国产精品精华液ab| 高清视频一区二区| 久久精品这里都是精品| 日韩黄色片在线观看| 欧美日韩亚洲综合一区二区三区| 亚洲一区在线观看视频| 日韩一区二区免费在线观看| 最新中文字幕一区二区三区| 麻豆一区二区三| 91精品在线一区二区| 亚洲天堂a在线| 91精品国产麻豆| 国产一区二区影院| 色老头久久综合| 日韩二区在线观看| 亚洲伦理在线免费看| 午夜激情一区二区三区| 久久久久久夜精品精品免费| 麻豆成人免费电影| 男人的j进女人的j一区| 欧美亚洲国产bt| 国产精品亚洲成人| 奇米一区二区三区| 中文字幕一区在线| 欧美肥妇free| 成人美女在线视频| 玉足女爽爽91| 精品福利一区二区三区免费视频| 天堂久久一区二区三区| 亚洲一级片在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 在线免费一区三区| 欧美系列亚洲系列| ww亚洲ww在线观看国产| 丁香激情综合五月| 色偷偷久久人人79超碰人人澡| 在线播放日韩导航| 一区二区三区色| 成人av影视在线观看| 精品日韩成人av| 琪琪久久久久日韩精品| 色综合欧美在线视频区| 久久久久久久精| 国内精品久久久久影院薰衣草| 这里只有精品视频在线观看|