机械必威体育网址

标题:这个程序谁能看懂? [打印本页]

作者:liu65178454 时间:2010-9-24 20:46
标题:这个程序谁能看懂?
%_N_L9850_SPF
( s' h5 N) k7 w! f( OPROC L9850(REAL B_POS,REAL W_POS,REAL V_POS) + N6 U2 u3 ]! o; q Y3 g+ x
IF $P_SUBPAR[1]==TRUE AND $AA_IM[B]<>B_POS
/ i& C* O7 |; x$ m8 PG90G00G53Z-500W0V0D0 + | e$ }& n2 l' n& Q9 a
G01 B=B_POS F200
$ G1 ~- G' E; Z0 ]+ Q1 ^8 o$ tENDIF . j' q- \; j, e1 \: S
IF $P_SUBPAR[2]==TRUE 6 X8 n/ c% k2 p( [2 E$ a1 e$ n
G90G00G53 W=W_POS
: X( [/ i) \$ J+ w! J* Q& Y) QENDIF
6 A- C: K8 O% e* v% n/ YIF $P_SUBPAR[3]==TRUE # u8 t8 U( q6 @6 n( ?- C
G90G00G53 V=V_POS ' r$ o: z# ^- K4 b7 i/ I# T
ENDIF # v& {0 E" v1 p5 ?
M17
作者:长桥卧波 时间:2010-9-24 21:27
不是C语言,看不懂。也不像VB.
作者:亡灵村长 时间:2010-9-24 22:00
这个有点C语言的成分,又有数控编程语言成分,合起来就不认识了,
作者:力顶天 时间:2010-9-24 22:10
是西门子的数控系统宏程序
作者:liu65178454 时间:2010-9-25 19:32
是西门子宏程序,数控镗铣床里的B(工作台) V(镗杆) W(滑枕)轴的控制,谁能解释下程序的意思?
作者:liu65178454 时间:2010-9-25 19:37
像西门子系统840D数控镗铣它们长度,半径刀补用么指令? 9 W) T: M, u. ~: v
看别人有时候用D1 有时候用个程序来控制,弄糊涂,请下大侠们?
作者:abcwcf 时间:2010-9-25 20:10
西门子840D,首先这是一个带参数传递的子程序. / S' j4 G8 w. x
' V0 x) D& u/ J' m8 J4 h
在不完整的参数传送时可以通过系统变量 7 V8 R8 T5 O% Z$ C7 i5 ?% ]
$P_SUBPAR[i]判别,该子程序的传送参数是否已经 ! }( @9 Z* [- `' [( B; C3 j
实际编程。
9 J$ \5 T0 }4 Z9 l# ?4 T! M作为自变量(i),系统变量获得传送参数的号。
, h8 p% O; S9 Y, d# Z7 |系统变量 $P_SUBPAR 提供:
& o! x+ u: d- J! zTRUE, 如果已经编程了传送参数 * n' [4 M- n; m
FALSE, 如果没有使用值作为传送参数。 / R# i1 U7 j" C4 p& A0 [& |4 G
1 B" n9 c. F+ t o6 v
$ j# y7 t# k5 m' V; e3 u4 b1 X
$AA_IM[轴] 在MKS中读出实际值 MKS -机床坐标系
作者:abcwcf 时间:2010-9-25 21:12
%_N_JZKDA_SPF
- G( o ]9 B; ^7 c1 N: S2 ~8 Y;$PATH=/_N_SPF_DIR/_N_AT_MPD
( [0 O7 B) ~/ N; hPROC JZKDA(INT ZH,REAL KD1,REAL KD2,REAL KD3,REAL KD4,REAL DW1,REAL GJ,INT GS) ( @" i. b/ F: d6 H* T' A9 b
DEF REAL BL1,BL2,BL3,BL4,BL5,BL6,BL7,BL8,BL9,BL10=1
% x R" w: G5 o9 NBL1=$P_TOOLNO % `2 m4 u( C$ j. x$ r, L3 k
BL2=$TC_DP6[BL1,1] , c5 ^' A) J" e4 j1 r$ m4 |/ G* l
BL3=$TC_DP21[BL1,1]
8 @$ @; }* G! Y9 h! d7 w$ ]( F, bBL4=0-(BL2+3)
& u5 r1 U3 R% Q+ @9 fBL5=2*(BL2+3)+KD1
8 D: J7 E/ L) g$ U0 A( oG[8]=ZH G90 G00 X=BL4 : }4 R4 A# ~- f( r" ^, ]
G91 G01 X=BL5
9 d) R& v( l1 X + P9 _7 W0 g2 {7 k/ w
5 d/ f4 E$ {5 J

4 ]' W4 O @9 ?6 o 7 J- f& j- x* V5 f
/ O: S2 l: R3 e0 D
给你看一段常用的参数编程的例子吧,这些参数常常只是 用来作运算用的
4 v4 d8 E) ]! A: i$TC_DP6[BL1,1]
4 N6 e6 {7 s2 ~# _; S* X$TC_DP21[BL1,1] # ]. n- w9 n9 c( U
这两个很实用
作者:shixukong1985 时间:2010-9-26 11:56
7楼好厉害呀 不知对发那科B类宏程序怎样 可以交流交流
作者:liu65178454 时间:2010-9-26 18:37
回复7#abcwcf - h4 a8 e* v% [

b" h4 Q$ b) _+ [5 O7 L + y0 v: K( M9 \! j* h
佩服,好厉害呀,对了,MKS是么意思啊?还有IF $P_SUBPAR[1]==TRUE 带AND $AA_IM[B]<>B_POS
% ~5 ^/ `! b6 Y# j8 k1 i# T这段程序,而IF $P_SUBPAR[2]==TRUE不带那段程序?
$ }, c4 r [8 i ( S9 M+ B, a. P$ ^: Y) p) s0 ^
PROC L9850(REAL B_POS,REAL W_POS,REAL V_POS)是注释,还是为了运行必须这么写的?
作者:liu65178454 时间:2010-9-26 19:50
我接触西门子840d系统时间不长, * l, {0 \5 z9 f7 `1 Z
有哪位大侠能推荐些书?关于西门子840d像上面的宏程序介绍,讲解。
0 b' H. e! P% ?9 Z& p小弟在这先谢了!
作者:abcwcf 时间:2010-9-26 20:55
本帖最后由 abcwcf 于 2010-9-26 20:59 编辑
5 b w7 a6 Z8 N# E- ] 2 x. o; Y4 r, E
其实对于一般性的编程,先看看入门手册,基础编程手册以及循环编程手册,就已经够用了.要想提高的话就看看高级编程手册吧.这些资料或许必威APP精装版下载里都有人发过,你找找看.找不到的话在到西门子的官方网站上下载. 7 L; @; P/ y* m g; W( k# B1 C

! H- ~8 a1 r5 m老外做这些基础性的工作国内没有什么企业能比得上. 这就是差距.
8 u+ E% n+ y$ Y; }& o 5 k& Z) I6 ^! F; G

