我是靠谱客的博主 酷炫龙猫,最近开发中收集的这篇文章主要介绍c++loop指令_三菱基础编程指令讲解 6,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

6.1 三菱机器人编程语言说明

6.2 三菱机器人数据类型介绍

6.3三菱机器人运动指令介绍

6.4三菱机器人非运动指令介绍

6.5 三菱机器人逻辑语句解析


6.1 三菱机器人编程语言说明

三菱机器人采用BASIC V编程语言进行编程。BASIC是Beginner's Allpurpose Symbolic Instruction Code的缩写。意即初学者通用符号指令代码。它是一种国际通用的计算机高级语言。一般认为它是从FORTRAN中提炼简化而来,因此简单易学。学。  

6.2 三菱机器人数据类型介绍

1、实数变量

      以“M”开头的变量为实数变量,“M”后面不带下划的

      为局部变量,“M”后面带下划线的为全局变量。

      例如:1、M1=10或M2=0.322  为局部变量

                2、M_12=2  为全局变量

2、点位置变量

      以“P”开头的变量为点位置变量。

      例如:P1=P_Fbc或 Pick=P_Fbc(1)

3、字符串变量

      以“C”开头的变量为字符串变量,“C”后面不带下划线的       

      为局部变量,“C”后面带下划线的为全局变量。

     例如:C1="123" 或C_1="ABC"

4、关节变量

      以“J”开头的为关节变量。

      例如:Mov J1

5、数组变量

        例如:1) DimPick(5)   定义位置数组变量

                  2) Dim M_01(6)  定义实数数组变量

                  3) Dim C_01(7)  定义字符串数组变量

                  4) Dim J_01(8,9)  定义关节数组变量

6.3 三菱机器人运动指令介绍

1 > mov

        [功能]

               从现在位置到移动目的位置执行关节插补位置。

               (点对点运动)        

        [格式]

                Mov □ [, ] [□ 

               TYPE □ , ] □ []

         [例子]

             (1)以关节插补方式向P1点位置运动(绕道)

                      Mov P1 Type 1,0

             (2)以关节插补的方式向矩阵1的第10个点的上方

                     100mm的位置移动,同时输出IO通用信号17

                      Mov (Plt 1,10),100.0 Wth M_Out(17)=1

       [例子]:

             1 Mov P1 Type 1,0

             2 MovJ1

             3 Mov(Plt 1,10),100.0 Wth M_Out(17)=1

             4 MovP4+P5,50.0 Type 0,0 WthIf M_In(18)=1,M_Out(20)

        [说明]

            (1) 将起点位置和终点位置的各轴关节角度做均等插补。

            (2) 依据Wth 、 WthIf 的并用,可以得到信号输出时序和动作的同步。

            (3)Type的数值常数1为指定姿势的插补方式。

            (4)在关节插补里称的绕道,是指以示教姿势做动作的意思。会有因示教时的

                姿势而变成绕道动作的情况。    

            (5)所谓走近路是指在起点·终点间的姿势,在动作量少的方向进行姿势的插

                 补。      

            (6)绕道/走近路的指定,是指开始位置和目的位置的动作范围,有±180度

                 上的移动量的意思。

2 > mvs

          [功能]

               以直线插补动作从现在位置到移动目的位置为止 。

          [格式]

               Mvs□ [, ]

               [□Type□ ,]□[]

          [例子]

           (1) 往目的位置P1直线插补移动

                     Mvs P1

            (2)往目的位置P1直线插补移动和同时将输出信号

                     1 7开启

                     Mvs  P1,100.0 Wth M_Out(17)=1

            (3) 从现在地往坐标Z方向直线插补移动50mm

                      Mvs ,50

             [用语]

             <移动目的位置>  插补动作的最终位置。

              < 近接距离>      指定这个值的情况下,实际的移动目的位置

                                          为TOOL坐标的Z轴方向(+/-方向)往指定距离

                                          的偏离位置移动。

               < 常数 1 >         走近路/绕道动作=0/1、初始值为0 。

               < 常数 2 >         等量回转/三轴直交/特异点通过=0/1/2,

                                          初始值为0 。

               < 附加条件>      记述WthWth或WthIf 节。

               < 脱离距离>      指定这个值的情况下,从现在的位置往TOOL

                                          坐标的Z轴方向(+/-方向)往指定距离的偏离

                                          位置移动。

            [例子]

           (1) 往目的位置P1直线插补移动

                      Mvs P1

            (2)往目的位置P1直线插补移动和同时将输出信号1 7开启

                     Mvs P1,100.0 Wth M_Out(17)=1

            (3)往目的位置P4+P5(依据加算的相对运算位置)的T O OL坐

                     标Z方向50mm, 在直线插补移动中输入信号18开启的话,

                     会开启输出信号20

                     Mvs P4+P5, 50.0 WthIf M_In(18)=1, M_Out(20)=1

            (4)从现在地往TOOL坐标Z方向直线插补移动50mm

                     Mvs ,50  

          [说明]        (1)直线插补是从机器人的现在位置开始往移动目的 位置为止的控制点轨迹为直线的移动状态。          (2) 姿势为从起点开始往终点的插补。          (3) 在<接近距离>和<脱离距离>所指定的TOOL   坐标依机器人的机型,Z的+/-方向会不同。                MVS , 50     四关节机器人为Z向上运行50mm                                    六关节机器人为Z向下运行50mm

  3> mva

          [功能]

                   从现在位置以弧形MOTION动作(弧形插补)移动到目的位置。

          [格式]

                   Mva□    [, ]

           [用语]

                   <移动目的位置> 插补动作的最终位置。以位置型的变量和常数或关节变量记述。

                    <弧形号码>      Def Arch(1 ~4)。省略时为1。

