全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 机器人 >

从FOLGEN程序中如何实现自动回到CELL程序/开始执行

时间:2023-05-05 10:20

人气:

作者:admin

标签: 程序  机器人  CALL 

导读:IF($OUT[PF0]AND VW_CALL_CELL AND ( NOT $PRO_MOVE) AND ($MODE_OP==#EX))THEN机器人在原位(A15),执行了CALL程序,机器人没有程序执行,处在外部自动状态...

60e25cec-eacb-11ed-90ce-dac502259ad0.png

在自动循环过程中:

6104778c-eacb-11ed-90ce-dac502259ad0.png

611b40a2-eacb-11ed-90ce-dac502259ad0.png

IF($OUT[PF0]AND VW_CALL_CELL AND ( NOT $PRO_MOVE) AND ($MODE_OP==#EX))THEN

机器人在原位(A15),执行了CALL程序,机器人没有程序执行,处在外部自动状态

CWRITE($CMD,STAT,MODE,"STOP 1") 直接对当前成程序进行控制,程序停止。

CWRITE($CMD,STAT,MODE,"CANCEL 1") 直接对当前成程序进行控制,程序退出。

P_OLD=P_SELECT

CWRITE($CMD,STAT,MODE,"RUN /R1/CELL ()")执行CELL程序

ENDIF

这短语是用来实现执行完Folge程序后由自动回到CELL的功能。

......

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

6132466c-eacb-11ed-90ce-dac502259ad0.png

VW (#VW_AUE_WAIT,TRUE)

AUE_WAIT()

BOOL SIMU_START

INT P

$ADVANCE=DEF_ADVANCE –系统规定DEF_ADVANCE=1-因此预执行只能执行1步

IF(VW_INB AND$EXTSTARTTYP)THEN –此处正常不执行

-在CELL中将VW_INB关闭-$EXTSTARTTYP外部启动的状态TRUE/FALSE

N_VW=FALSE

RETURN

ENDIF

$H_POS=$AXIS_ACT-当前轨迹在HOME位

$LOOP_CONT=TRUE –激活模拟功能

$LOOP_MSG[]="KeyWord_WarteFolgestartSRB 发出提示信息:等待Folgestart"

REPEAT –开始执行循环指令

P0_MERKER=TRUE –机器人在HOME位

BITSHIFT=1

P=0

N_VW=FALSE

IF VW_CBY_CELL THEN –在CELL中激活VW_CBY_CELL=TRUE

IF(P_TYPE == 0)THEN -程序控制类型=0 整数控制方式

P = PRG_NR

ELSE

P = LOG_2(PRG_NR) -用于2进制程序号计算

ENDIF

ENDIF

IF(P<>P_OLD)THEN

–给入程序号与经过VW (#VW_AUE_INIT,TRUE)程序后的保存程序号P_OLD是否相同

N_VW=TRUE -不同FOLGEN程序会跳到最后一步

ELSE -相同没有变化

PRG_NR_REFL = PRG_NR -给入程序号发并发出反馈给PLC程序号

ENDIF

IF(P==0) AND VW_INB AND (($MODE_OP==#T1) OR ($MODE_OP==#T2))THEN

-没有给入程序号-在手动模式选择FOLGEN程序时,进行模拟才能启动FOLGEN程序

- VW_INB被在config.dat文件被设定为FALSE

N_VW=FALSE

SIMU_START=TRUE -启动

ELSE

SIMU_START=FALSE

ENDIF

IF((P==0) OR (P==P_OLD)) AND NOT ($LOOP_CONT) AND (($MODE_OP==#T1) OR ($MODE_OP==#T2))THEN

-如果没有程序号给入-或程序号与原来程序号相同 –没有$LOOP_CONT开启模拟-手动状态

N_VW=FALSE

SIMU_START=TRUE 启动模拟

ENDIF

--------

IS_CELL () –显示选择的程序名称是否是从CELL程序中执行跳过来的.

--------

IF NOT VW_CBY_CELL THEN

-如果不是CELL程序执行跳过来的–用于直接选择FOLGEN程序,而没有选择CELL

IF($MODE_OP==#T1) OR ($MODE_OP==#T2)THEN –在手动状态时

N_VW=FALSE

ELSE

VW_CALL_CELL=TRUE

$LOOP_MSG[]="KeyWord_FuerAutomatikCellAnwaehlen " -提示:选择执行CELL程序

WHILE NOT (($MODE_OP==#T1) OR ($MODE_OP==#T2)) -如果恢复到自动模式时才能下行

WAITSEC 0.1 -等待0.1秒

ENDWHILE

$LOOP_MSG[]="KeyWord_WarteFolgestartSRB" -提示: 等待程序启动

ENDIF

ENDIF

---------

OUT_WSLAV=TRUE

OUT_WPROZ=FALSE

WAITSEC 0.001

UNTIL((($IN[SRB]==TRUE) AND (P>0)) OR (N_VW==TRUE)) OR SIMU_START

一直到有E9PLC给出程序启动,有P程序号大于0, SIMU_START模拟才能跳出循环质量

-N_VW==TRUE -程序号发生变化程序号与之前CELL给入的程序号不同

退出循环指令—前提是程序启动给入,没有程序启动就得给模拟。

---------

$LOOP_MSG[]=" "提示空信息

OUT_WSLAV=FALSE

OUT_WPROZ=FALSE

------

IF N_VW==TRUE THEN –有N_VW没有反馈程序号

PRG_NR_REFL = 0

ELSE

P0_MERKER=FALSE

ENDIF

------

$LOOP_CONT=TRUE ---恢复模拟作准备

CHECK_EMI()-----获取EMI记录的内部状态

END

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

审核编辑 :李倩

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信