0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KUKA堆放件控制USER说明

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2020-05-10 10:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

KUKA堆放件控制USER说明:

PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=0 SPSTrig=5[1/100s] PU

1: FB PSPS = EIN

2: A23 = AUS

3: A18 = EIN

4: GOTO SPSLabel 3 = F940 F940如果抓手上没件

5: SPSLabel 2

6: WARTE BIS (E61 + E213) & M2 +M1 & F940

7: --重置为容器1-在容器为空时重置--

8: i51 ( E59 ) = 1 E59容器1内没有件,没有件就重置I51

9: --重置为容器2-在容器为空时重置-- -

10: i52 ( E209 ) = 1 E209容器2内没有件, 没有件就重置I52

11: i31 ( E61 ) = i51 E61料架1是否合格,可以进入,i31总计数,i51料架1计数器.

12: i31 ( E213 ) = i52 E213料架是否合格,可以进入,i31总计数,i52料架2计数器.

13: bin20 ( EIN ) = i31 反馈上一次计数值给PLC用于比较

14: A61 = E61 & !E213 机器人去料架1-A61

15: A213 = !E61 & E213 机器人去料架2-A213

16: --从PLC读取计数器状态--

17: i31 ( EIN ) = binin20 PLC将数值发给I31

18: bin20 ( EIN ) = i31 反馈计数值给PLC用于比

---下面的F916和F917是用来判断计数器I31的计数是否正确-----

19: F916 = i31 = 0 i31计数值=0就激活F916

20: F917 = i31 > 9 i31计数值>9就激活F917

-----------------

21: F918 = (F916 & !E917) +(!F916 & F917) F918是计数数值不正确

22: GOTO SPSLabel 2 = F918 计数数值不正确就再回第2步

23: SPSLabel 3

24: F901 = M2 & !E15 + F941& E15 M2/F901抓持上有件

25: WARTE BIS E63 & F901 &!E18 + E212 & F901 & !E18 + F940 & !F901

E63往鼠笼1放件,E212往鼠笼2放件, F940 & !F901抓持器上没有件

26: A18 = AUS

27: F902 = i51 < 10  鼠笼1数量在小于10以内

28: F903 = i52 < 10  鼠笼2数量在小于10以内

29: WARTE BIS F901 & (F902 +F903) + F940

等待F901抓持器上有件,F902/F903计数器在正常范围内或者F940抓持器上没有件

30: WARTE BIS E23

31: A23 = EIN

32: FB PSPS = M30

UP14 = E63 & F901 & F902 去鼠笼1放件

UP15 = E212 & F901 & F903 去鼠笼2放件

-------------------------

UP14 放件程序分析:

通过USE程序和计数器I31结合改变BASE值实现向鼠笼料架进行堆放件的程序编写.

PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=3 SPSTrig=5[1/100s] P

Tech_T_Speicher Platz=Base+i31 FRG S-Platz = 63 EIN

