詳細介紹
上海西門子1515-2 PN代理商一個邏輯指令檢測“/FC”位的狀態,就像指令檢測它的尋址接點一樣,決定了指令對其尋址狀態、信號狀態檢測結果的存放位置。如果“/FC”位的狀態為0,邏輯指令將結果存在(邏輯操作的結果位)“RLO”中,并將“/FC”位的狀態置為1。這一過程,稱為“*檢測”。經過*檢測存放在“RLO”中的0或者
1,被稱為“*檢測的結果”。
在一個邏輯串中,當CPU完成邏輯串中的*條指令以后,“/FC”位的狀態一直為1。當“/FC”位為1時,指令操作將其尋址接點的“檢測結果狀態”與先前存放在“RLO”中的狀態結合起來。
一串邏輯指令總是以一個輸出指令(如:S、R、=),或者一個與邏輯操作結果相關的條件跳轉指令(JC),或者一個嵌套指令[ 如:A(、O(、X(、AN(、ON(、XN( ] 作為結束。這些輸出指令、跳轉指令、嵌套指令將“/FC”位復位至0。
2. RLO,邏輯操作的結果
狀態字的第1位——“RLO”稱為“邏輯操作的結果(Result of logic operation)”,存放一個位邏輯指令,或者算術比較指令的結果。
例如,在一串“位邏輯指令”中的第二條指令,檢測尋址接點的信號狀態,并且產生一個“0或者1的結果”。然后,指令將這一“0或者1的結果”和狀態字中的“RLO”值進行布爾邏輯運算,結果代替上一次的“RLO”值,并且存放在狀態字的“RLO”中。
每一個接下來邏輯串中的指令,均是根據這兩個值(一個值為“指令檢測尋址接點所產生的結果”,另一個值為“當前的RLO”)進行布爾邏輯運算操作。
用戶可以使用“SET”指令,無條件置位RLO為1;使用“CLR”指令,無條件復位RLO為0。用戶可以使用RLO的狀態,觸發跳轉指令。
在一串“位邏輯指令”中的*條指令,檢測尋址接點的信號狀態,并且產生一個“1的檢測結果”,存放在RLO位,并且將“/FC”位復位至0。
3. STA,狀態位
狀態字的第2位——“STA”稱為“狀態位”;
一個讀取存儲區“位操作”的指令(如,A、AN、O、ON、X、XN)狀態,總是與指令檢測的位(即“邏輯操作的位”)狀態*;
一個寫入存儲區“位操作”的指令(如,S、R操作)狀態,總是和指令所指明的“位”或者“數值”的狀態*;對于不訪問存儲區的指令來說,狀態位沒有意義。
4. OR,或位
狀態字的第3位——“OR”稱為“或位”;
如果使用O指令執行“或操作”之前,需要邏輯“與操作”(如,A、AN、NOT),則必須使用OR(或位)。
5. OV,溢出位
狀態字的第5位——“OV”稱為“溢出位”;
“溢出位”表明一個錯誤。如果,一個“算術指令”或者一個“浮點數比較指令”執行出現錯誤(如,溢出、非法操作、非法浮點數),“溢出位”被置位操作處理;
如果下一個“算術指令”或者一個“浮點數比較指令” 正確執行,則復位該狀態位。
6. OS,存儲溢出位
狀態字的第4位——“OS”稱為“存儲溢出位”;
當一個錯誤產生,“OS”存儲溢出位和“OV”溢出位一起被置位為1。另外,“OS”存儲溢出位在錯誤被清除以后仍然被置位。并且,指明在先前的指令執行中是否產生了錯誤。
JOS(Jump label if OS=1,存儲溢出后跳轉)塊的調用指令,可以使“OS”存儲溢出位復位為0;
Call(Block Call)塊的調用指令,可以使“OS”存儲溢出位復位為0;
BE(Block End)塊結束指令的調用,可以使“OS”存儲溢出位復位為0。
7. CC1、CC0,條件碼1和條件碼0
狀態字的第6、7位——“CC1、CC0”稱為“條件碼1和條件碼0”,可以被用來作為有條件跳轉(conditional jump instructions)。上海西門子1515-2 PN代理商
8. BR,二進制結果位
狀態字的第8位——“BR”稱為“二進制結果位”。
“BR”位代表機器內部的存儲位。此位的狀態是先前的字操作邏輯改變了“RLO”位狀態,而存入的。因此,對于連續中斷“位邏輯串”操作以后,可以再次使用“RLO”位;
“BR”位相當于LAD方塊圖的使能輸出(ENO)。用戶可以應用SAVE指令,在“BR”位中存放RLO位狀態。如: