数控车工吧 关注:12,690贴子:73,992
  • 27回复贴,共1

宏程序入门教程(二)

只看楼主收藏回复

宏程序两大主要语句
1,IF…..GOTO语句:
意思是:如果...就跳转到哪(或者是做什么事)。我们不妨用这个格式来造句。
如果 我是大巴,那么 我水经验就不怕小黑屋了;
如果 我是18级了,那么 我就不水经验了!
共同点:“如果”后面会跟一个条件!根据这个条件,决定我做什么事!所以很多书中都这么介绍此语句:IF[条件成立]GOTO?
那么我们用一个小程序来详细的解释下这语句。
O0001
N1 #1 = 20
#2 = 20
IF[#1 EQ #2] GOTO1
G0 X100.
Z100.
.......
M30
上面这个IF语句表示:如果#1这个变量的值等于#2的值,就跳转到第N1号程序段。注意“GOTO”和“1”是两个段组成。GOTO是跳转,1表示程序行号。数控的程序一般都有行号的,如果没有,那是系统参数设定,你可以自己在程序里根据自己需要加上(都来学宏了G71总会用把,一样的道理)。
那么EQ是什么意思,这个是英文EQUAL的简写,含义是等于的意思。
新手,建议掌握以下几个常用的符号:
EQ等于(=)
NE不等于(≠)
GT大于(>)
GE大于或等于(≥)
LT小于(<)
LE小于或等于(≤)
然后理解上面判断语句的意思了:如果#1等于#2,就跳转到第N1号段。
由于#1的值20(因为在赋值的时候,#1=20),同理#2也是20,所以条件成立,就跳到了第N1号段执行。因为数控程序一般是从上往下执行的,那么我们这跳到了第N1行,接着往下执行时又遇到了IF判断语句,于是有开始判断#1是不是等于#2,结果等于!于是又成立了,继续跳到第1行。所以,这个程序是死循环,永远不会结束。
说到这,细心人会发现一个问题:条件成立了,会执行GOTO语句,那要是不成立,程序会怎么办? 其实很简单,不成立就往下面走会忽略这段程序。也就是说如果不成立,就执行IF段下面的G0X100.的程序段,直到程序运行至M30结束!
总结:如果条件成立,就执行GOTO语句,你写的行号是多少,它就跳到那个行;要是条件不成立,那么就执行IF下面的语句,不执行GOTO语句!


IP属地:河南来自Android客户端1楼2015-07-31 09:10回复
    前排!


    IP属地:山东来自Android客户端2楼2015-07-31 10:10
    收起回复
      2楼


      来自Android客户端3楼2015-07-31 10:33
      回复
        if goto
        while do
        楼主继续
        浪起来


        4楼2015-07-31 12:10
        收起回复
          前排


          IP属地:陕西来自iPhone客户端5楼2015-07-31 16:33
          回复
            前排,有瓜子饮料,矿泉水。。。。


            IP属地:河南来自Android客户端6楼2015-07-31 20:23
            收起回复
              前排,有瓜子饮料,矿泉水。。。。


              来自Android客户端7楼2015-07-31 20:31
              回复
                加精鼓励
                继续详细介绍


                IP属地:广东来自Android客户端8楼2015-07-31 21:23
                回复
                  好东西。


                  来自Android客户端9楼2015-08-01 06:25
                  回复
                    真是好东西啊,


                    来自手机贴吧10楼2015-08-01 06:41
                    回复
                      while.﹉do之间的内容就是循环语句。我就和楼主一个比喻来说一下吧。如果你犯了错误关监狱三年,三年内你就在监狱呆着吧。


                      IP属地:天津来自Android客户端11楼2015-08-01 08:11
                      收起回复
                        o0001
                        #1=20
                        #2=20
                        while(#1eq#2)do1
                        #1=#2
                        don1
                        死循环哈哈。


                        IP属地:天津来自Android客户端13楼2015-08-01 08:22
                        收起回复
                          给你顶一个


                          IP属地:广东来自Android客户端14楼2015-08-01 09:07
                          回复
                            顶一个


                            来自Android客户端15楼2015-08-01 21:12
                            回复
                              楼上的都给顶穿了,我怎么顶!!!


                              来自iPhone客户端16楼2015-08-24 23:03
                              收起回复