de3d99daaa1a8235d3feb8f06d7ed15b.png

        [例子]

                 1 Def Arch 1,5,5,20,20   ' 定义弧形形状

                 2 Ovrd 100,20,20    ' 指定速度比例

                 3 Accel 100,100,50,50,50,50   '设定加减速比例

                 4 Mov P0    ' 往弧形motion动作的开始位置移动。

                 5 Mva P1,1   ' 以STEP号码1已定义的形状执行弧形motion动作。  

[说明]

        (1)从现在位置在Z轴方向上升,持续的往目的位置的上空移动,且最后到 下降到目的位置为止的动作。将所谓的弧形Motion动作在一个指令里执行。

        (2) 在没有DefArchDef Arch指令下执行Mva指令的时候,以在参数设定的弧形形状动作。因为插补形式、插补种类等也是以Def ArchDef Arch 指令定义。

        (3)在Mva指令执行中,中断JOG前进,然后再开启的情况下,会返回到中断的位置再开始执行Mva指令。返回到中断位置插补方法(关节插补/直线插补)可以RETPATH参数变更。此外,依据此RETPATH参数的变更,可以不返回到中断位置,而直接往目的位置移动。

4> mvc

    [功能]

        以起点、通过点 1、通过点 2、起点的顺序执行三维元圆插补动作。

    [格式]

       Mvc□ ,,[][]

        [例文]

           (1)从当前点移动到P1点,以P1点为起点,经过P2,P3,点画圆

                      Mvc P1,P2,P3 

            (2)从当前点向P1点移动的同时输出IO信号17,到达P1后以P1点为  起点,经过P2,P3点画圆

                      Mvc P1,P2,P3 WthM_Out(17)=1

754072cc4c2ebe7e5c084fcec88966f1.png

[例文]

        1 Mvc P1,P2,P3

        2 MvcP1,J2,P3

        3 MvcP1,P2,P3 Wth M_Out(17)=1

        4 MvcP3,(Plt 1,5),P4 WthIf M_In(20)=1,M_Out(21)=1

       [说明]

       (1) 圆插补动作是从被授予的3点开始求圆,移动圆周。(360度)

        (2)圆插补中的姿势会维持起点的姿势。通过点1,2 的姿势不被考虑。

        (3)现在位置和起点不一致的情况下,会自动的以直线插补(三轴直交插 补)移动到起点为止,之后进行圆插补。

  5> mvr

       [功能]

          从起点开始,经由通过点到终点为止,执行三维元圆弧插补动作。

        [格式]

            Mvr□ , ,

                        [□ TYPE□ ,]□  []

        [用语]

          <起点> 圆弧的起点。记述位置型的变量和常数、或关节变量。

          <通过点> 圆弧的通过点。记述位置型的变量和常数、或关节变量。

          <终点> 圆弧的终点。记述位置型的变量和常数、或关节变量。

          <常数1> 走近路/绕道动作= 0/1、初始值为 0 。

          <常数2> 等量回转/三轴直交/特异点通过= 0/1/2初始值为0。

          <附加条件> 记述 Wth或WthIf节。

[例子]

       1 MvrP1,P2,P3

       2 MvrP1,J2,P3

       3 MvrP1,P2,P3 Wth M_Out(17)=1

       4 MvrP3,(Plt 1,5),P4 WthIf M_In(20)=1,M_Out(21)=1

       [说明]

      (1)圆插补动作是从被授予的3点开始求圆,在那个圆弧上移动。

      (2)姿势会变成从起点开始往终点的插补,通过点的姿势没有影响。

      (3)现在位置和起点不一致的情况下,会自动的以直线插补(三轴直交插补)移动到起点为止。

3e30d17ae70e341fe63ae615fa71aa44.png

6.4 三菱机器人非运动指令介绍

