七七国产精品_看黄色录像一级片_久久频这里精品99香蕉久_午夜福利无码在线观看视频,跪求黄色网址,2020无码日韩,亚洲高清老牛影视,最新人妻,久久三级片免费视频,91黄片视频,国产95精品视频

海天精工機(jī)床有限公司 海天精工博客

基于PMAC的數(shù)控程序的實(shí)現(xiàn)

在FANUC-0I精工系統(tǒng)仿真界面中,,某些G,、M、T等代碼需要轉(zhuǎn)換成可供PMAC識(shí)別的精工代碼,?;赑MAC加工中心精工系統(tǒng)利用VB6.0開(kāi)發(fā)精工G代碼編譯程序處理模塊,主要用于FANUC-0I精工系統(tǒng)仿真界面中G代碼的轉(zhuǎn)換,,現(xiàn)以基于PMAC的宏程序編程在精工機(jī)床上的應(yīng)用為例進(jìn)行介紹,。1.FANUC系統(tǒng)宏程序FANUC系統(tǒng)提供兩種用戶(hù)宏程序,即用戶(hù)宏程序功能A和用戶(hù)宏程序功能B[31],。由于用戶(hù)宏程序功能A的宏程序需要使用G65Hm格式的宏指令來(lái)表達(dá)各種數(shù)學(xué)運(yùn)算和邏輯關(guān)系,,極不直觀,且可讀性非常差,因而導(dǎo)致在實(shí)際工作中很少人使用它[31],。由于絕大部分的FANUC系統(tǒng)都支持用戶(hù)宏程序功能B,因而重點(diǎn)介紹用戶(hù)宏程序功能B的相關(guān)知識(shí),。1.1變量及賦值格式:#i=#j+#k;FANNC系統(tǒng)宏程序的變量是用變量符號(hào)#和后面的變量號(hào)指定,變量號(hào)是用以區(qū)分各變量,。=就是變量的賦值指令,,=左邊是被賦值的變量,=右邊是一個(gè)數(shù)值表達(dá)式[32],。表達(dá)式中包含的運(yùn)算符有:+,、-、*,、/,、[]以及一些數(shù)學(xué)運(yùn)算函數(shù),也可以包括變量,。常用的數(shù)學(xué)運(yùn)算函數(shù)有:正弦SIN[],、正切TAN[]、平方根SQRT[],、余弦COS[],、反正切ATAN[]、或OR,、反余弦ACOS[],、與AND[]、反正弦ASIN[],、異或XOR和絕對(duì)值函數(shù)ABS[]等,。1.2無(wú)條件轉(zhuǎn)移GOTO語(yǔ)句格式:GOTOn;n是目標(biāo)程序段的標(biāo)號(hào),本指令將無(wú)條件地轉(zhuǎn)移到標(biāo)有順序號(hào)(行號(hào))n的程序段[32];1.3條件轉(zhuǎn)移指令I(lǐng)F語(yǔ)句格式1:IF[<條件表達(dá)式>]GOTOn;格式2:IF[<條件表達(dá)式>]THEN;[]中是一個(gè)條件表達(dá)式,,條件表達(dá)式中可以包含的運(yùn)算符有:等于EQ,、不等于NE、大于GT,、大于等于GE,、小于LT、小于等于LE[33],。如果[]中的條件表達(dá)式成立,,格式1中程序?qū)⑥D(zhuǎn)移(跳轉(zhuǎn))到標(biāo)有順序號(hào)(行號(hào))n的程序段,否則,,順序執(zhí)行下一條指令,,如圖3-3所示[33]。如果[]中的條件表達(dá)式成立,,格式2中程序?qū)?zhí)行預(yù)先指定的宏程序語(yǔ)句,,而且只執(zhí)行一個(gè)宏程序語(yǔ)句,。1.4循環(huán)指令WHILE格式:WHILE[<條件表達(dá)式>]DOm……ENDm[]里是程序執(zhí)行的判斷條件。DO與END命令后的m是循環(huán)編號(hào),;二者之間的程序是被循環(huán)執(zhí)行的語(yǔ)句,,其中允許嵌套另一個(gè)WHILE循環(huán)。如果[]中的判斷條件成立,,DO與END命令之間的程序會(huì)不斷運(yùn)行,,否則,將運(yùn)行END命令后面的程序,,如圖3-4所示,。1.5嵌套格式1:D0循環(huán)可以多重嵌套,如圖3-5所示,。格式2:條件轉(zhuǎn)移可以跳出循環(huán)的外面,,如圖3-6所示。2.基于PMAC的精工宏程序的實(shí)現(xiàn)在基于PMAC構(gòu)成的精工系統(tǒng)中,,PMAC將G代碼作為特殊子程序來(lái)調(diào)用。例如在運(yùn)動(dòng)程序中遇到G65代碼,,它將認(rèn)為這是調(diào)用子程序Program1000中N65000程序段,。為了增加程序的可讀性,我們采用GOSUB{數(shù)值}命令,,此命令使運(yùn)動(dòng)程序跳轉(zhuǎn)型到同一運(yùn)動(dòng)程序段中{數(shù)值}指定的行號(hào)(N或0),當(dāng)程序遇到GOSUB后的RETURN命令后馬上返回,。CALL{數(shù)值}命令與此相似,只是它可以跳轉(zhuǎn)到另一個(gè)運(yùn)動(dòng)程序,,比如CALL7將執(zhí)行PROG7并返回,,可用于用戶(hù)宏程序功能A的宏程序G65(或G66)。用戶(hù)宏程序功能A的宏程序的調(diào)用格式是G65(或G66)P_L_[參數(shù)],,其中P值為宏程序的程序號(hào),,L為調(diào)用次數(shù)[34]。FANUC精工系統(tǒng)的宏程序在PMAC上無(wú)法實(shí)現(xiàn)直接運(yùn)行,,因此需要將宏程序轉(zhuǎn)化成PMAC能識(shí)別的代碼格式,。2.1進(jìn)行指令替換,PMAC能識(shí)別的加工程序指令和FANUC機(jī)床的編程語(yǔ)言稍有差別,。為適應(yīng)機(jī)床操作人員的習(xí)慣,,需要將機(jī)床操作人員輸入的程序中的某些指令替換成PMAC能識(shí)別的指令,轉(zhuǎn)換后再進(jìn)行下載,、運(yùn)行,。例如“EQ”需要替換成“=”,“#”需要替換成“vall”,,這一過(guò)程通過(guò)VB軟件來(lái)進(jìn)行,,程序代碼如下:stra1=Replace(stra1,,"EQ","=",,1,,-1,0)stra1=Replace(stra1,"#","vall",1,-1,0)另外還有一些不能通過(guò)替換直接修改的指令,,如循環(huán)指令WHILE,,在FANUC機(jī)床中,用法為:WHILE[<條件表達(dá)式>]DOm……ENDm在PMAC中應(yīng)用需要改為:WHILE[<條件表達(dá)式>]..….ENDWHILE故需要vb軟件將DOm刪除,,將ENDm替換為ENDWHILE,程序的嵌套通過(guò)距離最近的的未配對(duì)的WHILE和ENDWHILE來(lái)實(shí)現(xiàn),。2.2增加程序的可讀性PMAC中參數(shù)的存儲(chǔ)變量都是P,Q等固定字母加數(shù)字組成的,例如p201,因此變量名稱(chēng)沒(méi)有特定含義,,加工程序易讀性較差,,VB軟件在進(jìn)行加工程序處理時(shí)可自動(dòng)在加工程序之前加上定義,增強(qiáng)可讀性,,例如定義變量p201為vail:Text2.Text="#defineval1p201"&vbCrLf&Text2.Text為了PMAC能夠識(shí)別程序代碼,,需要按照PMAC程序代碼格式對(duì)程序進(jìn)行轉(zhuǎn)換。例如在經(jīng)過(guò)校驗(yàn)的運(yùn)動(dòng)程序開(kāi)頭添加清空緩沖區(qū)指令,,把程序號(hào)00007轉(zhuǎn)換為openprog7clear,在程序結(jié)尾處加上關(guān)閉緩沖區(qū)指令’’close”,,VB程序代碼如下:t1(0)="definetbuf1"&vbCrLf&"openprog"&zzz&"clear"Text2.Text=t1(0)&Text2.Text&vbCrLf&"close"對(duì)于PMAC可以直接識(shí)別的代碼,把原程序代碼進(jìn)行復(fù)制即可,。例如G,、M、T,、D代碼,,+、-,、*,、/運(yùn)算代碼,SIN(),、COS〇等數(shù)學(xué)運(yùn)算函數(shù)代碼,,X、Y,、Z等代碼[2],。[1]VB軟件界面設(shè)計(jì)為對(duì)上述構(gòu)想進(jìn)行程序驗(yàn)證,采用VB軟件編寫(xiě)精工界面,。左上角的窗口用來(lái)給操作人員輸入程序,。右上角的窗口用來(lái)顯示轉(zhuǎn)換后的PMAC能識(shí)別的程序。點(diǎn)擊“宏程序橢圓”轉(zhuǎn)換按鈕,,在PMAC程序窗口出現(xiàn)轉(zhuǎn)換后的結(jié)果,,即PMAC可識(shí)別的控制卡代碼[35],。如圖3-7所示。下面列出實(shí)現(xiàn)宏程序功能的關(guān)鍵VB源代碼:PrivateSub宏程序橢圓_Click()stra1=Text1(0).Texthcxpd=0If(InStr(stra1,"#"))Thenhcxpd=1stra1=Replace(stra1,"#","vall",1,-1,0)……stra1=Replace(stra1,"]",")",1,-1,0)t1=Split(stra1,";")t2=Split(t1(0),"")n=t2(1)cxh=Replace(n,"0","",1,-1,0)zzz=Replace(n,"0","",1,-1,0)t1(0)="definetbuf1"&vbCrLf&"openprog"&zzz&"clear"Text2.Text=""Fori=1To(UBound(t1)-1)t1(i)=Mid(t1(i),8,255)Text2.Text=Text2.Text&vbCrLf&t1(i)NextiText2.Text=t1(0)&Text2.Text&vbCrLf&"close"Ifhcxpd=1ThenFori=1To10Text2.Text="#defineval"&i&"p20"&i-1&vbCrLf&Text2.TextNextiFori=11To12Text2.Text="#defineval"&i&"p2"&i-1&vbCrLf&Text2.TextNextiEndIfEndSub2.4將宏程序下載到PMAC中和運(yùn)行程序下載PMAC程序,,需要先將轉(zhuǎn)換后的G代碼程序存入文件中,,文件后綴pmc,之后通過(guò)PmacDownloadA指令將上述程序下載到PMAC中,,“Download代碼”按鈕可以將轉(zhuǎn)換后的程序下載到PMAC中,。點(diǎn)擊“運(yùn)行”按鈕,通過(guò)PmacGetResponseA指令將運(yùn)動(dòng)命令下載到PMAC中,,即可實(shí)現(xiàn)PMAC的宏程序加工,。其中關(guān)鍵的VB源代碼如下:retum_value=PmacGetResponseA(DeviceNumber,response,255,”#lb”&cxh&”r”)其中“cxh”為程序號(hào)。本文由海天精工整理發(fā)表文章均來(lái)自網(wǎng)絡(luò)僅供學(xué)習(xí)參考,,轉(zhuǎn)載請(qǐng)注明,!相關(guān)內(nèi)容可查閱:主頁(yè)(加工中心)、產(chǎn)品頁(yè)(CNC加工中心),、文章頁(yè)(精工加工中心)本文采摘自“基于PMAC的加工中心開(kāi)放式精工系統(tǒng)研究”,,因?yàn)榫庉嬂щy導(dǎo)致有些函數(shù)、表格,、圖片,、內(nèi)容無(wú)法顯示,有需要者可以在網(wǎng)絡(luò)中查找相關(guān)文章,!
留言列表
發(fā)表留言
◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法,、交流您的觀點(diǎn),。