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

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

3天内不再提示

KUKAC4机器人焊钳拉拽程序分析sg_fehler ()w

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-01-18 10:05 次阅读

我们在很多时候都会遇到机器人的虚拟外部轴滞后故障报警,它的报警时如何发出的呢?

报警中的滞后故障:

SZMsg(MsgNr :IN) ---伺服钳报警信息程序

SWITCH MsgNr 控制号

CASE 1

SWITCH $SoftPlcint[21] 软PLC反馈信息

CASE 1

USER_MSG.MSG_TXT[]="SZ1 Schleppfehler im Programmbetrieb, Quittierung in Single-Step erforderlich !"

程序模式下SZ1滞后错误,需要单步确认!

......

CASE 2

SWITCH $SoftPlcint[21] 软PLC反馈信息

CASE 1

USER_MSG.MSG_TXT[]="SZ1 Schleppfehler im Programmbetrieb"

SZ1程序模式下的跟随错误

.......

CASE 3

SWITCH $SoftPlcint[21] 软PLC反馈信息

CASE 1

USER_MSG.MSG_TXT[]="SZ1 Schleppfehler, Warte bis kein Schleppfehler !"

SZ1跟随错误,等到没有跟随错误!

....

--产生报警的程序设置—-

GLOBALINTERRUPTDECL 8 WHEN $softplcbool[5] DO SZIntR(7)中断程序激活滞后故障,$softplcbool[5]触发中断程序.

通过中断程序我们可以知道机器人虚拟外部轴的滞后故障是由软PLC的反馈点引起的,说明滞后故障是由软PLC软件监控产生的.

IF NOT $OUT[O_SZ1_FRG] AND (abs($softplcreal[1])>max_sf) AND ($softplcint[1]>0)THEN

BRAKE 机器人程序停止,机器人运动立刻停止

IF ANTEIN_MERKER AND $softplcbool[5] THEN

ANTEIN_MERKER在断开机器人程序驱动,PLC提示错误

nRintMsgHandle[2] = SZMsg(2) 发出提示信息SZ1程序模式下的跟随错误

WAITFOR $softplcbool[6]==FALSE 等待没有软PLC的提示信息

SF_Vorwarnung=FALSE 预警

WAITFOR $IN[I_SZ1_IPos_g] 等待E716位置有效

IF(nRintMsgHandle[2] > 0)Then 反馈值是整数

MSG_DEL = Clear_KrlMsg (-99) ; 清除提现状态信息

nRintMsgHandle[2]=-1

ENDIF

ELSE机器人程序在执行过程中

IF(Handbetrieb==FALSE)THEN如果机器人不是外部自动模式被认为是手动准备

F_Handbetrieb=TRUE 故障手动标识位

IF($softplcint[1]>0)THEN有外部轴被使用

$OUT[O_SZ1_F_Schl]=TRUE ---A131焊钳拉拽故障PLC反馈点

ENDIF

nRintMsgHandle[1] = SZMsg(1)

发出提示信息: 程序模式下SZ1滞后错误,需要单步确认!

WHILE Handbetrieb==FALSE 关闭手动准备

ENDWHILE

IF(nRintMsgHandle[1] > 0)Then

MSG_DEL= Clear_KrlMsg (-99) ;清除故障信息

nRintMsgHandle[1]=-1

ENDIF

ENDIF

IF NOT F_Handbetrieb THEN 没有故障手动标识位

nRintMsgHandle[1] = SZMsg(1)

发出提示信息:程序模式下SZ1滞后错误,需要单步确认!

IF(nRintMsgHandle[1] > 0)Then

MSG_DEL= Clear_KrlMsg (-99) ; 清除故障信息

nRintMsgHandle[1]=-1

ENDIF

ENDIF

ENDIF

ENDIF

;ENDFOLD

Schleppfehler 滞后误差! 除了伺服焊钳外,还可以针对伺服有钉铆钳NZ,和无钉伺服铆钳CZ.下面我们以气伺服焊钳为例进行分析:

IF SZ_VORHANDEN OR MIT_NZ1_Serv OR MIT_NZ2_Serv THEN

SZ_VORHANDEN使用伺服焊钳 虚拟轴 ,或者是伺服铆钳1和伺服铆钳2

---机器人手动时的拉拽故障被触发--

