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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-05-05 10:20 次阅读

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

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

审核编辑 :李倩

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

    关注

    211

    文章

    28418

    浏览量

    207102
  • Call
    +关注

    关注

    0

    文章

    9

    浏览量

    8327
  • 程序
    +关注

    关注

    117

    文章

    3787

    浏览量

    81049

原文标题:从FOLGEN程序中如何实现自动回到CELL程序/开始执行FOLGEN程序

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

收藏 人收藏

    评论

    相关推荐

    怎么应用程序回到引导程序

    主要是由于协议差异(包括最大包大小/缓冲),我想从主应用程序跳回Bootloader的CAMS部分。我试图避免发出软重置,因为我希望不同的功能,而不是自动回到应用程序。是否有一种方法
    发表于 04-06 07:06

    程序main函数执行的吗

    程序main函数执行的吗?汇编程序的第一条代码哪里开始运行的呢?
    发表于 11-29 08:06

    ARM程序执行过程详解

    本文主要详解ARM程序执行过程,首先介绍了ARM程序的组成及ARM映像文件的组成,其次阐述了ARM程序执行过程,最后介绍了RO、RW、Z
    发表于 04-26 11:34 7214次阅读

    Linux系统ELF程序执行过程

    我们知道在linux系统可以通过诸如"./debug"方式执行一个程序,那么这个程序执行过程
    发表于 04-27 19:48 3461次阅读

    KUKA CELL()程序的分析解读

    CELL的功能:只能检测是否在原点,PLC给入的程序号是否正确,打开FOLGEN程序
    的头像 发表于 05-11 09:15 1340次阅读

    一文解析KUKA CELL程序

    只能检测是否在原点,PLC给入的程序号是否正确,打开FOLGEN程序
    的头像 发表于 09-03 14:09 3257次阅读

    浅谈RAM 执行应用程序

    程序 主应用程序的图像将在运行时复制到 RAM 软件概念 考虑到上述概念,开发需要考虑几个问题: 如何创建将存储在闪存但在运行时 RA
    的头像 发表于 06-20 18:22 3228次阅读
    浅谈RAM <b class='flag-5'>执行</b>应用<b class='flag-5'>程序</b>

    KUKA CELL()程序的分析解读

    号 -CELL的功能:只能检测是否在原点,PLC给入的程序号是否正确,打开FOLGEN程序。 AUTOMATIK EXTERN  -外部自动
    的头像 发表于 12-23 18:05 3471次阅读

    stc单片机自动下载程序原理和代码实现

    知道,当冷启动或者对ISP_CONTR寄存器送入60H产生复位以后,单片机会ISP监控程序开始执行程序。如果这时候检测到合法的ISP下载命令流(后面会说什么是ISP的合法下载流),
    发表于 11-10 20:21 10次下载
    stc单片机<b class='flag-5'>自动</b>下载<b class='flag-5'>程序</b>原理和代码<b class='flag-5'>实现</b>

    单片机程序是如何执行的?指令数据写哪了?

    单片机的运行需要执行程序,同时硬件也是必不可少的,二者缺一不可。大家都知道单片机的运行需要执行写好的程序,但是单片机的指令数据都被写在了哪里?在哪读取指令?让我们
    发表于 11-23 17:51 9次下载
    单片机<b class='flag-5'>程序</b>是如何<b class='flag-5'>执行</b>的?指令数据写哪了?

    单片机程序是如何执行的:指令数据写哪了

    ;nbsp;让我们开始的环节讲起。在单片机上电的瞬间,MCU的程序指针PC会被初始化为上电复位时的地址,哪个地址处读取将要执行的指令,
    发表于 12-01 16:06 7次下载
    单片机<b class='flag-5'>程序</b>是如何<b class='flag-5'>执行</b>的:指令数据写哪了

    中断服务子程序是如何被执行的 ?

    笔者在 《程序是如何在 CPU 运行的(二)》 PC 指针寄存器的角度分析了一级函数调用和二级函数调用执行的过程,那么中断服务子
    发表于 02-07 11:02 2次下载
    中断服务子<b class='flag-5'>程序</b>是如何被<b class='flag-5'>执行</b>的 ?

    浅谈单片机的程序执行过程

    关于程序执行时,哪里读取指令,哪里读取数据,也曾因为没有弄清楚系统上的程序和裸机程序之间的区别,而疑惑了很久。
    发表于 11-23 14:17 2580次阅读

    PLC程序执行过程

    程序执行的全过程由:输入采样阶段、程序执行阶段、输出刷新阶段。在这一阶段,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入
    发表于 04-19 10:51 0次下载
    PLC<b class='flag-5'>程序</b><b class='flag-5'>执行</b>过程

    CPU中断程序硬件看什么是中断?

    CPU响应中断转去执行中断服务程序前,需要把被中断程序的现场信息保存起来,以便执行完中断服务程序后,接着
    发表于 03-26 11:36 3790次阅读
    CPU中断<b class='flag-5'>程序</b>:<b class='flag-5'>从</b>硬件看什么是中断?