VW_USR_R (#USR_ADV,107,2,1,1,1,63,1,TRUE)

开始放件步

LIN VB=250[mm/s] VE=100% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P

LIN VB=250[mm/s] VE=10% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P

放件点轨迹

LIN VB=250[mm/s] VE=0%ACC=100% RobWzg=1 Base=31 SPSTrig=5[1/100s] P

LIN VB=250[mm/s] VE=0% ACC=100% RobWzg=1 Base=31 SPSTrig=0[1/100s] P

ADV

CASE 107 ;

; VW_USR_R (#USR_ADV,107,2,1,1,1,63,1,TRUE)

P1 =2 偏移模式

P5 =63 与PLC进行IO通讯反馈

P7 = TRUE 激活USER

零件存放

IF(PAR7==TRUE)THEN 激活位置计算功能

CONTINUE

IF(PAR5>0)THEN 如果 PAR5有值

IF NOT $IN[PAR5] THEN 如果没有E63

CONTINUE

$OUT[PAR5] = TRUE 发出A63给PLC提示机器人开始进行偏移放件

nRintMsgNr[10] = 0

WHILE NOT $IN[PAR5]

当指令:当没有E63 时发出提示信息

IF(exists_krlMsg(nRintMsgNr[10])== FALSE)THEN

MLD(40,#StateMsg);零件编号 PLC中缺少

ENDIF

ENDWHILE

MSG_DEL = Clear_KrlMsg (nRintMsgNr[10])删除状态消息

ENDIF

ENDIF

CONTINUE

$COUNT_I[i_T_Speicher]=$B_IN[Binin_T_Sp] BIN20的数给I31

CONTINUE

WHILE($COUNT_I[i_T_Speicher]<1) OR ($COUNT_I[i_T_Speicher]>254)

当指令: 当I31 小于1,或大于254 发出提示信息

MLD(14,#QuitMsg);PLC存储器位置无效

$COUNT_I[i_T_Speicher]=$B_IN[Binin_T_Sp] I31 =Bin20

ENDWHILE

$B_OUT[Binout_T_Sp]=$B_IN[Binin_T_Sp]

将个给入的Bin20再发出去BINout20给PLC

设置零件存储位置1-254

CONTINUE

IF(BASE_TYPE[VW_MPARA_ACT.BASE_NO]==#BASE)THEN

只有当BASE_TYPE[1]被设置成#BASE时执行

CONTINUE

WHILE(T_Speicher[$COUNT_I[i_T_Speicher]].Z==0.0)

当T_Speicher的Z方向是0时提示信息

MLD(15,#QuitMsg);存储位置的坐标无效

ENDWHILE

SWITCH Par1 Par1=2

CASE 1

CONTINUE

BASE_DATA[31]=T_Speicher[$COUNT_I[i_T_Speicher]]

当 Par1=1时 BASE_DATA[31]直接由变量T_Speicherge[]给赋值

CASE 2 Par1=2时

CONTINUE 改变$BASE31的坐标值:当前使用的BASE值与T_Speicher的计算

BASE_DATA[31]=BASE_DATA[VW_MPARA_ACT.BASE_NO]:T_Speicher[$COUNT_I[i_T_Speicher]]

DEFAULT P1要是其他的值

MLD(20,#QuitMsg);选择错误

ENDSWITCH

ELSE BASE_TYPE[1]没有设置成#BASE需要提示报警

MLD(31,#QuitMsg);基本类型无效

ENDIF

;

ENDIF

FRAME T_Speicher[300] 程序中使用了9个空位

T_Speicher[1]={X 0.0,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[2]={X -180.300003,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[3]={X -360.600006,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[4]={X -540.900024,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[5]={X -721.200012,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[6]={X -901.5,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[7]={X -1081.80005,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[8]={X -1262.09998,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

T_Speicher[9]={X -1442.40002,Y 0.0,Z 0.100000001,A 0.0,B 0.0,C 0.0}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制
    +关注

    关注

    5

    文章

    1035

    浏览量

    125806
  • User
    +关注

    关注

    1

    文章

    27

    浏览量

    11321
  • KUKA
    +关注

    关注

    3

    文章

    218

    浏览量

    17510

原文标题:KUKA堆放件控制USER说明:Tech_ T_Speicher

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工作流节点说明开始节点

    开始节点是工作流的起始节点,用于设定启动工作流需要的输入信息。开始节点只有输入参数,没有输出等其他参数。开始节点中默认有一个输入参数USER_INPUT,一个默认的输入参数FILES_INPUT(非
    发表于 03-13 14:52

    CNC铝加工:“全球”供应链,灵活响应个性化需求

    ,CNC数控加工通过计算机程序精准控制刀具运动轨迹、切削速度、进给量等核心参数,实现铝从毛坯到成品的高精度、高效率、批量化成型,既能满足常规结构件的加工需求,也能适配复杂曲面、薄壁、高精度异形
    的头像 发表于 03-09 16:27 798次阅读

    车辆零部测试:为汽车“骨骼与神经”注入可靠基因的精密工程

    、寿命极限的科学研究与工程实践,是整车可靠性金字塔的坚实基底。车辆零部测试是汽车研发、生产与质量控制中的关键环节,旨在验证零部在安全性、可靠性、耐久性、环境适应
    的头像 发表于 02-25 14:56 436次阅读
    车辆零部<b class='flag-5'>件</b>测试:为汽车“骨骼与神经”注入可靠基因的精密工程

    通讯零部CNC加工:您的零部加工真的确定够“快”吗

    随着5G基站规模化部署与6G技术研发推进,通讯设备正朝着高功率、高密度、微型化方向演进,对核心零部的精度、稳定性和一致性提出了严苛要求。CNC加工技术凭借数字化控制、高精度成型与强工艺适配性,成为
    的头像 发表于 01-28 15:52 1223次阅读

    施耐德电气机器运动控制“黄金四套”整体解决方案全面推向市场

    如今,集控制器、伺服与电机、变频器和人机界面为一套的施耐德电气机器运动控制“黄金四套”整体解决方案已经全面推向市场,宣告从感知、决策、执行到调节的全链路创新首战告捷!
    的头像 发表于 01-06 14:06 461次阅读

    KIT_PSC3M5_MC1 PSOC™ Control C3M5电机控制评估套件发布说明解读

    KIT_PSC3M5_MC1 PSOC™ Control C3M5电机控制评估套件发布说明解读 作为电子工程师,我们总是在寻找高效且功能强大的电机控制评估套件。今天,就带大家深入了解一下
    的头像 发表于 12-18 17:15 900次阅读

    发布元服务配置隐私说明

    module.json5文的reason字段填写规范填写,如果系统已自动填充了reason中的内容,则无需再次填写。 涉及获取受限开放权限:需要为每个权限项说明权限使用理由,并上传使用场景视频
    发表于 11-24 15:19

    EtherCAT转PROFINET网关:助力KUKA机器人实现“焊”装自由!

    EtherCAT转PROFINET网关:助力KUKA机器人实现“焊”装自由! 在追求极致效率与精度的现代汽车焊装车间,实现车身总拼、地板总成、四门两盖等核心工序的100%自动化,已成为衡量制造水平
    的头像 发表于 10-31 14:04 297次阅读

    求助,关于TLE9883 user_nvm_sector_erase的问题求解

    我正在尝试测试用于擦除和写入闪存不同部分的 NVM API 函数。我从 FLASH0 运行代码。当我尝试使用 user_nvm_page_erase 函数并传入 0x12002000( FLASH1
    发表于 08-15 06:05

    LTC3888无法进行STORE_USER_ ALL把配置保存到EEPROM,怎么解决?

    [UTM2C(io0) /pwr/ltc3888]$ write 0x15 [15] STORE USER DATA ......> send 0x15 [UTM2C(io0) /pwr
    发表于 06-24 06:12

    如何给汽车零部进行疲劳耐久测试?

    汽车零部的疲劳耐久测试是保障整车可靠性的核心环节,其通过模拟复杂工况下的交变载荷、环境因素等,验证零部在全生命周期内的抗疲劳破坏能力。本文从测试对象分类、典型测试项目、技术要点及新能源趋势等维度展开说明
    的头像 发表于 06-17 09:12 2506次阅读
    如何给汽车零部<b class='flag-5'>件</b>进行疲劳耐久测试?

    SIV32C-M小原焊接控制说明

     SIV32C-M分体式控制箱产品说明
    发表于 06-11 17:21 9次下载

    汽车零部开发项目管理

    汽车零部开发项目管理是一个涉及多环节、多部门协作的复杂过程,需从项目启动到交付全流程进行科学规划与管控。以下从 核心流程 、 关键要素 、 管理工具 及 挑战与应对策略 四方面展开说明: 一、核心
    的头像 发表于 06-09 13:26 1887次阅读

    如何选择适合的冲压清洗机?冲压清洗机的选购指南

    冲压清洗机是工业生产中不可或缺的设备之一,主要用于去除冲压过程中产生的油污、灰尘、碎屑等污染物,确保冲压的清洁度和质量。适当选择合适的冲压清洗机对于提高生产效率、降低成本以及保证产品质量都具有
    的头像 发表于 05-30 16:47 695次阅读
    如何选择适合的冲压<b class='flag-5'>件</b>清洗机?冲压<b class='flag-5'>件</b>清洗机的选购指南

    请问starfive-jh7110-202409-SD-minimal-desktop-wayland.img的user密码是多少?

    starfive-jh7110-202409-SD-minimal-desktop-wayland.img的user密码是多少?
    发表于 04-29 07:25