IF $OUT[O_R_Hand] AND TAST_AKTIV_1 AND NOT $OUT[O_SZ1_t_auf] AND NOT $OUT[O_SZ1_t_zu] AND NOT Temp_Komb_1 THEN

A11机器人手动,如果测试点动功能激活,没有A719和A720的焊钳点动控制激活,

Temp_Komb_1=false

TAST_AKTIV_1=FALSE 测试功能激活

WAITSEC 0.4 等待

$OUT[O_SZ1_FRG]=FALSE A715焊钳功能激活

schleppfehler=TRUE 激活拉拽故障

sf_prog_status=#user_act # user_act:操作确认键时的滞后误差

$OUT[O_SZ1_SPos_g]=FALSE A716 使用位置有效

ENDIF

... ...

IF schleppfehler THEN ---- schleppfehler滞后变量被激活

Behandlung_schleppfehler() 跟踪错误的处理

ELSE

SetSollPos(TRUE);空运行

IF $softplcbool[5] THEN 软PLC ---第五位是拉拽故障.

sg_fehler()

ENDIF

ENDIF

caf6a822-5711-11eb-8b86-12bb97331649.png

sg_fehler ()

FOR SZNr=1 To 7 -----1到7轴

FrgSZ=FctFrgSZ(SZNr)焊钳1的A715激活焊钳控制功能

IF($softplcint[SZNr]<>0) AND NOT FrgSZ AND NOT $power_fail THEN

$softplcint[1]=7伺服焊钳 焊钳没有激活控制 $power_fail电源故障

schleppfehler=TRUE 激活拉拽故障变量

IF $PRO_STATE1==#P_ACTIVE THEN 程序激活

sf_prog_status=#prg_motion程序运行中出现的滞后误差

ELSE; 程序状态是不激活

IF NOT $EXT THEN

SetSollPos(FALSE)

ENDIF

IF NOT $COULD_START_MOTION THEN

显示机器人是否可以移动/机器人不在移动

IF(IOCTL("IBusDrv",3,0)==1) AND NOT $power_fail THEN

"IBusDrv" interbus网络驱动这里值不使用,没有电源故障

sf_prog_status=#driveoff_motion

驱动装置关断时的滞后误差

ErrSZNr = SZNr 记录发出故障信息用的恶故障的钳号

