返回主站|会员中心|保存桌面|手机浏览
普通会员

智锋科技有限公司

安川机器人,安川机器人一级代理商

新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > ABB机器人程序讲解
新闻中心
ABB机器人程序讲解
发布时间:2021-11-25        浏览次数:15        返回列表

一、程序储存器(Programmemory)的组成:


应用程序(Program)


系统模块(Systemmodules)


机器人程序储存器中,只允许存在一个主程序;所有例行程序与数据无论存在于哪个模块,全部被系统共享;所有例行程序与数据除特殊定义外,名称必须是***的。


1、应用程序(Program)的组成:


·主模块(Mainmodule)


主程序(Mainroutine)


程序数据(Programdata)


例行程序(Routines)


·程序模块(Programmodules)


程序数据(Programdata)


例行程序(Routines)


2、系统模块(Systemmodules)的组成:


·系统数据(Systemdata)


·例行程序(Routines)


所有ABB机器人都自带两个系统模块,USER模块与base模块,根据机器人应用不同,有些机器人会配备相应应用的系统模块。建议不要对任何自动生成的系统模块进行修改。


二、编程窗口:


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、输出输出信号指令:setdol


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)