西門子STL語句表編程中的狀態(tài)字
狀態(tài)字又稱狀態(tài)字寄存器,是一個16位的寄存器,只用了其中的9位,它屬于S7-300/400PLC的存儲區(qū)中除基本存儲區(qū)外的存儲區(qū)的一種。用于存儲CPU執(zhí)行指令后的狀態(tài),以二進制位的形式保存指令的執(zhí)行結果與中間狀態(tài)。
狀態(tài)字的位如下:
15-9 8 7 6 5 4 3 2 1 0
保留 BR CC1 CC0 OS OV OR STA RLO FC
其含義分別為:二進制結果位(BR)、組合狀態(tài)位(CC1、CC0)、溢出狀態(tài)保持位(OS)、溢出位(OV)、域值位(OR)、狀態(tài)位(STA)、邏輯操作結果位(RLO)、*檢測位(FC)
簡單解釋如下:
*檢測位(FC):CPU對邏輯串條指令的檢測為*檢測,如果該位的狀態(tài)為0,表明一個邏輯串的指令;
邏輯操作結果位(RLO):存儲位邏輯指令的或比較指令的結果;
狀態(tài)位(STA):存儲一個位地址的值,當執(zhí)行位邏輯指令時,STA總是與該位的取值相一致;
域值位(OR):在先邏輯“與”,后邏輯“或”的邏輯運算中,OR位暫存邏輯“與”的操作結果,以便進行后面的邏輯“或”運算。其他指令將OR位復位;
溢出位(OV):如果算術運算或浮點數(shù)比較指令執(zhí)行時出現(xiàn)錯誤(如溢出、非法操作和不規(guī)范的格式),溢出位被置1;
溢出狀態(tài)保持位(OS):溢出位OV被置1時,OS位也被置1,OV被清零時,OS位保持1,它保存了OV位的狀態(tài);
組合狀態(tài)位(CC1、CC0):這兩位結合起來用于表示在累加器1中產生的算術運算或邏輯運算的結果與0的大小關系;
二進制結果位(BR):它將字處理程序與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序中,用于表示字操作結果是否正確。
下面簡單舉個例子說明:在用戶編寫的FB和FC語句表程序中,必須對BR位進行管理,當功能塊正確執(zhí)行后,使BR位為1,否則為0。使用SAVE指令可將RLO存入BR中,從而達到管理BR位的目的。當FB或FC執(zhí)行無錯誤時,RLO為1,并存入BR;否則在BR中存入0。編程示例:
A I0.0 //讀取I0.0 的信號狀態(tài)
AI0.1 //讀取I0.1 的信號狀態(tài)
0 I0.2 //讀取I0.2 的信號狀態(tài)
SAVE //當I0.0 和IO.1的信號狀態(tài)都為1,或者I0.2 的信號狀態(tài)為1時(“與”運算在“或”運算之前進行),邏輯操作結果位RLO被存儲到BR位(二進制結果位)
一般在退出邏輯塊之前使用SAVE指令,使能輸出ENO(即BR位)被設置為RLO的值,用于對塊中的錯誤進行檢查
免責聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-化工儀器網(wǎng)合法擁有版權或有權使用的作品,未經本網(wǎng)授權不得轉載、摘編或利用其它方式使用上述作品。已經本網(wǎng)授權使用作品的,應在授權范圍內使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
- 本網(wǎng)轉載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。