IO信号输入输出指令

    1、M_IN

        [功能]

              该指令是对外部输入IO信号状态的读取

        [例文]

            (1)WaitM_IN(1)=1  '等待输入1信号ON      

    2、M_OUT

        [功能]

              该指令是对机器人通用IO信号的输出

        [例文]

            (1)M_OUT(2)=1   '将通用输出信号2置ON

    3、WAIT

        [功能]

              等待某个通用信号输入

        [例文]

            (1)WaitM_IN(1)=1  '等待输入1信号ON

    4、DLY

          定义:延时

          例句:Dly 0.2    '延时0.2秒

    5、AcceL    

         定义:机器人加减速的设定(范围是1~100)

          例句:Accel 100,100      ‘加/减速度设定

    6、OadL

          定义:最佳加减速的设定

          例句:OAdL On       '最佳加减速ON

    7、Ovrd

          定义:机器人动作的速度以1~100%指定。

          例句:Ovrd 30,10,10   ‘弧形motion指令的上升、下降时的速

          度比   例值设定为10。

  8、Servo

           定义:控制伺服电源的开启关闭。

           例句:Servo On       '伺服开启

   9、Spd

           定义:指定机器人的直线移动、圆弧移动时的速度。另外指定

                      最佳速度控 制模式。            

           例句:Spd 100

            (1)Spd指令只有在直插补、圆弧插补时有效。

            (2)实际的速度比例=(操作面板 (T/B)的速度比例设定值 )×

             (程序速度比例( Ovrd指令 )) ×(直线指定速度(Spd指令 ))。

            (3)指定速度以M_NSpd NSpd(初期值 :值为10000。)

10、Act

            [功能]

                    依据动作中的信号等,指定插入处理的许可/禁止。

            [书式]

                    Act□ = <1/0>

            [用语]

                      0 :插入全部许可或禁止。

                                1 ~ 8 :指定以Def ActDef Act文定义的插入优先号码。请务必在优先号码Act指令的后面空出间隔记述。

                     <1/0>      1 : 插入许可的情况

                                     0  : 禁止的情况下变量也可以。

          [例文]从 P1往 P2的移动中,输入信号1开启的话(变成1的话),到此信号变成 0为止,会执行环路(LOOP)

          1 DefAct 1,M_In(1)=1 GoSub *INTR      '在插入1的条件下,分配输入信号1。

          2 Mov P1

          3 Act1=1                                '许可插入1。

          4 Mov P2

          5 Act1=0                                '禁止插入1。

                :

         10*INTR                                  '

         11 IfM_In(1)=1 GoTo *INTR    ' M_IN(1)信信号在变成0为止会执行环路(LOOP)

         12 Return0     

11、Cnt

          [功能]

               指定插补的连续动作。依据连续动作,可以缩短动作时间。

          [格式]

               Cnt□  [<1/0>] [,] [, ]

          [用语]

                <1/0>   指定连续动作、加减速动作。指定以常数执行。1 : 连续动作指定。0 : 加减速动作(初期值)到达插补的目的位置后,执行下一个插补。

                    将轨迹变换时的下一个插补开始的最大接近距离以 mm单位指定。可以使用常数或变量。

                     轨迹变换时的前一个插补结束的最大接近距离,使用 mm单位指定。可以使用常数或变量。

3f2f35ebb7240590de30905a377e8dd5.png

         [例文]

              指定轨迹变换时的最大接近距离的情况 

                1 Mvs P2              ' 和下一个插补的连续为连续动作

                2 Cnt 1,100,200   ' 指定在开始侧 100mm、结束侧

                                               200mm做连续动作

                3 Mvs P3             ' 用指定距离在插补的前后连续动作

                4Cnt 1,300        ‘ 指定在开始侧 300mm、结束侧

                 300mm做连续动作

                5 Mov P4             ' 在开始侧以 300mm连续动作

矩阵功能指令

  Def Plt 指令

       [功能]

               定义矩阵pallet( 3点pallet /4点pallet)

      [格式]

               Def □Plt □<pallet号码>,<起点>,<终点A>,

               <终点B>,[<对角点>],<个数A>,<个数B>,

               <pallet模版>

      [例子]

             (1)Def Plt 1,P1,P2,P3, ,3,4,1  '3 点 pallet的定义

             (2)Def Plt 1,P1,P2,P3,P4,3,4,1 '4 点 pallet的定义

             (3)Mov (Plt 1,10)'以关节插补的方式向矩阵1的第10个点位置运动

60218217fa9ec6844173efb5184a7462.png

12、P_Fbc         

              [功能]

                    将从伺服来的回馈值返还到原来的现在位置

                     (X,Y,Z,A,B,C,L1,L2)(FL1,FL2)。

              [格式]

                    例) =P_Fbc[()]

              [用语]

                    <位置变量> 指定代入的位置变量。

                    <机制号码> 输入机制号码。1~3、省略时为1。

              [例子]

                     1 P1=P_Fbc '在P1代入回馈现在位置。

