由KUKA外部自动展开的PLC控制程序的分析

描述

机器人

机器人

$DRIVES_ON - 驱动装置接通

如果在此输入端上施加了持续至少 20 毫秒的高脉冲,则上级控制系统会接通机器人驱动装置。

$USER_SAF  - 操作人员防护装置 / 防护门该输出端在打开护栏询问开关(运行方式 AUT)或放开确认开关(运行方式 T1或 T2)时复位。

1.KRC-PLC   BEREIT ----------1- O_R_Bereit=9 A9机器人准备就绪$RC_RDY1 $OUT[9]

2.KRC-PLC   RK9   ----------1- O_R_Auto=12$I_O_ACTCONF$OUT[12]机器人自动模式

3.KRC-PLC RK100 ----------1-O_R_RK100=10  A10机器人控制系统启动RK100=10 $OUT[RK100]=MERK1 ,MERK1=$ALARM_STOP AND $USER_SAF$ALARM_STOP:报警停止,$USER_SAF:安全门监视用户安全  $USER_SAF $OUT[4059]机器人安全信息满足。4.KRC-PLC   PF0   ----------1 -$OUT[PF0]=(P0_MERKER OR (DownLoadActive AND ($Mode_OP==#EX))) AND$IN_HOME -$IN_HOME :$OUT[4036]–在FOLGE程序的首部存储当前的轴坐标为初始点VW(#VW_AUE_WAIT,TRUE )

5.PLC-KRC   ANTEIN ----------2-I_R_Ant_Ein=10驱动接通 E10

6.KRC-PLC   SAK  ----------3-O_R_SAK=16在轨迹上$NEAR_POSRET:$OUT[16]

7.PLC-KRC   FLGNO ----------4 -PRG_NR $IN[1]  TO $IN[8]程序号给入

8.KRC-PLC   FLGNO ----------5-PRG_NR_REFL$OUT[1]  TO $OUT[8]程序号返回

9.PLC-KRC   SRB ----------6-程序启动I_R_SRB=9 -E9

10.KRC-PLC   PF0 ----------7 -机器人不在原位

11.KRC-PLC   LPTK ----------8–程序到达最后一点LPKT=14-在FOLGE程序中最后执行VW (#VW_AUE_END,TRUE)发出程序在最后1点,等待一段时间后再关闭。

12.PLC-KRC   FLGNO ----------9-PRG_NR关闭

13.KRC-PLC   FLGNO ----------10- PRG_NR_REFL关闭

14.KRC-PLC   LPTK ----------11- 机器人最后一点关闭

15.KRC-PLC   PF0 ----------12- 机器人在原位

那么根据机器人外部自动顺序我们的PLC程序应如何处理呢?如下:

机器人

FB200_ROB 的SCL程序:

xS_Start:= (bVisuTasten = Byte#6); -WINCC手动驱动按钮

R_TRIG_Antriebe(CLK:= xS_Start); -激活系统在手动模式使机器人有外部驱动

IF R_TRIG_Antriebe.Q  THEN

xAnwAntrEin   := True;

END_IF;

机器人

TOF_AntriebeEin(In := ((xAnwAntrEin AND xK25_FrHand) OR  xK26_FrAuto)-系统在自动模式下或

-手动给驱动的情况

AND (PF0 OR _ST_ROB.A16_SAK)–机器人在零点或在轨迹上

AND RoboterBereit–机器人准备就绪A9

AND_ST_ROB.A12_Automatik-机器人在自动模式

AND _ST_ROB.A10_FRG_Stellglieder–机器人允许控制

AND NOT AnwORob–没有又选择不带机器人

AND NOT xAntrVerz -驱动有了为1,判断驱动是否已经接通(用于防止闪断)

,PT:= T#750ms);-延时断开750ms

条件不满足时,如果机器人的A10RK100没有的话, 使能断开后要 在750Ms后再次给E10才能使机器人有使能 。

下降沿的控制:---用于监控一旦一个条件没有满足就将激活下降沿。

F_TRIG_AntriebeEin(CLK := ((xAnwAntrEin AND xK25_FrHand) OR xK26_FrAuto)

AND (PF0 OR _ST_ROB.A16_SAK)

AND RoboterBereit

AND _ST_ROB.A12_Automatik

AND _ST_ROB.A10_FRG_Stellglieder

AND NOT AnwORob

AND NOT xAntrVerz);  

例如:断开安全门时 激活下降沿。

IF F_TRIG_AntriebeEin.Q THEN   出现条件不满足将激活判断变量 

xAntrVerz := True; 

END_IF;

例如:断开安全门时

TON_AntriebeEin(IN := xAntrVerz AND NOT TOF_AntriebeEin.Q ,PT := T#2s)-----监视接通

当条件再次满足时需要2S的时间才能再次接通。

当需要再次接通时需要等待2S之后

IF TON_AntriebeEin.Q THEN  用于接通

xAntrVerz := False;

END_IF;

AntriebeEin := TOF_AntriebeEin.Q;-发出E10 给机器人驱动接通

审核编辑 :李倩

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分