找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5473|回复: 11

自学宏程序,碰到了点问题求解

  [复制链接]
发表于 2014-5-23 13:31:49 | 显示全部楼层 |阅读模式
小弟不才,做数控五六年 对宏程序还是一窍不通,遂买了本书看着,但是遇到了个问题不懂,恳请师傅们帮忙解答下,顺便想找个精通宏的师傅做我老师,有偿,学费再议!可回复跟帖留下联系方式 。以下图是小弟碰到的问题,划线打问号部分,是嘛意思?结合整体看,是在判别哪里的变量 有什么意义?
- l# N, `6 F+ H% I( J, b5 }* \" _3 L: G( R
& {7 [. n, u2 m1 c+ U

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
回复

使用道具 举报

发表于 2014-5-23 15:38:13 | 显示全部楼层
数车上的宏程序没有多少搞头,晚上给你细看一下
发表于 2014-5-23 19:28:56 | 显示全部楼层
我用西门子的系统给你讲一下(别的系统看着太别扭了)  M) y0 V( u" h7 _, g
R1=0     (R1就等同于你的#)
& M, x( N& h5 \R2=1
) K) l/ z( x  Y4 DIF为判断语句    简单的讲就是当什么什么的时候5 M, [1 T9 ~0 A- m5 o
GOTO为跳转     就是说你想到哪去3 M9 O, H& T4 _. I  J' P  z& z6 `
程序里边的细节就不废话了   直接说重点: n! g6 i- M' O4 E+ [
R1=R1+R2     这时候R1是个变量         0=0+1          R1变成1了1 f# G8 m$ i$ }) N2 ?( z
IF   R1>=100   GOTO  N10    当R1=什么什么的时候跳转到什么什么地方
% u; n1 Y0 {- }  {% d$ s0 C2 a给你举个具体编程的方式
9 e- o& N* l4 f5 gR1=0                       8 a5 J/ d3 R3 }" [, J8 I" o2 X
R2=1                       
$ w. Y% i* P# J& aG54                        
9 K7 q  F# y! v" F+ ?8 K6 e4 ~% A6 B' lG17G90G94              
& m4 ~6 }9 e8 |; x- Z) OG0X0Y0Z2003 m* J) ~4 l( p& j( f9 k$ d. y
M3S500# l! F$ ]0 m0 D- d8 }+ _) G
ABC:                          ABC就是个节点   就相当于你的N107 A: A. Q! H. X5 w) o5 D* y/ Q
G0X0Y0                     X和Y都到0点
& G, ^4 P. Z9 J4 H/ N! cZ=R1                        Z到0点    因为R1等于02 \, h. j7 G4 _
G1X1000F500            走刀X到1000进给5002 Q2 J  N3 Q. O
G0Z100                     Z抬刀到100
) m4 P3 _7 I$ @- e" ~/ @- a  UR1=R1-R2                 0=0-1这时候等号前边的0就等于-1     因为R1在这里是个变量   下次走到这的时候就是-2了   以此类推! [! w+ w2 f4 w! g
IF R1>=-100  GOTO  ABC        当R1>=-100的时候跳转到ABC那个节点程序就从ABC那个节点在走一遍知道R1>=-100的时候 Z-100的时候才继续往下走不然每次走到这就跳到ABC那个节点4 s8 I5 v0 M+ o0 C3 k" M$ B# h* I
G90G0Z200) Z2 _, r  T# a. Y* Y
M30
8 R1 {1 I% B+ ?3 y* X! c: g谢了这么多希望你懂了    有什么不明白在问
/ Q. {  ]. z0 o" X& `1 W
发表于 2014-5-23 19:41:51 | 显示全部楼层
R1=0
6 M4 [2 V: j( Q: V& o9 \/ Z4 CR2=1
  t- O9 Y5 ^2 V2 O2 GG54
) F7 i# L! P- h, V0 q9 u' OG17G90G940 r  t% u$ F8 |1 }, y/ n
G0Z200
7 q1 M) x( e3 ^0 X$ i. Q7 u- KX0Y0
6 U& V2 B" Z0 X" [) K2 y# AM3S5009 b, b& v, V5 \6 _/ B  Z
ABC:                                                     ABC是个节点和你的N10是一个意思
$ D5 D! z' @0 [2 q* y' _G0X0Y0                                                # x; H7 T% A7 k/ I) {$ J
Z=R1                                                   Z走到0应为R1=0/ m# H' x3 {; r" ?3 w
G1X1000F200. d3 t  ]. ~8 ~  z
G0Z1003 C# j/ Y8 k1 y) Y- ]& i
R1=R1-R2                                           0=0-1这时候等号前边的0就是-1* e9 {; I0 w% O  n4 O6 c* f
IF  R1>=-100  GOTO  ABC                    当R1>=-100    跳转到ABC
  J1 l9 O  \# `; VG90G0Z200
6 C2 r7 ]; p" \M30
5 O1 M+ t1 Z( M9 V! h- w* z7 }- P7 s: Y5 \1 e7 U/ X2 e) L
这个程序就是说每次Z轴都是上刀1mm  一直重复的走从ABC节点到IF判断语句 直到Z走到-100(R1为-100)程序才结束/ P- d; D- F. ]4 \0 F
这里唯一比较难理解的就是R1这个变量2 Q  X& v7 N7 u# n- n
R1等于0的时候0=0-1这个时候等号前边的0就变成-1了也就是说R1=-1以此类推明白了吗-1    -2    -3    -4    -5    -6等等等等6 I4 {) E- M' X3 Q
发表于 2014-5-23 20:58:29 | 显示全部楼层
书上的说明很清楚.#104只是个判断变量.为了程序能够贯通并不形成死循环.当你精车完后.如果不加#104的条件判断.就不会跳到N30段.而后面有个无条件跳转GOTO20.这样就形成了一个死循环..对于这种程序.机床会报警的一般
 楼主| 发表于 2014-5-24 14:59:37 | 显示全部楼层
