⑴ 現在國外數控編程主要是哪種
1數控編程及其發展
數控編程是目前CAD/CAPP/CAM系統中最能明顯發揮效益的環節之一,其在實現設計加工自動化、提高加工精度和加工質量、縮短產品研製周期等方面發揮著重要作用。在諸如航空工業、汽車工業等領域有著大量的應用。由於生產實際的強烈需求,國內外都對數控編程技術進行了廣泛的研究,並取得了豐碩成果。下面就對數控編程及其發展作一些介紹。
1.1數控編程的基本概念
數控編程是從零件圖紙到獲得數控加工程序的全過程。它的主要任務是計算加工走刀中的刀位點(cutterlocationpoint簡稱CL點)。刀位點一般取為刀具軸線與刀具表面的交點,多軸加工中還要給出刀軸矢量。
1.2數控編程技術的發展概況
為了解決數控加工中的程序編制問題,50年代,MIT設計了一種專門用於機械零件數控加工程序編制的語言,稱為APT(AutomaticallyProgrammedTool)。其後,APT幾經發展,形成了諸如APTII、APTIII(立體切削用)、APT(演算法改進,增加多坐標曲面加工編程功能)、APTAC(Advancedcontouring)(增加切削資料庫管理系統)和APT/SS(SculpturedSurface)(增加雕塑曲面加工編程功能)等先進版。
採用APT語言編制數控程序具有程序簡煉,走刀控制靈活等優點,使數控加工編程從面向機床指令的「匯編語言」級,上升到面向幾何元素.APT仍有許多不便之處:採用語言定義零件幾何形狀,難以描述復雜的幾何形狀,缺乏幾何直觀性;缺少對零件形狀、刀具運動軌跡的直觀圖形顯示和刀具軌跡的驗證手段;難以和CAD資料庫和CAPP系統有效連接;不容易作到高度的自動化,集成化。
針對APT語言的缺點,1978年,法國達索飛機公司開始開發集三維設計、分析、NC加工一體化的系統,稱為為CATIA。隨後很快出現了象EUCLID,UGII,INTERGRAPH,Pro/Engineering,MasterCAM及NPU/GNCP等系統,這些系統都有效的解決了幾何造型、零件幾何形狀的顯示,交互設計、修改及刀具軌跡生成,走刀過程的模擬顯示、驗證等問題,推動了CAD和CAM向一體化方向發展。到了80年代,在CAD/CAM一體化概念的基礎上,逐步形成了計算機集成製造系統(CIMS)及並行工程(CE)的概念。目前,為了適應CIMS及CE發展的需要,數控編程系統正向集成化和智能化夫發展。
在集成化方面,以開發符合STEP()標準的參數化特徵造型系統為主,目前已進行了大量卓有成效的工作,是國內外開發的熱點;在智能化方面,工作剛剛開始,還有待我們去努力。
2 NC刀具軌跡生成方法研究發展現狀
數控編程的核心工作是生成刀具軌跡,然後將其離散成刀位點,經後置處理產生數控加工程序。下面就刀具軌跡產生方法作一些介紹。
2.1基於點、線、面和體的NC刀軌生成方法
CAD技術從二維繪圖起步,經歷了三維線框、曲面和實體造型發展階段,一直到現在的參數化特徵造型。在二維繪圖與三維線框階段,數控加工主要以點、線為驅動對象,如孔加工,輪廓加工,平面區域加工等。這種加工要求操作人員的水平較高,交互復雜。在曲面和實體造型發展階段,出現了基於實體的加工。實體加工的加工對象是一個實體(一般為CSG和BREP混合表示的),它由一些基本體素經集合運算(並、交、差運算)而得。實體加工不僅可用於零件的粗加工和半精加工,大面積切削掉餘量,提高加工效率,而且可用於基於特徵的數控編程系統的研究與開發,是特徵加工的基礎。
實體加工一般有實體輪廓加工和實體區域加工兩種。實體加工的實現方法為層切法(SLICE),即用一組水平面去切被加工實體,然後對得到的交線產生等距線作為走刀軌跡。本文從系統需要角度出發,在ACIS幾何造型平台上實現了這種基於點、線、面和實體的數控加工。
2.2基於特徵的NC刀軌生成方法
參數化特徵造型已有了一定的發展時期,但基於特徵的刀具軌跡生成方法的研究才剛剛開始。特徵加工使數控編程人員不在對那些低層次的幾何信息(如:點、線、面、實體)進行操作,而轉變為直接對符合工程技術人員習慣的特徵進行數控編程,大大提高了編程效率。
W.R.Mail和A.J.Mcleod在他們的研究中給出了一個基於特徵的NC代碼生成子系統,這個系統的工作原理是:零件的每個加工過程都可以看成對組成該零件的形狀特徵組進行加工的總和。那麼對整個形狀特徵或形狀特徵組分別加工後即完成了零件的加工。而每一形狀特徵或形狀特徵組的NC代碼可自動生成。目前開發的系統只適用於2.5D零件的加工。
LeeandChang開發了一種用虛擬邊界的方法自動產生凸自由曲面特徵刀具軌跡的系統。這個系統的工作原理是:在凸自由曲面內嵌入一個最小的長方塊,這樣凸自由曲面特徵就被轉換成一個凹特徵。最小的長方塊與最終產品模型的合並就構成了被稱為虛擬模型的一種間接產品模型。刀具軌跡的生成方法分成三步完成:(1)、切削多面體特徵;(2)、切削自由曲面特徵;(3)、切削相交特徵。
JongYunJung研究了基於特徵的非切削刀具軌跡生成問題。文章把基於特徵的加工軌跡分成輪廓加工和內區域加工兩類,並定義了這兩類加工的切削方向,通過減少切削刀具軌跡達到整體優化刀具軌跡的目的。文章主要針對幾種基本特徵(孔、內凹、台階、槽),討論了這些基本特徵的典型走刀路徑、刀具選擇和加工順序等,並通過IP(InterProgramming)技術避免重復走刀,以優化非切削刀具軌跡。另外,JongYunJong還在他1991年的博士論文中研究了製造特徵提取和基於特徵的刀具及刀具路徑。
特徵加工的基礎是實體加工,當然也可認為是更高級的實體加工。但特徵加工不同於實體加工,實體加工有它自身的局限性。特徵加工與實體加工主要有以下幾點不同:
從概念上講,特徵是組成零件的功能要素,符合工程技術人員的操作習慣,為工程技術人員所熟知;實體是低層的幾何對象,是經過一系列布爾運算而得到的一個幾何體,不帶有任何功能語義信息;實體加工往往是對整個零件(實體)的一次性加工。但實際上一個零件不太可能僅用一把刀一次加工完,往往要經過粗加工、半精加工、精加工等一系列工步,零件不同的部位一般要用不同的刀具進行加工;有時一個零件既要用到車削,也要用到銑削。因此實體加工主要用於零件的粗加工及半精加工。而特徵加工則從本質上解決了上述問題;特徵加工具有更多的智能。對於特定的特徵可規定某幾種固定的加工方法,特別是那些已在STEP標准規定的特徵更是如此。如果我們對所有的標准特徵都制定了特定的加工方法,那麼對那些由標准特徵夠成的零件的加工其方便性就可想而知了。倘若CAPP系統能提供相應的工藝特徵,那麼NCP系統就可以大大減少交互輸入,具有更多的智能。而這些實體加工是無法實現的;
特徵加工有利於實現從CAD、CAPP、NCP及CNC系統的全面集成,實現信息的雙向流動,為CIMS乃至並行工程(CE)奠定良好的基礎;而實體加工對這些是無能為力的。
2.3現役幾個主要CAD/CAM系統中的NC刀軌生成方法分析
現役CAM的構成及主要功能
目前比較成熟的CAM系統主要以兩種形式實現CAD/CAM系統集成:一體化的CAD/CAM系統(如:UGII、Euclid、Pro/ENGINEER等)和相對獨立的CAM系統(如:Mastercam、Surfcam等)。前者以內部統一的數據格式直接從CAD系統獲取產品幾何模型,而後者主要通過中性文件從其它CAD系統獲取產品幾何模型。然而,無論是哪種形式的CAM系統,都由五個模塊組成,即交互工藝參數輸入模塊、刀具軌跡生成模塊、刀具軌跡編輯模塊、三維加工動態模擬模塊和後置處理模塊。下面僅就一些著名的CAD/CAM系統的NC加工方法進行討論。
UGII加工方法分析
一般認為UGII是業界中最好,最具代表性的數控軟體。其最具特點的是其功能強大的刀具軌跡生成方法。包括車削、銑削、線切割等完善的加工方法。其中銑削主要有以下功能:
、PointtoPoint:完成各種孔加工;
、PanarMill:平面銑削。包括單向行切,雙向行切,環切以及輪廓加工等;
、FixedContour:固定多軸投影加工。用投影方法控制刀具在單張曲面上或多張曲面上的移動,控制刀具移動的可以是已生成的刀具軌跡,一系列點或一組曲線;
、VariableContour:可變軸投影加工;
、Parameterline:等參數線加工。可對單張曲面或多張曲面連續加工;
、ZigZagSurface:裁剪面加工;
、RoughtoDepth:粗加工。將毛坯粗加工到指定深度;
、CavityMill:多級深度型腔加工。特別適用於凸模和凹模的粗加工;
、SequentialSurface:曲面交加工。按照零件面、導動面和檢查面的思路對刀具的移動提供最大程度的控制。
EDSUnigraphics還包括大量的其它方面的功能,這里就不一一列舉了。
STRATA加工方法分析
STRATA是一個數控編程系統開發環境,它是建立在ACIS幾何建模平台上的。
它為用戶提供兩種編程開發環境,即NC命令語言介面和NC操作C++類庫。它可支持三軸銑削,車削和線切割NC加工,並可支持線框、曲面和實體幾何建模。其NC刀具軌跡生成方法是基於實體模型。STRATA基於實體的NC刀具軌跡生成類庫提供的加工方法包括:
ProfileToolpath:輪廓加工;
AreaClearToolpath:平面區域加工;
SolidProfileToolpath:實體輪廓加工;
SolidAreaClearToolpath:實體平面區域加工;
SolidFaceToolPath:實體表面加工;
SolidSliceToolPath:實體截平面加工;
LanguagebasedToolpath:基於語言的刀具軌跡生成。
其它的CAD/CAM軟體,如Euclid,Cimitron,CV,CATIA等的NC功能各有千秋,但其基本內容大同小異,沒有本質區別。
2.4現役CAM系統刀軌生成方法的主要問題
按照傳統的CAD/CAM系統和CNC系統的工作方式,CAM系統以直接或間接(通過中性文件)的方式從CAD系統獲取產品的幾何數據模型。CAM系統以三維幾何模型中的點、線、面、或實體為驅動對象,生成加工刀具軌跡,並以刀具定位文件的形式經後置處理,以NC代碼的形式提供給CNC機床,在整個CAD/CAM及CNC系統的運行過程中存在以下幾方面的問題:
CAM系統只能從CAD系統獲取產品的低層幾何信息,無法自動捕捉產品的幾何形狀信息和產品高層的功能和語義信息。因此,整個CAM過程必須在經驗豐富的製造工程師的參與下,通過圖形交互來完成。如:製造工程師必須選擇加工對象(點、線、面或實體)、約束條件(裝夾、干涉和碰撞等)、刀具、加工參數(切削方向、切深、進給量、進給速度等)。整個系統的自動化程度較低。
在CAM系統生成的刀具軌跡中,同樣也只包含低層的幾何信息(直線和圓弧的幾何定位信息),以及少量的過程式控制制信息(如進給率、主軸轉速、換刀等)。因此,下游的CNC系統既無法獲取更高層的設計要求(如公差、表面光潔度等),也無法得到與生成刀具軌跡有關的加工工藝參數。
CAM系統各個模塊之間的產品數據不統一,各模塊相對獨立。例如刀具定位文件只記錄刀具軌跡而不記錄相應的加工工藝參數,三維動態模擬只記錄刀具軌跡的干涉與碰撞,而不記錄與其發生干涉和碰撞的加工對象及相關的加工工藝參數。
CAM系統是一個獨立的系統。CAD系統與CAM系統之間沒有統一的產品數據模型,即使是在一體化的集成CAD/CAM系統中,信息的共享也只是單向的和單一的。CAM系統不能充分理解和利用CAD系統有關產品的全部信息,尤其是與加工有關的特徵信息,同樣CAD系統也無法獲取CAM系統產生的加工數據信息。這就給並行工程的實施帶來了困難 。
3數控模擬技術
3.1計算機模擬的概念及應用
從工程的角度來看,模擬就是通過對系統模型的實驗去研究一個已有的或設計中的系統。分析復雜的動態對象,模擬是一種有效的方法,可以減少風險,縮短設計和製造的周期,並節約投資。計算機模擬就是藉助計算機,利用系統模型對實際系統進行實驗研究的過程。它隨著計算機技術的發展而迅速地發展,在模擬中佔有越來越重要的地位。計算機模擬的過程可通過圖1所示的要素間的三個基本活動來描述:
建模活動是通過對實際系統的觀測或檢測,在忽略次要因素及不可檢測變數的基礎上,用物理或數學的方法進行描述,從而獲得實際系統的簡化近似模型。這里的模型同實際系統的功能與參數之間應具有相似性和對應性。
模擬模型是對系統的數學模型(簡化模型)進行一定的演算法處理,使其成為合適的形式(如將數值積分變為迭代運算模型)之後,成為能被計算機接受的「可計算模型」。模擬模型對實際系統來講是一個二次簡化的模型。
模擬實驗是指將系統的模擬模型在計算機上運行的過程。模擬是通過實驗來研究實際系統的一種技術,通過模擬技術可以弄清系統內在結構變數和環境條件的影響。
計算機模擬技術的發展趨勢主要表現在兩個方面:應用領域的擴大和模擬計算機的智能化。計算機模擬技術不僅在傳統的工程技術領域(航空、航天、化工等方面)繼續發展,而且擴大到社會經濟、生物等許多非工程領域,此外,並行處理、人工智慧、知識庫和專家系統等技術的發展正影響著模擬計算機的發展。
數控加工模擬利用計算機來模擬實際的加工過程,是驗證數控加工程序的可靠性和預測切削過程的有力工具,以減少工件的試切,提高生產效率。
3.2數控模擬技術的研究現狀
數控機床加工零件是靠數控指令程序控制完成的。為確保數控程序的正確性,防止加工過程中干涉和碰撞的發生,在實際生產中,常採用試切的方法進行檢驗。但這種方法費工費料,代價昂貴,使生產成本上升,增加了產品加工時間和生產周期。後來又採用軌跡顯示法,即以劃針或筆代替刀具,以著色板或紙代替工件來模擬刀具運動軌跡的二維圖形(也可以顯示二維半的加工軌跡),有相當大的局限性。對於工件的三維和多維加工,也有用易切削的材料代替工件(如,石蠟、木料、改性樹脂和塑料等)來檢驗加工的切削軌跡。但是,試切要佔用數控機床和加工現場。為此,人們一直在研究能逐步代替試切的計算機模擬方法,並在試切環境的模型化、模擬計算和圖形顯示等方面取得了重要的進展,目前正向提高模型的精確度、模擬計算實時化和改善圖形顯示的真實感等方向發展。
從試切環境的模型特點來看,目前NC切削過程模擬分幾何模擬和力學模擬兩個方面。幾何模擬不考慮切削參數、切削力及其它物理因素的影響,只模擬刀具工件幾何體的運動,以驗證NC程序的正確性。它可以減少或消除因程序錯誤而導致的機床損傷、夾具破壞或刀具折斷、零件報廢等問題;同時可以減少從產品設計到製造的時間,降低生產成本。切削過程的力學模擬屬於物理模擬范疇,它通過模擬切削過程的動態力學特性來預測刀具破損、刀具振動、控制切削參數,從而達到優化切削過程的目的。
幾何模擬技術的發展是隨著幾何建模技術的發展而發展的,包括定性圖形顯示和定量干涉驗證兩方面。目前常用的方法有直接實體造型法,基於圖像空間的方法和離散矢量求交法。
3.3直接實體造型法
這種方法是指工件體與刀具運動所形成的包絡體進行實體布爾差運算,工件體的三維模型隨著切削過程被不斷更新。
Sungurtekin和Velcker開發了一個銑床的模擬系統。該系統採用CSG法來記錄毛坯的三維模型,利用一些基本圖元如長方體、圓柱體、圓錐體等,和集合運算,特別是並運算,將毛坯和一系列刀具掃描過的區域記錄下來,然後應用集合差運算從毛坯中順序除去掃描過的區域。所謂被掃過的區域是指切削刀具沿某一軌跡運動時所走過的區域。在掃描了每段NC代碼後顯示變化了的毛坯形狀。
Kawashima等的接合樹法將毛坯和切削區域用接合樹(graftree)表示,即除了空和滿兩種結點,邊界結點也作為八叉樹(octtree)的葉結點。邊界結點包含半空間,結點物體利用在這些半空間上的CSG操作來表示。接合樹細分的層次由邊界結點允許的半空間個數決定。逐步的切削模擬利用毛坯和切削區域的差運算來實現。毛坯的顯示採用了深度緩沖區演算法,將毛坯劃分為多邊形實現毛坯的可視化。
用基於實體造型的方法實現連續更新的毛坯的實時可視化,耗時太長,於是一些基於觀察的方法被提出來。
3.4基於圖像空間的方法
這種方法用圖像空間的消隱演算法來實現實體布爾運算。VanHook採用圖象空間離散法實現了加工過程的動態圖形模擬。他使用類似圖形消隱的zbuffer思想,沿視線方向將毛坯和刀具離散,在每個屏幕象素上毛坯和刀具表示為沿z軸的一個長方體,稱為Dexel結構。刀具切削毛坯的過程簡化為沿視線方向上的一維布爾運算,見圖3,切削過程就變成兩者Dexel結構的比較:
CASE1:只有毛坯,顯示毛坯,break;
CASE2:毛坯完全在刀具之後,顯示刀具,break;
CASE3:刀具切削毛坯前部,更新毛坯的dexel結構,顯示刀具,break;
CASE4:刀具切削毛坯內部,刪除毛坯的dexel結構,顯示刀具,break;
CASE5:刀具切削毛坯內部,創建新的毛坯dexel結構,顯示毛坯,break;
CASE6:刀具切削毛坯後部,更新毛坯的dexel結構,顯示毛坯,break;
CASE7:刀具完全在毛坯之後,顯示毛坯,break;
CASE8:只有刀具,顯示刀具,break。
這種方法將實體布爾運算和圖形顯示過程合為一體,使模擬圖形顯示有很好的實時性。
Hsu和Yang提出了一種有效的三軸銑削的實時模擬方法。他們使用zmap作為基本數據結構,記錄一個二維網格的每個方塊處的毛坯高度,即z向值。這種數據結構只適用於刀軸z向的三軸銑削模擬。對每個銑削操作通過改變刀具運動每一點的深度值,很容易更新zmap值,並更新工件的圖形顯示。
3.5離散矢量求交法
由於現有的實體造型技術未涉及公差和曲面的偏置表示,而像素空間布爾運算並不精確,使模擬驗證有很大的局限性。為此Chappel提出了一種基於曲面技術的「點矢量」(pointvector)法。這種方法將曲面按一定精度離散,用這些離散點來表示該曲面。以每個離散點的法矢為該點的矢量方向,延長與工件的外表面相交。通過模擬刀具的切削過程,計算各個離散點沿法矢到刀具的距離s。
設sg和sm分別為曲面加工的內、外偏差,如果sg< S < SM說明加工處在誤差范圍內,S < SG則過切,S>sm則漏切。該方法分為被切削曲面的離散(discretization)、檢測點的定位(location)和離散點矢量與工件實體的求交(intersection)三個過程。採用圖像映射的方法顯示加工誤差圖形;零件表面的加工誤差可以精確地描寫出來。
總體來說,基於實體造型的方法中幾何模型的表達與實際加工過程相一致,使得模擬的最終結果與設計產品間的精確比較成為可能;但實體造型的技術要求高,計算量大,在目前的計算機實用環境下較難應用於實時檢測和動態模擬。基於圖像空間的方法速度快得多,能夠實現實時模擬,但由於原始數據都已轉化為像素值,不易進行精確的檢測。離散矢量求交法基於零件的表面處理,能精確描述零件面的加工誤差,主要用於曲面加工的誤差檢測。
⑵ 開發環境指的是什麼工業軟體的內涵和發展趨勢
「 1.工業應用軟體的內涵」
工業軟體主要包括工業應用軟體和嵌入式工業軟體。工業應用軟體主要分三大類,包含范疇如圖1所示。
圖1 工業應用軟體包含的范疇
(1)產品創新數字化軟體領域:支持工業企業進行研發創新的工具類和平台類軟體。具體包括:計算機輔助設計(CAD,主要包括計算機輔助機械MCAD和電氣設計ECAD)、工程模擬(CAE)、計算機輔助製造(CAM,主要指數控編程軟體)、計算機輔助工藝規劃(CAPP)、電子設計自動化(EDA)、數字化製造(digital manufacturing)、產品數據管理/產品全生命周期管理(PDM/PLM,涵蓋了產品研發與製造、產品使用和報廢回收再利用三個階段),以及相關的專用軟體。例如公差分析、軟體代碼管理或應用生命周期管理(CASE/ALM)、大修維護管理(MRO)、三維瀏覽器、試驗數據管理、設計成本管理、設計質量管理、三維模型檢查、可製造性分析等。AEC行業(建築與施工行業)也廣泛應用CAD、CAE軟體。CAD軟體還包括工廠設計、船舶設計,以及焊接CAD、模具設計等專用軟體,CAD軟體經歷了從二維工程圖甩圖板,到轉向三維特徵建模,進而實現基於模型的產品定義(model based definition,MBD)的過程。數字化製造主要包括工廠的設備布局模擬、物流模擬、人因工程模擬等功能。CAE軟體包含的門類很多,可以從多個維度進行劃分,主要包括運動模擬、結構模擬、動力學模擬、流體力學模擬、熱力學模擬、電磁場模擬、工藝模擬(涵蓋鑄造、注塑、焊接、增材製造、復合材料等多種製造工藝)、振動模擬、碰撞模擬、疲勞模擬、聲學模擬、爆炸模擬等,以及設計優化、拓撲優化、多物理場模擬等軟體,另外還有模擬數據、模擬流程和模擬知識管理軟體。近年來,在三維建模技術、三維可視化技術、虛擬模擬技術和工業物聯網技術的發展與交叉融合的背景下,數字孿生技術(digital twin)應運而生,成為當前學術界和工業界關注的熱點。創成式設計(genrative design)則因引入全新的設計方式,融合人工智慧技術,也成為了業界關注的熱點。
(2)管理軟體領域:支持企業業務運營的各類管理軟體。具體包括:企業資源計劃(ERP)、製造執行系統(MES)、客戶關系管理(CRM)、供應鏈管理(SCM)、供應商關系管理(SRM)、企業資產管理(EAM)、人力資產管理(HCM)、商業智能(BI)、高級計劃與排程/先進生產排程(APS)、質量管理系統(QMS)、項目管理(PM)、能源管理(EMS)、主數據管理(MDM)、實驗室管理(LIMS)、業務流程管理(BPM)、協同辦公與企業門戶等。ERP是從物料需求計劃(MRP)、製造資源計劃(MRPII)發展起來的。CRM、HCM、BI、PM、協同辦公和企業門戶應用於各行各業,但工業企業對這些系統有特定的功能需求。例如,人力資產管理具體包括人力資源管理、人才管理和勞動力管理,其中,工業企業對勞動力管理有特定需求。隨著移動通信技術的普及,越來越多的管理軟體支持手機APP、基於角色分配許可權、集成位置信息,能夠將相關信息推送到不同類型的用戶。
(3)工控軟體領域:支持對設備和自動化產線進行管控、數據採集和安全運行的軟體。具體包括:先進過程式控制制(APC)、集散控制系統(DCS)、可編程邏輯控制器(PLC)、數據採集與監視控制系統(SCADA)、組態軟體、分布式數控與機器數據採集(DNC/MDC),以及工業網路安全軟體等。其中,DCS、PLC和SCADA的控制軟體與硬體設備緊密集成,是工業物聯網應用的基礎。
工業應用軟體的特質是包含復雜的演算法和邏輯、融合工程實踐的Know-how、與硬體系統和設備集成、具有鮮明的行業特點、能夠滿足客戶的個性化需求、提供二次開發平台、實現端到端的集成應用才能發揮預期價值等。因此,很多工業軟體企業將軟體進行配置,形成行業解決方案,以便縮短實施與交付周期。
「 2.工業軟體的發展趨勢」
工業軟體具有鮮明的行業特質,不同行業、不同生產模式、不同產品類型的製造企業,對工業軟體的需求差異很大。因此,工業軟體需要很強的可配置性,並具備二次開發的能力。工業軟體蘊含著業務流程和工藝流程,包含諸多演算法,因此,需要結合企業的實際需求進行實施和落地。製造企業需要應用的工業軟體類型眾多,要取得實效,需要實現工業軟體的集成,構建集成平台。
工業軟體正在從以下7個方面進行演進:
1)工業軟體正在重塑製造業
工業軟體的重要程度不斷提升,軟體成為體現產品差異化的關鍵。例如,70%的汽車創新來自汽車電子,而60%的汽車電子創新屬於軟體創新;智能手機的核心差異化主要體現在操作系統和應用軟體,直接影響用戶體驗。另外,工業互聯網的應用也涉及到諸多工業軟體,為工業設備插上了智慧的翅膀。
「軟體定義」成為業界共識,如軟體定義的產品、軟體定義的機器(圖2)、軟體定義的數據中心、軟體定義的網路,軟體定義的業務流程,數據驅動智能決策等。對工業軟體的開發與應用效果和掌控程度,已成為製造企業體現差異化競爭優勢的關鍵。工業軟體的應用貫穿企業的整個價值鏈,從研發、工藝、采購、製造、營銷、物流供應鏈到服務,打通數字主線(digital thread);從車間層的生產控制到企業運營,再到決策,建立產品、設備、產線到工廠的數字孿生模型(digital twin);從企業內部到外部,實現與客戶、供應商和合作夥伴的互聯和供應鏈協同,企業所有的經營活動都離不開工業軟體的全面應用。因此,工業軟體正在重塑製造業,成為製造業的數字神經系統。
圖2 軟體定義的機器(來源:GE)
2)工業軟體的應用模式走向雲端和設備端
工業軟體的應用模式已經從單機應用、客戶端/伺服器(C/S)、瀏覽器/伺服器(B/S),逐漸發展到走向雲端部署和邊緣端部署(嵌入式軟體)。早期的工業軟體是基於PC的單機應用,很多軟體帶有「加密狗」。後來,軟體應用出現了網路版。ERP、SCM等管理軟體的應用是基於C/S的應用模式,需要在客戶機和伺服器都安裝軟體,在伺服器安裝資料庫。隨著互聯網的興起,越來越多的工業軟體轉向B/S架構,不再需要在客戶端安裝軟體,直接在瀏覽器上輸入網址即可登錄,這使得軟體升級和遷移變得更加便捷。伺服器虛擬化、桌面虛擬化等技術則可以幫助企業更好地利用伺服器資源。
此外,很多智能裝備,例如無線通信基站和程式控制交換機內部,部署了諸多嵌入式的控制、檢測、計算、通訊等軟體。近年來,設備端的邊緣計算能力迅速增強,一些原來PC上部署的軟體也移植到設備端,實現邊緣計算,更高效地進行數據處理和分析。
3)工業軟體的部署方式從企業內部轉移到外部
工業軟體的部署模式從企業內部部署(on premise)轉向私有雲、公有雲以及混合雲。雲計算技術的發展,使得企業可以更高效、安全地管理自己的計算能力和存儲資源,建立私有雲平台;中小企業可以直接應用公有雲服務,不再自行維護伺服器;大型企業則可以將涉及關鍵業務和數據的應用系統放在私有雲,而將其他面向客戶、供應商及合作夥伴,以及安全級別要求不高的應用系統放在外部的數據中心,實現混合雲應用。
國外管理軟體公司紛紛加速向雲部署轉型,並購基於公有雲的應用系統。向雲服務轉型,成為眾多管理軟體公司最大的增長點。如Salesforce提供完全基於公有雲的CRM系統,取得了巨大的成功;原SolidWorks創業團隊創建的Onshape(圖3)是一個完全基於公有雲的三維CAD系統,可以在任何終端進行三維設計,方便地進行協作,已累計獲得1.69億美元的融資,2019年被PTC公司以4.7億美元並購;甲骨文公司已提供支持多租戶的資料庫,能夠確保運行在公有雲平台的應用系統能夠彼此獨立。另外,已有很多軟體公司支持軟體的靈活部署,可以在On Premise、私有雲、公有雲和混合雲的模式之間動態調整。
隨著雲應用的不斷深入,越來越多的企業用戶開始接受基於公有雲的部署方式,將復雜的IT運維工作交給大型的互聯網IT公司,例如亞馬遜雲(AWS)、微軟Azure雲平台等,其最大的優勢是管理專業且方便。我國的阿里雲、華為雲、騰訊雲、京東雲以及三大電信運營商也都提供了多種形式的雲服務。有的公司還推出了託管服務(managed service),幫助製造企業管理部署在企業內部的應用系統。
圖3 完全基於公有雲平台的三維設計軟體Onshape
4)工具類軟體從銷售許可證轉向訂閱模式
工具類軟體的銷售方式從銷售許可證(license)轉向訂閱模式(subscription)。例如,Autodesk公司的CAD軟體已經不再銷售License,只支持訂閱方式;PTC的Creo軟體也在大力轉向訂閱模式。訂閱模式的軟體並不一定都是基於雲部署,可以仍然是在企業內部安裝,但是通過訂閱模式定期獲得授權密碼。
訂閱模式是一種對於用戶企業和軟體公司而言雙贏的模式。用戶企業可以根據應用需求,靈活地增減用戶數,還可以即時獲得最新的軟體版本。而對於軟體公司,則可以確保用戶產生持續的現金流。雖然當期某個用戶企業帶來的收入可能減少,但是幾年下來,訂閱服務的收入通常會超過銷售固定License的營收。同時,由於用戶企業已經產生了大量數據,也不可能輕易更換軟體。正因為如此,有的軟體企業在向訂閱模式轉型的過程中,盡管有幾年時間營業收入下降,甚至出現虧損,但股票價格卻反而節節攀升。
5)工業軟體走向平台化、組件化,解構為工業APP
工業軟體的架構從緊耦合轉向松耦合,呈現出組件化、平台化、服務化,PaaS+SaaS的特點。早期的工業軟體是固化的整體,牽一發動全身,修改起來很麻煩。後來出現了面向對象的開發語言,進而產生了面向服務的架構(SOA),軟體的功能模塊演化為Web Service組件,通過對組件進行配置,將多個組件連接起來,完成業務功能。
互聯網的浪潮催生了應用服務提供商(application service provider,ASP),後來演化為SaaS服務。然而,單純將軟體服務化並不能滿足企業客戶差異化的需求,只有將軟體開發的平台也遷移到互聯網平台,才能授之以漁。PaaS平台是否強大,成為工業軟體能否向雲模式成功轉型的關鍵。
近年來,又出現了微服務架構,每個微服務可以用不同的開發工具開發,獨立進行運行和維護,通過輕量化的通信機制將微服務組合起來,完成特定功能。管理軟體,尤其是電商平台在前台和後台之間,增加了中台系統,以便能夠及時處理海量的並發需求和數據。
工業軟體正在解構為運行於工業雲平台或者工業互聯網平台上的工業APP(其參考模型見圖4),可以實現即插即用,操作簡便易用,隨需而變。工業APP蘊含了工業技術和Know-how。隨著工業PaaS的標准不斷完善,不同企業開發的工業APP將可以實現互操作,從而催生工業APP Store,方便地進行交易和應用。
圖4 工業APP參考模型(來源:工業互聯網APP白皮書,工業技術軟體化聯盟,2018.4)
6)工業軟體的開發環境轉向開放、開源
工業軟體的開發環境已從封閉、專用的平台走向開放和開源的平台。Linux操作系統的廣泛應用顯著降低了企業的IT成本;Java以其跨平台應用的特點,得到了工業軟體開發商的青睞;在人工智慧領域,Google推出了Tensorflow開源引擎,使得企業可以快速開展相關應用;智能機器人領域的開源操作系統ROS,使得IT專家能夠快速開發機器人應用;ARM公司發布了開源的物聯網操作系統Mbed OS。在CAD軟體領域,Intellicad Technology Consortium(ITC組織)提供了一個類似AutoCAD的CAD開源平台,也在全球吸引了很多軟體開發商。
7)工業軟體的運行平台從PC轉向移動端
工業軟體的運行平台從以PC為主,走向支持多種移動操作系統(安卓、蘋果、微信小程序等)。如果要開發支持多個移動操作系統的APP,對於工業軟體開發商而言,無疑需要並行維護多套系統。因此,很多工業軟體開發商選擇了基於HTML5來開發適應Windows和多種移動操作系統的軟體。
⑶ 機器人編程的IML語言
IML也是一種著眼於末端執行器的動作級語言,由日本九州大學開發而成。IML語言的特點是編程簡單,能人機對話,適合於現場操作,許多復雜動作可由簡單的指令來實現,易被操作者掌握。
IML用 直角坐標系描述機器人和目標物的位置和姿態。坐標系分兩種,一種是機座坐標系,一種是固連在機器人作業空間上的工作坐標系。語言以指令形式編程,可以表示 機器人的工作點、運動軌跡、目標物的位置及姿態等信息,從而可以直接編程。往返作業可不用循環語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些 力的施加。
IML語言的主要指令有:運動指令MOVE、速度指令SPEED、停止指令STOP、手指開合指令OPEN及CLOSE、坐標系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令IF…THEN、FOR EACH語句、CASE語句及DEFINE等。
任務程序員能夠指揮機器人系統去完成的分立單一動作就是基本程序功能。例如,把工具移動至某一指定位置,操作末端執行裝置,或者從感測器或手調輸入裝置讀個數等。機器人工作站的系統程序員,他的責任是選用一套對作業程序員工作最有用的基本功能。這些基本功能包括運算、決策、通訊、機械手運動、工具指令以及感測器數據處理等。許多正在運行的機器人系統,只提供機械手運動和工具指令以及某些簡單的感測數據處理功能。
1. 運算
在作業過程中執行的規定運算能力是機器人控制系統最重要的能力之一。
如果機器人未裝有任何感測器,那麼就可能不需要對機器人程序規定什麼運算。沒有感測器的機器人只不過是一台適於編程的數控機器。
裝有感測器的機器人所進行的一些最有用的運算是解析幾何計算。這些運算結果能使機器人自行做出決定,在下一步把工具或夾手置於何處。
2. 決策
機器人系統能夠根據感測器輸入信息做出決策,而不必執行任何運算。按照未處理的感測器數據計算得到的結果,是做出下一步該干什麼這類決策的基礎。這種決策能力使機器人控制系統的功能更強有力。
3. 通訊
機器人系統與操作人員之間的通訊能力,允許機器人要求操作人員提供信息、告訴操作者下一步該干什麼,以及讓操作者知道機器人打算干什麼。人和機器能夠通過許多不同方式進行通訊。
4. 機械手運動
可用許多不同方法來規定機械手的運動。最簡單的方法是向各關節伺服裝置提供一組關節位置,然後等待伺服裝置到達這些規定位置。比較復雜的方法是在機械手工作空間內插入一些中間位置。這種程序使所有關節同時開始運動和同時停止運動。用與機械手的形狀無關的坐標來表示工具位置是更先進的方法,而且(除X-Y-Z機械手外)需要用一台計算機對解答進行計算。在笛卡兒空間內插入工具位置能使工具端點沿著路徑跟隨軌跡平滑運動。引入一個參考坐標系,用以描述工具位置,然後讓該坐標系運動。這對許多情況是很方便的。
5.工具指令
一個工具控制指令通常是由閉合某個開關或繼電器而開始觸發的,而繼電器又可能把電源接通或斷開,以直接控制工具運動,或者送出一個小功率信號給電子控制器,讓後者去控制工具。直接控制是最簡單的方法,而且對控制系統的要求也較少。可以用感測器來感受工具運動及其功能的執行情況。
6. 感測數據處理
用於機械手控制的通用計算機只有與感測器連接起來,才能發揮其全部效用。我們已經知道,感測器具有多種形式。此外,我們按照功能,把感測器概括如下:
(1) 內體感受器用於感受機械手或其它由計算機控制的關節式機構的位置。
(2) 觸覺感測器用於感受工具與物體(工件)間的實際接觸。
(3) 接近度或距離感測器用於感受工具至工件或障礙物的距離。
(4) 力和力矩感測器用於感受裝配(如把銷釘插入孔內)時所產生的力和力矩。
(5) 視覺感測器用於「看見」工作空間內的物體,確定物體的位置或(和)識別它們的形狀等。感測數據處理是許多機器人程序編制的十分重要而又復雜的組成部分。
⑷ 1、編程計算圖形的面積。程序可以計算圓形,長方形,正方形的面積,運行時先提示用戶選擇圖形的類型,然後
2種方法
第一種:寫計算圓形,長方形,正方形的函數3個
float calculate1();
float calculate2();
float calculate3();
在你的主程序你做一個switch case判斷 就行了
第2種是寫一個虛基類calculate然後分別寫3個繼承自這個基類的計算圓形類,計算長方形類,計算正方形類 在主函數中調用就行了
⑸ 在數控編程(用於機械加工中心的]時,怎樣對後置處理文件修改
).對後處理文件及其設定方法作一般性介紹.此部分內容一般都不用更改.
以下是截取的部分注釋注釋前都帶#號,系統在執行代碼處理時是不會讀取前面帶#號的語句的.)
# Post Name : MPFAN
# Proct : MILL
# Machine Name : GENERIC FANUC
# Control Name : GENERIC FANUC
# Description : GENERIC FANUC MILL POST
# Associated Post : NONE
# Mill/Turn : NO
# 4-axis/Axis subs. : YES
# 5-axis : NO
# Subprograms : YES
# Executable : MP v9.0
#
# WARNING: THIS POST IS GENERIC AND IS INTENDED FOR MODIFICATION TO
# THE MACHINE TOOL REQUIREMENTS AND PERSONAL PREFERENCE.
2) Debugging and Factory Set Program Switches (系統程序規劃).此部分是MASTERCAM版本的後處理系統規劃,每個版本都大同小異,一般不需更改.以下截取的是9.0版的)
m_one : -1 #Define constant
zero : 0 #Define constant
one : 1 #Define constant
two : 2 #Define constant
three : 3 #Define constant
four : 4 #Define constant
five : 5 #Define constant
c9k : 999 #Define constant
fastmode : yes #Enable Quick Post Processing, (set to no for debug)
bug1 : 2 #0=No display, 1=Generic list box, 2=Editor
bug2 : 40 #Append postline labels, non-zero is column position?
bug3 : 0 #Append whatline no. to each NC line?
bug4 : 1 #Append NCI line no. to each NC line?
whatno : yes #Do not perform whatline branches? (leave as yes)
get_1004 : 1 #Find gcode 1004 with getnextop?
rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing?
strtool_v7 : 2 #Use Version 7 toolname?
tlchng_aft : 2 #Delay call to toolchange until move line
cant_tlchng : 1 #Ignore cantext entry on move with tlchng_aft
newglobal : 1 #Error checking for global variables
getnextop : 0 #Build the next variable table
3) General Output Settings(常規後處理設定).此部分可視情況更改,以適合機台或個人使用.以下截取的是9.0版的一些常規設定.冒號前面的是變數,冒號後面的是設定值,#號後面是註解(一般是說明0代表什麼,1代表什麼,2代表什麼,yes或no應該不用翻譯了吧?!)英文後面的中文註解是我加進去的,翻譯的不是很詳細,但相信大家能看懂.沒有翻譯的就表示我根本不會或此設定不常用....嘿嘿...
sub_level : 1 #Enable automatic subprogram support(啟用自動支持子程式)
breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs(打斷圓弧方式)
arcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180(轉出圓弧方式)
arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
do_full_arc : 0 #Allow full circle output? 0=no, 1=no (是否轉成整圓方式)
helix_arc : 0 #Support helix arc output, 0=no, 1=all planes,2=XY plane only(是否轉成螺旋弧)
arccheck : 1 #Check for small arcs, convert to linear(是否檢測小圓弧並將其轉成線)
atol : .01 #Angularity tolerance for arccheck = 2(圓弧角度公差)
ltol : .002 #Length tolerance for arccheck = 1(圓弧長度公差)
vtol : .1 #System tolerance(系統公差)
maxfeedpm : 500 #Limit for feed in inch/min(最大進給-英制)
ltol_m : .05 #Length tolerance for arccheck = 1, metric(圓弧長度公差-公制)
vtol_m : .0025 #System tolerance, metric(系統公差-公制)
maxfeedpm_m : 10000 #Limit for feed in mm/min(最大進給-公制)
force_wcs : no #Force WCS output at every toolchange?(換刀時是否轉出WCS坐標)
spaces : 0 #Number of spaces to add between fields(兩行之間是否加入空格)
omitseq : yes #Omit sequence numbers?(是否省略序列號)
seqmax : 9999 #Max. sequence number(最大序列號)
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools(是否沿用刀具)
use_gear : 0 #Output gear selection code, 0=no, 1=no (是否轉成齒輪代碼)
max_speed : 10000 #Maximum spindle speed(最大轉速)
min_speed : 50 #Minimum spindle speed(最小轉速)
nobrk : no #Omit breakup of x, y & z rapid moves
progname : 0 #Use uppercase for program name (sprogname)(程式名稱是否使用大寫)
4) 中間還有一些例如:Common User-defined(指令設定),Format statements(格式報告),definitions for NC output(NC代碼限定),Error messages(出錯信息),Toolchange / NC output Variable Formats(刀具變數)等基本上都是系統固定格式,不需要更改.在此就不再詳述.當然,我也不建議你更改這些項目,如果你改錯的話,系統很可能不執行或機台報警......
5) Start of File and Toolchange Setup(文本內容和換刀設定).此部分內容很重要,很多使用者都從這里著手把程式改成自己需要的格式.以下截取的是9.0版的部分內容,其中有些是我根據自己需要更改的,中文是我加的註解.引號內是可以更改的內容.
"%", e(程式開頭的百分號)
*progno, e(程式號碼)
comment(註解,可有可無,如不需要則刪除此句)
"(PROGRAM NAME - ", sprogname, ")", e(程式名稱,可有可無)
"(", *tnote, *toffnote, *tlngnote, *tldia, ")", e(刀具直徑及補正參數顯示,如不需要則把此整句刪除)
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e(程式日期顯示,可有可無)
pbld, n, *"/M99", e (我自己加的一句,如不需要則整句刪除,而不是只刪除引號內的內容)
pbld, n, *"G90", "G92","X0.Y0.Z10.", e(定義加工原點,也可以改為G54坐標)
sav_absinc = absinc (絕對坐標系)
......
(中間省略的部分是系統根據刀路自動轉出的程式,一般不必改)
......
(以下幾句是出現在程式尾,可以根據需要添加或刪除)
n, "Z10.", e (加工完成後提刀至安全高度)
n, "X0.Y0.", e (歸零)
n, "G91", e (轉用相對坐標)
n, "M99", e (回到主程式)
mergesub(此四句為程式結尾固定語句,不必理它)
clearsub
mergeaux
clearaux
"%", e(程式尾) 『::好就好::中國權威模具網』