概述
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向下运行50mm3> mva
[功能]
从现在位置以弧形MOTION动作(弧形插补)移动到目的位置。
[格式]
Mva□ [, ]
[用语]
<移动目的位置> 插补动作的最终位置。以位置型的变量和常数或关节变量记述。
<弧形号码> Def Arch(1 ~4)。省略时为1。
[例子]
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
[例文]
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)现在位置和起点不一致的情况下,会自动的以直线插补(三轴直交插补)移动到起点为止。
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单位指定。可以使用常数或变量。
[例文]
指定轨迹变换时的最大接近距离的情况
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个点位置运动
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为偶数。
专注于人工智能与自动化系统领域知识内容分享。感谢你的关注与分享!!!
微信公众号:自动化电气系统
微信交流群: zidonghuadianqi123
QQ交流群:60886850
您的赞赏是对我们的鼓励,We’ll be more solid with your donations.
在看,让更多人看到最后
以上就是酷炫龙猫为你收集整理的c++loop指令_三菱基础编程指令讲解 6的全部内容,希望文章能够帮你解决c++loop指令_三菱基础编程指令讲解 6所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复