SyncMoveMessage(18, #QuitMsg, ErrSZNr);

故障信息:钳子处于非法位置

ErrSZNr =-1

ENDIF

ELSE 显示机器人可以移动

IF NOT $power_fail THEN 没有电源故障

sf_prog_status=#man_motion 用运行驱动装置时的滞后误差

MsgNum=6

ENDIF

ENDIF

ENDIF

InvDestPos=FctDestPos(SZNr) E773目标位置无效

IF InvDestPos THEN

ErrSZNr= SZNr

SyncMoveMessage(19, #QuitMsg, ErrSZNr); 发出故障信息:目标位置无效

ErrSZNr=-1

sf_prog_status=#dest_invalid

ENDIF;目标位置无效

ENDIF

ENDFOR

;产生讯息

IF MsgNum > 0 THEN 发出报警信息

ErrSZNr=SZNr

SyncMoveMessage(MsgNum, #StateMsg, ErrSZNr)

RemMsgNum=MsgNum

ErrSZNr=-1

ENDIF

END

;ENDFOLD

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

DEFFCTBOOL FctFrgSZ(SZNr:IN)

INT SZNr

BOOL FctFrgSZVal

SWITCH SZNr

CASE 1

FctFrgSZVal=$OUT[O_SZ1_FRG] 焊钳1的A715激活焊钳控制功能

CASE 2

FctFrgSZVal=$OUT[O_SZ2_FRG]

CASE 3

FctFrgSZVal=$OUT[O_SZ3_FRG]

CASE 4

FctFrgSZVal=$OUT[O_NZ1_FRG]

CASE 5

FctFrgSZVal=$OUT[O_NZ2_FRG]

CASE 6

FctFrgSZVal=$OUT[O_CZ1_FRG]

CASE 7

FctFrgSZVal=$OUT[O_CZ2_FRG]

ENDSWITCH

RETURN(FctFrgSZVal)

ENDFCT

;ENDFOLD

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

DEF Behandlung_schleppfehler()跟踪错误的处理

BOOL bRet

IF(async_active==FALSE) AND NOT $power_fail THEN

SWITCH sf_prog_status

CASE #man_motion 用运行驱动装置时的滞后误差

Fahrt_SG_Istpos() 异步行进到实际位置

CASE #prg_motion 程序运行中出现的滞后误差

IF $ROB_STOPPED THEN 机器人停止

IF $EXT==FALSE THEN 外部自动关闭

SetSollPos(FALSE) 关闭实际位置有效A716

IF $softplcbool[6] THEN

Fahrt_SG_Istpos()异步行进到实际位置

ELSE

schleppfehler=FALSE

sf_prog_status=#SZ_io无滞后误差

ENDIF

ELSE

IF $COULD_START_MOTION THEN显示机器人是否可以移动/机器人不在移动

SetSollPos(TRUE) A716发出实际位置有效

IF $softplcbool[6]==FALSE THEN 没有故障反馈点

schleppfehler=FALSE

sf_prog_status=#SZ_io

ENDIF

ENDIF

ENDIF

ENDIF

CASE #driveoff_motion 驱动装置关断时的滞后误差

IF $EXT==FALSE THEN 外部自动关闭

SetSollPos(FALSE)

Fahrt_SG_Istpos()

ELSE

IF $COULD_START_MOTION THEN显示机器人是否可以移动/机器人不在移动

SetSollPos(TRUE)

IF $softplcbool[6]==FALSE THEN

schleppfehler=FALSE

sf_prog_status=#SZ_io

ENDIF

ENDIF

ENDIF

CASE #dest_invalid由于目标位置无效导致的滞后误差

Fahrt_SG_Istpos()

CASE #user_act操作确认键时的滞后误差

Fahrt_SG_Istpos()

CASE #SZ_io无滞后误差

IF NOT $softplcbool[5] AND NOT $softplcbool[6] THEN

schleppfehler=FALSE

ENDIF

ENDSWITCH

ENDIF

SWITCH $ASYNC_STATE 同步系统状态

CASE #BUSY 正在工作

async_active=TRUE

CASE #IDLE ; 异步运动完成

IF async_active THEN

schleppfehler = FALSE

sf_prog_status=#SZ_io

SetSollPos(TRUE)

async_active=FALSE

ENDIF

CASE #CANCELLED 取消

async_active=FALSE

ENDSWITCH

;

END

;ENDFOLD

异步行进到实际位置判断

DEF Fahrt_SG_Istpos()

INT SZNr, i

E6AXIS zielpos

; 到当前位置的异步驱动

IF $COULD_START_MOTION AND $ROB_STOPPED THEN

FOR SZNr=1 To 7

IF $softplcint[SZNr]<>0 THEN

SWITCH $softplcint[SZNr]

CASE 7 伺服焊钳1

zielpos.E1=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E1, 7)

判断伺服焊钳实际位置是否超程,并发出提示信息

CASE 8伺服焊钳2

zielpos.E2=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E2, 8)

判断伺服焊钳实际位置是否超程,并发出提示信息

CASE 9伺服焊钳3

zielpos.E3=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E3, 9)

判断伺服焊钳实际位置是否超程,并发出提示信息

CASE 10伺服NZ铆钳1

zielpos.E4=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E4, 10)

判断伺服焊钳实际位置是否超程,并发出提示信息

CASE 11伺服NZ铆钳2

zielpos.E5=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E5, 11)

判断伺服焊钳实际位置是否超程,并发出提示信息

CASE 12伺服CZ铆钳1

zielpos.E6=IstPosCalc(SZNr)获得机器人虚拟轴实际位置

pos_outofsoftend=Outofsoftend(zielpos.E6, 12)

判断伺服焊钳实际位置是否超程,并发出提示信息

DEFAULT

HALT

ENDSWITCH

ENDIF

IF pos_outofsoftend THEN位置超出极限设置

goto FctEnd调步到结尾

ENDIF

ENDFOR

FOR i = 1 TO 6

$ACC_EXTAX[i]=100提前运行中外部轴的加速度

$VEL_EXTAX[i]=100提前运行中外部轴的轴速度

ENDFOR

IF $ROB_CAL AND NOT pos_outofsoftend THEN

掌握所有机器人轴后,将设置此输出

asyptp zielpos 如果不超程执行PTP外部虚拟轴的实际位置

