草庐IT

KUKA机器人 - 从开机到自动运行

机器Yao 2023-07-16 原文

1:本文仅代表本人对机器人使用的一些建议,在使用机器人前,还请详细阅读库卡机器人官方资料,道路千万条,安全第一条!!!

2:技术有限,欢迎各位大大在阅读过程中发现各类问题,并且批评指正!!!


目录

一、准备工作

1. 机器人上电完成

2. 电脑安装Workvisual

二、学习手动移动机器人

三、项目配置

1. 设置机器人IP地址

2. 电脑和机器人通过网线连接

3. 查找并打开项目

4. 通讯配置

5. 项目上传

6. 检验IO配置

四、编程

1. 新建程序

2. 程序调用

3. 变量(声明&初始化&运算)

4. 程序框架搭建(循环&判断&变量)

5. 运动指令

6. 信号指令

7. 程序运行

五、外部自动运

1. 配置主程序(CELL.SRC)

2. 时序解读

3. 外部自动信号配置


一、准备工作

1. 机器人上电完成

2. 电脑安装Workvisual

(1)从机器人控制柜拷贝:
①菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

②打开机器人D盘,打开文件夹workvisual,选择里面的压缩包,点击右下角编辑/复制,插入U盘,打开U盘,点击右下角编辑/添加,等待下方读条结束,拔出U盘,解压安装在电脑中即可。

(2)从库卡官网下载(复制链接):

www.kuka.com/zh-cn/售后服务/下载?terms=Language:en:1;Language:zh:1;&q=workvisual

注:本文使用的WorkVisual为6.0.20版本,建议使用该版本或更高版本


二、学习手动移动机器人

开机后,调整机器人手动速度,上使能(按住示教器背面任意一个白色按钮上使能:两档,第一档上使能,第二档安全急停),此时上方四个方框中的第二个变成绿色的I,通过右边6个按钮(“轴”模式:A1-A6,“全局”模式:XYZABC)即可移动机器人

注:初次使用请把速度调到10以下先适应


三、项目配置

本文仅以选配Profinet(从站)、EtherNet/IP(从站)、EK1100/ EL1809/ EL2809(输入输出模块)为例:

1. 设置机器人IP地址

(1)菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

(2)菜单/投入运行/网络配置,修改后保存(请勿使用192.168.0.xxx);

2. 电脑和机器人通过网线连接

网口:控制柜底部X66接口或打开柜门,门上主机上方KLI接口;

3. 查找并打开项目

打开WorkVisual,点击左上角 菜单/查找项目;

4. 通讯配置

(1)双击控制柜图标激活项目;

(2)现场总线配置(若未选配Profinet和EtherNet/IP可以直接跳过此步骤):

①若选配Profinet,双击项目结构中Profinet对备注位置进行配置,其余不需要改动;

②若选配EtherNet/IP,双击项目结构中EtherNet/IP对备注位置进行配置,其余不需要改动;

(3)信号映射;

①点击左上角 编辑器/IO Mapping;

②输入端映射:

    左边框:

    右边框:

    映射(使用shift和ctrl可以多选,类似excel表格操作):

③输出端映射:

    左边框:

    右边框:

    映射(使用shift和ctrl可以多选,类似excel表格操作):

5. 项目上传

(1)示教器点击 菜单/配置/用户组,选择管理员,输入密码 kuka 登录;(2)Workvisual点击项目配置(F6或如下图操作)后,点击完成;

(3)示教器两次弹出窗口都选择“是”,完成后等待重启;

6. 检验IO配置

(1)菜单/配置/用户组,选择管理员,输入密码 kuka 登录;(2)菜单/显示/输入输出端/数字输入端,PLC输出信号,检查输入端信号是否正确;

(3)点击信号下方的输出端,或菜单/显示/输入输出端/数字输出端,上使能,点击信号,再点击“值”,输出信号,PLC检查接收信号是否正确;


四、编程

1. 新建程序

(1)关闭示教器所有界面,回到主界面;

(2)菜单/配置/用户组,选择管理员,输入密码 kuka 登录;(3)新建文件夹(命名方式英文开头);

(4)新建模块程序;

(5)打开程序;

(6)打开程序后,调整界面,可做可不做,为了看起来更舒服;

(7)模板程序解读,两行SPTP HOME的指令可以删除(编辑/删除):

(8)调整完成后,按程序左边的叉叉符号即可关闭程序;

2. 程序调用

本节将展示程序之间互相调用如何编程(以TEST_MAIN.SRC程序中调用TEST.SRC为例):

(1)菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

(2)打开TEST_MAIN.SRC程序;

(3)点击示教器左边“笔”按钮弹出键盘

(4)在需要的位置输入TEST( ),即可调用TEST.SRC程序;

3. 变量(声明&初始化&运算)

(1)菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

(2)打开程序,点击示教器左边“笔”按钮弹出键盘;

(3)如图所示进行变量声明、初始化和运算:

4. 程序框架搭建(循环&判断&变量)

注:若程序只是运动和简单信号交互,则可以跳过此步骤

(1)菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

(2)打开程序;

(3)输入指令,本节介绍机器人主要的几种循环和逻辑判断,最终程序框架需要根据需求将循环和逻辑判断组合。

IF使用 IF 分支后,便可以只在特定的条件下执行程序段;

LOOP(无限循环):每次运行完之后都会重新运行的循环;

WHILE(当型循环):当执行条件满足时,这种循环会一直将过程重复下去。当判断执行条件不满足时会结束循环,并执行 ENDWHILE 后的指令;

