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