- 相關推薦
如何學好數(shù)控車床編程
引導語:學習數(shù)控編程應該掌握的的一些基本知識點和學習方法有哪些?對此小編整理出了一些對幾種常用數(shù)控機床的基本編程要點和技巧,為大家能夠學好學精數(shù)控編程這門技術應該作何前期準備的一個簡單論述。希望能夠幫助到大家!
隨著我國制造業(yè)快速發(fā)展,數(shù)控機床以具有自動化程度高、生產(chǎn)率高、柔性好、加工精度高、加工質量穩(wěn)定、易于建立與計算機間的通信聯(lián)絡、容易實現(xiàn)群控和良好的經(jīng)濟效益等優(yōu)點,迅速的占領制造業(yè)的市場。對于機械制造專業(yè)的學生來講,今后畢業(yè)將從事的行業(yè)很可能是數(shù)控加工行業(yè)。因此學好數(shù)控加工技術對于今后的就業(yè)就有著更加重要的意義。筆者在此提出自己在學習和實際操作數(shù)控機床時的一些心得體會以供廣大初學者參考。
一、數(shù)控機床的加工原理
學習數(shù)控加工技術首先得弄清數(shù)控加工的工作原理。首先將被加工零件圖上的幾何信息和工藝信息數(shù)字化,即將刀具與工件的相對運動軌跡、加工過程的切削速度、進給速度、工件和刀具的交換、冷卻液的開關等信息都按規(guī)定的代碼和格式編成加工程序,接著將該程序送到數(shù)控系統(tǒng);數(shù)控系統(tǒng)則按照程序的要求,先進行相應的運算、處理,然后發(fā)出控制命令是個坐標軸、主軸及輔助動作相互協(xié)調,實現(xiàn)刀具與工件間的相對運動實現(xiàn)零件的加工。
二、數(shù)控加工中涉及的坐標系
數(shù)控機床上各個運動執(zhí)行部件的動作都是由數(shù)控驅動單元(CNC裝置)控制的。因此為了建立各個運動部件相對于機床的相對位置的量化關系可借助坐標系來實現(xiàn)。這個坐標系是機床出廠是生產(chǎn)廠家已經(jīng)確定的稱為機床坐標系,建立機床坐標系的原點稱之為機床原點或零點。參考點是機床上坐標系中一個固定不變的位置點。通常將參考點與機床坐標系原點設置為同一點,所以有些機床上回參考點操作也叫回零點操作。在數(shù)控編程中通常以零件圖上某一點來建立坐標系進行編程,這個點稱之為工件編程零點,這個坐標系稱為工件坐標系。建立工件坐標系的目的在于方便和簡化編程。
三、數(shù)控編程的方法
數(shù)控編程的方法主要有兩種:一是手工編程;二是自動編程。兩種編程方法各有優(yōu)缺點和適用于不同的加工范圍。手工編寫的程序具有程序簡單精煉、易于讀懂、程序調整容易、適用于編寫比較簡單的零部件的加工程序,但是手工編程難以實現(xiàn)復雜曲面的加工。而自動編程是指用計算機來編制數(shù)控加工程序,自動編程的效率高、正確性好、操作安全可靠、能實現(xiàn)手工編程無法實現(xiàn)的復雜曲面的加工,但自動編程編寫的程序比較冗長、不精煉、有些情況下走到軌跡不是很合理比較耗費工時,所以編程人員要根據(jù)零件實際情況選擇合理對的編程方式。
四、常用機床的編程
(1)數(shù)控車床編程。數(shù)控車削加工過程中通常會用到車削循環(huán)指令,車削循環(huán)指令主要有簡單車削循環(huán)指令和復合循環(huán)車削指令,而簡單車削循環(huán)指令與復合車削循環(huán)指令里面又各包含幾種不同的車循循環(huán)指令。面對不同的車削循環(huán)指令究竟該用哪一種合理,依賴于學習者對各種車削循環(huán)指令的走刀軌跡及走刀特點有一定的了解才能做出合理的選擇。對于車削比較細長的工件而用到尾座和頂尖時,編寫加工程序時應謹慎選擇退刀和換刀的位置防止刀架與頂尖或是尾座發(fā)生碰撞。另外在車削錐面和圓弧時由于刀位點的變動,往往會造成過切或欠切的現(xiàn)象,可借助刀尖半徑補償功能來消除此類加工誤差。
(2)數(shù)控銑床編程。數(shù)控銑主要用于加工平面類、變斜角類、曲面類、箱體類零件。數(shù)控銑床在加工過程中實際是控制刀具中心軌跡來實現(xiàn)銑削加工的,因此若不采取措施直接編程加工,所加工的零件在尺寸方面必然達不到圖紙的要求。決解這個問題的方法主要有兩種:一是編程時在相應的尺寸上加上或減去一個刀具半徑,二是運用刀具半徑補償功能來補償一個刀具半徑。在建立刀補的過程中刀具首先運動到程序中指定的目標位置,然后再根據(jù)刀具半徑補償中儲存的數(shù)據(jù)相對與原軌跡偏離一個距離,所以在建立刀具半徑補償時建立刀補的距離必須大于刀具半徑。而且建立與取消刀補必須在G01和G00上進行。在有些情況下為了防止在加工零件表面留下進刀痕跡可選擇圓弧切入切出的方式進行進刀。另外通過修改刀具半徑補中存儲的數(shù)值還可實現(xiàn)粗精加工。當數(shù)控機床用到多把刀進行加工時,在對刀的過程中只有第一把刀的X、Y、Z三個方向都要進行對刀操作其它刀具只需進行Z方向對刀操作即可。
(3)數(shù)控加工中心的編程。數(shù)控加工中心主要用于加工形狀復雜、工序多、精度要求比較高的工件。數(shù)控加工中心與數(shù)控車數(shù)控銑最大區(qū)別在于數(shù)控加工中心有刀庫和自動換刀裝置。對于不同規(guī)格的加工中心擁有不同數(shù)量刀具的刀庫,故刀具從刀具庫轉到換刀位所需要的時間有長有短,因此在編寫換刀指令時也比較靈活。例如:當?shù)毒叻祷氐綋Q刀點的時間小于從刀具庫選刀的時間,為提高生產(chǎn)效率減少等待換刀的時間可將選刀動作指令編寫在換刀指令之前,在銑削的同時進行選刀。另外加工中心通常用長度補償指令來設置Z向零點。所以在設定工件坐標系時通常僅僅在X、Y兩個方向上進行零點偏置,Z向不進行偏置采取直接置零。當機床換上加工刀具后用塊規(guī)找正Z向,讀取塊規(guī)松緊合適時機床坐標系的Z值減去塊規(guī)高度后將其輸入到刀具長度補償值中,實現(xiàn)Z向零點的設定。通常情況下在編寫加工中心加工程序時應以工序集中原則進行編寫。
五、數(shù)控仿真的應用
實踐是檢驗真理的唯一標準。掌握了一定的數(shù)控編程技術理論基礎后,不進行實際操作只在紙上談兵也是不行的。初學者直接在數(shù)控機床上進行操作練習,難免會因不熟練或誤操作而導致造成機床設備的損壞。而且對于一個初學者來講也不可能有較多的實際上機操作練習的機會。數(shù)控仿真則提供了一個很好的學習平臺供學習者來進行模擬上機操作。初學者有足夠的時間和機會在數(shù)控仿真軟件進行各種數(shù)控機床的操作練習,并且初學者可通過仿真來實際感受加工環(huán)境、刀具毛坯的安裝、切削加工過程、觀察各種指令的走刀軌跡。另外數(shù)控仿真同樣可對加工程序進行快速精確的校驗,以防止加工時出現(xiàn)干涉碰刀現(xiàn)象。在數(shù)控仿真上進行模擬操作幾乎與實際機床上的操作是一樣的,因此它在一定程度上可以達到佷好的操作練習的目的。
六、進一步學習數(shù)控的必要準備
前面提到過對于一些比較復雜的曲面單靠人工進行編程往往是比較困難的,運用一些編程軟件進行自動編程可很好的解決這一難題。因此要想學好、學精數(shù)控編程這一門技術僅僅學習人工編程是遠遠不夠的,還得學習一些自動編程的知識,兩者結合在一起用才行。目前我國應用的比較多自動編程軟件有:國產(chǎn)的CAXA、美國的Pro/Engineer、UG CAD/CAM系統(tǒng)、Mastercam、以色列的CIMATRON等軟件,這些自動編程軟件在自動編程過程比較重要的一步是對零件進行幾何建模。所以學習者在學好手工編程的基礎上還得學習當今一些主流編程的基本建模方法和技巧。雖然當今的數(shù)控技術發(fā)展的比較完善各種功能的加工指令也比較齊全。但是隨著產(chǎn)品的不斷更新?lián)Q代,這些指令可能滿足不了某些特殊零件的加工要求。而數(shù)控系統(tǒng)為用戶提供了宏程序功能,用戶可根據(jù)自己的加工要求來對數(shù)控系統(tǒng)的功能進行拓展。故學習一定的用戶宏程序知識對于今后在數(shù)控行業(yè)的發(fā)展還是很有必要的。
一個優(yōu)秀的數(shù)控編程技術人員應不僅滿足編寫出零件輪廓的加工程序,還應做到所編寫的程序加工效率高、工藝性好、工藝參數(shù)選用合理、加工出來的零件合格率高、刀具壽命長、加工過程對機床壽命影響小。另外學好數(shù)控編程技術并不僅僅在于一朝一夕的努力刻苦學習,必須通過長期堅持不懈的努力鉆研和實際操作經(jīng)驗的積累才能培養(yǎng)出優(yōu)秀的數(shù)控技術人才。
Java數(shù)據(jù)庫編程中的幾個常用技巧
1、java數(shù)據(jù)庫操作基本流程
2、幾個常用的重要技巧:
可滾動、更新的記錄集
批量更新
事務處理
java數(shù)據(jù)庫操作基本流程:取得數(shù)據(jù)庫連接 - 執(zhí)行sql語句 - 處理執(zhí)行結果 - 釋放數(shù)據(jù)庫連接
1、取得數(shù)據(jù)庫連接
1)用DriverManager取數(shù)據(jù)庫連接
例子:
String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);
2)用jndi(java的命名和目錄服務)方式
例子
String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection();
多用于jsp中
2、執(zhí)行sql語句
1)用Statement來執(zhí)行sql語句
String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 執(zhí)行數(shù)據(jù)查詢語句(select)
sm.executeUpdate(sql); // 執(zhí)行數(shù)據(jù)更新語句(、update、、drop等)statement.close();
2)用PreparedStatement來執(zhí)行sql語句
String sql;
sql = " into user (id,name) values (?,?)";
PreparedStatement ps = cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSet rs = ps.executeQuery(); // 查詢
int c = ps.executeUpdate(); // 更新
3、處理執(zhí)行結果
查詢語句,返回記錄集ResultSet。
更新語句,返回數(shù)字,表示該更新影響的記錄數(shù)。
ResultSet的方法:
1、next(),將游標往后移動一行,如果成功返回true;否則返回false。
2、getInt("id")或getSting("name"),返回當前游標下某個字段的值。
3、釋放連接。
cn.close();
一般,先關閉ResultSet,然后關閉Statement(或者PreparedStatement);最后關閉Connection
可滾動、更新的記錄集
1、創(chuàng)建可滾動、更新的Statement
Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);
該Statement取得的ResultSet就是可滾動的
2、創(chuàng)建PreparedStatement時指定參數(shù)
PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet.absolute(9000);
批量更新
1、Statement
Statement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
一個Statement對象,可以執(zhí)行多個sql語句以后,批量更新。這多個語句可以是、update、等或兼有
2、PreparedStatement
PreparedStatement ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();
一個PreparedStatement,可以把一個sql語句,變換參數(shù)多次執(zhí)行,一次更新。
事務的處理
1、關閉Connection的自動提交
cn.setAutoCommit(false);
2、執(zhí)行一系列sql語句
要點:執(zhí)行每一個新的sql語句前,上一次執(zhí)行sql語句的Statement(或者PreparedStatemet)必須先close
Statement sm ;
sm = cn.createStatement( into user...);
sm.executeUpdate();
sm.close();
sm = cn.createStatement(" into corp...);
sm.executeUpdate();
sm.close();
3、提交
cn.commit();
4、如果發(fā)生異常,那么回滾
cn.rollback();
【如何學好數(shù)控車床編程】相關文章:
數(shù)控車床編程與操作08-17
教你如何學好工程制圖10-15
法國留學時如何學好法語10-25
零基礎又如何,起點低照樣學好英語10-21
數(shù)控車床的日常維護08-12
赴美國留學前期如何讓孩子學好SSAT08-26
數(shù)控車床的操作方法03-24
數(shù)控車床加工工藝技巧05-27
數(shù)控編程M代碼大全03-22