REPEAT(直到型循环):在指令部分执行完毕之后,检查是否已满足退出循环的条件。条件满足时,退出循环,执行 UNTIL 后的指令。条件不满足时,在 REPEAT 处重新开始循环;

FOR (计数循环):一种可以通过规定重复次数执行一个或多个指令的控制结构,使用时选择新建变量;

SWITCH若需要区分多种情况并为每种情况执行不同的操作,则可用 SWITCH - CASE 指令达到目的;

(5)程序框架搭建完成后,按程序左边的叉叉符号即可关闭程序;

5. 运动指令

(1)选定程序:

(2)移动机器人到相应的点位,通过指令/运动/SPTP或SLIN,添加运动指令,添加后会自动记忆当前位置;
SPTP:点到点运动,又称关节运动,各轴配合,以最快速度到达预设点位(走指令前轨迹未知);

SLIN:直线运动,直线运动到达预设点位(走指令前轨迹已知);

(3)指令解读:

运动方式:可选SPTP或SLIN;

点位名称:可自定义(英文开头);

CONT:轨迹逼近,不停顿;

速度:根据需要修改;

(4)修改指令点位,点击对应点位的指令,光标在该指令上时,点击下方的Touch-up,再点击覆盖,此时点位会重新记忆;

(5)示例程序及对应图解:

6. 信号指令

(1)选定程序:

(2)信号指令添加方式:指令/逻辑/WAIT & WAITFOR & OUT;

(3)以上文的运动示例程序为基础,加入了信号指令,假定OUT[1]和IN[1]映射到抓手控制开关:

注:信号指令不要随意加CONT,否则有安全隐患!

7. 程序运行

(1)选定程序,若已选定,可以点击R/程序复位;

(2)调整机器人程序运行速度,上使能,按住左边的程序启动按键即可启动程序。若想跳到某一行开始运行,则点击想跳的位置,当光标在该行后,点击语句行选择即可跳行;


(3)结束后点击R/取消选择程序即可退出;


五、外部自动运

注:确认所有程序无安全隐含后再进行自动

1. 配置主程序(CELL.SRC

(1)菜单/配置/用户组,选择管理员权限,输入密码 kuka 登录;

(2)打开R1/CELL程序;

(3)将 程序名加括号 写在对应CASE的P00( )后面,如图所示位置;

注:CASE在后面外部自动的时候会根据程序号调用

2. 时序解读

(1)时序图:

(2)大白话解读:

①安全回路(X11)中急停和安全门都OK状态下,PLC输出 $MOVE_ENABLE(运行开通)$DRIVE_OFF(驱动器关闭)

注:这两个信号不需要关闭,T1模式也需要 $MOVE_ENABLE信号

② 选定CELL程序,按住程序启动按键,走到HOME位,弹出已达BOC提示,松开程序启动按键,此时KRC会输出 $IN_HOME(位于起始位置)和 $ON_PATH(机器人在轨迹上)

③ 顺时针转动示教器上的钥匙,选择EXT模式后转回来,此时KRC输出 $EXT(外部自动运行),调整速度,初次外部自动建议速度小于10!!!

④ 程序启动时序(所有KRC的输出都是在收到PLC信号后自动发出的);

注:建议开关触发,请勿自动触发,导致安全风险

PLC  输出 $DRIVE_ON(驱动装置接通)

KRC 输出 $PEPI_RDY(驱动装置处于待机运行状态)

注:若手动模式已有使能,打到EXT模式未出现报错,该信号会直接输出

PLC  关闭 $DRIVE_ON(驱动装置接通)

PLC  输出 $CONF_MESS(错误确认)

KRC 关闭 $STOPMESS(集合故障)

注:若手动模式无报错,打到EXT模式未出现报错,该信号会直接关闭

PLC  输出 $EXT_START(程序启动)

KRC 输出 $PRO_ACT(程序激活)

PLC  关闭 $EXT_START(程序启动)

KRC 输出 $PGNO_REQ(程序编号请求)

PLC  输出 PGNO(程序号)(二进制转整型)

注:程序号由$PGNO_FBIT(程序号第一位)和 PGNO_LENGTH(程序号位字节宽度)确定

PLC  输出 $PGNO_VALID(程序编号有效)

KRC 输出 $APPL_RUN(应用程序正在运行)

PLC  关闭 PGNO(程序号)(二进制转整型)

PLC  关闭 $PGNO_VALID(程序编号有效)

此时机器人已经进入对应CASE的子程序中了。在我的程序示例中,如果PLC程序号给了1,那就是进入了TEST( );

⑤子程序运行完毕,返回CELL中,重复KRC输出 $PGNO_REQ(程序编号请求)及后续步骤

⑥程序运行结束后,按一下示教器左边红色暂停键,顺时针转动示教器上的钥匙,选择T1模式后转回来即可;

3. 外部自动信号配置

(1)菜单/配置/输入输出端/外部自动运行,配置外部自动运行;
 


最后再次声明,希望大家在使用机器人前能详细阅读库卡机器人官方资料,本文仅供参考,对于出现的任何后果,本人概不负责!

有关KUKA机器人 - 从开机到自动运行的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  3. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  4. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  5. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  6. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  7. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  8. ruby-on-rails - 无法让 rspec、spork 和调试器正常运行 - 2

    GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'

  9. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  10. ruby-on-rails - before_filter 运行多个方法 - 2

    是否有可能:before_filter:authenticate_user!||:authenticate_admin! 最佳答案 before_filter:do_authenticationdefdo_authenticationauthenticate_user!||authenticate_admin!end 关于ruby-on-rails-before_filter运行多个方法,我们在StackOverflow上找到一个类似的问题: https://

随机推荐