999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

帶參數傳遞的子程序技術及其應用

2014-11-30 09:00:02王乃彥閆明璞上海電氣電站設備有限公司汽輪廠200240
裝備機械 2014年2期
關鍵詞:指令程序

王乃彥 閆明璞 上海電氣電站設備有限公司汽輪廠 (200240)

王乃彥(1980年~),男,工程師,專業方向為汽輪機制造。

0 引 言

在數控系統中,為方便程序編制,數控系統提供多種標準循環,如西門子840D中的銑螺紋循環CYCLE90(),切槽循環CYCLE93()等,作為一組基本指令的集合,實現了一些典型結構的加工。數控程序編制時,編程人員并不需要知道固定循環內部的結構和指令,只需要按說明填寫相應的參數就可完成程序的編制。標準循環簡化了程序、降低了編程的難度和出錯率,增強了數控程序的可讀性。這些標準循環主要使用子程序技術,參考標準循環的編程方法,將一些通用性較強的結構使用子程序編程,同樣可以簡化程序,降低程序編制的難度,提高工作效率,方便數控程序的管理。

1 子程序技術

數控程序編制過程中,如果零件不同位置具有相同或相似的結構(見圖1),為了簡化程序,可以把這些重復的程序段單獨列出,按一定的格式編寫成子程序。主程序在執行過程中如果需要某一子程序,通過調用指令來調用該子程序,完成相關結構的加工。子程序執行完后返回到主程序,繼續執行后面的程序段。使用子程序技術,不但減少了程序長度,增加了程序的可讀性,還降低了程序的出錯率,方便程序的修改。

圖1 有相同結構的零件

2 帶參數傳遞的子程序

在加工中,經常會遇到一些典型結構,幾何形狀比較復雜,尺寸要素較多,加工方法相同或相似,區別只是位置、尺寸不同。加工這類典型零件時,數控程序使用的參數多、程序復雜。采用普通子程序編程,加工不同的零件時,不能直接被調用,必須對其中涉及到的尺寸、加工參數進行修改。這樣就增加了子程序調用的難度,而且容易出錯。在子程序技術中,有一種帶參數傳遞的子程序技術,編制的子程序類似于數控系統中標準循環,可以把典型結構的加工程序封裝在子程序中,將所有的幾何尺寸、加工參數等變量以參數的形式傳遞給該子程序。同時也可以把一組類似的加工程序封裝在一個子程序中,把加工方式作為子程序參數,使用時根據需要選擇加工方式。這樣可以減少程序數量,方便程序管理。

2.1 子程序定義

格式:

PROC PROGRAMNAME(VARIABLENTYP1 VARIABLE1,VARIABLENTYP2 VARIABLE2,…)

PROC:PROC指令,子程序標記關鍵字

PROGRAMNAME:子程序名稱

VARIABLENTYP1:參數1類型,

VARIABLE1:參數1名稱,

VARIABLENTYP2:參數2類型,

VARIABLE2:參數2名稱,

參數可以是普通的數據類型,也可以是數組。如果是數組,則必須在數組類型前加關鍵字VAR。

注意:帶 PROC 的定義指令必須在一個獨立的NC程序段中編程??梢宰疃嘤?127 個參數用于參數傳送。

子程序定義舉例:

PROC KONTUR(REAL LENGTH, REAL WITH)

N10 …

N50 X= LENGTH

N60 Y= WITH

N100 M17

子程序以M17或RET結束。

2.2 子程序調用

主程序中,在調用帶參數傳遞的子程序前,必需用EXTERN指令對子程序聲明,格式如下:

EXTERN NAME(TYP1, TYP2, …)

NAME:子程序名稱

TYP1:參數1類型,

TYP2:參數2類型,

聲明子程序時,參數類型和順序都必須與定義時一致,每個參數類型都必須填寫,不能省略。

注意:此處只有參數類型,沒有參數名稱。

舉例:

N10 EXTERN KONTUR(REAL, REAL);聲明子程序

N20 DEF REAL LENGTH,W

N30 LENGTH=10.18

N40 W=3.29

N100 KONTUR(LENGTH, W) ;調用子程序

N200 M30

在調用子程序時,參數類型和傳送的順序都必須與子程序定義時PROC語句中一致。但參數名稱不一定與子程序定義時一樣,這里只是把主程序中的相關數值(或地址)傳遞給子程序,與參數名稱無關。

3 應用

在汽輪機蒸汽閥門中,有很多大螺距的鋸齒形螺紋(圖2),因螺距太大,無法使用普通的螺紋加工方式(車削或銑削)加工。為此專門開發出加工大尺寸鋸齒形螺紋的新技術解決了大尺寸螺紋的加工,參數見附表。