网络公zx 发表于 2014-5-23 19:41 % A- N2 n/ d! U$ ?5 c4 t
R1=0
0 a2 p& M4 @6 B) O4 [R2=1  j. t2 k1 i* i+ U% s& S/ l
G54
) Z- \8 n$ x& h. G5 s4 y; F7 `2 Q
嗯,谢谢哥们码这么多字啊,我还是要再琢磨琢磨,你讲的我懂了
- u. X. d- X9 ?6 W3 U- E' s/ R- @/ x8 G6 c- X1 b9 I1 W
但是我图片上发的,#104是0+1也就是1,下面一句是 如果#104大于1.5的时候 无条件跳转到N30也就是退刀结束,那#104一直是0+1啊,啥时候才会大于1.5?我觉着这样不就是一个死循环……还是不解3 ^. V1 }& q; Z! q" J2 v$ j
4 c& X; i' W6 {

9 Q  k, z8 a, v1 @1 o9 q6 g6 }% d+ W, r; X
 楼主| 发表于 2014-5-24 15:01:11 | 显示全部楼层
乡村非主流 发表于 2014-5-23 20:58 , O. M! x; k/ q  T# L0 j: k
书上的说明很清楚.#104只是个判断变量.为了程序能够贯通并不形成死循环.当你精车完后.如果不加#104的条件判 ...
+ \8 t* G# f& W# C2 y8 N. D

" X. I* s3 n5 i% z* s% m
5 d7 k  U0 n+ _( _. `" D但是我图片上发的,#104是0+1也就是1,下面一句是 如果#104大于1.5的时候 无条件跳转到N30也就是退刀结束,那#104一直是0+1啊,啥时候才会大于1.5?我觉着这样不就是一个死循环……还是不解, K  ?, B/ y( m* q" q6 s9 ^

# ^& ?  j9 f8 A: N3 x( D8 r1 Z

点评

MO1后面#104就加了1.当你精加工完了再加1不就是大于1.5了吗??这很好懂的了  发表于 2014-5-24 22:08
 楼主| 发表于 2014-5-25 12:07:13 | 显示全部楼层
huangdongnb 发表于 2014-5-24 15:01   Y+ b4 m& C3 K) f
但是我图片上发的,#104是0+1也就是1,下面一句是 如果#104大于1.5的时候 无条件跳转到N30也就是退刀 ...

( p- y% e3 s2 |( X; m哦明白了谢谢了啊老师,这样精车完就停了,谢谢懂了; V* Y- A" ~$ ]1 ]% M" c
发表于 2014-5-27 19:20:43 | 显示全部楼层
huangdongnb 发表于 2014-5-25 12:07 7 T) c: |; A" z/ v7 o# n
哦明白了谢谢了啊老师,这样精车完就停了,谢谢懂了

. ]- w, Y& C: |9 i& n呵呵,来迟,都懂了,今天才能用电脑上网!, k0 g" `  ^+ i: l
发表于 2015-10-5 20:20:39 | 显示全部楼层
本帖最后由 QQHAO 于 2015-10-5 20:22 编辑
. a* ]$ r2 v0 `1 U: N4 F; i& C$ s4 T4 K
看书没有任何作用的学习张老师的宏程序自学教程第一讲的视频教程地址http://www.tudou.com/programs/view/ObIdJdrGwEs/
3 l! }+ l: t5 ^- x张老师网站:http://www.cccam.cn/zixue/
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-20 03:25 , Processed in 0.073009 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表