ENDIF

FctEnd:

ENDIF

END

设置额定位置有效

DEF SetSollpos(SollState : IN)

Bool SollState 激活位置有效

IF SollState THEN

$OUT[O_SZ1_SPos_g]=TRUE A716焊钳位置有效

$OUT[O_SZ2_SPos_g]=TRUE 二号钳位置有效

$OUT[O_SZ3_SPos_g]=TRUE 三号钳位置有效

IF MIT_NZ1_Serv THEN如果伺服有钉铆钳1

$OUT[O_NZ1_SPos_g]=TRUE位置有效

ENDIF

IF MIT_NZ2_Serv THEN如果伺服有钉铆钳2

$OUT[O_NZ2_SPos_g]=TRUE位置有效

ENDIF

IF MIT_CZ1_Serv THEN如果伺服无钉铆钳1

$OUT[O_CZ1_SPos_g]=TRUE位置有效

ENDIF

IF MIT_CZ2_Serv THEN如果伺服无钉铆钳2

$OUT[O_CZ2_SPos_g]=TRUE位置有效

ENDIF

ELSE没有激活位置有效 就关闭焊钳或铆钳的位置控制

$OUT[O_SZ1_SPos_g]=FALSE

$OUT[O_SZ2_SPos_g]=FALSE

$OUT[O_SZ3_SPos_g]=FALSE

IF MIT_NZ1_Serv THEN

$OUT[O_NZ1_SPos_g]=FALSE

ENDIF

IF MIT_NZ2_Serv THEN

$OUT[O_NZ2_SPos_g]=FALSE

ENDIF

IF MIT_CZ1_Serv THEN

$OUT[O_CZ1_SPos_g]=FALSE

ENDIF

IF MIT_CZ2_Serv THEN

$OUT[O_CZ2_SPos_g]=FALSE

ENDIF

ENDIF

END

;ENDFOLD

;

DEFFCTBOOL FctDestPos(SZNr:IN)反馈焊钳位置无效

INT SZNr

BOOL FctDestPosVal

SWITCH SZNr

CASE 1

FctDestPosVal=$IN[I_SZ1_F_Ziel] E773目标位置无效

CASE 2

FctDestPosVal=$IN[I_SZ2_F_Ziel]

CASE 3

FctDestPosVal=$IN[I_SZ3_F_Ziel]

CASE 4

FctDestPosVal=$IN[I_NZ1_F_Ziel]

CASE 5

FctDestPosVal=$IN[I_NZ2_F_Ziel]

CASE 6

FctDestPosVal=$IN[I_CZ1_F_Ziel]

CASE 7

FctDestPosVal=$IN[I_CZ2_F_Ziel]

ENDSWITCH

RETURN(FctDestPosVal)函数反馈值

ENDFCT

整体上说明当虚拟外部轴报滞后故障时,其主要是由软PLC的反馈点$softplcbool[5]来控制的.

责任编辑:lq

;ENDFOLD

;ENDFOLD

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

    关注

    211

    文章

    28543

    浏览量

    207613
  • plc
    plc
    +关注

    关注

    5013

    文章

    13336

    浏览量

    464274
  • 焊钳
    +关注

    关注

    0

    文章

    16

    浏览量

    1404

原文标题:KUKAC4机器人焊钳拉拽程序分析sg_fehler ()w

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