圖2 鋸齒形螺紋結構

附表

加工鋸齒形螺紋,主要采用分層切削,利用數控程序控制螺紋截面輪廓,采用普通菱形車刀多次車削,最終加工出符合圖樣要求的螺紋(見圖3)。

圖3 螺紋加工示意

因螺紋截面輪廓復雜,其精度和表面粗糙度要求較高。為了提高工作效率和便于編制數控程序,把整個加工過程分解成四部分:粗加工、精加工、圓角加工和倒角加工。粗加工以去除大部分多余材料為主要目的,在機床和刀具滿足要求的情況下盡可能地加大切削量。但在整個切削過程中,每刀的切削狀況不盡相同(比如每層的初始進刀和后續切削工作狀況差別很大),這就要在加工過程中對其計算,調整切削參數,以使其切削量盡量均衡。精加工和圓角、倒角加工過程中,精度和表面粗糙度為關注要點。刀尖圓弧對精度和表面粗糙度的影響尤為重要。這就要根據刀尖所處的位置對刀尖圓弧的影響進行補償。以刀尖圓弧對加工輪廓的影響為例(見圖4):P點為刀具對刀零點,很顯然,刀具切削點與P點不重合,并且其相對位置關系隨著切削點的變化在不斷變化。此處圓弧在空間為一螺旋曲面,切削原理與車圓弧不同,因此不能用G41(或G42)刀尖半徑補償。必須在程序中對P點和刀具切削點相對位置進行計算,根據刀具切削點位置計算出P點位置,以便程序控制刀具路徑。

圖4 刀尖圓弧對加工輪廓的影響

因此,在此數控程序中,有大量的尺寸參數和加工參數參與運算,并且要運用大量的循環、判斷語句,整個程序非常復雜。如果采用普通編程方法,只要螺紋尺寸有所改變,或者加工方式和加工參數有所改變,程序中大量數據都必須相應改變。為確保程序正確,在程序編制完成后需試加工,驗證程序正確后才能應用于生產。

產品中涉及此類螺紋規格繁多,螺距從5~20mm,螺紋直徑從210~1 000mm不等,既有外螺紋又有內螺紋,加工方法無法統一,車削加工和鏜削加工都會用到。采用普通方法編程,程序將達幾十種之多。如對每種程序都進行驗證,成本將非常高。結果是不但工作量大,不便于加工參數的調試,而且極易出錯。因此采用普通方法編制的程序難以維護,沒有通用性。采用普通的子程序技術,雖然能解決普通編程方法存在的一些問題,但對于主程序和子程序之間存在大量的參數傳遞的情況,采用普通子程序技術也存在較大困難。

采用帶參數的子程序技術,把螺紋所有幾何尺寸和工藝參數提取出來,作為螺紋子程序的參數,增加相應參數區分內外螺紋、加工方法(直徑編程或半徑編程等)。通過這種編程方法可以把復雜的程序封裝在子程序里,在主程序調用該子程序時填寫相應參數,即可方便地編制出各種規格的螺紋加工程序。以下以螺紋的粗加工子程序加以說明。

3.1 螺紋粗加工子程序

%_N_rough_SPF

proc rough(real U_Dim,… ,int U_FS) SAVE DISPLOF;子程序定義

def int U_CengShu;變量定義

……

def real U_Feed

IF (U_FS<>-2)and(U_FS<>-1)and(U_FS<>1)and(U_FS<>2);參數檢查

MSG("U_FS 參數賦值錯誤")

GOTOF MARK_1

ENDIF

……

U_ThStart=U_ThStart-U_zFinallow;數據運算

……

U_CengShu=U_StartDNum

Begin_0:;層切循環

U_N=U_Width/U_zFeed

……

