西門子6ES7331-7KF02-0AB0模塊銷售
西門子6ES7331-7KF02-0AB0模塊銷售
CPU寄存器狀態(tài)字的各位給出了有關(guān)指令狀態(tài)或結(jié)果的信息以及所出現(xiàn)的錯(cuò)誤,我們可以將二進(jìn)制邏輯操作狀態(tài)位信號(hào)狀態(tài)直接集成到程序中,以控制程序執(zhí)行的流程。
2.狀態(tài)字寄存器
先簡單介紹一下CPU中狀態(tài)字。
●檢查位:狀態(tài)字的0位稱作檢查位,如果/FC位的信號(hào)狀態(tài)為“0”,則表示伴隨著下一條邏輯指令,程序中將開始一個(gè)新的邏輯串。FC前面的斜杠表示對FC取反。
●邏輯運(yùn)算結(jié)果:狀態(tài)字的第1位為RLO位(RLO=“邏輯運(yùn)算結(jié)果”),在二進(jìn)制邏輯運(yùn)算中用作暫時(shí)存儲(chǔ)位。比如,一串邏輯指令中的某個(gè)指令檢查觸點(diǎn)的信號(hào)狀態(tài),并根據(jù)布爾邏輯運(yùn)算規(guī)則將檢查的結(jié)果(狀態(tài)位)與RLO位進(jìn)行邏輯門運(yùn)算,然后邏輯運(yùn)算結(jié)果又存在RLO位中。
●狀態(tài)位:狀態(tài)位(第2位)用以保存被尋址位的值。狀態(tài)位總是向掃描指令(A,AN,O,…)或?qū)懼噶睿?,S,R,)顯示尋址位的狀態(tài)(對于寫指令,保存的尋址位狀態(tài)是本條寫指令執(zhí)行后的該尋址位的狀態(tài))。
●OR位:在用指令OR執(zhí)行或邏輯操作之前,執(zhí)行與邏輯操作的時(shí)候,就需要用到OR這一狀態(tài)位。OR位表示先前執(zhí)行的與邏輯操作產(chǎn)生的值為“1”,于是,邏輯操作或的執(zhí)行結(jié)果就已被確定為“1”。
●OV位:溢出表示算術(shù)或比較指令執(zhí)行時(shí)出現(xiàn)了錯(cuò)誤。根據(jù)所執(zhí)行的算術(shù)或邏輯指令結(jié)果對該位進(jìn)行設(shè)置。
●OS位:溢出存儲(chǔ)位是與OV位一起被置位的,而且在更新算術(shù)指令之后,它能夠保持這種狀態(tài),也就是說,它的狀態(tài)不會(huì)由于下一個(gè)算術(shù)指令的結(jié)果而改變。這樣,即使是在程序的后面部分,也還有機(jī)會(huì)判斷數(shù)字區(qū)域是否溢出或者指令是否含有無效實(shí)數(shù)。OS位只有通過如下這些命令進(jìn)行復(fù)位:JOS(若OS=1,則跳轉(zhuǎn))命令,塊調(diào)用和塊結(jié)束命令。
●CC1及CC0位:CC1和CC0(條件代碼)位給出有關(guān)下列結(jié)果的相關(guān)信息:
•算術(shù)指令結(jié)果
•比較指令結(jié)果
•字邏輯指令
•在移位功能中,移出位相關(guān)信息。
可以用以下指令來檢查條件代碼CC1和CC0。
CC1CC0檢查完成后,如果:
00A==0結(jié)果=0
10A>0結(jié)果>0
01A<0結(jié)果<0
●BR位:狀態(tài)字的第8位稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操
作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結(jié)果如何,都不會(huì)造成二進(jìn)制邏輯鏈中斷。在梯形圖的方塊指令中,BR位與ENO位有對應(yīng)關(guān)系,用于表明方塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯(cuò)誤,BR位為0,ENO位也為0;如果功能被正確執(zhí)行,BR位為1,
ENO位也為1。在用戶編寫的FB/FC程序中,應(yīng)該對BR位進(jìn)行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達(dá)到管理BR位目的。