机器人教程网

 找回密码
 立即注册
查看: 10992|回复: 1
打印 上一主题 下一主题
收起左侧

[问题求助] ABB机器人示教程序编程与基本程序指令讲解

[复制链接]
跳转到指定楼层
楼主
发表于 2018-11-3 00:53:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

注册用户,获取RB币,享更多免费资源下载和阅读权限。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ABB机器人示教程序编程与基本程序指令讲解
一、程序储存器(Programmemory)的组成:
a、应用程序(Program)
b、系统模块(Systemmodules)
机器人程序储存器中,只允许存在一个主程序;所有例行程序与数据无论存在于哪个模块,全部被系统共享;所有例行程序与数据除特殊定义外,名称必须是唯一的。
1、应用程序(Program)的组成:
        ·主模块(Mainmodule)
                        主程序(Mainroutine)
                        程序数据(Programdata)
                        例行程序(Routines)
        ·程序模块(Programmodules)
                        程序数据(Programdata)
                        例行程序(Routines)
2、系统模块(Systemmodules)的组成:
  ·系统数据(Systemdata)
  ·例行程序(Routines)
所有ABB机器人都自带两个系统模块,USER模块与BASE模块,根据机器人应用不同,有些机器人会配备相应应用的系统模块。建议不要对任何自动生成的系统模块进行修改。
二、编程窗口:
ABB机器人示教程序编程界面
1、菜单键File:
  1、 Open:打开一个现有文件。(程序.prg或模块.mod)
  2、 New:新建一个程序。
  3 、Saveprogram :存储更改后的现有程序。
  4 、Saveprogramas:存储一个新程序。
  5 、Print: 打印程序,现已经不使用。
  6、 Preferences:定义用户化指令集。
  7、 Checkprogram :检验程序,光标会提示错误。
  8 、Close:在程序储存器中关闭程序。
  9、 Savemodule :存储更改后的现有模块。(只在Module窗口中存在)
0、 Savemoduleas : 存储一个新模块。(只在Module窗口中存在)
2、菜单键Edit:
  1、 Cut:剪切,可能会丢失指令或数据。
  2 、Copy :复制。
  3 、Paste :粘贴,将剪切或复制的指令或数据粘贴到相应位置。
  4、 GotoTop:将光标移至顶端。
  5、 GotoBottom :将光标移至底端。
  6 、Mark :定义一块,涂黑部分。
  7、 ChangeSelected :修改指令中数据,可直接将光标移至相应位置按回车键。
  8 、Showvalue: 输入数据,可直接将光标移至相应数据按回车键。
  9、 Modpos :修改机器人位置,功能键上有。
0、 Search:寻找指令,程序复杂时很有用。
3、菜单键IPL1与IPL2:
IPL1与IPL2为指令目录。
其中IPL2有Mostcommt1、Mostcommt2、Mostcommt3为用户化定义指令目录,可在菜单键File中Preference定义。
4、功能键:
Copy、Paste、Modpos在菜单键Edit中可以找到。
Test为编程窗口与测试窗口切换键。
三、指令:
1、基本运动指令:
  MoveL:线性运动   (Linear)
  MoveJ:关节轴运动  (Joint)
  MoveC :圆周运动   (Circular)
  p1:目标位置。(robtarget)
  v100:运行速度mm/s。(speeddata)
  z10:转弯区尺寸mm。(zonedata)
  tool1:工具中心点TCP。(tooldata)
1)速度选择:mm/s
 ·将光标移至速度数据处,按回车键,进入选择窗口,选择所需速度。
 ·机器人运行速度属于数据类型speeddata。
 ·常用运行速度在Base模块中已经定义。
 ·特殊速度可自行定义。
 ·max速度为v5000,Base模块中定义最大速度为v7000,最大速度机器人未必能达到。