+ g" v5 U, a) a: v- T另外说一下,对发那克的系统接触不多,不熟。
作者:马斯平 时间:2010-9-28 09:52
我来补充一点:关于PROC,在宏程序的开头使用,是切换到西门子语言模式的标志,在宏程序结尾处用M17结束该模式,切换到ISO语言模式。
作者:liu65178454 时间:2010-9-28 19:45
谢谢您!
2 j2 ?& |0 s" d S' g4 y能还透露些嘛?嘿嘿
作者:水中弋木 时间:2010-9-29 12:35
太乱了,兄弟的技术太差了!!!
作者:螺旋线 时间:2010-9-29 13:17
啃西门子的标准循环。完全啃完,就会发现可以提刀纵横天下了。 - @0 [6 ~+ Y# m, `9 q( Y8 S
不过俺没啃过,主要是没地方用。哈哈。
作者:大树上8 时间:2010-9-29 15:10
就是变量加条件转换之类的,这种在法那科,三菱的系统上都可以用,不过有可能语句不一样,我们有时候也用变量编程。
作者:liu65178454 时间:2010-9-29 21:27
技术好的,兄弟,就多透露些,与大家分享下嘛,不要吝啬嘛
作者:jaukzhen 时间:2010-9-30 23:54
我只能看懂事西门子的 没用过西门子
作者:lxg254 时间:2010-10-15 01:37
品牌系统间的语言,没什么值得拽的。
作者:hake4587 时间:2010-10-26 11:12
给我一本系统说明书我可以玩转整个系统
作者:江帆 时间:2010-10-26 21:52
学习了啊,俺只懂FANUC的A类B 类宏程式 1 h- l/ V" L. e4 A
西门子不太懂啊
作者:爽歪歪沙 时间:2013-11-9 01:30
西门子
作者:wangice 时间:2013-11-30 11:15
%_N_L9850_SPF
! p; D @; f" C% G
' T: n, h0 [- M4 s$ fPROC L9850(REAL B_POS,REAL W_POS,REAL V_POS) 9 x) ^9 F8 r3 t, {% ] t
子程序L9850 ,并接受上级程序建立的自定义变量及变量内设定的数据,变量类型REAL(正负实数),自定义变量共3个,B_POS,W_POS,V_POS。
; _: a1 J' G ]. A2 A; U
, ?( A6 j1 u4 v& UIF $P_SUBPAR[1]==TRUE AND $AA_IM[B]<>B_POS
: h: R0 F* [5 H6 ^2 o判断检查传递的参数,如果上级程序传递下来的第一个自定义变量B_POS有效并且当前B轴的机械坐标与B_POS内所设定的数据不符 + ^, ~3 r: u- e/ @, a5 e
6 p4 i8 k ~5 e! s( M6 _
G90G00G53Z-500W0V0D0 " M+ \" I! M, j# k% i
运行程序G00 Z-500,W、V轴转至零度,取消刀具长度补偿。 * H" t$ D, R- a* i- G m
2 S) r5 Z! M+ V: V% L9 U I" I
G01 B=B_POS F200 & `# ]! x0 X9 G* R
B轴转至B_POS所设定的角度,工进速度F200。 4 r9 X0 Q2 N( N2 f8 _0 v% A$ y2 [7 H

; \1 T6 \1 X1 f" w5 y- oENDIF + ^4 n7 i" _% W" z1 g8 H, n& F; i
结束判断
3 G- T* R3 z+ v: g5 N8 O& p ' t. m4 |: G. A
IF $P_SUBPAR[2]==TRUE 5 w1 h" f3 a3 u/ v
判断检查传递的参数,如果上级程序传递下来的第二个自定义变量W_POS有效。 . t; d" Z" }9 e+ _4 o7 a) P+ o

3 I: v7 G+ I2 ]# v9 ZG90G00G53 W=W_POS , v- s3 C* t5 K. Z5 F" n* W3 [/ F4 V
运行程序,W轴转至W_POS所设定的角度。
# g4 Q. m9 r1 `8 H* Q" f/ V. [ 7 O! y {1 @4 m* J' g! H* s
ENDIF
% J" D6 S! i: s8 ^# z6 S/ J7 G# t) c结束判断 ' X% H, x; U; R3 X8 N
& [( W0 D: _) k2 G
IF $P_SUBPAR[3]==TRUE ; s$ _9 E2 J+ |1 Q
判断检查传递的参数,如果上级程序传递下来的第三个自定义变量V_POS有效。
5 k1 `- L3 y7 [, Y' c # t$ b' O5 u1 p a. A" j5 G
G90G00G53 V=V_POS
& w" P* T3 J/ J% l- N运行程序,V轴转至V_POS所设定的角度。
. t+ v E9 I- N
( I. t% W! y7 MENDIF 0 I2 O2 \9 Q# R- R8 b4 J
结束判断。
' R0 ~4 h/ b9 B' I; t! O- `
$ z y7 n* L9 R9 {5 X U0 fM17 ' Q9 ]1 K3 H7 P9 e3 C
返回上一级程序。
作者:wangice 时间:2013-11-30 11:32
%_N_JZKDA_SPF
, S0 q" }# z9 i' K
" Q. A A# z. P, W;$PATH=/_N_SPF_DIR/_N_AT_MPD
6 g) y. M( O- V& Q- M程序路径说明 ( Z# d- T G' F, P
5 y- b/ Z1 N% d' ~
PROC JZKDA(INT ZH,REAL KD1,REAL KD2,REAL KD3,REAL KD4,REAL DW1,REAL GJ,INT GS) * R; b& F2 P1 C0 E5 F
子程序JZKDA,接受上级程序传递的自定义变量,变量类型INT,REAL两种,INT-带正负号的整数,REAL-正负实数 / o1 B `( ? {0 O1 f$ I

5 ^) A H, q# v; m' ^; b; g: {DEF REAL BL1,BL2,BL3,BL4,BL5,BL6,BL7,BL8,BL9,BL10=1
5 H* b/ b( U5 k* @2 j1 ^新建自定义变量BL1、BL2、BL3、......, 变量类型REAl。 + W7 L* K8 e* ?

2 P: S/ W6 I/ \* uBL1=$P_TOOLNO 7 |% v/ H! ~- R9 @$ N6 `/ q* Q/ S
定义自定义变量BL1,等于当前主轴刀具号。 9 h1 A9 p e$ o, u$ l
; F) S8 N; _: G" i8 u m
BL2=$TC_DP6[BL1,1]
/ D0 s! \- X( @+ g9 b! u: ~3 T+ b定义自定义变量BL2,等于BL1刀具号所设定的半径值。 3 {' w; c+ U7 s. x( C7 j4 b& g
0 q: q; W0 y1 t0 m6 z7 [* Q. ^- i( \
BL3=$TC_DP21[BL1,1]
2 ?! d0 `( D& R定义自定义变量BL3,等于BL1刀具号所设定的基本尺寸的第一长度补偿。 * Q# p6 u: j6 M: m0 g$ y7 F4 p
, P* H* h3 b( F' `# |
BL4=0-(BL2+3) : A: x. i) K! P: U
计算BL4 , u& P% m; }; l) U1 T

1 p% z9 P% G6 ?7 h" A0 xBL5=2*(BL2+3)+KD1
7 G& y* k* b7 K3 e( t, c* c( ]计算BL5 / Z5 X, e- K$ G8 y, M
0 J* e8 w1 S7 g. T- D% _
G[8]=ZH G90 G00 X=BL4
: f+ L! g$ {" a& E( N1 r6 u3 [进入ZH所要求的坐标系(G[8]=1=G53,G[8]=2=G54,G[8]=3=G55,以此类推),移动X轴
* S( c5 e5 i- i0 S4 i
2 `, U+ a* D1 G+ i1 K' ?4 ~. ]G91 G01 X=BL5 % E1 U) q- R/ S3 n4 i6 K
移动X轴
作者:夜总是要来的 时间:2013-11-30 16:36
wangice 发表于 2013-11-30 11:32 & M; E7 p: D0 p2 r( e3 {
%_N_JZKDA_SPF
; t$ Y1 Z0 B* J: }8 q ! D. O$ \6 Q0 }3 i
;$PATH=/_N_SPF_DIR/_N_AT_MPD

3 s" _9 l+ G: e2 J) L" e* Q; O王斌? . y( y+ ?; O0 J; v3 a; N" [

作者:爽歪歪沙 时间:2013-11-30 18:30

作者:吃玩乐 时间:2013-12-2 21:50
不是C语言,看不懂。也不像VB.
作者:亡の调律 时间:2013-12-2 22:31
在我眼里都是乱码啊
作者:谢池春 时间:2014-1-6 11:12
PROC L9850(REAL B_POS,REAL W_POS,REAL V_POS)是定义带参数传输的子程序。L9850是子程序名,括号里的是要传输的三个变量。但是L子程序是不能传送变量的,这里我也不懂。IF $P_SUBPAR[1]==TRUE 带AND $AA_IM[B]<>B_POS ( C* t% O/ B4 ~
是说当$P_SUBPAR[1]==TRUE 并B轴机床坐标系不等于B_POS值时,下面怎么样。
作者:虚缈 时间:2014-1-10 09:54
这个还真的看不懂
7 x2 j' \+ }4 E; n




欢迎光临 机械必威体育网址 (//www.szfco.com/) Powered by Discuz! X3.4