13、Hlt

               定义:程序停止

14、Goto

              定义:程序跳转

              例句: GoTo *LBFCHK

15、CallP

              定义:调用子程序

              例句:CallP "20"

              注意:其调用的子程序要以“END”结束

16、GoSub (....Return)

               定义:呼叫子程序

               例句:GoSub *LBL

               注意:其呼叫的子程序要以“Return”结束

6.5 三菱机器人逻辑语句解释

If条件分支指令

1、If Then 

      例句:

            1、If M_In(1)=0 Then GoTo *Lab1

      例句分析说明:如果通用输入信号1没有接通那么程序就会跳转到标签“*Lab1”这个位置继续往下执行。

2、If Then

     Else

     EndIf

     If Then

    例句: 1 If M1>10 Then

                2    Mov P1

                3    Else

                4    Mov P2

                5 EndIf

          例句分析说明:如果M1大于10那么程序就执行第二行语句“Mov P1”,否则(M1小于或等于10时)就执行第四行语句“Mov P2”。

注意:“语句”中也可以嵌套If条件判断语句

    3、For...Next 循环

          [功能]

               将For文和Next文间的程序,到满足结束条件前,反复的执行。

          [书式]

                For□  = To [Step ]

                   :

               Next□   []

          [用语]

           <计数器> 作为反复控制的计数器,记述数值变量。

          <初期值>  将反复控制的计数器的初期值以数值表达式设定。

          <结束值>  将反复控制的计数器的结束值以数值表达式设定。

           <增量>    将反复控制的计数器的增量以数值表达式设定(默认为1)

例句:   1  For  M1= 1 To10  Step 1

             2         Mov P1

             3         Mov P2

             4         Mov P3

             5         Mov P4

             6 Next M1

          例句分析说明:程序遇到For循环语句时,看其后面的变量从多少值开始到多少值结束,就可知道其要循环的次数,该例句就是将程序第二行到第五行重复执行10次。

          注意:程序中“Step 1”可以省略,如果将“Step 1”更改为“Step 2”那么程序执行的次数就变成5次了。

      4、Select Case

              [功能]

               遵照条件式的值,执行复数的叙述区块的其中一个。

              [格式]

                Select□  

                   Case 

                        [ ]

                    Break

                         :

                    Default

                        [ ]

                    Break

                  End  Select

   例句:1    Select M1

               2   Case M1<= 10               ' M1 <=10

               3           Mov P1

               4           Break

               5   Case 11                          ' M1 =11                

               6           Mov P2

               7           Break

               8   Case12 To 18                ' 12<=M1<=18

               9           Mov P4

               10        Break

               11 Default                          ' 上记以外

               12        M_Out(10)=1

               13        Break

               14 End Select

5、While...WEnd 循环

      [功能]

          将While文和End文之间的程序,满足循环(loop)条件时反复执行。

      [格式]

          While□ 

              :

            WEnd

      [用语]     

        < 循环条件>        记述数值表达式

例句:

           1 While (M1>=-5) And(M1<=5)  

           2    M1=M1+1                              

           3 WEnd

        例句分析说明:程序首先判断变量M1的值,当-5<=M1<=5 时程序从第2行开始执行,直到执行WEnd 后,程序再次跳到While行再次判断变量M1的值,如果这时M1的值不满足-5<=M1<=5时程序就会直接跳到执行WEnd之后的语句。  

6、AND、OR、MOD 逻辑关键字

      1)AND 逻辑与

          例句:M1>=5 And M1<6

          例句分析说明:5≤M1<6

      2)OR 逻辑或

          例句:IF M1=5 OR M1=10 THEN GOTO *LAB

          例句分析说明:如果M1=5或者M1=10时程序就跳转到

          标签 “*LAB”执行其后面的语句,否则执行下一行语句。

      3)MOD 取余数

          例句:M1 MOD 2=1

          例句分析说明:如果M1 MOD 2=1则M1为奇数,如果

          M1 MOD  2=0则M1为偶数。

专注于人工智能与自动化系统领域知识内容分享。感谢你的关注与分享!!!



92f2334e47f63126bab49a68fa50a22d.png

cb332ef7fd60c024058803b21e022188.png

微信公众号:自动化电气系统

           微信交流群: zidonghuadianqi123

QQ交流群:60886850    

您的赞赏是对我们的鼓励,We’ll be more solid with your donations.

在看,让更多人看到   bfc470aef5e0cc486cc05f4464ae6b24.gif

最后

以上就是酷炫龙猫为你收集整理的c++loop指令_三菱基础编程指令讲解 6的全部内容,希望文章能够帮你解决c++loop指令_三菱基础编程指令讲解 6所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部