目錄
- 4 示例程序
- 5 編程環境
- 6 程序員和操作員使用的縮寫
G代碼
編輯G代碼(也稱為RS-274)是使用最廣泛的計算機數控(CNC)編程語言。它主要用于計算機輔助制造以控制自動化機床,并且有許多變體。G代碼指令被提供給機器控制器(工業計算機),該控制器告訴電機移動到哪里、移動多快以及遵循什么路徑。兩種最常見的情況是,在機床(例如車床或銑床)中,切削刀具根據這些指令移動,通過刀具路徑切削掉材料,只留下完成的工件和/或未完成的工件精確定位在圍繞三個維度的最多九個軸中的任何一個,相對于刀具路徑,并且其中一個或兩個可以相對于彼此移動。同樣的概念也延伸到非切削工具,如成型或拋光工具、照片繪圖、3D打印等添加劑方法和測量儀器。
實現
編輯1950年代后期,麻省理工學院伺服機構實驗室開發了數控編程語言的xxx個實現。在此后的幾十年中,許多(商業和非商業)組織開發了許多實現。在這些實現中經常使用G代碼。美國使用的主要標準化版本是由電子工業聯盟在1960年代初制定的。最終版本于1980年2月被批準為RS-274-D。在其他國家,通常使用標準ISO6983,但許多歐洲國家使用其他標準。例如,德國使用DIN66025,波蘭以前使用PN-73M-55256和PN-93/M-55251。擴展和變體由控制制造商和機床制造商獨立添加,特定控制器的操作人員必須了解每個制造商產品的差異。G代碼的一種標準化版本,稱為BCL(BinaryCutterLanguage),僅在極少數機器上使用。BCL是在MIT開發的,用于控制CNC機器的直線和圓弧。在1970年代到1990年代期間,許多CNC機床制造商試圖通過標準化Fanuc制造的機床控制器來克服兼容性困難。西門子是CNC控制領域的另一個市場主導者,尤其是在歐洲。在2010年代,控制器差異和不兼容不再那么麻煩,因為加工操作通常是使用CAD/CAM應用程序開發的,這些應用程序可以通過稱為后處理器的軟件工具(有時縮短為僅郵政)。一些數控機床使用對話式編程,這是一種類似向導的編程模式,要么隱藏G代碼,要么完全繞過G代碼的使用。一些流行的例子是Okuma'sAdvancedOneTouch(AOT)、SouthwesternIndustries'ProtoTRAK、Mazak'sMazatrol、Hurco'sUltimax和Winmax、Haas'IntuitiveProgrammingSystem(IPS)和MoriSeiki'sCAPS會話軟件。G代碼最初是一種有限的語言,缺乏諸如循環、條件運算符和程序員聲明的變量等結構,這些變量具有包含自然詞的名稱(或使用它們的表達式)。它無法對邏輯進行編碼,而只是一種連接點的方法,程序員在這些點中以手寫方式計算出許多點的位置。G代碼的最新實現包括更接近高級編程語言的宏語言功能。此外,所有主要制造商(例如Fanuc、Siemens、Heidenhain)都通過NC程序使用的變量提供對可編程邏輯控制器(PLC)數據的訪問,例如軸定位數據和工具數據。這些結構使開發自動化應用程序變得更加容易。
具體代碼
編輯G代碼,也稱為預備代碼,是CNC程序中以字母G開頭的任何單詞。通常它是告訴機床執行何種操作類型的代碼,例如:
還有其他代碼;類型代碼可以被認為是計算機中的寄存器。多年來一直有人指出,術語G代碼是不精確的,因為G只是完整語言中眾多字母地址中的一個。它來自該術語的字面意義,指的是一個字母地址以及可以用它形成的特定代碼(例如,G00、G01、G28),但英文字母表的每個字母都在該語言的某個地方使用.盡管如此,G代碼被轉喻地確立為語言的通用名稱。
信件地址
有些字母地址僅用于銑削或僅用于車削;大多數都用于兩者。下面的粗體字是整個程序中最常見的字母。資料來源:鐵匠2008;史密斯2010;格林等人。1996年。
FANUC上常見的G代碼列表以及用于銑削和車削的類似設計的控件
資料來源:鐵匠2008;史密斯2010;格林等人。1996年。注意:模態表示代碼在被另一個允許的代碼替換或取消之前一直有效。非模態意味著它只執行一次。例如,參見下面的代碼G09、G61和G64。
FANUC上常見的M代碼列表以及用于銑削和車削的類似設計的控件
資料來源:鐵匠2008;史密斯2010;格林等人。1996年。一些較舊的控件要求M代碼位于單獨的塊中(即不在同一行)。
示例程序
編輯這是一個通用程序,演示了如何使用G代碼車削直徑為1乘以1長的零件。假設機器中有一根材料棒,并且棒材的長度和直徑略微過大,并且棒材從卡盤表面突出超過1。(注意:這是通用的,它可能不適用于任何真機!請特別注意下面的第5點。)需要注意的幾點:
- 即使在這個簡短的程序中,也有一些編程風格的空間。N06行中的代碼分組可以放在多行上。這樣做可能更容易跟蹤程序執行。
- 許多代碼是模態的,這意味著它們在取消或被矛盾代碼替換之前一直有效。例如,一旦選擇了變速切削(CSS)(G96),它將一直有效,直到程序結束。在操作中,主軸轉速隨著刀具靠近工件中心而增加,以保持恒定的表面速度。同樣,一旦選擇了快速進給(G00),所有的刀具移動都是快速的,直到選擇了一個進給率代碼(G01,G02,G03)。
- 通常的做法是在CNC機械上使用負載xxx器。如果主軸或進給負載超過在設置操作期間設置的預設值,負載xxx器將停止機器。負載xxx器的工作是多種多樣的:
- 在刀具破損或編程錯誤的情況下防止機器損壞。
- 警告工具變鈍,必須更換或磨尖。因此,一臺機器告訴操作員照看多臺機器,本質上,暫停你在那邊做的事情,然后來這里處理一些事情。
- 通常的做法是快速將工具帶入靠近零件的安全點(在本例中為0.1遠),然后開始進給工具。安全距離有多近,取決于程序員和/或操作員的偏好以及原材料的xxx材料條件。
- 如果程序錯誤,機器很可能會崩潰,或者在高功率下將工具撞到零件、虎鉗或機器上。這可能代價高昂,尤其是在較新的加工中心中。可以在程序中穿插可選的停止(M01代碼),讓程序零碎地運行以進行測試。可選停止保留在程序中,但在正常運行期間會被跳過。幸運的是,大多數CAD/CAM軟件都附帶CNC模擬器,可在程序執行時顯示工具的移動。如今,周圍的物體(卡盤、夾具、夾具、尾座等)都包含在3D模型中,并且模擬很像整個視頻游戲或虛擬現實環境,使意外崩潰的可能性xxx降低。
- 許多現代數控機床還允許程序員在模擬模式下執行程序,并在特定執行點觀察機床的運行參數。這使程序員能夠在將材料或工具丟失給不正確的程序之前發現語義錯誤(而不是語法錯誤)。根據零件的大小,蠟塊也可用于測試目的。此外,許多機器支持操作員對快速和進給率的超控,可用于降低機器的速度,從而允許操作員在發生碰撞之前停止程序執行。
- 上面程序中已經包含的行號(即N0...N16)通常不是機器運行所必需的,并且增加了文件大小,因此在行業中很少使用它們。但是,如果在代碼中使用了分支或循環語句,那么行號很可能會作為這些語句的目標包含在內(例如GOTON99)。
- 有些機器不允許在同一行中有多個M代碼。
編程環境
編輯G-code的編程環境與一般編程環境并行發展——從最早的環境(例如,用鉛筆編寫程序,將其輸入磁帶打孔機)到結合CAD(計算機輔助設計)、CAM(計算機輔助制造)和功能豐富的G代碼編輯器。(G代碼編輯器類似于XML編輯器,在語義上使用顏色和縮進[加上其他功能]以基本文本編輯器無法提供的方式幫助用戶。CAM包類似于一般編程中的IDE。)兩個高層次的范式轉變已經朝著:
- 放棄手動編程(只有鉛筆或文本編輯器和人類思維),使用通過后處理器自動生成G代碼的CAM軟件系統(類似于通用編程中視覺技術的發展)
- 放棄參數結構的硬編碼結構(類似于一般編程中將常數硬編碼到方程中與將其聲明為變量并隨意為其分配新值之間的差異;以及一般的面向對象方法)。
宏(參數)CNC編程使用人性化的變量名稱、關系運算符和循環結構,就像一般編程一樣,以機器可讀的語義捕獲信息和邏輯。較舊的手動CNC編程只能以數字形式描述零件的特定實例,而宏編程則描述了可以輕松應用于各種實例的抽象。這種趨勢類似于計算機編程從低級編程語言到高級編程語言的演變。STEP-NC反映了相同的主題,這可以被視為沿著以機床、夾具和固定裝置以及數控開發開始的道路上的又一步,所有這些都試圖將技能融入工具中。G代碼和STEP-NC的最新發展旨在將信息和語義構建到工具中。這個想法并不新鮮。從數控開始,端到端CAD/CAM環境的概念就是DAC-1和APT等早期技術的目標。對于通用汽車和波音等大公司來說,這些努力都很好。然而,中小型企業經歷了一個更簡單的NC實施時代,使用相對原始的連接點G代碼和手動編程,直到CAD/CAM得到改進并在整個行業中傳播。任何具有大量軸、主軸和工具站的機床都很難手動進行良好的編程。多年來一直這樣做,但并不容易。這一挑戰在CNC螺桿機和旋轉傳送編程中已經存在了幾十年,現在也出現在今天的新型加工中心,稱為車銑復合機、銑車復合機床、多任務機床和多功能機床。現在CAD/CAM系統被廣泛使用,CNC編程(例如使用G代碼)需要CAD/CAM(相對于手動編程)在這些類型的機器所服務的細分市場中具有實用性和競爭力。正如Smid所說,將所有這些軸與一些附加功能結合起來,至少可以說,成功所需的知識量是相當大的。然而與此同時,大約從2000年代中期開始,似乎手動編程(即在沒有CAD/CAM輔助的情況下編寫G代碼行)的消亡可能即將到來。但是,目前僅在某些情況下手動編程已過時。
如今,大量的CAM編程發生在對手動編程生疏或無法進行手動編程的人中——但并非所有CNC編程都可以在不知道G代碼的情況下完成、或完成得一樣好或有效。在機器上定制和完善CNC程序是一個實踐領域,直接編輯G代碼比編??輯CAM刀具路徑和重新后處理程序更容易或更有效。CAD/CAM軟件使在計算機控制的機器上以切割零件為生變得更加容易和更加困難。高效編寫G代碼對CAM軟件來說可能是一個挑戰。理想情況下,CNC機械師應該熟悉手動和CAM編程,以便在需要時使用蠻力CAM和優雅的手動編程的好處。在內存非常昂貴的時候,許多舊機器都是用有限的計算機內存構建的。32K被認為有足夠的空間用于手動程序,而現代CAM軟件可以發布千兆字節的代碼。CAM擅長快速輸出可能會占用更多機器內存并需要更長運行時間的程序。這通常使得加工少量零件非常有價值。但是必須在創建程序所需的時間和程序加工零件所需的時間之間取得平衡。在具有大量內存的較新機器上只制作幾個零件變得更容易和更快。這對手動程序員和手動機械師都造成了影響。考慮到退休后的自然流動率,當他們的商業環境大多無法再提供培養該技能所需的無數小時的深厚經驗時,期望維持大量精通手動編程的操作員是不現實的;然而,這種經驗基礎的損失是可以理解的,并且有時會非常想念這樣的一個池,因為如果沒有這種技能,一些CNC運行仍然無法優化。在具有大量內存的較新機器上只制作幾個零件變得更容易和更快。這對手動程序員和手動機械師都造成了影響。考慮到退休后的自然流動率,當他們的商業環境大多無法再提供培養該技能所需的無數小時的深厚經驗時,期望維持大量精通手動編程的操作員是不現實的;然而,這種經驗基礎的損失是可以理解的,并且有時會非常想念這樣的一個池,因為如果沒有這種技能,一些CNC運行仍然無法優化。在具有大量內存的較新機器上只制作幾個零件變得更容易和更快。這對手動程序員和手動機械師都造成了影響。考慮到退休后的自然流動率,當他們的商業環境大多無法再提供培養該技能所需的無數小時的深厚經驗時,期望維持大量精通手動編程的操作員是不現實的;然而,這種經驗基礎的損失是可以理解的,并且有時會非常想念這樣的一個池,因為如果沒有這種技能,一些CNC運行仍然無法優化。當他們的商業環境大多無法再提供培養該技能所需的無數小時的深厚經驗時,期望維持大量精通手動編程的操作員是不現實的;然而,這種經驗基礎的損失是可以理解的,并且有時會非常想念這樣的一個池,因為如果沒有這種技能,一些CNC運行仍然無法優化。當他們的商業環境大多無法再提供培養該技能所需的無數小時的深厚經驗時,期望維持大量精通手動編程的操作員是不現實的;然而,這種經驗基礎的損失是可以理解的,并且有時會非常想念這樣的一個池,因為如果沒有這種技能,一些CNC運行仍然無法優化。
程序員和操作員使用的縮寫
編輯此列表只是一個選擇,除了幾個關鍵術語外,主要避免重復工程圖紙縮寫和符號中列出的許多縮寫。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/138556/