主控繼電器(mastercontrolrelay)簡稱mcr。
主控繼電器用來控制mcr區(qū)內的指令是否被正常執(zhí)行,相當于一個用來接通和斷開“能量流”的主令開關。有關指令:
mcra:激活mcr區(qū)指令;
mcrd:取消mcr區(qū)指令;
mcr(:打開mcr區(qū)指令,在mcr堆棧中保持該指令之前的邏輯運算結果rlo(即mcr位);
mcr):關閉mcr區(qū)指令,從mcr堆棧中取出保存的邏輯運算結果rlo;
mcr(,mcr)指令必須成對使用,以表示受控臨時“電源線”的形成與終止。
例:
mcra//激活mcr區(qū)
ai0.2
mcr(//rlo保存到mcr堆棧,打開mcr區(qū),i0.2=1則mcr位為1,反之為0
ai3.1
=q4.0//如mcr位為0,不管i3.1的狀態(tài)如何,q4.0被置為0
ai0.5
jnb-001
lmw20
tqw10//如mcr位為0,mw20內容送入qw10
-001:nop0
)mcr//結束mcr控制區(qū)
mcrd//關閉mcr區(qū)
ai1.1
=q4.1//這兩條指令在mcr區(qū)之外,不受mcr位的控制
在此,在轉帖有關例題:
mcr指令叫做主控指令,簡單地講是有這么一個mcr的棧區(qū)。在這個棧區(qū)內的操作不僅受分步條件控制,還可以用mcr的on或off來進行總控制!如:
stlexplanation
mcra//activatemcrarea.
ai1.0
mcr(//saverloinmcrstack,openmcrarea.mcr=onwhenrlo=1(i?.0=1);mcr=offwhenrlo=0(i1.0=0)
ai4.0
=q8.0//ifmcr=off,thenq8.0issetto0regardlessofi4.0.
lmw20
tqw10//ifmcr=off,then0istransferredtoqw10.
)mcr//endmcrarea.
mcrd//deactivatemcrarea.
ai1.1
=q8.1//theseinstructionsareoutsideofthemcrareaandarenotdependentuponthemcrbit.
在上例中,用i1.0來作為mcr取激活的條件,既將ai1.0邏輯結果rlo存入mcr區(qū),mcr區(qū)是否為no取決于rlo,rlo=0時mcr區(qū)為no,在此條件下,區(qū)內的邏輯結果受mcr總控,既如ai4.0=q8.0一句,只要mcr區(qū)為no,q8.0即為零,而不管i4.0的狀態(tài)如何!