def makrotrigger(funktion :in, nummer :in)
trigger 1 : wenn m97 dann 触发指令m97
-–圈数 kf1 ez1 / sp1-
i1 ( ein ) = i1 + 1
--–圈数更换电极后开始铣削零件1 ez1 / sp1 sz1(基本/对接) --
f95 = i2 = i1
f94 = f95 & !f287 + f94
--–圈数 更换电极后开始铣削第2部分ez1 / sp1 sz1(基本/对接) --
f97 = i3 = i1
f96 = f97 & f287 + f96
-–圈数. 普通铣削ez1 / sp1 sz1(基本/对接)-
f99 = i4 = i1
f98 = f99 + f98
-–圈数. 开始铣削零件1 ez1 / sp1 sz2(对接)-
f101 = i8 = i1
f100 = f101 & !f287 + f100
–圈数. 开始铣削第2部分ez1 / sp1 sz2(对接)-
f103 = i9 = i1
f102 = f103 & f287 + f102
–圈数. 普通铣削ez1 / sp1 sz2(对接)-
f105 = i10 = i1
f104 = f105 + f104
-圈数. 开始铣削零件1 ez1 / sp1 sz3(对接)-
f107 = i11 = i1
f106 = f107 & !f287 + f106
-圈数. 开始铣削第2部分ez1 / sp1 sz3(对接)-
f109 = i12 = i1
f108 = f109 & f287 + f108
-圈数.普通铣削ez1 / sp1 sz3(对接)-
f111 = i13 = i1
f110 = f111 + f110
-圈数. 开始铣削零件1 ez1 / sp1 sz4(对接)-
f113 = i14 = i1
f112 = f113 & !f287 + f112
-圈数. 开始铣削第2部分ez1 / sp1 sz4(对接)-
f115 = i15 = i1
f114 = f115 & f287 + f114
-圈数. 普通铣削ez1 / sp1 sz4(对接)-
f117 = i16 = i1
f116 = f117 + f116
m97 = (e718 & a718 +f312) & e834 & a834 & !f72 & !f73 & (f90 + f92)
e718 夹紧力到位,a718夹紧,f312在旋转测试时, e834铣刀转, a834铣刀电机转,f90移动焊钳铣削step激活, f92固定焊钳铣削step激活.
在sps里的调用makrotrigger(0,0)
在sps里的调用makrotrigger(0,0)
funktion=0 nummer=0
def makrotrigger(funktion :in, nummer :in)声明程序
int funktion, nummer,i
switch nummer
case 0; 用于初始化
for i=1 to 8 循环执行8个trigger
makrotrigger(1,i)此时funktion=1开始
endfor
-------------------------------------------------------
case 1;
switch funktion funktion=1
case 1; init
trigger 1 : wenn m97 dann
globalinterruptdecl 31 when $cycflag[97] do makrotrigger(2,1)
使用中断程序激活makrotrigger(2,1)用来执行程序 1 funktion=2用于之形成程序,nummer=1 用于跳到当前步. 由m97激活trigger程序
interrupton 31
case 2; funktion=2 执行程序
-- umdrehungen kf1 ez1/sp1 --
i1 ( ein ) = i1 + 1
vw(#counter,true,1,$count_i[1] + 1) 执行vw计数器程序
-- umdreh. startfraesen teil 1ez1/sp1 sz1 (basic/docking) --
f95 = i2 = i1
$flag[95] = $count_i[2] == $count_i[1]
f94 = f95 & !f287 + f94
$flag[94] = $flag[95] and not $flag[287] or $flag[94]
-- umdreh. startfraesen teil 2ez1/sp1 sz1 (basic/docking) --
f97 = i3 = i1
$flag[97] = $count_i[3] == $count_i[1]
f96 = f97 & f287 + f96
$flag[96] = $flag[97] and $flag[287] or $flag[96]
-- umdreh. normal fraesen ez1/sp1 sz1 (basic/docking) --
f99 = i4 = i1
$flag[99] = $count_i[4] == $count_i[1]
f98 = f99 + f98
$flag[98] = $flag[99] or $flag[98]
endswitch trigger1程序结束
--------------------------------------------------------------
case 2; trigger2
switch funktion
case 1; init
trigger 2 : wenn m104 dann
globalinterruptdecl 32 when $cycflag[104] do makrotrigger(2,2)
makrotrigger(2,2)激活trigger2
interrupton 32
case 2;
endswitch trigger2程序结束
---------------------------------------------------------------
... ... ...
endswitch
end
总结: 简单的说makrotrigger是通过中断命令来实现功能的.
熔断电阻器技术提供具有成本效益的解决方案
济南出台第三代半导体专项政策 国内第三代半导体版图渐显
中国联通将于12月12日在北京举办5G区块链研讨会
Docker容器与虚拟机的区别
欧姆龙开始在上海生产一线自动化的机器人
KUKA机器人MAKRO_TRIGGER程序用法分析
为什么说三星最赚钱的业务会被中国企业分食?
红米Note4X“初音未来”粉绿版2月14日情人节限量发售
现代信息技术为医疗事业提供更加广阔的发展空间
基于nRF51的BLE的几种常见的应用场景
华为Mate 9 Pro综合评测:拍照对比iPhone 7 Plus/三星S7 edge也不逊色
TMS Software:TMS BIZ特点介绍
宁德时代有望夺下特斯拉电池大单,中国汽车供应链将正迎来黄金时代
宾利中国就辛有志售卖“宾利月饼”发声:未授权生产该款月饼
锂电池生产工艺和性能不断提升,将占据储能电池、动力电池等领域
撑死大鱼饿死小虾 下半年Flash芯片有变动
800G光模块QSFP-DD和OSFP的区别
信驰达科技参与《汽车玻璃集成UWB数字钥匙发展研究白皮书》编制工作
同位素比质谱仪的组成
SMT常用元件焊盘钢网开孔设计