• 沒有找到結果。

6 输入输出指令组 输入输出指令组 输入输出指令组 输入输出指令组

6.2 模拟量输入输出指令组 模拟量输入输出指令组 模拟量输入输出指令组 模拟量输入输出指令组

6.2.3 AOUT.Set

设置模拟量输出为指定的值。例如:

6.3 RC 、 IEC 和外部 IO 设备之间的关联

下面介绍 RC 中用到 Dout.Set与 IEC 的 RCOutputs 如何关联起来的,如下图所示

(在Kestudio中我们可以POUS一栏中找到如图所示RcOutputs(PRG)):

双击打开看到里面的 doBlock 功能块,与其他的功能块调用一样,需先将 Enable 端置True。

右端的 DO0,DO1 中的数字应与 RC 中的 port 口的选择对应。如下图所示可 将在 IEC中命名为 gDoConnectTool 的端口与 Rc关联,此时就可直接在 RC 中进行操 作。(注:在RC中对此变量的命名可随意只要端口号对应即可)

下面在RC中直接将关联的变量置TRUE,可以看到IEC中同样有效。

上面是RC与IEC之间的关联,下面我们来说一下,如何将RC通过 IEC关联到外 部IO。

首先先进行上面的操作,将 RC 与 IEC 进行关联,其次如下图所示(这里我们选 用DM272进行演示)。

可以看到在 DM272中的端口分为两部分,8 入 8出,这里我们用的是输出,选择 DO0这个端口,切记此端口的命名应与 RcOutputs(PRG)中 doblock功能块中变量名 为同一个,端 口号不用 一样。(注: 由于外部 设备中命名的 变量自定 义为全局变量所 以不需重新命名。)

下面我们在RC中进行操作,效果如下图所示。

综上所述我们知道了如何将 IO从 RC关联到 IEC再到外部设备。其实我们也就学 会了如何将我们编程时在IEC中自定义的变量在RC中进行调用。

其实最主要的是了解 IEC中的 doBlock(类似的还有 diBlock等)这个功能块,我 们可以将它看成 RC与 IEC之间桥梁,只有桥梁搭建好,RC与 IEC之间的 IO才能联 系起来。

7 触发指令组

7.1.OnDistance

触发器可 以在 从起点 运动一定 距离 或者距 离终点一 定距 离时触 发。时间 可选 项表 示机器人在运行到触发点前一定时间触发或者经过触发点后一定时间触发。

在程序中的指令为:

该程序中OnDistance (FROMBEGIN,20)针对的是LIN (CP0), OnDistance (FROMEND,20)针对的是LIN (CP1)。

图中的dist和timeMs为距离和时间选项,可自行更改。

7.2 OnParameter

在下一个 运动 段的某 点触发。 时间 可选项 表示在触 发点 的时间 偏移,如 果时 间数 值为负,表示 机器人在 到达触发点前 的某一时 间触发,如果 时间数值 为正,表示机器 人到达触发点 后某一时 间触发。如果 没有指定 时间偏移,那 么机器人 到达触发点就会 触发。时间偏移限制在-300ms~1000ms。

在程序中的指令为:

该程序中OnParameter是的百分值是直线路径的百分值。

7.3.OnPlane

在笛卡尔空间里定义机器人在某一触发平面上触发。例如:

OnPlane(XYPLANE,200)表示机器人末端在距离XY平面200毫米时触发。如图:

该程序中参考坐标系为 crs0,机器人从 CP3到 CP2作直线运动时,在距离 XY 平 面200毫米处提前触发。

7.4.OnPosition

该指令用于同步触发,当机器人经过指定位置时触发。例如:

该程序中 LOOP 指令执行到第三次 Lin (ap4)时,OnPosition 指令触发,然后执行 dout0.Set等指令。

此处percent为直线路径的百分值。

8 区域监控

8.1 新建 Area

(1)点击X=按钮,选择Variabe Monitor选项。

(2)选择Varible中的New,新建一个新的area。

8.2 配置 Area

(1)点击X=按钮,选择Areas选项。

(2)点击Steup按钮,进入配置界面。

(3)在 1 中选择好需要配置的区域名字,在此处是不可以更改的,2 是区域的状 态,判断区域是否激活,3是在区域激活后判断TCP点是否在区域内部或者外部。

