STL語言中 JC和JCB的區(qū)別
劉玉蓉
發(fā)布于2014-10-30 17:51
5
0
標(biāo)簽:
看說明上說是JCB是帶BR位,不理解BR位的意思,這兩個(gè)跳轉(zhuǎn)用起來有什么區(qū)別?
佳答案
JC和JCB的區(qū)別:
JC 若 RLO = 1,則跳轉(zhuǎn);
JCB 若 RLO = 1,則連同BR 一起跳轉(zhuǎn)
舉例說明BR位,沒有找到JCB的例子,找到了中應(yīng)用了JNB (若 RLO = 0,則連同BR 一起跳轉(zhuǎn)),與JCB邏輯相反,但可以說明問題。
轉(zhuǎn)帖:下述程序是由梯形圖轉(zhuǎn)換而來的:
A(
L "MT510".Powder1
BTI
T #temp1
SET
SAVE
CLR
A BR
)
JNB _005
L 9
T #temp10
_005: NOP 0
上述程序中BR的用途:首先弄清BR位:狀態(tài)字的第8位稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結(jié)果如何,都不會(huì)造成二進(jìn)制邏輯鏈中斷。
1. 因?yàn)樯厦娴哪嵌未a是由梯形圖轉(zhuǎn)換而來的。出現(xiàn)了“SET、SAVE及CLR”。就此而論,在做BCD-I轉(zhuǎn)換并存于temp1后,SET與SAVE兩指令。SET即將狀態(tài)字RLO置位;SAVE將RLO保存到狀態(tài)字的BR位。此時(shí)表示功能被正確執(zhí)行,即BR位為1.
2. CLR / 將狀態(tài)字RLO復(fù)位,以免影響下面的指令。
A BR / 此時(shí)BR位為1,RLO=0
)
JNB _005 / 若BR=1且RLO=0,則跳轉(zhuǎn)到005。
L 9 / 此時(shí)BR=1且RLO=1
T #temp10
_005: NOP 0
3. 在一個(gè)NetWork中串聯(lián)執(zhí)行多個(gè)指令或并聯(lián)執(zhí)行多個(gè)指令時(shí),該如何處理?
一般不要顧及用SAVE指令保存RLO。在下面的情況可用:
在一個(gè)邏輯塊中需檢另一查邏輯塊的BR位。
例如:在用戶編寫的FB/FC程序中,應(yīng)該對(duì)BR位進(jìn)行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達(dá)到管理BR位目的