收藏 人收藏

    评论

    相关推荐

    【「具身智能机器人系统」阅读体验】2.具身智能机器人的基础模块

    具身智能机器人的基础模块,这个是本书的第二部分内容,主要分为四个部分:机器人计算系统,自主机器人的感知系统,自主机器人的定位系统,自主机器人
    发表于 01-04 19:22

    《具身智能机器人系统》第10-13章阅读心得之具身智能机器人计算挑战

    阅读《具身智能机器人系统》第10-13章,我对具身智能机器人的工程实践有了全新认识。第10章从实时性角度剖析了机器人计算加速问题。机器人定位中的SLAM算法需要处理两个计算密集型任务:
    发表于 01-04 01:15

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    需要专业程序员进行繁琐的编程工作,这种方式不仅效率低下,还限制了机器人的应用场景。例如,在我们大学工程实训课程中使用的数控机床,需要人为设定起点、终点、移动方向和移动距离等参数,自动化程度非常有限。而
    发表于 12-29 23:04

    【「具身智能机器人系统」阅读体验】1.初步理解具身智能

    现状和前沿研究,详细介绍大模型的构建方法、训练数据、模型架构和优化技术。 第4部分(第10章到第13章)深入探讨提升机器人计算实时性、算法安全性、系统可靠性及具身智能数据挑战的具身智能机器人系统研究
    发表于 12-28 21:12

    【「具身智能机器人系统」阅读体验】+初品的体验

    的快速发展,相关人才的需求也在不断增加,通过阅读该书可以帮助大家系统性地了解和分析当前具身智能机器人系统的发展现状和前沿研究,为未来的研究和开发工作提供指导。此外,本书还可以为研究人员和工程师提供具体
    发表于 12-20 19:17

    《具身智能机器人系统》第1-6章阅读心得之具身智能机器人系统背景知识与基础模块

    要给AI这个聪明的“头脑”装上一副“身体”。这个“身体”可以是一部手机,可以是一台自动驾驶汽车。而人形机器人则是集各类核心尖端技术于一体的载体,是具身智能的代表产品。与传统的软件智能体不同,具身智能
    发表于 12-19 22:26

    鸿蒙机器人与鸿蒙开发板联动演示

    鸿蒙机器人与鸿蒙开发板联动演示,机器人的角色为迎宾机器人,开发板负责人宾客出现监听
    发表于 12-02 14:55

    爱普生SG-8101CA可编程晶振应用在工业自动化机器人

    在工业自动化的浪潮中,机器人无疑是最耀眼的明星,它们以高效、精准的工作能力重塑了现代工业生产的格局。而在这些工业自动化机器人的核心深处,爱普生SG-8101CA可编程晶振就像一颗强大而稳定的心脏,为
    的头像 发表于 11-04 10:58 145次阅读
    爱普生<b class='flag-5'>SG</b>-8101CA可编程晶振应用在工业自动化<b class='flag-5'>机器人</b>

    协作机器人拖示教详解

    用户友好的编程方式,允许操作员通过手动移动机器人的末端执行器(通常是机械臂的末端),来示范机器人执行特定任务或动作的方式。机器人会记录并学习操作员的示范动作,并将其转化为程序以便后续的
    的头像 发表于 10-23 15:52 250次阅读

    智能升级:机器人焊钳修磨机VS传统修磨机,效率与质量的双重飞跃

    机器人焊钳自动修磨机实现高度自动化,提升磨削精度与效率,确保安全与可靠性,降低长期成本,提高经济效益和适应性。其优势显著,将推动智能制造产业升级。
    的头像 发表于 10-16 09:20 232次阅读

    Al大模型机器人

    金航标kinghelm萨科微slkor总经理宋仕强介绍说,萨科微Al大模型机器人有哪些的优势?萨科微AI大模型机器人由清华大学毕业的天才少年N博士和王博士团队开发,与同行相比具有许多优势:语言
    发表于 07-05 08:52

    室外抗铠装单模光缆4芯详情介绍

    室外抗铠装单模光缆4芯是一种具有特定性能和设计的光缆,主要用于室外环境的通信传输。以下是对其特点、结构和应用场景的详细解释: 特点: 抗
    的头像 发表于 06-19 09:46 677次阅读

    ABB机器人的基本程序数据有哪些

    ABB机器人是一种广泛应用于工业自动化领域的智能设备,其基本程序数据是实现机器人自动化控制的基础。本文将详细介绍ABB机器人的基本程序数据,
    的头像 发表于 06-17 09:20 1300次阅读

    基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计

    ,在 PS层运行 苏姆的裸机程序, 并将六自由度串联机器人逆解算法移植到主站代码里,进行机器人末端位置对于视觉反馈的实时跟随控制。 (4)通过实验验证了本设计的对物块识别的准确性和实
    发表于 05-29 16:17

    国内机器人实际场景使用抽样调查数据分析报告

    国内机器人实际场景使用抽样调查数据分析报告1背景我们通过为时3个月(2024年2月1日-2024年4月30日),针对国内机器人实际使用者发出的1000份报告(收到实际反馈有效报告736
    的头像 发表于 05-28 08:14 584次阅读
    国内<b class='flag-5'>机器人</b>实际场景使用抽样调查数据<b class='flag-5'>分析</b>报告