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)
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 及以下的时间值
时间值过大或过小时最迟或最早将于切换极限处切换
锅炉系统中对Turingcontrol监控软件的使用
通过Celebrite的技术成功解锁iPhone X搜索数据
iphone8什么时候上市?iphone8最新消息:更多新特性+更高屏占比,搭配这些新功能你喜欢吗?
台积电为什么对Exynos 处理器系列普及程度下降?
M2芯片采用了增强的第二代5纳米制程技术
FBPSPS的核心应用用法详解数据大全
SimpleLink Wi-Fi设备将帮助您解决的三大设计挑战
iphone8什么时候上市?iphone8最新消息:iPhone8即将来袭!你见过全面屏的iPhone么?
“人工智能+机器人”高端论坛在南开大学举行
三星S8大涨价,6000起!网友:把Note7损失的钱赚回来
RISCV的模块化的概念及编译开发riscv gcc相关
digilent4通道8位数字模拟输出介绍
系统级抽象有助于加速嵌入式视频产品上市进程
2024年VR头显市场将增长62%
精益管理是实现智能制造的基石
广州数据交易所正式揭牌!广电计量成为全省首批会员企业
光纤UL1651认证(OFNP, OFNR, OFN, OFC)
全控型功率器MOSFET涨价成因重点分析
无人药店机器人打理,人工智能未来将在社会药店实现三大功能
PiL测试实战(下)| PiL阶段的闭环测试