參考價: | 面議 |
- 產(chǎn)品型號
- 品牌
- 代理商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):373更新時間:2018-09-07 12:53:44
西門子6ES75121DK010AB0總代理
在二進(jìn)制邏輯運(yùn)算中用作暫時存儲位。比如,一串邏輯指令中的某個指令檢查觸點(diǎn)的信號狀態(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í)行與邏輯操作的時候,就需要用到or這一狀態(tài)位。or位表示先前執(zhí)行的與邏輯操作產(chǎn)生的值為“1”,于是,邏輯操作或的執(zhí)行結(jié)果就已被確定為“1”。
● ov位:溢出表示算術(shù)或比較指令執(zhí)行時出現(xiàn)了錯誤。根據(jù)所執(zhí)行的算術(shù)或邏輯指令結(jié)果對該位進(jìn)行設(shè)置。
● os位:溢出存儲位是與ov位一起被置位的,而且在更新算術(shù)指令之后,它能夠保持這種狀態(tài),也就是說,它的狀態(tài)不會由于下一個算術(shù)指令的結(jié)果而改變。 這樣,即使是在程序的后面部分,也還有機(jī)會判斷數(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。
cc1 cc0 檢查完成后,如果:
0 0 a == 0 結(jié)果 =0
1 0 a >; 0 結(jié)果 >; 0
0 1 a < 0 結(jié)果 < 0
● br位:狀態(tài)字的第8位稱為二進(jìn)制結(jié)果位。它將字處理程序與位處理起來,在一段既有位操
作又有字操作的程序中,用于表示字邏輯是否正確。將br位加入程序后,無論字操作結(jié)果如何,都不會造成二進(jìn)制邏輯鏈中斷。在梯形圖的方塊指令中,br位與eno位有對應(yīng)關(guān)系,用于表明方塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,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位目的。
狀態(tài)字的9-15位未使用。
3.具體使用
下面我們結(jié)合step7中的指針編程來具體介紹條件碼cc0/cc0的用法。
不同的指令在cpu中執(zhí)行時間是不同的。浮點(diǎn)數(shù)比定點(diǎn)數(shù)執(zhí)行時間要長;字邏輯指令比位邏輯指令執(zhí)行時間要長;在某些程序中適當(dāng)使用狀態(tài)字來進(jìn)行編程可以減少cpu程序的執(zhí)行時間。
例1:比如說要比較一個db中塊的dbbo-dbb99這100個字節(jié)是正數(shù)是負(fù)數(shù)還是0,正數(shù)用1來表示;負(fù)數(shù)用-1來表示;0用0來表示。并且將對應(yīng)結(jié)果存入mb200開始的100個字節(jié)中。我們通常的做法可能為:
西門子6ES75121DK010AB0總代理
如果利用條件碼來進(jìn)行編程,既可以減少程序的大小還會減少一定的指令執(zhí)行時間,我們只需要將
中間的比較程序加以優(yōu)化,即可以達(dá)到目的。
例2:根據(jù)狀態(tài)位c0和cc1的狀態(tài)而跳轉(zhuǎn)的跳轉(zhuǎn)功能指令jz不改變?nèi)魏螤顟B(tài)位的狀態(tài),而且邏輯操作結(jié)果rlo值也會“隨著”該跳轉(zhuǎn)功能帶到跳轉(zhuǎn)程序段中,供用戶程序其它邏輯操作之用(不改變/fc狀態(tài))。