套結機編程
『壹』 面向連接和無連接方式套接字編程有什麼不同
1、關於使用套接字編程的一些基本概念
二元組的定義:<K,R>
三元組的定義:<D,F,A>
五元組的定義:<V,O,G,M,S>
V是值的集合,O是操作的集合,G是構成名字的文法,M是存儲的集合,S是從G能構成的名字 幾個到M的映射.
(a)半相關與全相關
半相關:在網路中用一個三元組可以在全局唯一標志一個進程: (協議,本地地址,本地埠號)這樣一個三元組,叫做一個半相關(half-association),它指定連接的每半部分。
全相關:一個完整的網間進程通信需要由兩個進程組成,並且只能使用同一種高層協議。也就是說,不可能通信的一端用TCP協議,而另一端用UDP協議。因此一個完整的網間通信需要一個五元組來標識:(協議,本地地址,本地埠號,遠地地址,遠地埠號)這樣一個五元組,叫做一個相關(association),即兩個協議相同的半相關才能組合成一個合適的相關,或完全指定組成一連接。
(b)TCP/IP協議的地址結構為:
struct sockaddr_in
{
short sin_family; /*AF_INET*/
u_short sin_port; /*16位埠號,網路位元組順序*/
struct in_addr sin_addr; /*32位IP地址,網路位元組順序*/
char sin_zero[8]; /*保留*/
}
(c)套接字類型
TCP/IP的socket提供下列三種類型套接字。
流式套接字(SOCK_STREAM):提供了一個面向連接、可靠的數據傳輸服務,數據無差錯、無重復地發送,且按發送順序接收。內設流量控制,避免數據流超限;數據被看作是位元組流,無長度限制。文件傳送協議(FTP)即使用流式套接字。
數據報式套接字(SOCK_DGRAM):提供了一個無連接服務。數據包以獨立包形式被發送,不提供無錯保證,數據可能丟失或重復,並且接收順序混亂。網路文件系統(NFS)使用數據報式套接字。
原始式套接字(SOCK_RAW):該介面允許對較低層協議,如IP、ICMP直接訪問。常用於檢驗新的協議實現或訪問現有服務中配置的新設備。
(d)基本套接字系統調用
為了更好地說明套接字 編程原理,下面給出幾個基本套接字系統調用說明。
(1)創建套接字──socket()
應用程序在使用套接字前,首先必須擁有一個套接字,系統調用socket()向應用程序提供創建套接字的手段,其調用格式如下:
SOCKET socket(int af, int type, int protocol);
該調用要接收三個參數:af、type、protocol。參數af指定通信發生的區域,UNIX系統支持的地址族有:AF_UNIX、AF_INET、AF_NS等,而DOS、WINDOWS中僅支持AF_INET,它是網際網區域。因此,地址族與協議族相同。參數type描述要建立的套接字的類型。參數protocol 說明該套接字使用的特定協議,如果調用者不希望特別指定使用的協議,則置為0,使用默認的連接模式。根據這三個參數建立一個套接字,並將相應的資源分配給它, 同時返回一個整型套接字型大小。因此,socket()系統調用實際上指定了相關五元組中的「協議」這一元。
(2)指定本地地址──bind()
當一個套接字用socket()創建後,存在一個名字空間(地址族),但它沒有被命名。bind()將套接字地址(包括本地主機地址和本地埠地址)與所創建的套接字型大小聯系起來,即將名字賦予套接字,以指定本地半相關。其調用格式如下:
int bind(SOCKET s, const struct sockaddr FAR * name, int namelen);
參數 s 是由 socket() 調用返回的並且未作連接的套接字描述符(套接字型大小)。參數name是賦給套接字s的本地地址(名字),其長度可變,結構隨通信域的不同而不同。namelen表明了name的長度。 如果沒有錯誤發生,bind()返回0。否則返回值SOCKET_ERROR。 地址在建立套接字通信過程中起著重要作用,作為一個網路應用程序設計者對套接字地址結構必須有明確認識。
(3)建立套接字連接──connect()與accept()
這兩個系統調用用於完成一個完整相關的建立,其中connect()用於建立連接。無連接的套接字進程也可以調用connect(),但這時在進程之間沒有實際的報文交換,調用將從本地操作系統直接返回。這樣做的優點是程序員不必為每一數據指定目的地址,而且如果收到的一個數據報,其目的埠未與任何套接字建立「連接」,便能判斷該埠不可操作。而accept()用於使伺服器等待來自某客戶進程的實際連接。 connect()的調用格式如下:
int connect(SOCKET s,const struct sockaddr FAR * name,int namelen);
參數s是欲建立連接的本地套接字描述符。參數name指出說明對方套接字地址結構的指針。對方套接字地址長度由namelen說明。 如果沒有錯誤發生,connect()返回0。否則返回值SOCKET_ERROR。在面向連接的協議中,該調用導致本地系統和外部系統之間連接實際建立。 由於地址族總被包含在套接字地址結構的前兩個位元組中,並通過socket()調用與某個協議族相關。因此bind()和connect()無須協議作為參數。 accept()的調用格式如下:
SOCKET accept(SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen);
參數s為本地套接字描述符,在用做accept() 調用的參數前應該先調用過listen()。addr 指向客戶方套接字地址結構的指針, 用來接收連接實體的地址。addr的確切格式由套接字創建時建立的地址族決定。addrlen 為客戶方套接字地址的長度(位元組數)。如果沒有錯誤發生,accept()返回一個SOCKET類型的值,表示接收到的套接字的描述符。否則返回值INVALID_SOCKET。 accept()用於面向連接伺服器。參數addr和addrlen 存放客戶方的地址信息。調用前,參數addr 指向一個初始值為空的地址結構,而 addrlen 的初始值為0; 調用accept() 後,伺服器等待從編號為s的套接字上接受客戶連接請求,而連接請求是由客戶方的connect()調用發出的。當有連接請求到達時,accept()調用將請求連接隊列上的第一個客戶方套接字地址及長度放入addr和addrlen,並創建一個與s有相同特性的新套接字型大小。新的套接字可用於處理伺服器並發請求。
四個套接字系統調用,socket()、bind()、connect()、accept(),可以完成一個完全五元相關的建立。socket()指定五元組中的協議元,它的用法與是否為客戶或伺服器、是否面向連接無關。bind()指定五元組中的本地二元,即本地主機地址和埠號,其用法與是否面向連接有關:在伺服器方,無論是否面向連接,均要調用 bind() ;在客戶方,若採用面向連接,則可以不調用bind(),而通過connect()自動完成。若採用無連接,客戶方必須使用bind()以獲得一個唯一的地址。 以上討論僅對客戶/伺服器模式而言,實際上套接字的使用是非常靈活的,唯一需遵循的原則是進程通信之前,必須建立完整的相關。
(4)監聽連接──listen()
此調用用於面向連接伺服器,表明它願意接收連接。listen()需在accept()之前調用,其調用格式如下:
int listen(SOCKET s, int backlog);
參數s標識一個本地已建立、尚未連接的套接字型大小, 伺服器願意從它上面接收請求。 backlog 表示請求連接隊列的最大長度, 用於限制排隊請求的個數,目前允許的最大值為5。如果沒有錯誤發生,listen()返回0。否則它返回SOCKET_ERROR。 listen()在執行調用過程中可為沒有調用過bind() 的套接字s完成所必須的連接,並建立長度為backlog的請求連接隊列。 調用listen()是伺服器接收一個連接請求的四個步驟中的第三步。它在調用socket() 分配一個流套接字,且調用bind()給s賦於一個名字之後調用,而且一定要在accept()之前調用。
(5)數據傳輸──send()與recv()
當一個連接建立以後,就可以傳輸數據了。常用的系統調用有 send() 和recv()。 send() 調用用於在參數s指定的已連接的數據報或流套接字上發送輸出數據,格式如下:
int send(SOCKET s, const char FAR *buf, int len, int flags);
參數s為已連接的本地套接字描述符。buf 指向存有發送數據的緩沖區的指針,其長度由 len 指定。flags 指定傳輸控制方式,如是否發送帶外數據等。如果沒有錯誤發生,send()返回總共發送的位元組數。否則它返回SOCKET_ERROR。 recv()調用用於在參數s指定的已連接的數據報或流套接字上接收輸入數據,格式如下:
int recv(SOCKET s, char FAR *buf, int len, int flags);
參數s 為已連接的套接字描述符。buf指向接收輸入數據緩沖區的指針,其長度由len 指定。flags 指定傳輸控制方式,如是否接收帶外數據等。如果沒有錯誤發生,recv()返回總共接收的位元組數。如果連接被關閉,返回0。否則它返回SOCKET_ERROR。
(6)輸入/輸出多路復用──select()
select()調用用來檢測一個或多個套接字的狀態。對每一個套接字來說,這個調用可以請求讀、寫或錯誤狀態方面的信息。請求給定狀態的套接字集合由一個fd_set結構指示。在返回時,此結構被更新,以反映那些滿足特定條件的套接字的子集,同時, select()調用返回滿足條件的套接字的數目,其調用格式如下:
int select(int nfds, fd_set FAR * readfds, fd_set FAR * writefds,fd_set FAR * exceptfds, const struct timeval FAR * timeout);
參數nfds指明被檢查的套接字描述符的值域,此變數一般被忽略。 參數readfds指向要做讀檢測的套接字描述符集合的指針,調用者希望從中讀取數據。 參數 writefds 指向要做寫檢測的套接字描述符集合的指針。exceptfds指向要檢測是否出錯的套接字描述符集合的指針。timeout指向select()函數等待的最大時間,如果設為NULL則為阻塞操作。select()返回包含在fd_set結構中已准備好的套接字描述符的總數目,或者是發生錯誤則返回SOCKET_ERROR。
(7)關閉套接字──closesocket()
『貳』 數控機床編程
數控車床、車削中心,是一種高精度、高效率的自動化機床。配備多工位刀塔或動力刀塔,機床就具有廣泛的加工工藝性能,可加工直線圓柱、斜線圓柱、圓弧和各種螺紋、槽、蝸桿等復雜工件,具有直線插補、圓弧插補各種補償功能,並在復雜零件的批量生產中發揮 了良好的經濟效果。
「CNC」是英文Computerized Numerical Control(計算機數字化控制)的縮寫。數控機床是按照事先編制好的加工程序,自動地對被加工零件進行加工。我們把零件的加工工藝路線、工藝參數、刀具的運動軌跡、位移量、切削參數(主軸轉數、進給量、背吃刀量等)以及輔助功能(換刀、主軸正轉、反轉、切削液開、關等),按照數控機床規定的指令代碼及程序格式編寫成加工程序單,再把這程序單中的內容記錄在控制介質上(如穿孔紙帶、磁帶、磁碟、磁泡存儲器),然後輸入到數控機床的數控裝置中,從而指揮機床加工零件。
這種從零件圖的分析到製成控制介質的全部過程叫數控程序的編制。數控機床與普通機床加工零件的區別在於數控機床是按照程序自動加工零件,而普通機床要由人來操作,我們只要改變控制機床動作的程序就可以達到加工不同零件的目的。因此,數控機床特別適用於加工小批量且形狀復雜要求精度高的零件。
由於數控機床要按照程序來加工零件,編程人員編制好程序以後,輸入到數控裝置中來指揮機床工作。程序的輸入是通過控制介質來的。
數控車程序可以分成程序開始、程序內容和程序結束三部分內容。
第一部分 程序開始部分
主要定義程序號,調出零件加工坐標系、加工刀具,啟動主軸、打開冷卻液等方面的內容。
數控程序
主軸最高轉速限制定義G50 S2000,設置主軸的最高轉速為2000RPM,對於數控車床來說,這是一個非常重要的指令。
坐標系定義如不作特殊指明,數控系統默認G54坐標系。
返回參考點指令G28 U0,為避免換刀過程中,發生刀架與工件或夾具之間的碰撞或干涉,一個有效的方法是機床先回到X軸方向的機床參考點,並離開主軸一段安全距離。
刀具定義G0 T0808 M8,自動調8號左偏刀8號刀補,開啟冷卻液。
主軸轉速定義G96 S150 M4,恆定線速度S功能定義,S功能使數控車床的主軸轉速指令功能,有兩種表達方式,一種是以r/min或rpm作為計量單位。另一種是以m/min為計量單位。數控車床的S代碼必須與G96或G97配合使用才能設置主軸轉速或切削速度。
G97:轉速指令,定義和設置每分鍾的轉速。
G96:恆線速度指令,使工件上任何位置上的切削速度都是一樣的。
第二部分 程序內容部分
程序內容是整個程序的主要部分,由多個程序段組成。每個程序段由若干個字組成,每個字又由地址碼和若干個數字組成。常見的為G指令和M指令以及各個軸的坐標點組成的程序段,並增加了進給量的功能定義。
F功能是指進給速度的功能,數控車床進給速度有兩種表達方式,一種是每轉進給量,即用mm/r單位表示,主要用於車加工的進給。另一種和數控銑床相同採用每分鍾進給量,即用mm/min單位表示。主要用於車銑加工中心中銑加工的進給。
第三部分 程序結尾部分
在程序結尾,需要刀架返回參考點或機床參考點,為下一次換刀的安全位置,同時進行主軸停止,關掉冷卻液,程序選擇停止或結束程序等動作。
回參考點指令G28U0為回X軸方向機床參考點,G0 Z300.0為回Z軸方向參考點。
停止指令M01為選擇停止指令,只有當設備的選擇停止開關打開時才有效;M30為程序結束指令,執行時,冷卻液、進給、主軸全部停止。數控程序和數控設備復位並回到加工前原始狀態,為下一次程序運行和數控加工重新開始做准備。
數控機床程序編制
一. 數控機床編程的方法
數控機床程序編制的方法有三種:即手工編程、自動編程和
加工中心CAD/CAM 。
1. 手工編程
由人工完成零件圖樣分析、工藝處理、數值計算、書寫程序清單直到程序的輸入和檢驗。適用於點位加工或幾何形狀不太復雜的零件,但是,非常費時,且編制復雜零件時,容易出錯。
2. 自動編程
使用計算機或程編機,完成零件程序的編制的過程,對於復雜的零件很方便。
3. CAD/CAM
利用CAD/CAM軟體,實現造型及圖象自動編程。最為典型的軟體是Master CAM,其可以完成銑削二坐標、三坐標、四坐標和五坐標、車削、線切割的編程,此類軟體雖然功能單一,但簡單易學,價格較低。
二.數控機床程序編制的內容和步驟
1. 數控機床編程的主要內容
分析零件圖樣、確定加工工藝過程、進行數學處理、編寫程序清單、製作控制介質、進行程序檢查、輸入程序以及工件試切。
2. 數控機床的步驟
1) 分析零件圖樣和工藝處理
根據圖樣對零件的幾何形狀尺寸,技術要求進行分析,明確加工的內容及要求,決定加工方案、確定加工順序、設計夾具、選擇刀具、確定合理的走刀路線及選擇合理的切削用量等。
同時還應發揮數控系統的功能和數控機床本身的能力,正確選擇對刀點,切入方式,盡量減少諸如換刀、轉位等輔助時間。
2) 數學處理
編程前,根據零件的幾何特徵,先建立一個工件坐標系,
數控系統的功能根據零件圖紙的要求,制定加工路線,在建立的工件坐標繫上,首先計算出刀具的運動軌跡。對於形狀比較簡單的零件(如直線和圓弧組成的零件),只需計算出幾何元素的起點、終點、圓弧的圓心、兩幾何元素的交點或切點的坐標值。
3) 編寫零件程序清單
加工路線和工藝參數確定以後,根據數控系統規定的指定代碼及程序段格式,編寫零件程序清單。
4) 程序輸入
5) 程序校驗與首件試切
三.數控加工程序的結構
1. 程序的構成:由多個程序段組成。
O0001;O(FANUC-O,AB8400-P,SINUMERIK8M-%)機能指定程序號,每個程序號對應一個加工零件。
N010 G92 X0 Y0;分號表示程序段結束
N020 G90 G00 X50 Y60;
...;可以調用子程序。
N150 M05;
N160 M02;
2. 程序段格式:
1) 字地址格式:如N020 G90 G00 X50 Y60;
最常用的格式,現代數控機床都採用它。地址N為程序段號,地址G和數字90構成字地址為准備功能,...。
2) 可變程序段格式:如B2000 B3000 B B6000;
使用分割符B各開各個字,若沒有數據,分割符不能省去。常見於數控線切割機床,另外,還有3B編程等格式。
3) 固定順序程序段格式:如00701+0;
比較少見。其中的數據嚴格按照順序和長度排列,不得有
西門子系統控制的機器人誤,上面程序段的意思是:N007 G01 X+02500 Y-13400 F15 S30 M02;
零件圖的數學處理
零件圖的數學處理主要是計算零件加工軌跡的尺寸,即計算零件加工輪廓的基點和節點的坐標,或刀具中心輪廓的基點和節點的坐標,以便編制加工程序。
一.基點坐標的計算
一般數控機床只有直線和圓弧插補功能。對於由直線和圓弧組成的平面輪廓,編程時數值計算的主要任務是求各基點的坐標。
1. 基點的含義
構成零件輪廓的不同幾何素線的交點或切點稱為基點。基點可以直接作為其運動軌跡的起點或終點。
2. 直接計算的內容
根據填寫加工程序單的要求,基點直接計算的內容有:每條運動軌跡的起點和終點在選定坐標系中的坐標,圓弧運動軌跡的圓心坐標值。
基點直接計算的方法比較簡單,一般可根據零件圖樣所給的已知條件用人工完成。即依據零件圖樣上給定的尺寸運用代數、三角、幾何或解析幾何的有關知識,直接計算出數值。在計算時,要注意小數點後的位數要留夠,以保證足夠的精度。
二.節點坐標的計算
對於一些平面輪廓是非圓方程曲線Y=F(X)組成,如漸開線、阿基米德螺線等,只能用能夠加工的直線和圓弧去逼近它們。這時數值計算的任務就是計算節點的坐標。
1. 節點的定義
當採用不具備非圓曲線插補功能的數控機床加工非圓曲線輪廓的零件時,在加工程序的編制工作中,常用多個直線段或圓弧去近似代替非圓曲線,這稱為擬合處理。擬合線段的交點或切點稱為節點。
2. 節點坐標的計算
節點坐標的計算難度和工作量都較大,故常通過計算機完成,必要時也可由人工計算,常用的有直線逼近法(等間距法、等步長法、和等誤差法)和圓弧逼近法。
有人用AutoCAD繪圖,然後捕獲坐標點,在精度允許的范圍內,
發那科數控系統也是一個簡易而有效的方法.
培養目標:
本專業培養學生從事數控加工、機械產品設計與製造、生產技術管理方面的高等工程技術應用型人才。要求學生能在生產現場從事產品製造、開發工作,或在技術部門從事工藝、管理工作。主要培養學生數控編程、加工及數控車床、數控銑床、數控加工中心及其它數控設備的操作維修、維護方面的理論知識和專業知識。並能獲得國家勞動和社會保障部頒發的數控工藝員技術等級證書,車鉗工等級證書。
主幹課程設置:機械制圖及計算機繪圖,工程力學,機械設計,單片機原理及介面技術,機械製造技術基礎,電工電子基礎,電氣控制技術,數控機床控制技術和系統,數控機床原理及應用,數控機床編程與操作,CAD/CAM技術,機床夾具,數控機床維修技術。AUTOCAD平面繪圖,MASTERCAM三維設計,PRO/E實體造型。以及金工實訓,車鉗工實訓,數控車實訓 。
就業情況:
本專業畢業生主要面向珠三角外資大中型企事業單位及國有企事業單位的操作、銷售、工藝、設備維護等部門,主要培養數控機床操作人員、數控編程工藝人員、NC數控編程、數控設備維修人員、數控設備營銷人員。此外還能從事CAD/CAM軟體應用,數控系統或設備的銷售與技術服務工作,數控設備的安裝調試及維護,以及車間生產組織與管理等工作.NC數控編程,
編程技巧
科學技術的發展,導致產品更新換代的加快和人們需求的多樣化,產品的生產也趨向種類多樣化、批量中小型化。為適應這一變化,數控(NC)設備在企業中的作用愈來愈大。我校作為國家級重點職校,為順應時代潮流,重點建設數控專業,選購了BIEJING-FANUC Power Mate O數控車床。它與普通車床相比,一個顯著的優點是:對零件變化的適應性強,更換零件只需改變相應的程序,對刀具進行簡單的調整即可做出合格的零件,為節約成本贏得先機。但是,要充分發揮數控機床的作用,不僅要有良好的硬體,(如:優質的刀具、機床的精度等),更重要的是軟體:編程,即根據不同的零件的特點,編制合理、高效的加工程序。通過多年的編程實踐和教學,我摸索出一些編程技巧。
數控車床雖然加工柔性比普通車床優越,但單就某一種零件的生產效率而言,與普通車床還存在一定的差距。因此,提高數控車床的效率便成為關鍵,而合理運用編程技巧,編制高效率的加工程序,對提高機床效率往往具有意想不到的效果。
靈活設置參考點
BIEJING-FANUC Power Mate O數控車床共有二根軸,即主軸Z和刀具軸X。棒料中心為坐標系原點,各刀接近棒料時,坐標值減小,稱之為進刀;反之,坐標值增大,稱為退刀。當退到刀具開始時位置時,刀具停止,此位置稱為參考點。參考點是編程中一個非常重要的概念,每執行完一次自動循環,刀具都必須返回到這個位置,准備下一次循環。因此,在執行程序前,必須調整刀具及主軸的實際位置與坐標數值保持一致。然而,參考點的實際位置並不是固定不變的,編程人員可以根據零件的直徑、所用的刀具的種類、數量調整參考點的位置,縮短刀具的空行程。從而提高效率。
化零為整法
在低壓電器中,存在大量的短銷軸類零件,其長徑比大約為2~3,直徑多在3mm以下。由於零件幾何尺寸較小,普通儀表車床難以裝夾,無法保證質量。如果按照常規方法編程,在每一次循環中只加工一個零件,由於軸向尺寸較短,造成機床主軸滑塊在床身導軌局部頻繁往復,彈簧夾頭夾緊機構動作頻繁。長時間工作之後,便會造成機床導軌局部過度磨損,影響機床的加工精度,嚴重的甚至會造成機床報廢。而彈簧夾頭夾緊機構的頻繁動作,則會導致控制電器的損壞。要解決以上問題,必須加大主軸送進長度和彈簧夾頭夾緊機構的動作間隔,同時不能降低生產率。由此設想是否可以在一次加工循環中加工數個零件,則主軸送進長度為單件零件長度的數倍 ,甚至可達主軸最大運行距離,而彈簧夾頭夾緊機構的動作時間間隔相應延長為原來的數倍。更重要的是,原來單件零件的輔助時間分攤在數個零件上,每個零件的輔助時間大為縮短,從而提高了生產效率。為了實現這一設想,我電腦到電腦程序設計中主程序和子程序的概念,如果將涉及零件幾何尺寸的命令欄位放在一個子程序中,而將有關機床控制的命令欄位及切斷零件的命令欄位放在主程序中,每加工一個零件時,由主程序通過調用子程序命令調用一次子程序,加工完成後,跳轉回主程序。需要加工幾個零件便調用幾次子程序,十分有利於增減每次循環加工零件的數目。通過這種方式編制的加工程序也比較簡潔明了,便於修改、維護。值得注意的是,由於子程序的各項參數在每次調用中都保持不變,而主軸的坐標時刻在變化,為與主程序相適應,在子程序中必須採用相對編程語句。
減少刀具空行程
在BIEJING-FANUC Power Mate O數控車床中,刀具的運動是依靠步進電動機來帶動的,盡管在程序命令中有快速點定位命令G00,但與普通車床的進給方式相比,依然顯得效率不高。因此,要想提高機床效率,必須提高刀具的運行效率。刀具的空行程是指刀具接近工件和切削完畢後退回參考點所運行的距離。只要減少刀具空行程,就可以提高刀具的運行效率。(對於點位控制的數控車床,只要求定位精度較高,定位過程可盡可能快,而刀具相對工件的運動路線是無關緊要的。)在機床調整方面,要將刀具的初始位置安排在盡可能靠近棒料的地方。在程序方面,要根據零件的結構,使用盡可能少的刀具加工零件使刀具在安裝時彼此盡可能分散,在很接近棒料時彼此就不會發生干涉;另一方面,由於刀具實際的初始位置已經與原來發生了變化,必須在程序中對刀具的參考點位置進行修改,使之與實際情況相符,與此同時再配合快速點定位命令,就可以將刀具的空行程式控制制在最小范圍內從而提高機床加工效率。
優化參數,平衡刀具負荷,減少刀具磨損
波傳播的是疏密相間的運動形態。機械波是振動形式
『叄』 數控機床怎樣學習編程
數控機床是比較前沿的工業自動化裝備,技術含量比較高,要學習數控機床編程,首先應該了解機床的結構和加工原理,然後應該熟悉機械加工工藝,和常家材質的基本性能,最後應該理解編程理論及G代碼的格式,和軟體編程的方法。具備這些能力編程就不是問題。
『肆』 求:數控機床中常用的編程指令有哪些(指令加解釋)
1)快速點定位指令G00
G00指令是模態代碼,它命令刀具分別以點定位控制方式從刀具所在點快速運動到下一個目標位置。它只是快速定位,而無運動軌跡要求。
其指令書寫格式是:G00 X_Z_;刀具實際的運動路線不是直線,而是折線,所以使用G00指令時要注意刀具是否和工件急夾具發生干涉,忽略這一點,就容易發生碰撞,而在快速狀態下的碰撞更加危險。
2)直線插補指令G01
直線插補指令是直線運動指令,也是模態代碼。它命令刀具在兩坐標或三坐標間以插補聯動方式按指定的F進給速度(單位為mm/min)作任意斜率的直線運動。
其指令書寫格式是:G01 X_Z_F_;F指令也是模態指令,它可以用G00指令取消。如果早G01程序段之前的程序段沒有F指令,則機床不動。因此,G01程序中必須還有F指令。
3)圓弧插補指令G02/G03(採用笛卡爾坐標判斷)
圓弧插補指令命令刀具在指定平面內按給定的F進給速度作圓弧運動,切削出圓弧輪廓。在車床上加工圓弧時,不僅要用G02/G03指出圓弧的順逆時針方向,用XZ指定圓弧的終點坐標,而且還要指定圓弧的半徑。
其指令書寫格式是:G02/G03 X_Z_R_;
(3)輔助功能:用來指定機床的輔助動作(如機床的啟停、轉向、切削液的開關、主軸轉向、刀具夾緊松開等〕
M00-程序暫停
M01-程序計劃暫停
M02-程序結束
M03-主軸正轉(CW)
M04-主軸反轉(CCW)
M05-主軸停轉
M06-加工中心換刀
M07、M08-冷卻液開
M09-冷卻液關
M10-工件夾緊
M11-工件松開
M30-程序結束,返回起點
M03和M04指令之間必須用M05指令使主軸停轉後進行。
(4)進給功能F
如果採用直接指定法,在F後面直接寫上要求的進給速度,如F1000,表示進給量是1000mm/min);車螺紋、攻絲和套扣時,由於進給速度與主軸轉速有關,F後面數字是指定的導程。
(5)主軸功能S
S指定主軸轉速,如S800,表示主軸轉速為800r/min。
(6)刀具功能T
指令數控系統進行換刀,用地址T和其後的4位數字來指定刀具號和刀具補償號(刀具偏置號)。前2位是刀具序號:0~99,後2位是刀具補償號:0~32。每一刀具加工結束後,必須取消刀具補償。
刀具序號可以和刀盤上的刀位號相對應;
刀具補償包括形狀補償和磨損補償;
刀具序號和刀具補償號不必相同,為方便起見也可一致。
在數控裝置中,程序的記錄是靠程序號來辨別的,即調用程序或者編輯程序都要通過程序號來調出。
1.程序編號的結構:O ;
「O」後面數字用4位數(1~9999)表示,不允許為「0」。
2.程序段順序號:在程序段前加上順序號,如:N ;
「O」後面數字用4位數(1~9999)表示,不允許為「0」 。
工件坐標系的設定
工件安裝在卡盤上,機床坐標系與工件坐標系一般是不重合的,為便於編程,應建立一個工件坐標系,使刀具在此坐標系中進行加工。
G50 X Z
該指令規定刀具起刀點或換刀點至工件原點的距離,坐標X,Z為刀尖在工件坐標系中的起始點位置。
對於有刀具補償功能的數控機床,其對刀誤差可以通過刀具偏移來補償,所以調整機床時的要求並不嚴格。
數控車床的基本對刀方法
常用的對刀方法有三種:試切對刀法、機械檢測對刀儀對刀、光學檢測對刀儀對刀。
採用G50 U W 可以使坐標系產生平移,用新的坐標值代替舊的坐標值,使機床坐標系與工件坐標系相互取代。應當注意,在機床坐標系中,坐標值是刀架中心點相對於機床原點的距離;而在工件坐標系中,坐標值是刀尖相對工件原點的距離.
數控銑削編程方法與應用
1.數控銑床的坐標系
(1)機床坐標系
機床坐標系是機床上固有的坐標系,並設有固定的零點(機械零點),它由廠家在生產機床時確定。
XK5032立式數控銑床符合ISO規定,即以機床主軸軸線方向為Z軸,刀具遠離工件方向為Z軸正方向;X軸規定為水平平行於工件工件裝夾表面,人在工作台前面對主軸,右方向為X軸正方向;Y軸垂直於X,Z軸坐標軸,其方向根據笛卡兒坐標系右手定則確定。
(2)工件坐標系
工件坐標系是用來確定工件幾何形體上各要素的位置而設置的坐標系,工件坐標系的原點即為工件零點。工件零點的位置是任意的,由編程人員編製程序時根據零件特點選定。
(3)工件坐標系的設定
工件坐標系的設定是進行變成計算的第一步,應當根據不同的加工要求和編程的方便性恰當選擇。
1)用G92設定工件坐標系
其輸入格式:G92 X Y Z
該指令可以出現在程序的第一段,也可出現在程序段中間,以重新設定工件坐標系。數控系統執行該指令前,一般先把刀具置於一個合適的位置,執行該段程序後,機床並不產生運動,只是把坐標設定值送入內存。
2)G54~G59設定工件坐標系
XK5032立式數控銑床還可以通過CRT/MDI在參數設置方式下,設定6個不同的工件坐標系。這6個坐標系分別被記憶成G54、G55、G56、G57、G58、G59,在加工時通過G54~G59指令選擇相應的坐標系。
G90指令與G54~G59指令的使用區別是:G92指令通過程序來設定工件加工程序,其坐標原點與當前刀具所在位置有關;而G54~G59指令通過CRT/MDI在參數設置方式下設定工件坐標系,其坐標原點與當前刀具所在位置無關。G92指令只是設定坐標系,不產生任何移動;G54~G59指令可以與G00指令等組合在相應的工件坐標系中進行位移。
2.主要功能指令
(1)常用輔助功能指令
用來指定機床的輔助動作和狀態(如機床的啟停、轉向、切削液的開關、主軸轉向、刀具夾緊松開等〕
M00-程序暫停,機床的轉動、進給、切削液停止。重新啟動機床後繼續執行下面的程序;
M01-程序選擇停止指令,只有按下面板上「選擇停止」鍵,該指令才有效。執行該指令,與M00相似。按「啟動」鍵,繼續執行下面的程序;
M02-程序結束,機床處於復位狀態;
M03-主軸正轉(CW);
M04-主軸反轉(CCW);
M05-主軸停轉。M03和M04指令之間必須用M05指令使主軸停轉後進行;
M08-冷卻液開;
M09-冷卻液關;
M98-放在主程序中,用來調用子程序。格式為:M98 P ,其後8位數字,前4位是調用次數,後4位是子程序號。調用1次時,前4位可省略。
M99-放在子程序最後,用來返回主程序的相應程序段。當M99後不跟任何代碼時,返回調用程序的後一段程序段。否則返回到M98 P 所指定的P後的程序段。
當M99單獨在主程序中使用時,不跟任何代碼,返回主程序的開頭,否則返回到主程序P指定的程序段。