(4)选择区域的形状,有盒状和圆柱状两种。

(5)选择区域类型,有工作区域,禁止区域等。如果是两个机器人的话,还有共 享区域。

(6)配置区域的参考坐标系。默认是世界坐标系。

(7)配置区域的起点坐标,姿态以及区域的大小。在起点坐标是相对于你的参考 坐标系的。

(8)在 1中可以通过一个 IO变量状态来激活区域,2中可以根据区域的状态对一 个IO变量进行赋值。

(9)激活后可以看到区域的激活状态,TCP点和区域之间的位置关系。

(10)如 果是 圆柱形 区域的话 ,在 配置尺 寸的时候 是配 置底圆 半径和圆 柱体 的高 度。

8.3 Scope 模型中区域的监控

(1)工作区域区域激活状态。

(2)工作区域监控关闭状态。

(3)禁止区域激活状态。

(4)禁止区域关闭状态。

(5)当TCP点在禁止区域内的时候,系统会报错。

(6)当TCP点工作区域外部的时候,系统会出现警告。

8.4 共享工作空间

两个机器 人工 作的时 候新建共 享区 域,共 享区域在 同一 时间只 能有一个 机器 人在 内部工作。

(1)一般配置和工作区域都类似。

(2)由于共享区域的工作特性,如果一个机器人在该区域内工作的话,其他的机 器人就需要有一个运动平稳性的设置,尽量减少急加速急减速的情况。

8.5 区域监控指令集

8.5.1 Activate/Deactivate

可以通过这些指令来激活或者冻结区域。

8.5.2 IsPosInArea

这条指令 用于 检查位 置是否在 当前 的区域 内,也能 用于 发信号 区域,只 可以 提过 几何位置(x,y,z)来检查。

8.5.3 PosHasSpaceViolation

这条指令 用于 检查位 置是否违 反工 作区域 或者禁止 区域 的准备 ,不用于 发信 号区 域,只可以提过几何位置(x,y,z)来检查。

8.5.4 Connect/Disconnect

通过两条指令可以建立或者切断一个 BOOL 变量和区域之间的连接,当这个变量 被置为的时候 ,区域被 激活,当变量 被复位的 时候,区域被 冻结,当 一个新的变量连 接被建立了,区域的激活变量根据变量实际状态立即设置。

8.5.5 ActivateSmoothMove

当共享区域被占用的时候,可以在通过该指令的帮助激活动态参数自动调整。

8.5.6 WaitRobInside

通过该指令的帮助可以等待机器人进入区域。

8.5.7 SetTransformation

通过该指令可以根据参考坐标系设置区域的位置和姿态。

8.5.8 SetBoxSize

通过该指令可以设置盒状区域的尺寸大小。

8.5.9 SetCylinderSize

通过该指令可以设置圆柱状区域的大小。

9 视觉与跟踪

视觉跟踪功能是两个独立功能的结合:视觉处理功能(Vision)和传送带跟踪功能

(Tracking)。

在 KEBA 的 系 统 光 盘 中 , 有 关 于 这 两 个 方 面 的 功 能 介 绍 , 具 体 详 情 可 以 参 考

《KeMotion Vision》和《KeMotion Tracking》两个文档。

另外,如果传送带需要用到外部编码器,则需要用到 MM240模块,关于该模块的 功能介绍,请参考《MM 240/A Encoder Interface Module》文档。

9.1 PLC 配置

(3)完善机器人的其他配置,并让机器人World坐标的 X方向和传送带的转动方 向一致。

9.2 传送带跟踪功能的实现

(1) 在 PLC 中 对 相 应 功 能 进 行 编 写 之 前 , 先 在 Library Manager 中 添 加 RcTracking.lib和KVision.lib两个库文件

(2)可以在 UserPreUpdate 中添加功能块——RCTR_UpdateConvInterface 并根据 实际情况和手册的介绍完善。

(3)至此,传送带的跟踪功能在PLC端的配置即算完成。

9.3 视觉功能的实现

(1)在 POU 中新建一个子程序 Vision,可以在其他地方(例如 UserPreUpdate) 来调用它。

(2) 在 Vision 程 序 中 , 首 先 添 加 ( 康 耐 视 ) 视 觉 的 功 能 块 — —KVIS_CgxClient

