
程序的構(gòu)成 為了完成零件的自動(dòng)加工,用戶需要按照CNC 的編程格式編寫零件程序(簡稱程序)。CNC 執(zhí)行程序完成 機(jī)床進(jìn)給運(yùn)動(dòng)、主軸起停、刀具選擇、冷卻、潤滑等控制,從而實(shí)現(xiàn)零件的加工。 程序示例: 

程序的一般結(jié)構(gòu) 程序是由以“OXXXX”(程序名)開頭、以“%”號(hào)結(jié)束的若干行程序段構(gòu)成的。 程序段是 以程序段號(hào)開始 (可省略),以“;”或“*”結(jié)束的若干個(gè)代碼字構(gòu)成。 程序的一般結(jié)構(gòu)如圖所示。 
程序名 本系統(tǒng)最多可以存儲(chǔ)10000個(gè)程序,為了識(shí)別區(qū)分各個(gè)程序,每個(gè)程序都有****的程序名(程序名不允許重 復(fù)),程序名位于程序的開頭由大寫字母O及其后的四位數(shù)字構(gòu)成。 
代碼字 代碼字是用于命令CNC完成控制功能的基本代碼單元,代碼字由一個(gè)英文字母(稱代碼地址)和其后的數(shù)值 (稱為代碼值,為有符號(hào)數(shù)或無符號(hào)數(shù))構(gòu)成。代碼地址規(guī)定了其后代碼值的意義,在不同的代碼字組合情況 下,同一個(gè)代碼地址可能有不同的意義。 下表為本系統(tǒng)所有代碼字的一覽表。 