MSG("正在切削第"<

U_CengShu=U_CengShu+1

Begin_1:;每層開始切口循環

U_Depth=U_Depth+U_pDepth

……

REPEAT Begin_1 P=U_xNum

IF U_Num<0 GOTOF MARKE_0

Begin_2:;每層切削循環,包含運算、選擇執行語句

U_ThStart1=U_ThStart1-U_Feed

……

REPEAT Begin_2 P=U_Num

MARKE_0:

……

MSG()

MARK_1:

M17

3.2 子程序說明

rough(real U_Dim,…,int U_FS)

U_Dim:螺紋底孔(外圓)直徑

……

U_FS:加工方式 -2:直徑編程,內螺紋;-1:半徑編程,內螺紋;1:半徑編程,外螺紋;2:直徑編程,外螺紋

在子程序后應附該程序的使用說明以及特殊要求(如參數賦值范圍等),以便其他人在不用了解子程序內部詳細信息的情況下就能直接調用,便于數控程序的共享。

3.3 主程序

%_N_NS650x20_MPF

Extern rough(real,real,real,real,real,real,real,real,real,int,int,real,real,real,real,int,int);子程序聲明,如沒有此聲明,子程序不能被正確調用

G90 G18

G54 G00 T1 D1

X800 Z100

M3 S15

rough (650,20,0,-250,10.5,15.5,45.25,20,10,20,1,0.2,0,0.2,0.9,5,2) ;粗加工子程序調用

G00 X800 Z100

M05

M30

4 其他常用指令

為了避免因調用子程序導致模態G功能值的改變,導致后續程序產生不可預知的錯誤,應在PROC指令結束處添加SAVE指令。此指令的工作過程是在調用子程序前,將G功能的值暫時保存起來。調用子程序結束后,返回主程序(或調用此子程序的子程序)后,將G功能的值恢復到調用前的狀態。比如子程序中用G90或G91改變了絕對坐標或相對坐標狀態時,不用SAVE指令,子程序結束返回主程序后將會出現錯誤。

在子程序經過調試、驗證無誤后,可在PROC指令結束處添加DISPLOF指令,使程序在運行時不顯示子程序內部的程序段。這可使加工程序在運行時操作界面顯得非常簡潔(見圖5)。

加工過程中的重要信息可通過MSG指令在屏幕上方顯示出來,適當地使用此指令可使操作人員及時、準確地了解加工狀態和加工進度,增強程序執行的透明度。如上述例子中顯示加工到第幾層。

圖5 程序運行界面

5 結論

通過帶參數的子程序技術,可以實現典型結構加工的標準化、模塊化,方便程序的修改和優化。編程人員開發出子程序,編寫出此子程序的使用說明,其他人就可以根據說明直接使用此子程序,只需要填寫子程序需要的參數,而不需了解子程序的工作原理及工作過程。從而避免了編程錯誤,降低程序測試成本,降低了編程人員的工作強度,大大提高工作效率。

猜你喜歡
指令程序
聽我指令:大催眠術
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 日韩精品毛片| 亚洲乱强伦| 日本精品视频一区二区| 亚洲天堂成人在线观看| 久久国产高清视频| 亚洲国产一区在线观看| 国产成人久久综合一区| 欧美日韩专区| 欧美成人精品一级在线观看| 青青草国产精品久久久久| 欧美黑人欧美精品刺激| 露脸真实国语乱在线观看| 成人国产免费| A级毛片高清免费视频就| 九九热免费在线视频| 人妻一区二区三区无码精品一区| 欧美性久久久久| 国产一级妓女av网站| 91福利免费视频| 99热亚洲精品6码| 国产免费好大好硬视频| 国产综合亚洲欧洲区精品无码| 欧美色香蕉| 色婷婷电影网| 精品视频一区在线观看| 日本免费一区视频| 亚洲成a人片| 国产精品自在线天天看片| 国产精品成人一区二区不卡 | 美女无遮挡免费视频网站| 成人午夜精品一级毛片| 日韩精品无码免费专网站| 狠狠色噜噜狠狠狠狠奇米777| 99精品国产高清一区二区| 国产av色站网站| 91福利免费| 精品国产欧美精品v| 免费A级毛片无码免费视频| 国产精品污污在线观看网站| 国产黄在线免费观看| 国产欧美中文字幕| 麻豆国产在线不卡一区二区| 精品无码日韩国产不卡av| 超碰91免费人妻| 无码精品国产VA在线观看DVD| 一区二区影院| 午夜啪啪福利| 在线中文字幕网| 亚洲91精品视频| 婷婷六月综合网| 国产乱子精品一区二区在线观看| 国产成人精品亚洲77美色| 国产精品福利导航| 免费A级毛片无码无遮挡| 国产大全韩国亚洲一区二区三区| 国产在线无码av完整版在线观看| 天堂网国产| 亚洲色图在线观看| 亚洲精选无码久久久| 亚洲高清无在码在线无弹窗| 国产成人精品一区二区三区| 99re精彩视频| 国产在线观看成人91| 国产精品理论片| 免费全部高H视频无码无遮掩| 亚洲成A人V欧美综合| 手机在线国产精品| 青青久久91| 思思热精品在线8| 国产成人精品2021欧美日韩| 久久人搡人人玩人妻精品一| 国产乱子伦视频在线播放| 国产欧美又粗又猛又爽老| 日韩欧美视频第一区在线观看| 国产波多野结衣中文在线播放| 久久久波多野结衣av一区二区| 美美女高清毛片视频免费观看| 成年午夜精品久久精品| 亚洲第一极品精品无码| 日韩在线视频网| 亚洲最大福利网站| 精品视频在线观看你懂的一区|