好文档 - 专业文书写作范文服务资料分享网站

MAKRO_TRIGGER程序分析

天下 分享 时间: 加入收藏 我要投稿 点赞

MakroTrigger

在SPS.SUB的初始化中激活MakroTrigger里的8个GLOBAL INTERRUPT DECL(中断指令).

MakroTrigger宏包含8个预定义的触发器,尚未包含任何语句。 用户可以根据特定要求编写ram语句。 所有触发器均在Submit解释器的一个周期内执行。 触发器允许对事件进行非常快速的反应,例如 如果在输入处收到错误消息。

触发器默认情况下处于关闭状态。 为了接通触发器,必须对接通条件进行编程。 优先级31 ... 38为触发器保留。 触发器不能删除,也不能插入其他触发器。 1.将光标置于包含要编辑的触发器的行中。 2.按更改功能键打开触发器的嵌入式表单。 3.以内联形式编写接通条件。 单击“确定”保存。

4.编写要为此触发器执行的指令:用Cmd OK保存每个指令。

在升级的情况下,已经编程的接通条件和触发指令将传输到宏的SRC文件中。

1 2 3 操作员。 如果选择了操作数EIN(ON)和AUS(OFF),则输入框不可用。 布尔操作数(条件) EIN(开),AUS(关),E,A,M,F,T,S 操作数的编号。 如果选择了操作数EIN(ON)和AUS(OFF),则输入框不可用。 值的范围:取决于操作数 例如:

接通条件:M97设置为TRUE。

注意:触发器对边沿FALSE-> TRUE作出反应。 如果在触发器评估时输入已经处于活动状态,则不满足接通条件

大众标准例子:

DEF MAKROTRIGGER(Funktion :IN, Nummer :IN) Trigger 1 : Wenn M97 dann -–圈数 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) 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

GLOBAL INTERRUPT DECL 31 WHEN $CYCFLAG[97] DO MAKROTRIGGER(2,1) 使用中断程序激活MAKROTRIGGER(2,1)用来执行程序 1 FUNKTION=2用于之形成程序,Nummer=1 用于跳到当前步. 由M97激活TRIGGER程序 INTERRUPT ON 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 1 EZ1/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 2 EZ1/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

GLOBAL INTERRUPT DECL 32 WHEN $CYCFLAG[104] DO MAKROTRIGGER(2,2) MAKROTRIGGER(2,2)激活Trigger2 INTERRUPT ON 32 CASE 2;

ENDSWITCH Trigger2程序结束

--------------------------------------------------------------- ... ... ... ENDSWITCH END

MAKRO_TRIGGER程序分析

MakroTrigger在SPS.SUB的初始化中激活MakroTrigger里的8个GLOBALINTERRUPTDECL(中断指令).MakroTrigger宏包含8个预定义的触发器,尚未包含任何语句。用户可以根据特定要求编写ram语句。所有触发器均在Submit解释器的一个周期内执行。触发器允许对事件进行非常快速的反应,例如
推荐度:
点击下载文档文档为doc格式
72juj3om3g34ka295j7z7yqpo85slb00d7u
领取福利

微信扫码领取福利

微信扫码分享