PLC与工业机器人通讯连接,以西门子为例!
而一个生产线又需要多个工业机器人工作站协作,而且生产线还包括其他相对独立的自动化设备,比如AGV小车、自动化立体仓库、喷涂设备、装配设备等等。这个时候工作站与工作站之前就需要更高一层的PLC来进行协调。举个最简单的例子,一条输送生产线,在A,B,C三个位置有三个工业机器人工作站,代表三个工位需要进行三种工艺操作,PLC首先控制传送带运动,工件到达工位A,工位A的位置传感器检测到工件到位了,发送信号给PLC,PLC接收到此输入信号,同时综合其他一些外部信号判断此时工位A的机器人可以开始工作了,则通过PLC输出发送一个信号给机器人A:丫你可以开始干活了,赶紧的。机器人A干完活后,再反馈一个完成信号给PLC:兄弟我的活干完了,你继续。PLC接受此信号后继续开动电机控制传送带把工件运到工位B,重复以上逻辑过程。
各位看官,看完上面的这段话,我想您的疑问至少解决一半了。现在到了该下结论的时候,那就是工业机器人的应用离不开PLC的参与,而且今后在工业机器人行业真正有所作为的领域是个性化的工业机器人解决方案,所以学习工业机器人技术仅仅会操作使用,那你只是一个操作技工而不是应用工程师!对于新进入或者跨行进入的工业机器人学习者,最好要有电气自动化的基础理论,如果没有电气基础那就必须从基本的电工电路以及PLC编程开始学了。
机器人是如何与PLC通讯连接的?看具体案例!
工业机器人真正的应用是用在生产线上(如汽车组装生产线、半导体硅片搬运等),机器人单机各种搬运动作轨迹等都调试好了,还要配合生产线上的动作要求,也就是还要和PLC连接进行通讯,双方交互信号,PLC什么时候让机器人去搬运,机器人搬运完成通知PLC,通过这样的交互通讯,机器人即可作为整条生产线上的“一员”,和生产线的上的其他机构完成整个生产任务。
工业机器人与PLC的通讯连接
如果我们既掌握了工业机器人的编程,又掌握了PLC的控制技术,那么通过PLC控制机器人就显得非常简单了。只要将工业机器人和PLC有效地连接起来并进行相互之间的信号传输即可。工业机器人与PLC之间的通讯传输有“I/O”连接和通讯线连接两种,下面以最常用的机器人与PLC之间使用“I/O”连接的方式介绍其控制方法。
图一:PLC与机器人系统构成
上图PLC采用西门子品牌,S7-300作为上位机,S7-200与机床通过I/O信号相连;S7-300与S7-200使用Profibus总线相连;S7-300与工业机器人使用I/O信号相连;工业机器人主体和控制器之间使用自带通讯电缆(直接接插)连接。
图二:S7-300(CPU-313)输入输出信号
图三:S7-200输入输出信号(控制车床)
图四:S7-200输入输出信号(控制洗床)返回搜狐,查看更多
KUKA机器人
注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)信号映射;
①点击左上角编辑器/IOMapping;
②输入端映射:
左边框:
右边框:
映射(使用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)模板程序解读,两行SPTPHOME的指令可以删除(编辑/删除):
(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)菜单/配置/输入输出端/外部自动运行,配置外部自动运行;
最后再次声明,希望大家在使用机器人前能详细阅读库卡机器人官方资料,本文仅供参考,对于出现的任何后果,本人概不负责!