2)转弯区尺寸选择:mm
 ·将光标移至转弯区尺寸数据处,按回车键,进入选择窗口,选择所需转弯区尺寸。
 ·机器人转弯区尺寸属于数据类型zonedata。
 ·常用转弯区尺寸在Base模块中已经定义。
 ·特殊转弯区尺寸可自行定义。
 ·fine指机器人TCP达到目标点,并在目标点速度降为零,连续运行时,机器人动作有停顿。
 ·zone指机器人TCP不达到目标点,连续运行时,机器人动作圆滑、流畅。
 ·Base模块中已经定义的转弯区尺寸最小为z1,最大为z200。
 ·尽量使用较大的转弯区尺寸。
3)参变量:
  光标指在当前指令时,按功能键OptArg,可选择参变量。
 ·[\Conc](switch)
  协作运动。机器人未移动至目标点,已经开始执行下一个指令。
 ·[ToPoint](robtarget)
  在采用新指令时,目标点自动生成*。
 ·[\V](num)
  定义速度mm/s。
 ·[\T](num)
  定义时间s。通过时间决定速度。
 ·[\Z](num)
  定义转弯区尺寸mm。
 ·[\Wobj](wobjdata)
     采用工件系座标系统。
4)函数Offs():
MoveLp1,v100,…
MoveLp2v100,…
MoveLp3,v100,…
MoveLp4,v100,…
MoveLp1,v100,…
 ·为了精确确定p1、p2、p3、p4点,可以使用函数Offs()。
 ·Offs(p1,x,y,z)代表一个离p1点X轴偏差量为x,Y轴偏差量为y,Z轴量为z的点。
 ·将光标移至目标点,按回车键,进入目标点选择窗口,在功能键上选择Func,采用切换选择所用函数Offs()。
MoveLp1,v100,…
MoveLOffs(p1,100,0,0),v100,…
MoveLOffs(p1,100,-50,0),v100,…
MoveLOffs(p1,0,-50,0),,v100,…
MoveLp1,v100,…
2、转轴运动指令:
MoveAbsJ,    jpos1,     v100,       z10,     tool1
  jpos1:目标位置。(jointtarget)
  v100:运行速度mm/s。(speeddata)
  z10:转弯区尺寸mm。(zonedata)
tool1:工具中心点TCP。(tooldata)
3、输入输出群指令:
 ·do指机器人输出信号。
 ·di指输入机器人信号。
 ·输入输出信号必须在系统参数中定义。
 ·输入输出信号有两种状态,1(High)为接通,0(Low)为断开。
1)输出信号指令:
A、输出输出信号指令:set     dol
  do1:输出信号名。(signaldo)将一个输出信号赋值为1。
B、复位输出信号指令:Reset    do1
  do1:输出信号名。(signaldo)将一个输出信号赋值为0。
C、输出脉冲信号指令:ulseDO   do1
  do1:输出信号名。(signaldo)输出一个脉冲信号,脉冲长度为0.2s。
参变量:
 ·[\PLength](num)     脉冲长度,0.1s-32s。
2)输入信号指令:
     WaitDI      di1,       1
  di1:输入信号名。(signaldi)
  1:状态。(dionum)
参变量:
 ·[\MaxTime](num)等待输入信号最长时间s。
 ·[\TimeFlag](bool)逻辑量,TRUE或FALSE。
如果只选用参变量[\MaxTime],等待超过最长时间后,机器人停止运行,并显示相应出错信息。如果同时选用参变量[\MaxTime]与参变量[\TimeFlag],等待超过最长时间后,无论是满足等待的状态,机器人将自动执行下一句指令。如果在最长等待时间内得到相应信号,将逻辑量置为FALSE,如果超过最长等待时间,逻辑量置为TRUE。
4、通信指令(人机对话):
1)清屏指令:TPErase
2)写屏指令:PWrite    String
  tring:显示的字符串。(string)在示教器显示屏上显示字符串数据,也可以用“……”形式直接定义字符串,每一个写屏指令最多显示80个字符。
