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

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

3天内不再提示

FBPSPS的核心应用用法详解数据大全

机器人及PLC自动化应用 2018-04-07 12:24 次阅读

FBPSPS 是被广泛使用的一种用户过程检测条件应用程序核心应用:

1. 检测变量改变FB PSPS = .......

2. 轨迹运行条件等待FB_STOP()

3. 轨迹步等待FB_CHECK()

举例分析:

;FOLD PTP VB=100% VE=100% ACC=100% RobWzg=2 Base=0 SPSTrig=0[1/100s] P ;%{P}%MKUKATPVW,%CMOVE8,%VPTP,%P 1:1, 2: VB=,3:100, 4:%, 5: VE=, 6:100, 7:%, 8: ACC=, 9:100, 10:%, 11: RobWzg=, 12:2, 13:Base=, 14:0, 15: SPSTrig=, 16:0, 17:[1/100s], 18: P, 19:3, 20:-1, 21:3

;FOLD 1: FB PSPS = M2 & M30 & M32& M34 & M35 & M37 & E74 & E77 ;%{SE}%MKUKATPVW %CVW_SPS %VFBPSPS %P 2:FB PSPS = M2 & M30& M32 & M34 & M35 & M37 & E74 & E77,3:FBPSPS

;ENDFOLD

;FOLD {H}

VW_MPARA_ACT=P3_D

Act_P1 = P3

Act_P2 = P3