(如果是通用摄像头,则需添加KVIS_TCPClient功能块),并完善。

(3)物件在通过视觉拍照范围的时候,会被视觉拍到多次,所依我们需要把多次 拍摄到的同一物件剔除出去。于是,我们需要用到RCTR_FilterObjectsExtEnc功能块,

将其完善并同之前的视觉功能块衔接起来。

其中“传 送带 编码器 的精度” 可以 有两种 方式得到 ,一 种是直 接在机械 中直 接换 算得到传送带每走 1mm的距离,编码器的位置会有多少变化;另一种是通过在 RC上 通过向导示教操作,由系统自动算出精度的汇率。

如果采用第二种方式,该引脚则应该由传送带的ConvRes输入。

(4) 经 过 上 面 的 过 滤 功 能 块 剔 除 了 重 复 的 物 件 后 , 就 可 以 通 过 功 能 块 — — RCTR_AddObjectList将新的物件交给RC,让机器人完成物件的跟踪抓取。

其中‘0’是指传送带跟踪功能在 RC 中对应的端口号,需要根据之前在第二节第 一个trackingbase的坐标系。

进入Conveyor的配置画面

选择第一个选项——含有视觉的2个工件对角摆放的示教方式。

点击下一步后会出现第一个物件的拍照、示教页面:

在页面中 ,根 据提示 ,在视觉 范围 的某一 个顶点, 放置 物件, 然后点击 “工 件抓 取”按钮,此时物件的坐标值应该会出现在上方的坐标框中,然后点击下一步。

新 的 页 面 中 , 同 样 根 据 提 示 , 启 动 传 送 带 , 将 工 件 移 动 到 机 器 人 的 工 作 空 间 内

( 刚 好 进 入 工 作 空 间 ) , 然 后 停 下 传 送 带 手 动 将 机 器 人 JOG 到 工 件 上 方 的 抓 取 位 置

(即图中所示 P1 点),点击示教按钮,此时机器人的位置和编码器位置都会被记录下 来。

完成后继续点击下一页。

同样,再 起启 动传送 带移动工 件, 这次将 工件往后 移, 尽量靠 近机器人 工作 空间 的末端(但仍需要保证机器人能抓取到工件),停下传送带并手动 JOG 机器人到工件 上方的抓取位置(即图中所示 P2 点),点击示教按钮,再次记下机器人和编码器的位 置。完成后点击下一步。

此时第一 个工 件的示 教工作已 经完 成,下 面就是第 二个 工件的 示教工作 了。 同示 教第一个工件 类似,但 此时应将第二 个工件放 在视觉范围内 的第一个 工件的对角点上

(为了提高精度,与工件 1 在 Y 方向上,要有一个尽量大的偏差)。然后点击“工件 抓取”,完成后点击下一步。

同第一个工件的操作一样,开启传送带,移动工件 2 到机器人的工作空间内,然 后JOG机器人到工件2的抓取位置P3点,点击示教按钮,记录下机器人和编码器的位 置。

最后,将机器人抬高一定距离,再次示教P4点,随后点击下一步即算完成。

此时,我 们就 通过示 教功能, 自动 计算出 了视觉坐 标相 对于机 器人坐标 的偏 移,

并可以使用该坐标系进行实际工艺的应用。

在将坐标 系切 换到视 觉拍到的 工件 坐标系 时,实际 抓取 工件的 位置也基 本上 可以 直接设为(X:0,Y:0,Z:0,A:0)了。

(3) 点 击 完 成 按 钮 之 后 , 我 们 还 需 要 对 机 器 人 的 抓 取 范 围 、 运 动 平 滑 度 进 行 设 置,在配置页面选择设置页面

进入设置 页面 后,首 先我们可 以根 据右上 角的图示 看出 ,这是 要我们设 置机 器人 在传送带上的抓取区域(绿色部分),我们需要通过示教 a、b 两点来告诉机器人抓取 范围。a——最近工作点(靠近传送带前端) b——最远工作点(靠近传送带末端)

随后的页 面需 要我们 示教出机 器人 对工件 的最后接 受范 围,同 样如右上 角的 图片

随后的页 面需 要我们 示教出机 器人 对工件 的最后接 受范 围,同 样如右上 角的 图片

相關文件