您现在的位置是:首页 > 快讯

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

2020-05-11 03:01:10

$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 给机器人驱动接通