3)功能键读取指令:TPReadFK, Answer , Text , FK1 , FK2.  FK3,  FK4 , FK5
  Answer:赋值数字变量。(num)
  Text:显示屏显示的字符串。(string)
  FK1:功能键1显示的字符串。(string)
  FK2:功能键2显示的字符串。(string)
  FK3:功能键3显示的字符串。(string)
  FK4:功能键4显示的字符串。(string)
  FK5:功能键5显示的字符串。(string)
在示教器显示屏上显示字符串数据,在功能键上显示相应字符串,选择按相应的功能键,机器人自动给数字变量赋于相应数值1-5。
5、程序流程指令:
1)判断执行指令IF:
 ·IFTHEN        符合条件,
“Yes-part”           执行“Yes-part”指令。
ENDIF
·IFTHEN        符合条件,
“Yes-part”           执行“Yes-part”指令。
ELSE                不符合条件,
“Not-part”           执行“Not-part”指令。
ENDIF
 ·IFTHEN         符合条件,
“Yes-part1”           执行“Yes-part1”指令。
ELSEIFTHEN      符合条件,
“Yes-part2”           执行“Yes-part2”指令。
ELSE                   不符合与条件,
“Not-part”             执行“Not-part”指令。
ENDIF
2)循环执行指令WHILE:
 ·reg1:=1;
WHILEreg1<5DO        循环至不符合条件reg1<5,
reg1:=reg1+1;(Incrreg1;)  才执行ENDWHILE后指令。ENDWHILE
循环指令WHILE运行时,机器人循环至不满足判断条件后,才跳出循环指令,执行ENDWHILE后运行指令。循环指令WHILE运行时,存在死循环,在编写相应机器人程序时必须注意。
6、程序运行停止指令:
1)停止指令Stop:
  机器人停止运行,软停止指令(Soft Stop),直接在下一句指令启动机器人。
2)停止指令Exit:
  机器人停止运行,并且复位整个运行程序,将程序运行指针移至主程序第一行。机器人程序必须从头运行。
3)停止指令Break:
机器人立刻停止运行,有冲击,直接在下一句指令启动机器人。
7、计时指令:
1)时钟复位指令:ClKReset       Clock
  Clock:机器人时钟名称。(clock)
2)时钟启动指令:ClKStart        Clock
  Clock:机器人时钟名称。(clock)
3)时钟停止指令:ClKStop      Clock
Clock:机器人时钟名称。(clock)
8、速度控制指令:
VelSet  , Override,  Max
Override:机器人运行速率%。(num)
Max:机器人最大速度mm/s。(num)
每个机器人运动指令均有一个运行速度,在执行速度控制指令后,机器人实际运行速度为运动指令规定运行速度乘以机器人运行速率(Override),并且不超过机器人最大运行速度(Max)。
9、等待指令:
WaitTime , Time
Time:机器人等待时间s。(num)
等待指令只是让机器人程序运行停顿片刻。
10、赋值指令:
Data:=   ,  Value
Data:被赋值的数据。(All)
Value:数据被赋予的值。(SameasData)
举例:
ABB:=FALSE;(bool)
ABB:=reg1+reg3;(num)
ABB:=“WELCOME”;(string)
Home:=p1;(robotarget)
tool1.tframe.trans.x:=tool1.tframe.trans.x+20;(tooldata)
11、负载定义指令:
GripLoad    , Load
Load:机器人当前负载。(loaddata)
四、例行程序(Routine):
  首先,机器人从进料运输带(Infeeder)抓取工件,放至机器(Machine)中加工,加工完成后,机器人再从机器中将工件取出,放至出料运输带上,完成一个循环。
1、建立新例行程序:
--->菜单键View--->2Routine--->功能键New
 ·Name例行程序名称。
最长16个字符,第一位必须为字母。
 ·Type例行程序类型。共有3种类型。
   ROC-普通例行程序
   FUNC-函数例行程序
   TRAP-中断例行程序
 ·InModule当前例行程序所属模块名称。
 ·Datatype数据类型,函数例行程序专用。
