當前位置:首頁(yè) > 問(wèn)答 > 正文內容

誰(shuí)能告訴我在宏程序if語(yǔ)句中總有一句類(lèi)似于#3=#3-0.5的語(yǔ)句是什么意思?

竇安笙4年前 (2021-06-01)問(wèn)答135
印刷廠(chǎng)直印●彩頁(yè)1000張只需要69元●名片5元每盒-更多報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

程序段為宏程序語(yǔ)句:

? 包含算術(shù)或邏輯運算(=)的程序段。

? 包含控制語(yǔ)句(例如,GOTO,DO,END)的程序段。

? 包含宏程序調用指令(例如,用G65,G66,G67 或其它G 代碼,M 代碼

調用宏程序)的程序段。

除了宏程序語(yǔ)句以外的任何程序段都為NC 語(yǔ)句。

說(shuō)明

? 即使置于單程序段運行方式, 機床也不停止。但是, 當參數

N0.6000#5SBM 設定為1 時(shí),在單程序段方式中,機床停止。

? 與NC 語(yǔ)句的不同

? 在刀具半徑補償方式中宏程序語(yǔ)句段不做為不移動(dòng)程序段處理(見(jiàn)Ⅱ-

15.7 節)。

如果NPS(參數N0.3450#4)為1,滿(mǎn)足以下條件時(shí)程序段中的NC 語(yǔ)句

可認為與宏程序語(yǔ)句性質(zhì)相同。

? 與宏程序語(yǔ)句有相

同性質(zhì)的NC 語(yǔ)句

? 含有子程序調用指令(例如,用M98 或其它M 代碼或用T 代碼調用子

程序)但沒(méi)有除O,N 或L 地址之外的其它地址指令的NC 語(yǔ)句其性質(zhì)

與宏程序相同。

? 不包含除O,N,P 或L 以外的指令地址的程序段其性質(zhì)與宏程序語(yǔ)句

相同。

15.5.2 IF 之后指定條件表達式。

條件轉移

(IF 語(yǔ)句)

IF[條件表達式] GOTO n

如果指定的條件表達式滿(mǎn)足時(shí),轉移到標有順序號n 的程序段。如果指定

的條件表達式不滿(mǎn)足,執行下個(gè)程序段。

如果變量#1 的值大于10,轉移到順序號N2 的程序段。

IF[#1GT10]GOTO2;

如果條件滿(mǎn)足

程序

如果條件不滿(mǎn)足

N2 G00 G91 X10.0;

IF[條件表達式

]THEN

如果條件表達式滿(mǎn)足,執行預先決定的宏程序語(yǔ)句。只執行一個(gè)宏程序語(yǔ)

句。

如果#1 和#2 的值相同,0 賦給#3。

IF〔#1 EQ #2〕THEN #3=0;

說(shuō)明

·條件表達式 條件表達式必須包括算符。算符插在兩個(gè)變量中間或變量和常數中間,并

且用括號 (〔,〕)封閉。表達式可以替代變量。

運算符由2 個(gè)字母組成,用于兩個(gè)值的比較,以決定它們是相等還是一個(gè)

值小于或大于另一個(gè)值。注意,不能使用不等符號。

·運算符

表15.5.2 運算符

運算符 含義

EQ 等于(=)

NE 不等于(≠)

GT 大于(>)

GE 大于或等于(≥)

LT 小于(<)

LE 小于等于(≤)

·示例程序 下面的程序計算數值1~10 的總和

〇9500

#1=0;???????????存儲和數變量的初值

#2=1;???????????被加數變量的初值

N1 IF〔#2 GT 10〕GOTO2;??當被加數大于10 時(shí)轉移到N2

#1=#1+#2;?????????計算和數

#2=#2+#1;?????????下一個(gè)被加數

GOTO1;??????????轉到N1

N2 M30;??????????程序結束

功能 格式 備注

定義 #i=#j

加法 #i=#j+#k;

減法 #i=#j-#k;

乘法 #i=#j*#k;

除法 #i=#j/#k;

正弦 #i=SIN[#j];

反正弦 #i=ASIN[#j];

余弦 #i=COS[#j];

反余弦 #i=ACOS[#j];

正切 #i=TAN[#j];

反正切 #i=ATAN[#j]/[#k];

角度以度指定。90°30′

表示為90.5 度。

平方根 #i=SQRT[#j];

絕對值 #i=ABS[#j];

舍入 #i=ROUND[#j];

上取整 #i=FIX[#j];

下取整 #i=FUP[#j];

自然對數 #i=LN[#j];

指數函數 #i=EXP[#j];

或 #i=#j OR #k;

異或 #i=#j XOR #k;

與 #i=#j AND #k;

邏輯運算一位一位地按

二進(jìn)制數執行。

從BCD 轉為BIN #i=BIN[#j];

從BIN 轉為BCD #i=BCD[#j]; 用于與PMC 的信號交換

轉移和循環(huán)

在程序中,使用GOTO 語(yǔ)句和IF 語(yǔ)句可以改變控制的流向。有三種轉移

和循環(huán)操作可供使用:

轉移和循環(huán) GOTO 語(yǔ)句(無(wú)條件轉移)

IF 語(yǔ)句(條件轉移:IF?THEN?)

WHILE 語(yǔ)句(當?時(shí)循環(huán))

轉移到標有順序號n 的程序段。當指定1 到99999 以外的順序號時(shí),出現

P/S 報警No.128??捎帽磉_式指定順序號。

15.5.1

無(wú)條件轉移

(GOTO 語(yǔ)句)

GOTOn;n:順序號(1~99999)

例:

GOTO1;

GOTO#10;

15.5.3 循環(huán)

(WHILE 語(yǔ)句)

在WHILE 后指定一個(gè)條件表達式,當指定條件滿(mǎn)足時(shí),執行從DO 到END

之間的程序。否則,轉到END 后的程序段。

WHILE [條件表達式]DO m;(m=1,2,3)

如果條件不滿(mǎn)足

END m;

如果條件滿(mǎn)足程序

當指定的條件滿(mǎn)足時(shí),執行WHILE 從DO 到END 之間的程序。否則,

轉而執行END 之后的程序段。這種指令格式適用于IF 語(yǔ)句。DO 后的號

和END 后的號是指定程序執行范圍的標號,標號值為1,2,3。若用1,

2,3 以外的值會(huì )產(chǎn)生P/S 報警No.126。用下面的方法調用宏程序:

15.6

宏程序調用

宏程序調用 非模態(tài)調用(G65)

—— 模態(tài)調用(G66,G67)

—— 用G 代碼調用宏程序

—— 用M 代碼調用宏程序

—— 用M 代碼調用子程序

—— 用T 代碼調用子程序

限制

? 宏程序調用和子程 宏程序調用(G65)不同于子程序調用(M98),如下所述。

序調用之間的差別 ? 用G65,可以指定自變量(數據傳送到宏程序)。M98 沒(méi)有該功能。

? 當M98 程序段包含另一個(gè)NC 指令(例如,G01 X100.0 M98Pp)時(shí),在指

令執行之后調用子程序。相反,G65 無(wú)條件地調用宏程序。

? M98 程序段包含另一個(gè)NC 指令(例如,G01 X100.0 M98Pp)時(shí),在單程

序段方式中,機床停止。相反,G65 機床不停止。

? 用G65,改變局部變量的級別。用M98,不改變局部變量的級別。

說(shuō)明

? 呼調 ? 在G65 之后,用地址P 指定用戶(hù)宏程序的程序號。

? 當要求重復時(shí),在地址L 后指定從1 到9999 的重復次數。省略L(fǎng) 值時(shí),

認為L(cháng) 等于1。

? 使用自變量指定,其值被賦值到相應的局部變量。

可用兩種形式的自變量指定。自變量指定I 使用除了G,L,O,N 和P 以

外的字母,每個(gè)字母指定一次。自變量指定Ⅱ使用A,B,C 和Ii,Ji 和

Ki(i 為1~10)。根據使用的字母,自動(dòng)地決定自變量指定的類(lèi)型。

? 自變量指定

自變量指定I

地址 變量號

T #20

U #21

V #22

W #23

X #24

Y #25

Z #26

地址 變量號

I #4

J #5

K #6

M #13

Q #17

R #18

S #19

地址 變量號

A #1

B #2

C #3

D #7

E #8

F #9

H #11

? 地址G,L,N,O 和P 不能在自變量中使用。

? 不需要指定的地址可以省略,對應于省略地址的局部變量設為空。

? 地址不需要按字母順序指定。但應符合字地址的格式。但是,I,J 和

K 需要按字母順序指定。

例:

B_A_D_??J_K_ 正確

B_A_D_??J_I_ 不正確

調用宏程序的主程序 O0003;

G50 X100.0 Z200.0;

S1000 M03;

G66 P9110 U5.0 F0.5;

G00 X60.0 Z80.0

Z50.0

Z30.0

G67;

G00 X00.0 Z200.0 M05;

M30;

? 宏程序 O9110;

(被調用的程序) G01U-=#21F#9??????????加工

G00U#21????????????撤回刀具

M99;

有一橢圓,長(cháng)軸b=25,短軸a=18,現在加工其右半部分,工件坐標系設在右端面。

主程序:

N10 G98 G21 F60

N20 T0101

N30 M03 S600

N40 G00 X40 Z5;設毛坯為φ38mm

N50 #105=38

N60 IF #105 GT 0

N70 G65 P1015 A18 B25 C25 D0 K1;A--#1,B--#2,C--#3,D--#7,K--#6

N80 G00 X40 Z5

N90 #105=#105-1

N100 GOTO 60

N110 G00 X80 Z80

N120 M05

N130 M30

子程序:

O1015

N10 #5=[#1+#1]*SQRT[1-#2*#2/#3/#3];[X=2a ]

N20 G01 X[#5+#105] Z[#2-#3]

N30 #2=#2-#6;Z軸方向切削的步長(cháng)為1

N40 IF [#2 GE #7] GOTO 10

N60 M99

注意:這是一個(gè)通用的橢圓加工宏程序,只要改變起刀點(diǎn)的坐標和G65指令中的A、B、C三個(gè)賦值(橢圓的長(cháng)軸和短軸的長(cháng)度),即可加工任意橢圓。

收藏0

發(fā)表評論

訪(fǎng)客

看不清,換一張

◎歡迎參與討論,請在這里發(fā)表您的看法和觀(guān)點(diǎn)。
中文字幕在线永久91_国产一级AV不卡毛片_亚洲日本中文字幕在线四区_日韩黄片在线大全