西門子PLC中STL語言狀態字

其含義分別爲:二進制結果位(BR)、組合狀態位(CC1、CC0)、溢出狀態保持e799bee5baa631333365646261位(OS)、溢出位(OV)、域值位(OR)、狀態位(STA)、邏輯操作結果位(RLO)、首位檢測位(FC)


簡單解釋如下:
首位檢測位(FC):CPU對邏輯串第一條指令的檢測爲首位檢測,如果該位的狀態爲0,表明一個邏輯串的第一指令;
邏輯操作結果位(RLO):存儲位邏輯指令的或比較指令的結果;
狀態位(STA):存儲一個位地址的值,當執行位邏輯指令時,STA總是與該位的取值相一致;
域值位(OR):在先邏輯“與”,後邏輯“或”的邏輯運算中,OR位暫存邏輯“與”的操作結果,以便進行後面的邏輯“或”運算。其他指令將OR位復位;
溢出位(OV):如果算術運算或浮點數比較指令執行時出現錯誤(如溢出、非法操作和不規範的格式),溢出位被置1;
溢出狀態保持位(OS):溢出位OV被置1時,OS位也被置1,OV被清零時,OS位保持1,它保存了OV位的狀態;
組合狀態位(CC1、CC0):這兩位結合起來用於表示在累加器1中產生的算術運算或邏輯運算的結果與0的大小關係;
二進制結果位(BR):它將字處理程序與位處理聯繫起來,在一段既有位操作又有字操作的程序中,用於表示字操作結果是否正確。

 

 


下面簡單舉個例子說明:在用戶編寫的FB和FC語句表程序中,必須對BR位進行管理,當功能塊正確執行後,使BR位爲1,否則爲0。使用SAVE指令可將RLO存入BR中,從而達到管理BR位的目的。當FB或FC執行無錯誤時,RLO爲1,並存入BR;否則在BR中存入0。編程示例:
A I0.0 //讀取I0.0 的信號狀態
AI0.1 //讀取I0.1 的信號狀態
0 I0.2 //讀取I0.2 的信號狀態
SAVE //當I0.0 和IO.1的信號狀態都爲1,或者I0.2 的信號狀態爲1時(“與”運算在“或”運算之前進行),邏輯操作結果位RLO被存儲到BR位(二進制結果位)
一般在退出邏輯塊之前使用SAVE指令,使能輸出ENO(即BR位)被設置爲RLO的值,用於對塊中的錯誤進行檢查。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章