STL300
劉玉蓉
發(fā)布于2014-12-12 17:22
512
0
標(biāo)簽:
如圖,SET 和 SAVE 主要是這兩個求講解清楚,還有就是STL中的累加器到底是什么?
佳答案
1、轉(zhuǎn)帖:
A(
L "MT510".Powder1
BTI
T #temp1
SET
SAVE
CLR
A BR
)
JNB _005
L 9
T #temp10
_005: NOP 0
上面的那段代碼是由梯形圖轉(zhuǎn)換而來的,現(xiàn)有如下問題向各位請教:
上段中的SET、SAVE及CLR用途何在?
回答:
首先弄清BR位:狀態(tài)字的第8位稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結(jié)果如何,都不會造成二進(jì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位。此時表示功能被正確執(zhí)行,即BR位為1.
c、. 在一個NetWork中串聯(lián)執(zhí)行多個指令或并聯(lián)執(zhí)行多個指令時,該如何處理?
一般不要顧及用SAVE指令保存RLO。在下面的情況可用:
在一個邏輯塊中需檢另一查邏輯塊的BR位。
例如:在用戶編寫的FB/FC程序中,應(yīng)該對BR位進(jìn)行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達(dá)到管理BR位目的。
2、累加器到底是什么?轉(zhuǎn)帖一個典型的問題:
問:西門子PLC累加器的具體含義和作用是什么? br />答:在西門子S7-300/400PLC的存儲區(qū)中,除了3個基本存儲區(qū)(系統(tǒng)存儲區(qū)、裝載存儲區(qū)和工作存儲區(qū))外,在PLC中還有外設(shè)I/O存儲區(qū)、累加器等。所以累加器(32位)為PLC的存儲區(qū)之一。
累加器(32位)用于處理字節(jié)、字或雙字的寄存器。S7-300有兩個累加器(ACCU1和ACCU2),S7-400有四個累加器(ACCU1--ACCU4)。可以把操作數(shù)送入累加器,并在累加器中進(jìn)行運算和處理,保存在ACCU1中的運算可以傳送到存儲區(qū)。處理8位或16位數(shù)據(jù)時,數(shù)據(jù)放在累加器的低端(右對齊)。舉例如下:
OPNDB1//打開數(shù)據(jù)塊DB1,作為共享數(shù)據(jù)塊
LDBW2//將DB1中的數(shù)據(jù)字DBW2(16位)裝入累加器1(ACCU1)
TW0//將累加器1低字中的內(nèi)容傳送到存儲字MW0
TDBW4//將累加器1中低字中的內(nèi)容傳送到DB1的數(shù)據(jù)字DBW4(16位)
又如:
LMB10//將位存儲區(qū)字節(jié)MB1O裝載到累加器1中;
LMB11//將MB11裝載到累加器1中,MB10自動進(jìn)入累加器2中;
TDBB100//將累加器1值的值(MB11)傳送到DBB100