西門子有宏程序嗎?一、FANUC—0M宏程序的H代碼宏程序标準格:G65 Hm P#i Q#j R#k,今天小編就來聊一聊關于西門子有宏程序嗎?接下來我們就一起去研究一下吧!
一、FANUC—0M宏程序的H代碼
宏程序标準格:G65 Hm P#i Q#j R#k
H代碼 | 意義 | H代碼 | 意義 |
H01 | #i=#j | 條件轉移格式 | G65 H8× P程序段号碼n Q#j R#k |
H02 | #i=#j+#k | H80 | 無條件轉移 GoTo n |
H03 | #i=#j-#k | H81 | #i=#j GoTo n |
H04 | #i=#j×#k | H82 | #i≠#j GoTo n |
H05 | #i=#j÷#k | H83 | #i>#j GoTo n |
H21 | #i=#j^1/2 | H84 | #i<#j GoTo n |
H22 | #i=‖j‖ | H85 | #i≥#j GoTo n |
H23 | 求餘(丢棄小于1的分數) | H86 | #i≤#j GoTo n |
H26 | #i=(#i×#j)/#k | ||
H27 | #i=(#j^2+#k^2)^1/2 | ||
H28 | #i=(#j^2-#k^2)^1/2 | ||
H31 | #i=#j×SIN #k | ||
H32 | #i=#j×COS #k | ||
H33 | #i=#j×TAN #k | ||
H34 | #i=#j×ATAN #k |
二、FANUC—18M宏程序的格式
1.變量的類型:
#0 | Always null(總是零) |
#1-#33 | Local variables(局部變量) |
#100-#149(#199);#500-#531(#999) | Common variables(公用變量) |
#1000- | System variables(系統變量) |
NOTE(注意):common variables #150 to #199 and #532 to #999 are optional。(從#150到 #199 和#532到#999是可選的) |
2.非模态調用宏程序:
程序的标準格式:G65 P(宏程序号) L(重複次數) <指定引數值>
注:每次調用都要重新寫G65的标準格式,用後自動取消。
3.模态調用宏程序:
程序的标準格式:G66 P(宏程序号) L(重複次數) <指定引數值>
注:不用指定G66直接輸入引數值。
4. 關于G65、G66中的引數賦值
⑴.引數賦值Ⅰ的地址和變量号碼的對應關系:
A | #1 | D | #7 | H | #11 | K | #6 | R | #18 | U | #21 | X | #24 |
B | #2 | E | #8 | I | #4 | M | #13 | S | #19 | V | #22 | Y | #25 |
C | #3 | F | #9 | J | #5 | Q | #17 | T | #20 | W | #23 | Z | #26 |
⑵.引數賦值Ⅱ的地址和變量号碼的對應關系:
A | #1 | I2 | #7 | I4 | #13 | I6 | #19 | I8 | #25 | I10 | #31 |
B | #2 | J2 | #8 | J4 | #14 | J6 | #20 | J8 | #26 | J10 | #32 |
C | #3 | K2 | #9 | K4 | #15 | K6 | #21 | K8 | #27 | K10 | #33 |
I1 | #4 | I3 | #10 | I5 | #16 | I7 | #22 | I9 | #28 | 引數賦值Ⅰ、Ⅱ可以連用,以後的為準 | |
J1 | #5 | J3 | #11 | J5 | #17 | J7 | #23 | J9 | #29 | ||
K1 | #6 | K3 | #12 | K5 | #18 | K7 | #24 | K9 | #30 |
5. 關于G65、G66中的算術和邏輯運算:
數 學 意 義 | 标準格式 | 數 學 意 義 | 标準格式 |
定義 | #I=#j | 平 方 根 | #I=SQRT[#J] |
加法 | #I=#J+#K | 絕 對 值 | #I=ABS[#J] |
減法 | #I=#J-#K | 舍入 | #I=ROUND[#J] |
乘法 | #I=#J*#K | 上 取 整 | #I=FIX[#J] |
除法 | #I=#J/#K | 下 取 整 | #I=FUP[#J] |
正弦 | #I=SIN[#J] | 自然對數 | #I=LN[#J] |
反正弦 | #I=ASIN[#J] | 指數函數 | #I=EXP[#J] |
餘弦 | #I=COS[#J] | 或 | #I=#J OR #K |
反餘弦 | #I=ACOS[#J] | 異或 | #I=#J XOR #K |
正切 | #I=TAN[#J] | 與 | #I=#J AND #K |
反正切 | #I=ATAN[#J] | ||
從BCD轉為 BIN | #I=BIN[#J]用于與PMC信号交換 | 從BIN轉為BCD | #I=BCD[#J]用于與PMC信号交換 |
Remaindering(餘數) | #I=#J MODE #K | the Remainder is determined指定的 after以後 the specified精确确定的values值 are是rounded四舍五入的 to integers整數。 |
6. G67宏程序的模态調用宏程序取消。
7.宏程序可以用 G×× <指定引數值> 的格式調用:
說明:①程序号用O9010~O9019;
②将程序号對應的參數設置為G代碼的數值;
③調用的形式為:G(參數設定值) <指定引數值>。
宏程序主體号碼與對應的參數号:
O9010 | 7550 | O9012 | 7552 | O9014 | 7554 | O9016 | 7556 | O9018 | 7558 |
O9011 | 7551 | O9013 | 7553 | O9015 | 7555 | O9017 | 7557 | O9019 | 7559 |
8.條件轉移指令:
意義 | 标準格式 | 條 件 表 達 式 | |
⑴無條件轉移指令 | GOTO n(程序号) | ||
⑵有條件轉移指令 | IF【<條件表達式>】GOTO n意思:滿足條件返回程序号為n的單節加工,不滿足條件加工後面的程序。 | 标準格式 | 數學意義 |
#i EQ #j | #i=#j GoTo n | ||
#i NE #j | #i≠#j GoTo n | ||
⑶無條件循環 | DO m……END m | #i GT #j | #i>#j GoTo n |
⑷條件循環 | WHILE【<條件表達式>】DO m……END m(m=1.2.3…..)意思:滿足條件調用WHILE與END之間的程序m次,WHILE與END後面的m數必須相同。 | #i LT #j | #i<#j GoTo n |
#i GE #j | #i≥#j GoTo n | ||
#i LE #j | #i≤#j GoTo n |
三、西門子(SIEMENS)宏程序的格式
1.計算參數R:
R0—R99 ——可以自由使用;
R100R249 ——加工循環傳遞參數;
R250—R299——用于加工循環傳遞的内部計算參數。
計算:遵循通常的數學運算規則,括号内的優先,乘除優先與加減。
如:R15=SQRT(R1*R1 R2*R2);意義:R15=(R1^2 R2^2)^1/2;
N10 Z=R3 表示為Z賦值;其餘同18M。
2.條件跳躍:
⑴.标準格式:IF條件GoToF Label 向前跳躍
IF條件GoToB Label 向後跳躍
其中:标記符(Label):由2-8個字母或數字組成開始的兩個字符必須是字母或下劃線。
跳躍目标标記符的後面必須是冒号。
⑵.比較運算:
運算符 | 意義 |
= = | 等于 |
< > | 不等于 |
> | 大于 |
< | 小于 |
> = | 大于或等于 |
< = | 小于或等于 |
3.算術:
數學意義 | 标準格式 | 數學意義 | 标準格式 |
定 義 | R1=R2 | 正切 | R1=TAN(R2) |
加法 | R1=R2+R3 | 反正切 | R1=ATANZ(R2) |
減法 | R1=R2-R3 | 平方根 | R1=SQRT(R2) |
乘法 | R1=R2*R3 | 平方 | R1=POT(R2) |
除法 | R1=R2/R3 | 舍去小數位 | R1=TRUNC(R2) |
正弦 | R1=SIN(R2) | 舍入 | R1=ROUND(R2) |
反正弦 | R1=ASIN(R2) | 絕對值 | R1=ABS(R2) |
餘弦 | R1=COS(R2) | 自然對數 | R1=LN(R2) |
反餘弦 | #I=ASCOS(R2) | 指數函數 | R1=EXP(R2) |
四、西門子(SIEMENS)編程語言的格式
編程語言 | 名稱 | 格式 | 含義 |
G110(相對)、G111(絕對)、G112 | 帶極坐标的移動命令 | G110,G111,G112,X_Y_Z_ | 指定極點 |
G0 AP=_RP=_(模态) | AP極角RP極半徑 | ||
AC/IC | 絕對/增量 | AP=IC(70) | |
CIP | CIP X_ Y _ Z_ | 圓終點及中點 | |
I1=IC(10)J1=IC(10)K1(10) | 三軸坐标 |
子程序和程序段重複 | ||
子程序調用 | L100 | 子程序調用“L100.SPF”;還可用程序名調用子程序 |
M17 | 子程序結束 | |
FRAME P3 | 表示子程序FRAME必須連續執行3次 | |
程序段重複 | LABEL: | 跳躍目的;冒号後為目的名 |
REPEAT | 重複(兩标号之間) | |
REPEATB | 重複單個程序段 |
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!