2、例行程序参数设置:
  每个例行程序可以自带多个变量,即参数。建立一个新例行程序后或重定义例行程序(Dupl)后,显示屏会显示以上窗口。通过功能键New增加参数,使用切换键将光标移动至相应参数,进行修改和定义。
 ·Name参数名称。
   光标指向参数名称时,功能键出现Text,用来更改参数名称。最长16个字符,第一位必须为字母。
 ·Datatype数据类型。
   光标指向数据类型时,功能键出现Chang…,用来更改例行程序参数数据类型。
 ·Required必需性选择。
   光标指向必需性选择时,功能键出现Yes与No选项,选择Yes,会出现确认符*。
 ·Alt分批输入参数选项。
   使用此项功能,必须是非必需参数。光标指向分批输入参数选项时,功能键出现First与Tail选项。
   First-开始使用的参数。
   Tail-结尾使用的参数。
 ·Mode数据模式。
   光标指向必需性选择时,功能键出现In与Inout选项。In-参数使用时,只能读取。Inout-参数使用时,可以读写。
五、机器人的测试:
1、检查程序语法:
--->菜单键File--->7CheckProgram
2、编程窗口(Test):
--->菜单键View--->5Test
1)功能键:
  tart:启动程序,机器人按程序连续运行。
  FWD:机器人程序向前单步运行。
  WD:机器人程序向后单步运行。
  ModPos:修正机器人运行位置。
  Instr:切换至指令窗口。
2)运行模式选择:
  在测试窗口按切换键,并且将光标移至运动模式选择(Running),此时,功能键显示Cont与Cycle选项。
 ·Cont连续运行模式,程序自动循环执行。
 ·Cycle单循环模式,程序运行完自动停止。
3)运行速率选择:
  在测试窗口按切换键,并且将光标移至运动速率选择(Speed),此时,功能键显示-%、+%、25%与100%选项,使用功能键确定运行速率。
 ·机器人实际运行速度为程序运动指令定义速度乘以相应百分比,最大不超过250mm/s。
 ·-%与+%在1%至5%之间将以1%递增或递减,-%与+%在5%至100%之间将以5%递增或递减。
 ·25%与100%是将机器人运行速率快捷的切换至25%与100%。
·运行速度调整可在程序运行时同步进行。
·在焊接程序中,运行速度选择只改变空行程速度,焊接速度不变。
4)、程序运行指针(》):
 ·程序运行指针(简称PP)至关重要,它指示出一旦启动程序,程序将从哪里起执行。
 ·程序运行指针与光标必须指向同一行指令,机器人才能正常启动。
 ·使用菜单键Special可以更改程序运行指针位置,选择执行的指令。
  1、MoveCursortoPP:将光标移至PP位置。
  2、MovePPtoCursor:将PP移至光标位置。
  3、MovePPtoMain将PP:移至主程序第一行。
4、MovePPtoRoutine:将PP移至相应例行程序。
3、删除指令:
将光标移至所要删除的指令行,按删除键,用功能键OK确认。
4、增加指令:
在测试窗口按功能键Instr->进入指令窗口,选择增加指令,被选择的指令将生成在光标所指指令行的下一行。如果光标在程序第一行,会出现一个提示窗口选择新指令生成在程序第一行(选择功能键Yes)或下一行(选择功能键No),然后用功能键OK确认。
5、修正工作点:
 ·将机器人移动至需要记录的工作点。
 ·将光标移动到需要修正的运动指令,按功能键ModPos修正工作点。
 ·注意此时操作窗口所选择的Tool与Wobj必须与运动指令所使用的一致。
6、停止:
  按S-Stop键停止测试,尽量避免直接放开使能器( Enabling   device )。

* i# q- Z( @6 z- @8 e# O) B
回复

使用道具 举报

沙发
发表于 2019-5-27 15:48:33 | 只看该作者
感谢楼主分享
回复 支持 反对

使用道具 举报

QQQQ:345103927|Archiver|手机版|禁闭室|问答社区|机器人教程网

GMT+8, 2024-12-28 17:32 , Processed in 0.066492 second(s), 23 queries .

Powered by Robotjc.com(网站备案信息:粤ICP备17111093号-1 )

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