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

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

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