版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Kemro应用及编程手册V 2.3应用及编程手册KEBA CN,市闵行区浦江高科技园区环路 188 号 15 幢 101 室Phone: +86 21 34637166, Fax: +86 21 34637155,修改本操作手册最终解释权归科控工业自动化设备()所有KeMotion 技术部咨询疑问,请致电科控工业自动化设备()I版本日期修改章节描述修改者2.02014-04-11所有手册的编写hzf,zhzg, zhxh,lijx, wangp2.22014-05-12所有章节校验KeMotion2.32014-06-30附录 7添加附录文档详解Luphy目录目 录KeTop 简介1KeTop
2、 界面简介1配置管理21.2.1.21.2.2 输入输出口.6变量管理8项目管理9项目管理9程序执行管理9程序管理10程序界面10程序指令与编辑11位置管理111.7处理13运动指令组15PTP152.1.1参数15dyn 参数16ovl 参数18PTP 指令配置不同参数21Lin222.2.1参数22dyn 参数23ovl 参数23Lin 指令配置不同的参数23Circ24PTPRel25LinRel26StopRobot26WaitIsFinished262.8 WaitJustime27回零指令组27RefRobotAxis27RefRobotAxisAsync27WaitRefFini
3、shed27设置指令组28Dyn28Dynovr28Ovl29I目录相对逼近参数29绝对逼近参数29Ramp30Refsys32三点(含原点)示教法33三点(无原点)示教法36一点(保持姿态)示教法38Tool39工具坐标系的示教39OriMode45系统功能指令组464.1 :=(赋值)464.2 /(注解)46WaitTime46Stop46Info46Warning47Error47Random47时间计量命令48CLOCK.Stop48CLOCK.Read48CLOCK.Reset48CLOCK.Start48CLOCK.ToString48TIMER.Start48TIMER.Sto
4、p48SysTime48SysTimeToString484.10 数算指令49SIN49COS49TAN49COT49ASIN49ACOS49ATAN49ACOT494.10.10 ATAN2494.10.11 LN49EXP49ABS49SQRT49位运算及转换指令50SHR50SHL50ROR50II目录ROL50SetBit50SetBit50ResetBit50CheckBit50STR50流程控制指令组51CALL51WAIT51IFTHENEND_IF,ELSIFTHEN,ELSE51WHILEDOEND_WHILE51LOOPDOEND_LOOP52RUN,KILL52RETU
5、RN52GOTO,IFGOTO,LABEL52输入输出指令组53数字量输入输出指令组53DIN.Wait53DOUT.Pulse53DOUT.Set53DINW.Wait54DINW.WaitBit54DOUTW.Set54模拟量输入输出指令组55AIN.WaitLess,AIN.WaitGreater55AIN.WaitInside,AIN.WaitOutside55AOUT.Set56RC、IEC 和外部 IO 设备之间的关联56触发指令组61OnDistance617.2 OnParameter627.3.OnPlane637.4.Onition648 区域. 65新建 Area.65配
6、置 Area668.3 Scope 模型中区域的. 728.4 共享工作空间768.5 区域指令集788.5.1 Activate/Deactivate78III目录8.5.2 IsInArea788.5.3HasSpaceViolation78Connect/Disconnect78ActivateSmoothMove78WaitRobInside79SetTransformation79SetBoxSize79SetCylinderSize799 视觉与. 809.1 PLC 配置809.2 传送带功能的实现81视觉功能的实现82RC 的配置8410 码垛93简单码垛93准备工作93码垛配
7、置向导95工艺程序和最终效果101高级码垛103高级码垛应用组成103高级码垛的配置105工艺程序及效果110附录114附录一 软件光盘介绍114附录二 制作 CF 卡117附录三 安装示教器程序错误!未定义书签。附录四 打开 KeStudio 程序并写入控制器(以模板程序为例)125附录五 关于示教器的连接128附录六 利用 Scope 程序来查看机器人的运动130附录七 KeMotion 文档介绍133IVKeTop 简介1 KeTop 简介1.1 KeTop 界面简介KeTop 是 KEBA 公司专门为工业机器人手持终端提供的硬件解决方案,该手持终端运行 KEBA 公司研发的人机界面软件
8、TeachView。该人机界面具有易操作、人性化,符合人机工程学。图 1-1 TeachView 登录界面图左侧的灯与按钮分别为状态与配置管理部分,而右侧按钮为机器人动作操作按钮,底部的按钮则是调节部分。除了上述三部分,还有急停按钮、USB 接口、手动/自动开关。左侧 4 个灯表示了系统运行状态。系统正常启动为 RUN 灯亮,绿色。发生错误 Error 灯会亮,红色。机器人上电时 Motion 灯亮,绿色。左侧 7 个图标,分别为自定义界面、配置管理、变量管理、项目管理、程序管理、坐标显示、信息管理。右侧机器人动作操作部分,通过按“+”与“-”按键可以在编程或者点动时调节机器人的坐标位置,点击
9、“2nd”按键可以翻到下一页(附加轴页)。Start 和 Stop 按钮与程序运行和停止有关。底部 F1、F2、Rob、F/B 为闲置未定义按钮,Mot 按钮用于机器人上电或下电, Jog 用于切换机器人坐标系(轴坐标系、世界坐标系、工具手坐标系),Step 用于切换程序进入单步模式还是连续模式。V+和 V-用于调节机器人运动速度。1KeTop 简介在主界面顶部,有一个状态栏,它包含了机器人的操作模式、机器人状态及名称、坐标系、运动调节速度、项目程序名称、程序状态及执行模式、急停开关的状态、使用者等级等有关机器人系统状态方面的信息。1.2 配置管理1.2.1以下简要介绍一下界面底部的配置按钮:
10、(1)设置界面2KeTop 简介设置界面主要完成用户的登入、登出和系统设置。登录界面可以选择要登录的用户,以及是否具有写权限和控制权。系统设置包括界面语言选择以及日期、时间的设置,如下图。还有一个显示设置,该指令作用是锁屏,系统默认锁屏时间为 10s。在锁屏期间所有按钮失效,主要作用是在锁屏期间进行触摸屏清洁工作,防止误操作。(2)用户界面用户为当前连接的使用者,包括其 IP 地址,等级以及是否有写入权限,如下图。3KeTop 简介(3)管理界面只有登录用户为管理员用户时才可以打开管理界面,可以管理用户组,对他们创建、编辑及删除等操作,如下图所示:(4)版本界面版本界面显示控制器、手持设备和工
11、具使用的版本信息。4KeTop 简介(5)信息界面HMI 重启按键的主要作用是重新启动手持设备,重启按键的主要作用是重新启动控制系统。如图:创建按钮,按下该按钮时,打开一个选择框,通过该框可以选择是否创建状态,该状态保存在控制器的 CF 卡上。5KeTop 简介输出可以将用户选择的状态保存到插在控制器或者 KeTop 上的 USB设备上。(6)网络界面1.2.2 输入输出口输入输出监测该界面显示系统的硬件配置,详细显示勾选的硬件的具体内容,而信息则显示当前选中项的具体信息。概览与详细可以相互切换。进入详细模式后,通过点击概览可以切换到输入输出监测页面。6KeTop 简介过滤条件通过这个按钮可以
12、设置过滤器开启或者关闭。如果过滤条件开启,那么安装按钮可用,如果过滤条件关闭,那么安装按钮不可用。安装打开过滤器设置的框(选择要被显示的模式),如下图:察看打开一个子菜单的如下图规格:紧凑、正常、列表。Unforce all 该按钮用于取消所有强制的 IO 状态。7KeTop 简介1.3 变量管理变量监测点击该选项进入变量监测的界面,界面中分布着已经存在的系统变量、全局变量以及项目变量,“+”可以展开显示,“-”可以收缩显示。并有变量类型过滤器可选择,点击选择“ALL”,则显示所有变量。点击变量按钮会展开删除、粘贴、或子目录下的变量进行操作。、剪切、重命名、新建选项,用以对某项8KeTop 简
13、介点击教导按钮,用于示教保存在程序运行过程中需要的位置。清除未用可以删除所有没有使用的变量,而检查则用于检查所选变量是否被使用。1.4 项目管理1.4.1 项目管理点击项目后显示项目管理界面,该界面显示当前已经被加载的项目或者程序,点击“+”可展开子目录下程序名称列表。项目打开后,可以通过终止按钮关闭,而程序可以通过加载或打开按钮打开,在加载的情况下,程序可以示教、编程和运行;而在打开的情况下,程序只允许编程。而且在加载的情况下,需按终止按钮才能将程序关闭,而在打开的情况不需要。注意:不同项目的程序不能同时打开,需关闭暂时不用的项目及其下的程序。信息按钮显示当前选中程序的名称,生成日期和修改日
14、期。按钮刷新可对项目和程序进行相关的更新。按钮文件可对项目或程序进行新建、删除、重命名、剪切等操作。1.4.2 程序执行管理按执行进入后,该界面显示为正在执行过程中的项目和程序,具体内容显示为执行程序的类型、状态等。按钮显示可以显示选中程序的具体内容,单步/连续设置执行程序的运行为单步或连续。结束则可关闭当前执行的程序。9KeTop 简介1.5 程序管理1.5.1 程序界面点击进入后,打开被加载程序的编程或者运行界面。在加载的情况下,编辑界面背景为白色,而在打开的情况下,背景则为灰面边框说明:10KeTop 简介程序界面底部按钮说明:更改用来修改已经生成的指令;新建用以调用指令库,并生成程序所
15、需指令;设置 PC 将程序指针指向某个光标,并且下一个开始指令从光标处开始。该指令按钮只有在程序加载的时候激活。单步/连续通过该按钮用户可以使程序在单步模式或连续模式之间切换。11KeTop 简介点动按钮可以在实际操作或编程时改变机器人点动的坐标系,其中有轴坐标系,世界坐标系,工具坐标系三个坐标系。如图:点动速度按钮可以调节当前机器人运动速度,如图:12KeTop 简介界面底部有下图:3 个按钮伺服、关节、世界,点击它们可以更换坐标系显示界面。如1.7处理进入或者界面后,用户可以查看信息或者日志。在界面中可以选择要查看的组,过滤无用信息。界面如下图所示:界面如下图所示:13KeTop 简介14
16、运动指令组2 运动指令组2.1 PTP该指令表示机器人 TCP 末端将进行点到点的运动(poto po),执行这条指令时所有的轴会同时插补运动到目标点。在程序中新建指令 PTP,确认后弹出窗口,具体如下图:共有三个参数可配置,分别是,dyn,ovl(在整个 PTP 指令中,其中 dyn 和ovl 参数是可选的,根据实际工艺进行选择)。2.1.1参数表示 TCP 点的位置,即执行 PTP 这条指令之后,TCP 点会走到 ap0 点,其内部参数如下图所示(表示轴的位置,6 轴机器人有 6 个轴的位置,如果只有三个轴的话,只显示到 a3,其他的以此类推。后面的值表示轴相对于零点的位置,如果是旋转轴的
17、话,是度,如果直线轴的话,是 mm):15运动指令组2.1.2 dyn 参数dyn表示执行这条指令过程中机器人的动态参数,其中包括12个参数,具体如下:16运动指令组(1)其中 velAxis,accAxis,decAxis,jerkAxis 分别表示在自动运行模式下运动时的轴速度,轴度和度,轴的加度,其值是一个相对于最大值的百分比,值得范围是 0-100.系统的默认值如上所示,在 PLC 配置中可以设置,但是有时候默认值和 PLC 配置值会有略微偏差,具体如下所示:(2)另外 4 个参数 vel,acc,dec,jerk 分别表示在自动运行模式下运动时 TCP 点的速度,度,度和加度,在 P
18、LC 配置里面可以设置,具体如下所示:17运动指令组(3)还有 4 个参数 velOri,accOri,decOri,jerkOri 分别表示在自动运行模式下运动时 TCP 姿态变化的速度,如下图所示:度,度和加度。在 PLC 配置里面可以设置,2.1.3 ovl 参数ovl 表示机器人运动逼近参数,有三种类型的逼近参数,如下所示:18运动指令组(1)其中 OVLABS 表示绝对逼近参数,定义了机器人运动逼近可以允许的最大偏差,如下所示:Dist 表示当 TCP 点的位置距离目标位置的最大值,即当 TCP 点距离目标位置的值等于Dist 时,机器人轨迹开始动态逼近。oriDist 表示当 TC
19、P 点的姿态距离目标位置的姿态的最大值,即当 TCP 点的姿态与目标位置的姿态相差的大小等于 oriDist 时,机器人轨迹开始动态逼近。linAxDist 与 rotAxDist 表示的是附加轴的动态逼近参数。例子中使用的是绝对逼近参数,走出来的效果如下所示:图形靠内部较圆滑的轨迹的绝对逼近参数设置如下:19运动指令组靠外部的轨迹的参数设置如下:(2)另外 OVLREL 表示相对逼近参数,定义了机器人运动逼近的百分比,如下所示(其值是百分比,值范围是 0-200,当等于 0 的时候,相当于没有使用逼近参数,默认值是 100):例子中使用的是相对逼近参数,走出来的效果如下所示:图形靠内部较圆滑
20、的轨迹的相对逼近参数值是 50,外面的轨迹的参数值是 0(如果值越大,其效果就会越明显,具体数值根据工艺需求而定)。(3)还有 OVLSUP 200):,如下所示(其值是百分比,值范围是 0-200,默认值为20运动指令组具体详见 3.3.2.1.4 PTP 指令配置不同参数(1)PTP 指令中只配置了,没有配置 dyn 和 ovl 参数,如下所示:(2)PTP 指令中只配置了和 dyn 参数,没有配置 ovl 参数,如下所示:(3)PTP 指令中只配置了和 ovl 参数,没有配置 dyn 参数,如下所示:(4)PTP 指令中配置了、ovl 和 dyn 参数,如下所示:综上所述四种情况配置出的
21、指令如下所示:21运动指令组2.2 LinLin 指令为一种线性的运动命令,通过该指令可以使机器人 TCP 末端以恒定的速度直线移动到目标位置。假如直线运动的起点与目标点的 TCP 姿态不同,那么 TCP 从起点位置直线运动到目标位置的同时,TCP 姿态会通过姿态连续插补的方式从起点姿态过渡到目标点的姿态。2.2.1参数LIN 指令中的后,TCP 点会走到参数是 TCP 点在空间坐标系中的位置,即执行 LIN 这条指令之cp0 点,其内部参数如下图所示(x,y,z 分别表示 TCP 点在参考坐标系三个轴上的位置,a,b,c 表示 TCP 点姿态,mode 表示机器人运行工程中的插补模式,在指令
22、执行过程中,轨迹姿态插补过程中插补模式不能更改):22运动指令组2.2.2 dyn 参数dyn 参数与 1.1.2 中 dyn 参数一致,具体介绍详见 2.1.2。2.2.3 ovl 参数ovl 参数与 1.1.3 中 ovl 参数一致,具体介绍详见 2.1.3 与 3.3。2.2.4 Lin 指令配置不同的参数(1)Lin 指令中只配置了,没有配置 dyn 和 ovl 参数,如下所示:(2)Lin 指令中只配置了和 dyn 参数,没有配置 ovl 参数,如下所示:(3)Lin 指令中只配置了和 ovl 参数,没有配置 dyn 参数,如下所示:(4)Lin 指令中配置了、ovl 和 dyn 参
23、数,如下所示:23运动指令组综上所述四种情况配置出的指令如下所示:2.3 Circ圆弧指令使机器人 TCP 末端从起点,经过辅助点到目标点做圆弧运动。该指令必须遵循以下规定:1、机器人 TCP 末端做整圆运动,必须执行两个圆弧运动指令。2、圆弧指令中,起始位置、辅助位置以及目标位置必须能够明显的被区分开。注意:起始位置是上一个运动指令的目标位置或者当前机器人 TCP 位置。另外两个参数动态与动态逼近参数与 PTP 中的一样。24运动指令组2.4 PTPRel该指令为 PTP 插补相对偏移指令,该指令的相对偏移可以是位移也可以是角度。该指令总是以当前机器人位置或者上一步运动指令的目标位置为起点位
24、置,然后机器人相对移动位移偏移或者角度偏移。运动还可以设置 Dyn 和 Ovl 参数。:例如生成指令 PTP (ap0)和 PTPRel (ad0),机器人首先执行 PTP(ap0)指令,然后执行 PTPRel(ad0)指令。当执行 PTPRel 时则相对于 PTP 指令的目标点 ap0 做偏移运动,假如在 PTPRel 中设置了 da1:real 的值为 30,那么 PTPRel 运行时相对于 ap0 点向 A1 的正方向转动了 30 度,其它轴无转动。参数 dist 中的 da1,da2,da3,da4,da5,da6 表示的是每个轴相对的偏移量,如是 mm。该例使用的是六轴关果是旋转轴的
25、话,是度,如果是直线轴的话,节机器人,所以这里有六个参数,都是度,如果是三轴的直线坐标系的话,则只有三个参数,是 mm。其他的以此类推。另外两个参数动态与动态逼近参数与 PTP 中的一样。25运动指令组2.5 LinRel该指令为线性插补相对运动指令,该指令的相对偏移是位移,还有机器人的姿态。该指令总是以当前机器人位置或者上一步运动指令的目标位置为起点位置,然后机器人相对移动位移偏移或者姿态偏移。运动还可以设置 Dyn 和 Ovl 参数,与 PTPRel类似,其设置如图:参数 dist 中的 dx,dy,dz 表示的是在空间坐标系下在 x,y,z 三个方向上的相对偏移量,是 mm;da,db,
26、dc 表示的是机器人的姿态相对偏移量,是度、另外两个参数动态与动态逼近参数与 PTP 中的一样。2.6 StopRobot该指令是用来停止机器人运动并且丢弃已经计算好的插补路径。StopRobot 停止的是机器人运动,而不是程序,因此机器人执行该指令后将以机器人停止的位置做为运动起点位置,然后重新计算插补路径以及执行后续的运动指令。2.7 WaitIsFinished该命令用于同步机器人的运动以及程序执行。因为在程序当中,有的是多线程多任务,有的标志位高,无法控制一些命令运行的先后进程。使用该命令可以控制进程26运动指令组的先后顺序,使一些进程在指定等待参数之前被中断,直到该参数被激活后进程再
27、持续执行。2.8 WaitJustime该命令类似于同步指令,但是执行该指令时不会影响到机器人的动态参数。2.9 回零指令组2.9.1 RefRobotAxis该指令用于标定回零位置,可以单步运行,执行后机器人根据配置中的回零方式运动,当机器人到达零点后,保存当前机器人轴位置做为该轴的零位。轴在回零后要走到的一个设定的目标值,如果该值没有的话,则只回零到零点。2.9.2 RefRobotAxisAsync该指令允许多轴同时回零。这个指令等待机器人回零动作结束。为了能够知道是否完成回零,要配合使用 WaitRefFinished.2.9.3 WaitRefFinished该指令等待所有异步回零运
28、动完成或在某回零程序中出现错误。假如回零已经成功完成,那么就会返回 TRUE,否则就会返回 FALSE。27设置指令组3 设置指令组3.1 Dyn该指令配置机器人运动的动态参数。在 PTP 运动中配置轴速度的百分比,动态参数使用绝对值参数,执行该指令后,在自动模式下机器人以设定的动态参数运动知道动态参数被需改。上述两个程序走出来的效果是一样的。具体详见 2.1.2。3.2 Dynovr配置机器人运动的动态倍率参数。执行该指令后可以按照配置的百分比降低机器人动态参数。示教器上的 V+、V-按钮是设置倍率参数。动态倍率变量参数命令会对移动速度参数整体产生影响。此命令不仅同命令一样可以变更移动速度,
29、同时该命令中设置的比率还会对度、度进行限制。如上图所示,机器人在运行的时候,机器人是按照倍率参数数 50%的速度来走轨迹的(25%)。50%乘以动态倍率参28设置指令组3.3 Ovl该指令用于配置机器人运动逼近参数,参数分为相对逼近参数和绝对逼近参数。相对逼近参数( OVLREL) 定义了机器人运动逼近的百分比, 而绝对逼近参数 (OVLABS)定义了机器人运动逼近可以允许的最大偏差。3.3.1 相对逼近参数的指定是指对由上一移动命令向下一移动命令过渡时的切换时间所进行的设置。相对指定能够将上一移动命令从开始在相对指定中,规定上一移动命令从开始叠则为 0。到运行结束的时间进行 到停止运行的时间
30、为。100%,若无重3.3.2 绝对逼近参数绝对指定中的指定是指,由上一移动命令向下一移动命令过渡时的切换时间通过距目标位置的长度进行指定。可指定范围即为配置中的允许范围。29设置指令组具体详见 2.1.3.3.4 Ramp设置倾斜、最小加度的类型。可设置的类型有:梯形倾斜、正弦波倾斜、正弦波平方度倾斜,分别如下图所示,另外还有一个时间最优化方式倾斜。30设置指令组在 PLC 中可以进行配置,如下图所示:在示教器上设置如下所示:倾斜设置用于设置已指定的对倾斜类型进行设置。度参数,是一种度曲线类型。可通过此命令目前只可对左右对称的梯形倾斜类型进行倾斜参数的设置,梯形的加型的倾斜可通过(0 par
31、am 0.5)进行设置。曲线类加0.5)。曲线类型 SINE 及 SINEQUARE 的倾斜设置的初始值已设定为(param31设置指令组若未对本项进行设置,在倾斜曲线、梯形的倾斜设置中,作为预设初始值0.5,若未对本项进行设置,则可选择使用该初始值。Param当执行上述程序时,轴 1 的度波形如上图左边图形所示,为正弦波。当执行上述程序时,轴 1 的度波形如上图左边图形所示,为梯形波。上述两条指令都是轴 1 绕 Z 轴往复旋转。其他类型的度波形可自行学习。3.5 Refsys设置参考系统指令。通过该指令可以为后续运行的位置指令设定一个新的参考坐标系。如果程序中没有设定参考坐标系,系统默认参考
32、坐标系为世界坐标系。参 考 坐 标 系 有 三 种 类 型 , 分 别 是 CARTREFSYS 、 CARTREFSYSEXT 、CARTREFSYSVAR。32设置指令组其中 CARTREFSYS 类型的主要参数有参考坐标系的基坐标系 baseRefSys,即所要建立的参考坐标系是参考哪个坐标系建立的,x,y,z 分别是相对坐标系的位置偏移量,a,b,c 是相对坐标系的姿态。如下所示:CARTREFSYSEXT类型的参考坐标系是外部 PLC 功能块通过端口赋给 RC的,所以主要参数有基坐标系和能块 RCE_SetFrame.端口。该功能块的使用需要在 IEC 程序中调用功CARTREFSY
33、SVAR 类型的参考坐标系是外部 PLC 功能块通过端口赋给 RC的,所以主要参数有基坐标系和端口,在做 Tracking 功能时用的比较多。该功能块的使用需要在 IEC 程序中调用功能块 RCTC_UpdateFrameerface。.3.5.1 三点(含原点)示教法点击 X=按钮进入 Referenystems33设置指令组(1)选择 3 点法带原点的示教方法34设置指令组(2)首先示教原点的坐标(3)将机器人沿着 X 轴方向运动下当前的坐标35设置指令组(4)再将机器人沿着 XY 平面运动,下坐标(5)这样就生成了新的坐标系 crs03.5.2 三点(无原点)示教法(1)选择第二种方法
34、3 点法(无原点)36设置指令组(2)首先在 X 轴方向示教一个点(3)接着在 X 轴上示教第二个点(4)接着在 Y 轴或者 Z 轴上示教一个点(下图 Y 方向)这样一个新的坐标系就建好了37设置指令组当坐标系切换到新建的坐标系下面的时候,可以看到当走原点的时候它将会走到示教的 X 轴方向的第二个点。3.5.3 一点(保持姿态)示教法法就是 1 点法(保持方向)。只要示教一个原点就可以了,且 base 坐标需与示教界面一致。最后还有(1)38设置指令组(2)将机器人开到你想要的坐标系的原点。(3)这就得到新的坐标系,相对于 base 坐标系移动了原点。3.6 Tool工具坐标指令为机器人设置一
35、个新工具坐标。通过该指令可以修改机器人末端工作点。3.6.1 工具坐标系的示教Tool 命令为机器人的工具(抓手)设置新的位置。设置后将变更机器人的作业范围。通过该指令可以修改机器人末端工作点。首先打开 teachview,加载一个程序,点击 New,选择 Settings,Tool 指令,然后新建一个坐标系 t0。39设置指令组(1)然后点击 X=选择 Tools 进到下图。(2)选择四点法示教方法,找到示教物体,将机器人的 TCP 末端示教到示教物体处以不同的姿态。40设置指令组41设置指令组42设置指令组(3)示教完之后的变化得到了 t0 的坐标系,以及运行Tool(t0)后机器人末端坐
36、标43设置指令组(4)接着选择 1PO6D 方法。工件与地面垂直,然后示教。44设置指令组(5)最后得出了t0 完整的的坐标系,以及运行Tool(t0)之后坐标系的变化。3.7 OriMode该指令用于设置机器人TCP 姿态插补,如果程序中没有指定姿态插补方式,系统默认机器人配置文件中指定的姿态插补方式。45系统功能指令组4 系统功能指令组4.1 :=(赋值)给某变量赋值,左侧为变量,“:=”为赋值操作,右侧为表达式。表达式的类型必须符合变量的数据类型。例如:4.2 /(注解)用于说明程序的用途,使用户容易读懂程序。4.3 WaitTime用于设置机器人等待时间,时间为 ms,假如设置等待 1
37、s,生成命令为:4.4 Stop该命令用于停止所有激活程序的执行。如果指令不带参数,等同于按下了 KeTop终端上的停止按钮。4.5 Info发出一个信息通知。信息显示在信息协议和栏中。协议的 Message 和 Message-Log此外,有可能显示两个附加参数的任何类型信息,第一个参数使用“%1”做为占位符,第二个参数使用“%2”做为占位符。若在程序中生成指令,生成的指令为:46系统功能指令组单步执行该指令后在信息栏显示:又如指令:单步执行该指令后在信息栏显示:4.6 Warning发出一条警告信息。信息描述参照令为:Info 命令。设置基本相同,在程序中若生成指单步执行后,显示为:4.7
38、 Error发出一条错误信息。错误信息会导致程序停止,错误必须被确认后程序才可以继续执行。信息描述参照 Info 命令。Error 基本与前两者一样,暂不详细介绍。4.8 Random产生一个随机数。使用方法如下所示:(生成的随机数赋值给了 r0)47系统功能指令组4.9 时间计量命令4.9.1 CLOCK.Stop停止时钟。时钟只有先前已经被启用后才能被停止。4.9.2 CLOCK.Read被测时间。4.9.3 CLOCK.Reset重置时钟。时钟会被重置即使时钟当前还在运行。4.9.4 CLOCK.Start启动时钟。4.9.5 CLOCK.ToString同 CLOCK.Read 测量时
39、间类似。只是它将时间转变为文本格式 tt :mm:ss.ms。4.9.6 TIMER.Start启动定时器。4.9.7 TIMER.Stop停止定时器。定时器只有在先前已经启动了以后才能被停止。4.9.8 SysTime该指令从控制系统中当前系统时间,返回 D类型数值。4.9.9 SysTimeToString该指令将系统时间转变为文本格式“DDD mon dd hh:mm:ss yyy”。当调用没有参数的 SysTimeToString 时,该指令返回当前格式化的系统时间。48系统功能指令组4.10 数算指令4.10.1 SIN正弦三角函数4.10.2 COS余弦三角函数4.10.3 TAN
40、正切三角函数4.10.4 COT三角函数4.10.5 ASIN反正弦三角函数4.10.6 ACOS反余弦三角函数4.10.7 ATAN反正切三角函数4.10.8 ACOT反三角函数4.10.10 ATAN2返回由 X 轴到(y,x)点的角度。4.10.11 LN自然对数函数。4.10.12 EXP以 e 为底的指数函数。4.10.13 ABS绝对值函数,返回数字的绝对值。4.10.14 SQRT开平方根函数。49系统功能指令组4.11 位运算及转换指令4.11.1 SHR向右移位运算函数。4.11.2 SHL向左移位运算函数。4.11.3 ROR循环向右移位运算函数。4.11.4 ROL循环向
41、左移位运算函数。4.11.5 SetBit将某位置 1 函数。4.11.6 SetBit将某位置 1 函数。4.11.7 ResetBit将某位置 0 函数。4.11.8 CheckBit判断某位是否为 1 函数。4.11.9 STR返回与指定数值表达式对应的字符串函数。50流程控制指令组5 流程控制指令组5.1 CALL调用指令,能够调用其它程序作为子程序,且调用的程序必须在编写程序的项目中。假如需要调用的程序为 test,在程序中生成命令为:5.2 WAIT等待指令。当 WAIT 表达式的值为 TRUE,下一步指令就会执行,否则的话,程序等待直到表达式为 TRUE 为止。5.3 IFTHE
42、NEND_IF,ELSIFTHEN,ELSEIF 指令用于条件跳转控制。类似于 c+中的 IF 语句。IF 条件判断表达式必须是BOOL 类型。每一个 IF 指令必须以关键字 END_IF 做为条件控制结束。5.4 WHILEDOEND_WHILEWHILE 指令在满足条件的时候循环执行子语句。循环控制表达式必须是 BOOL 类型。该指令必须以关键字 END_WHILE 做为循环控制结束。例如:51流程控制指令组该指令执行两点之间的循环运动。5.5 LOOPDOEND_LOOP循环次数控制指令。如:该指令执行两点之间的循环运动,且循环次数为 10.5.6 RUN,KILLRUN 指令调用一个用
43、户程序,该程序与主程序平行运行。RUN 调用的程序必须用KILL 指令终止。RUN 调用的程序必须是该项目中的程序。(/est1.tip)5.7 RETURN该指令用于终止正在运行的程序。5.8 GOTO,IFGOTO,LABELGOTO 指令用于跳转到程序不同部分。跳转目标通过 LABEL 指令定义。不允许从外部跳转进入内部程序块。内部程序块可能是 WHILE 循环程序块或者 IF 程序块。IF-GOTO 指令相当于一个缩减的 IF 程序块。IF 条件判断表达式必须是 BOOL 类型。假如条件满足,程序执行 GOTO 跳转命令,其跳转目标必须由 LABEL 指令定义。LABEL 指令用于定义
44、 GOTO 跳转目标。52输入输出指令组6 输入输出指令组6.1 数字量输入输出指令组6.1.1 DIN.Wait等待直到数字输入端口被设置或重置,或者直到可选的时间终止,例如:53输入输出指令组6.1.4 DINW.Wait这个指令会一直等待直到输入字适合设定值,或者直到可选的时间超时了。例如:6.1.5 DINW.WaitBit等待直到一个输入字指定位被设置或重置。例如:6.1.6 DOUTW.Set设置输出字为指定的值。例如:54输入输出指令组6.2 模拟量输入输出指令组6.2.1 AIN.WaitLess,AIN.WaitGreater该两种指令功能是等待直到模拟量输入值小于或大于指定
45、的值,或者直至可选的时间超时。例如:55输入输出指令组6.2.3 AOUT.Set设置模拟量输出为指定的值。例如:56输入输出指令组右端的 DO0,DO1 中的数字应与 RC 中的 port 口的选择对应。如下图所示可将在 IEC 中命名为 gDoConnectTool 的端口与 Rc 关联,此时就可直接在 RC 中进行操作。(注:在 RC 中对此变量名可随意只要端对应即可)下面在 RC 中直接将关联的变量置 TRUE,可以看到 IEC 中同样有效。57输入输出指令组上面是 RC 与 IEC 之间的关联,下面来说一下,如何将 RC 通过 IEC 关联到外部 IO。首先先进行上面的操作,将 RC
46、 与 IEC 进行关联,其次如下图所示(这里用 DM272 进行演示)。选58输入输出指令组可以看到在 DM272 中的端口分为两部分,8 入 8 出,这里用的是输出,选择DO0 这个端口,切记此端口名应与 RcOutputs(PRG)中 doblock 功能块中变量名为同一个,端不用一样。(注:由于外部设备中命名的变量自定义为全局变量所以不需重新命名。)下面在 RC 中进行操作,效果如下图所示。59输入输出指令组综上所述知道了如何将 IO 从 RC 关联到 IEC 再到外部设备。其实会了如何将编程时在 IEC 中自定义的变量在 RC 中进行调用。也就学其实最主要的是了解 IEC 中的 doB
47、lock(类似的还有 diBlock 等)这个功能块,我们可以将它看成 RC 与 IEC 之间桥梁,只有桥梁搭建好,RC 与 IEC 之间的 IO 才能联系起来。60触发指令组7 触发指令组7.1.OnDistance触发器可以在从起点运动一定距离或者距离终点一定距离时触发。时间可选项表示机器人在运行到触发点前一定时间触发或者经过触发点后一定时间触发。在程序中的指令为:61触发指令组该程序中 OnDistance (FROMBEGIN,20)针对的是 LIN (CP0), OnDistance (FROMEND,20)针对的是 LIN (CP1)。图中的 dist 和 timeMs 为距离和时
48、间选项,可自行更改。7.2 OnParameter在下一个运动段的某点触发。时间可选项表示在触发点的时间偏移,如果时间数值为负,表示机器人在到达触发点前的某一时间触发,如果时间数值为正,表示机器人到达触发点后某一时间触发。如果没有指定时间偏移,那么机器人到达触发点就会触发。时间偏移限制在-300ms1000ms。在程序中的指令为:62触发指令组该程序中 OnParameter 是的百分值是直线路径的百分值。7.3.OnPlane在空间里定义机器人在某一触发平面上触发。例如:OnPlane(XYPLANE,200)表示机器人末端在距离 XY 平面 200 毫米时触发。如图:63触发指令组该程序中
49、参考坐标系为 crs0,机器人从 CP3 到 CP2 作直线运动时,在距离 XY 平面 200 毫米处提前触发。7.4.Onition该指令用于同步触发,当机器人经过指定位置时触发。例如:该程序中 LOOP 指令执行到第三次dout0.Set 等指令。此处 percent 为直线路径的百分值。Lin (ap4)时,Onition 指令触发,然后执行64区域8 区域8.1 新建 Area(1)点击 X=按钮,选择 Variabe Monitor 选项。(2)选择 Varible 中的 New,新建一个新的 area。65区域8.2 配置Area(1)点击 X=按钮,选择 Areas 选项。66区
50、域(2)点击 Steup 按钮,进入配置界面。(3)在 1 中选择好需要配置的区字,在此处是不可以更改的,2 是区域的状态,判断区域是否激活,3 是在区域激活后判断 TCP 点是否在区域内部或者外部。67区域(4)选择区域的形状,有盒状和圆柱状两种。(5)选择区域类型,有工作区域,享区域。区域等。如果是两个机器人的话,还有共68区域(6)配置区域的参考坐标系。默认是世界坐标系。69区域(7)配置区域的起点坐标,姿态以及区域的大小。在起点坐标是相对于你的参考坐标系的。(8)在 1 中可以通过一个 IO 变量状态来激活区域,2 中可以根据区域的状态对一个 IO 变量进行赋值。70区域(9)激活后可
51、以看到区域的激活状态,TCP 点和区域之间的位置关系。(10)如果是圆柱形区域的话,在配置尺寸的时候是配置底圆半径和圆柱体的高度。71区域8.3 Scope 模型中区域的(1)工作区域区域激活状态。72区域(2)工作区域关闭状态。(3)区域激活状态。73区域(4)区域关闭状态。(5)当 TCP 点在区域内的时候,系统会报错。74区域(6)当 TCP 点工作区域外部的时候,系统会出现警告。75区域8.4 共享工作空间两个机器人工作的时候新建共享区域,共享区域在同一时间只能有一个机器人在内部工作。(1)一般配置和工作区域都类似。76区域(2)由于共享区域的工作特性,如果一个机器人在该区域内工作的话
52、,其他的机器人就需要有一个运动平稳性的设置,尽量减少急急的情况。77区域8.5 区域指令集8.5.1 Activate/Deactivate可以通过这些指令来激活或者冻结区域。8.5.2 IsInArea这条指令用于检查位置是否在当前的区域内,也能用于发信号区域,只可以提过几何位置(x,y,z)来检查。8.5.3HasSpaceViolation这条指令用于检查位置是否工作区域或者区域的准备,不用于发信号区域,只可以提过几何位置(x,y,z)来检查。8.5.4 Connect/Disconnect通过两条指令可以建立或者切断一个 BOOL 变量和区域之间的连接,当这个变量被置为的时候,区域被激
53、活,当变量被复位的时候,区域被冻结,当一个新的变量连接被建立了,区域的激活变量根据变量实际状态立即设置。8.5.5 ActivateSmoothMove当共享区域被占用的时候,可以在通过该指令的帮助激活动态参数自动调整。78区域8.5.6 WaitRobInside通过该指令的帮助可以等待机器人进入区域。8.5.7 SetTransformation通过该指令可以根据参考坐标系设置区域的位置和姿态。8.5.8 SetBoxSize通过该指令可以设置盒状区域的尺寸大小。8.5.9 SetCylinderSize通过该指令可以设置圆柱状区域的大小。79视觉与9 视觉与功能是两个独立功能的结合:视觉
54、处理功能(Vi视觉)和传送带功能(Tracking)。在 KEBA 的系统光盘中,有关于这两个方面的功能介绍,具体详情可以参考KeMotion Vi 和KeMotion Tracking 两个文档。另外,如果传送带需要用到外部编功能介绍,请参考MM 240/A Encoder,则需要用到 MM240 模块,关于该模块的 erface Module文档。9.1 PLC 配置以标准三轴 Delta 机器人模板程序为例,首先要进行 PLC 程序的配置。(1)首先, 在 KeStudio 中需要对视觉摄像头进行配置:添加一个视觉模块和摄像头,摄像头分为通用摄像头和康耐视摄像头,根据实际情况进行选择并将
55、 IP 地址和端口配好:(2)传送带如果用到了外置编,那么还需对其进行配置。编 位置。的位置反馈值通过Count口进入系统,其在程序中会被用来更新传送带的80视觉与(3)完善机器人的其他配置,并让机器人 World 坐标的 X 方向和传送带的转动方向一致。9.2 传送带功能的实现( 1 ) 在 PLC 中对相应功能进行编写之前, 先在LibraryManager中添加RcTracking.lib 和 KVi.lib 两个库文件(2)可以在 UsreUpdate 中添加功能块RCTR_UpdateConverface 并根据实际情况和手册的介绍完善。81视觉与(3)至此,传送带的功能在 PLC
56、端的配置即算完成。9.3 视觉功能的实现(1)在 POU 中新建一个子程序 Vi来调用它。,可以在其他地方(例如 UsreUpdate)(2)在 Vi程序中,首先添加(康耐视)视觉的功能块KVIS_CgxCnt(如果是通用摄像头,则需添加 KVIS_TCPCnt 功能块),并完善。82视觉与(3)物件在通过视觉拍照范围的时候,会被视觉拍到多次,所依需要把多次拍摄到的同一物件剔除出去。于是,需要用到 RCTR_FilterObjectsExtEnc 功能块,将其完善并同之前的视觉功能块衔接起来。其中“传送带编的精度”可以有两种方式得到,一种是直接在机械中直接换算得到传送带每走 1mm 的距离,编
57、的位置会有多少变化;另一种是通过在 RC 上通过向导示教操作,由系统自动算出精度的汇率。如果采用第二种方式,该引脚则应该由传送带的 ConvRes 输入。( 4 ) 经过上面的过滤功能块剔除了重复的物件后, 就可以通过功能块RCTR_AddObjectList 将新的物件交给 RC,让机器人完成物件的抓取。83视觉与其中0是指传送带二点(Pg4)中提到的端功能在 RC 中对应的端,需要根据之前在第二节第对应起来,或者根据需要用变量代替。(5)到此,进 PLC 并运行。的视觉处理功能也完成了,可以在程序编译无误后将其9.4 RC 的配置(1)首先考下图。需要建立一个程序,在其中编写工艺程序的框架
58、,工艺程序可以参新建一些指令的时候,了工艺程序框架的编写后,(2)完成工艺程序之后,建立了传送带、物件、坐标系等一系列变量,在完成就可以对刚刚新建的变量进行配置了。需要对新建的一些变量进行配置,首先先配置新建了传送带功能,并将视觉坐标系偏移到传送带上。如上指令的第 11 行,一个 trackingbase 的坐标系。84视觉与进入 Conveyor 的配置画面选择第一个选项含有视觉的 2 个工件对角摆放的示教方式。85视觉与点击下一步后会出现第一个物件的拍照、示教页面:在页面中,根据提示,在视觉范围的某一个顶点,放置物件,然后点击“工件抓取”按钮,此时物件的坐标值应该会出现在上方的坐标框中,然
59、后点击下一步。新的页面中,同样根据提示,启动传送带,将工件移动到机器人的工作空间内(刚好进入工作空间),然后停下传送带手动将机器人 JOG 到工件上方的抓取位置86视觉与(即图中所示 P1 点),点击示教按钮,此时机器人的位置和编来。完成后继续点击下一页。位置都会被下同样,再起启动传送带移动工件,这次将工件往后移,尽量靠近机器人工作空间的末端(但仍需要保证机器人能抓取到工件),停下传送带并手动 JOG 机器人到工件上方的抓取位置(即图中所示 P2 点),点击示教按钮,再次记下机器人和编置。完成后点击下一步。的位87视觉与此时第一个工件的示教工作已经完成,下面就是第二个工件的示教工作了。同示教第
60、一个工件类似,但此时应将第二个工件放在视觉范围内的第一个工件的对角点上(为了提高精度,与工件 1 在抓取”,完成后点击下一步。Y 方向上,要有一个尽量大的偏差)。然后点击“工件同第一个工件的操作一样,开启传送带,移动工件2 到机器人的工作空间内,然后 JOG 机器人到工件 2 的抓取位置 P3 点,点击示教按钮,置。下机器人和编的位88视觉与最后,将机器人抬高一定距离,再次示教 P4 点,随后点击下一步即算完成。此时,就通过示教功能,自动计算出了视觉坐标相对于机器人坐标的偏移,并可以使用该坐标系进行实际工艺的应用。在将坐标系切换到视觉拍到的工件坐标系时,实际抓取工件的位置也基本上可以直接设为(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论