程序段 程序段由若干個(gè)代碼字構(gòu)成,以“;”或“*”結(jié)束,是CNC程序運(yùn)行的基本單位。程序段之間用字符“;” 或“*”分開,本手冊中用“;”表示。 示例如下: 
一個(gè)程序段中可輸入若干個(gè)代碼字,也允許無代碼字而只有“;”號(hào)(EOB鍵)結(jié)束符。有多個(gè)代碼字時(shí), 代碼字之間必須輸入一個(gè)或一個(gè)以上空格。 在同一程序段中,除N、G、S、T、H、L等地址外,其它的地址只能出現(xiàn)一次,否則將產(chǎn)生報(bào)警(代碼字在同一 個(gè)程序段中被重復(fù)指令)。N、S、T、H、L代碼字在同一程序段中重復(fù)輸入時(shí),相同地址的最 后一個(gè)代碼字有效。同組的G代碼在同一程序段中重復(fù)輸入時(shí),最后一個(gè)G代碼有效。 程序段號(hào) 程序段號(hào)由地址N和后面四位數(shù)構(gòu)成:N0000~N9999,前導(dǎo)零可省略。程序段號(hào)應(yīng)位于程序段的開頭,否則 無效。 程序段號(hào)可以不輸入,但程序調(diào)用、跳轉(zhuǎn)的目標(biāo)程序段必須有程序段號(hào)。程序段號(hào)的順序可以是任意的, 其間隔也可以不相等,為了方便查找、分析程序,建議程序段號(hào)按編程順序遞增或遞減。 如果在開關(guān)設(shè)置頁面將“自動(dòng)序號(hào)”設(shè)置為“開”,將在插入程序段時(shí)自動(dòng)生成遞增的程序段號(hào),程序段 號(hào)增量由參數(shù)№27設(shè)定。 程序段選跳符 如在程序執(zhí)行時(shí)不執(zhí)行某一程序段(而又不想刪除該程序段),就在該程序段前插入“/”,并打開程序段 選跳開關(guān)。程序執(zhí)行時(shí)此程序段將被跳過、不執(zhí)行。 如果程序段選跳開關(guān)未打開,即使程序段前有“/”該程序 段仍會(huì)執(zhí)行。 程序結(jié)束符 “%”為程序文件的結(jié)束符,在通信傳送程序時(shí),“%”為通信結(jié)束標(biāo)志。新建程序時(shí),CNC自動(dòng)在程序尾 部插入“%”。 主程序和子程序 為簡化編程,當(dāng)相同或相似的加工軌跡、控制過程需要多次使用時(shí),就可以把該部分的程序指令編輯為獨(dú) 立的程序進(jìn)行調(diào)用。調(diào)用該程序的程序稱為主程序,被調(diào)用的程序(以M99結(jié)束)稱為子程序。子程序和主程序 一樣占用系統(tǒng)的程序容量和存儲(chǔ)空間,子程序必須有自己獨(dú)立的程序名,子程序可以被其它任意主程序調(diào)用, 也可以獨(dú)立運(yùn)行。子程序結(jié)束后就返回到主程序中繼續(xù)執(zhí)行, 見下圖所示 
程序運(yùn)行的順序 必須在自動(dòng)操作方式下才能運(yùn)行當(dāng)前打開的程序,CNC不能同時(shí)打開2個(gè)或更多程序,因此,CNC在任一時(shí)刻 只能運(yùn)行一個(gè)程序。打開一個(gè)程序時(shí),光標(biāo)位于第一個(gè)程序段的行首,在編輯操作方式下可以移動(dòng)光標(biāo)。在自 動(dòng)操作方式的運(yùn)行停止?fàn)顟B(tài),用循環(huán)啟動(dòng)信號(hào)(機(jī)床面板的循環(huán)啟動(dòng)鍵或外接循環(huán)啟動(dòng)信號(hào))從當(dāng)前光標(biāo)所在 的程序段啟動(dòng)程序的運(yùn)行,通常按照程序段編寫的先后順序逐個(gè)程序段執(zhí)行,直到執(zhí)行了M02或M30代碼,程序 運(yùn)行停止。光標(biāo)隨著程序的 運(yùn)行而移動(dòng),始終位于當(dāng)前程序段的行尾。在以下情況下,程序運(yùn)行的順序或狀態(tài) 會(huì)發(fā)生改變: 程序運(yùn)行時(shí)按了復(fù)位鍵或急停按鈕,程序運(yùn)行終止; 程序運(yùn)行時(shí)產(chǎn)生了CNC報(bào)警或PLC報(bào)警,程序運(yùn)行終止; 程序運(yùn)行時(shí)按了進(jìn)給保持鍵或外接暫停信號(hào)斷開,程序運(yùn)行暫停,再按鍵或外接循環(huán)啟動(dòng)信號(hào) 接通時(shí),程 序從停止的位置繼續(xù)運(yùn)行; 單段開關(guān)打開時(shí),每個(gè)程序段運(yùn)行結(jié)束后程序運(yùn)行暫停,需再按循環(huán)啟動(dòng)鍵或外接循環(huán)啟動(dòng)信號(hào)接通時(shí), 從下一程序段繼續(xù)運(yùn)行; 程序段選跳開關(guān)打開,程序段前有“/”的程序段被跳過、不執(zhí)行; 執(zhí)行G70~73復(fù)合循環(huán)代碼的程序運(yùn)行順序比較特殊,詳見《G代碼》; 執(zhí)行M98代碼時(shí),調(diào)用對(duì)應(yīng)的子程序運(yùn)行;子程序運(yùn)行結(jié)束,執(zhí)行M99代碼時(shí),返回主程序中調(diào)用程序段的 下一程序段運(yùn)行(如果M99代碼規(guī)定了返回的目標(biāo)程序段號(hào),則轉(zhuǎn)到目標(biāo)程序段運(yùn)行); 在主程序(該程序的運(yùn)行不是因其它程序的調(diào)用而啟動(dòng))中執(zhí)行M99代碼時(shí),返回程序第一段繼續(xù)運(yùn)行,當(dāng)前程序?qū)⒎磸?fù)循環(huán)運(yùn)行。 在程序中執(zhí)行M31代碼時(shí),返回程序第一段或指定的程序段繼續(xù)運(yùn)行,循環(huán)指定的次數(shù)后繼續(xù)執(zhí)行下一段程序。 程序段內(nèi)代碼字的執(zhí)行順序 一個(gè)程序段中可以有G、X、Z、F、R、M、S、T等多個(gè)代碼字,大部分M、S、T代碼字由NC解釋后送給PLC處 理,其它代碼字直接由NC處理。M98、M99,以及以r/min、 m/min為單位給定主軸轉(zhuǎn)速的S代碼字也是直接由NC 處理。 當(dāng)G代碼與M、S、T在同一個(gè)程序段中時(shí),NC執(zhí)行完G代碼后,才執(zhí)行M、S、T代碼,并把對(duì)應(yīng)的信號(hào)送給PLC 處理。 當(dāng)G代碼字與M98、M99代碼字在同一個(gè)程序段中時(shí),NC執(zhí)行完G代碼后,才執(zhí)行這些M代碼字(不送M信 號(hào)給PLC)。
篇幅所限,今天的講解就到這里了哦!明天會(huì)繼續(xù)講解程序的構(gòu)成及更多編程知識(shí),感興趣的朋友可以致電或掃描下方二維碼添加微信好友索要詳細(xì)資料哦!! 聯(lián)系人:李經(jīng)理 聯(lián)系方式:17600500753(同微信 QQ) 
打開手機(jī)淘寶掃一掃關(guān)注店鋪 
打開手機(jī)微信掃一掃添加好友
|