VW(#MPARA,TRUE)

SPS_FERTIG=FALSE

TRIGGERWHENDISTANCE=1 DELAY=0 DO SPS_TRIG(10003)PRIO=-1

PTP P3 C_PTP C_VEL

$ADVANCE=1 -提前执行1个程序段

;ENDFOLD

;ENDFOLD

;FOLD PTP VB=100% VE=100% ACC=100% RobWzg=2 Base=0 SPSTrig=0[1/100s] P ;%{P}%MKUKATPVW,%CMOVE8,%VPTP,%P 1:1, 2: VB=,3:100, 4:%, 5: VE=, 6:100, 7:%, 8: ACC=, 9:100, 10:%, 11: RobWzg=, 12:2, 13:Base=, 14:0, 15: SPSTrig=, 16:0, 17:[1/100s], 18: P, 19:4, 20:-1, 21:4

;FOLD 1: FB PSPS = M2 & M30 & M32 & M34 & M35 & M37 &E74 & E77 ;%{SE}%MKUKATPVW %CVW_SPS%VFBPSPS %P 2:FB PSPS = M2 & M30 & M32 & M34 & M35 & M37& E74 & E77,3:FBPSPS

;ENDFOLD

;FOLD {H}

VW_MPARA_ACT=P4_D

Act_P1 = P4

Act_P2 = P4

VW(#MPARA,TRUE)

SPS_FERTIG=FALSE

TRIGGERWHENDISTANCE=1 DELAY=0 DO SPS_TRIG(10004)PRIO=-1

PTP P4 C_PTP C_VEL

$ADVANCE=1

也就是从P3到P4运动的过程中到达P4时执行SPS_TRIG(10004)程序

FB_CHECK ()程序主要是改变$CYCFLAG[254]值后在固定点位进行等待.

VALCYCFL30=$CYCFLAG[254]

$CYCFLAG[254]=($CYCFLAG[2] AND$CYCFLAG[30] AND $CYCFLAG[32] AND $CYCFLAG[34] AND $CYCFLAG[35] AND$CYCFLAG[37] AND $IN[74] AND $IN[77]) AND $CYCFLAG[255] OR ($TIMER[61]<0)

VW(#FB_CHECK,TRUE)到达轨迹位之后执行

;ENDFOLD

DEF FB_CHECK ()

IF $CYCFLAG[254] AND ($TIMER[61]<0)THEN 有M254后先暂时停职执行运动

BRAKE

IF $PRO_MODE<>#BSTEP THEN 程序模式不是单步

WAITFOR ($TIMER[61]>0)

ENDIF

ENDIF

$LOOP_CONT=TRUE 用于激活模拟前提起值1,证实模拟已经结束.

WAITFOR $CYCFLAG[254] OR ( NOT ($LOOP_CONT) AND ($MODE_OP<>#EX))

-等待M254 或者执行模拟,不在外部自动时执行.

$LOOP_CONT=TRUE 模拟指令关闭

END

而在点与点之间移动时控制停职的程序是中断指令FB_STOP:

INTERRUPTDECL 10 WHEN $CYCFLAG[254]==FALSE DO VW(#FB_STOP,TRUE)

DEF FB_STOP () 机器人执行轨迹过程中执行

INT INT_N

BOOL EXIT_OK

BOOL IN_APO_1

IN_APO_1= NOT (($MOVE_STATE==#PTP_AP02) OR ($MOVE_STATE==#LIN_AP02) OR ($MOVE_STATE==#CIRC_AP02))

$MOVE_STATE当前移动状态点到点,直线,圆弧 IN_APO_1 检测当前运动状态是否不正确

IF((IN_APO_1) OR (NOT SEARCH_ACTIV))THEN

$VW_FB_HOLD=TRUE

ENDIF

IF $PRO_MOVE THEN -程序是处在运行状态-

BRAKE --运动停止--

ENDIF

---用于模拟控制--

FB_STATE.APO_2= NOTIN_APO_1

FB_STATE.N=FB_STATE.N+1

FB_STATE.HOLD=$VW_FB_HOLD

FB_SAVE_MSG () 保存上次模拟的信息

FB_LOOP_MSG () 写入连锁信息用于模拟使用

$LOOP_CONT=TRUE -----请求可以模拟----

EXIT_OK=FALSE

REPEAT 直到循环指令

-----模拟控制---

WHILE NOT ($CYCFLAG[254] OR ( NOT ($LOOP_CONT) AND ($MODE_OP<>#EX)))

-没有 M254 连锁条件或者 不在外部自动时按了模拟按键

IF($LOOP_MSG[1]==" ") AND ($LOOP_MSG[2]==" ") AND ($LOOP_MSG[3]==" ")THEN

FB_LOOP_MSG () ------------提示等待信息用于模拟—写提示模拟信息中

WAITSEC 0.1

IF($LOOP_MSG[1]==" ") AND ($LOOP_MSG[2]==" ") AND ($LOOP_MSG[3]==" ")THEN ------------如果没有提示写入信息就提示 “等待关闭 FB密码号”

$LOOP_MSG[]="KeyWord_WarteFBAus"

ENDIF

ENDIF

IF $PRO_MOVE THEN ------程序运行

BRAKE ------------暂停移动

IF NOT $ON_PATH THEN ---------没在轨迹上

PTP $AXIS_ACT 去机器人当前轴的位置

ENDIF

ENDIF

IF $PRO_MODE1==#BSTEP THEN-----如果程序模式换成单步

;RETURN 控制指令

ENDIF

WAITSEC 0.001

ENDWHILE 当指令循环

IF NOT $LOOP_CONT THEN 如果模拟激活 $LOOP_CONT=FALSE激活模拟指令

$CYCFLAG[254]=TRUE M254被强制置1

FOR INT_N=1 TO 8 使用循环语句

IF NOT $IN[VW_VERR[INT_N].IN] THEN 如果常为1的输入E4081不是1就把它值1

VW_VERR[INT_N].IN=$IOSYS_IN_TRUE $IOSYS_IN_TRUE将输入置1的变量数

VW_VERR[INT_N].NAME[]="SIMU " -----提示模拟

ENDIF

ENDFOR

WRITE_VERR_COND (FALSE) -----关闭连锁控制条件M255,使其可以被改变

EXIT_OK=TRUE ------可以退出

$LOOP_CONT=TRUE ---模拟结束--

ELSE -没有模拟你的话

$TIMER[62]=-150 过150后再刷新信息看连锁条件是否有改变

$TIMER_STOP[62]=FALSE

WHILE NOT ( NOT $CYCFLAG[254] OR ($TIMER[62]>0))

ENDWHILE

IF $TIMER[62]>0 THEN

$TIMER_STOP[62]=TRUE

EXIT_OK=TRUE

ELSE

ENDIF

ENDIF

WAITSEC 0.001

UNTIL EXIT_OK 结束循环

$LOOP_CONT=TRUE

FB_LOAD_MSG () 连锁条件满足后用于模拟的信息清空

WAITSEC 0.024

$VW_FB_HOLD=FALSE

END

基础知识:

TRIGGER WHEN DISTANCE= 位置 DELAY=时间 DO 指令

触发位置:规定在哪个点触发指令。可能的值:

 0:指令在动作语句的起点处被触发。

 1:指令在目标点处被触发。如果目标点是轨迹逼近形式,则指令将在

该轨迹逼近弧形的中点处被触发。

时间:以此可确定所选位置的延迟时间

 可应用正值和负值

 时间以毫秒 (ms) 为单位表示

 可毫无问题地应用 10,000,000 ms 及以下的时间值

 时间值过大或过小时最迟或最早将于切换极限处切换

FBPSPS的核心应用用法详解数据大全

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

    关注

    0

    文章

    72

    浏览量

    36260
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92325

原文标题:FB PSPS 的用法详解

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

收藏 人收藏

    评论

    相关推荐

    PCB加工流程详解大全

    PCB加工流程详解大全PCB的功能為提供完成第一層級構裝的元件與其它必須的電子電路零件接合的基地,以組成一個具特定功能的模組或成品。所以PCB在整個電子產品中,扮演了整合連結總其成所有功能的角色,也
    发表于 11-30 17:29

    [分享]超级密码大全详解!!_--_卫视资讯网

    [分享]超级密码大全详解!!_--_卫视资讯网
    发表于 08-01 23:23

    整理一下ElementUI+VUE日期控件禁用用法

    今天给大家整理一下ElementUI+VUE 日期控件禁用用法,希望对大家有所帮助!HTML文件
    发表于 01-18 09:35

    主板术语大全详解

    主板术语大全详解 1:适用类型    主板适用类型,是指该主板所适用的应用类型。针对不同用户的不
    发表于 12-25 10:19 1800次阅读

    OrCAD中创建总线及用法详解

    OrCAD中创建总线及用法详解,如何创建总线,菜单place->bus或者右侧快捷按钮
    发表于 12-02 10:18 2.5w次阅读

    Proteus之 模拟比较器的应用用法2

    Proteus之 模拟比较器的应用用法2,很好的Proteus资料,快来下载不学习吧。
    发表于 04-18 16:44 0次下载

    C_基本语法详解大全完整版

    电子专业单片机相关知识学习教材资料——C_基本语法详解大全完整版
    发表于 07-25 09:49 0次下载

    详解数字电位器的原理与应用

    详解数字电位器的原理与应用
    发表于 01-24 16:00 21次下载

    PCB加工流程详解大全

    PCB加工流程详解大全
    发表于 02-14 16:07 0次下载

    XMEGA PWM模块多通道的用法详解

    本文主要详解XMEGA PWM模块多通道的用法,具体的跟随小编来了解一下。
    的头像 发表于 06-18 14:09 3994次阅读
    XMEGA PWM模块多通道的<b class='flag-5'>用法</b><b class='flag-5'>详解</b>

    电磁阀知识大全,原理、维护、选型一一详解

    电磁阀知识大全,原理、维护、选型一一详解
    发表于 04-19 10:56 70次下载

    DSP指令详解大全(详细)

    DSP指令详解大全(详细)
    发表于 05-22 10:27 9次下载

    详解数字信号处理的软硬件实现

    详解数字信号处理的量化效应、软件实现和硬件实现。
    发表于 07-07 14:57 0次下载
    <b class='flag-5'>详解数</b>字信号处理的软硬件实现

    详解数字隔离器资料下载

    电子发烧友网为你提供详解数字隔离器资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-12 08:40 15次下载
    <b class='flag-5'>详解数</b>字隔离器资料下载

    CMake用法详解

    CMake用法详解
    发表于 10-25 16:28 2次下载