產品分類

      當前位置: 首頁 > 工業(yè)電氣產品 > 端子與連接器 > 線路板連接器

      類型分類:
      科普知識
      數(shù)據分類:
      線路板連接器

      西門子S7-300CPU寄存器狀態(tài)字的用法

      發(fā)布日期:2022-04-17 點擊率:28 品牌:西門子_Siemens

        1.引言

        CPU寄存器狀態(tài)字的各位給出了有關指令狀態(tài)或結果的信息以及所出現(xiàn)的錯誤,我們可以將二進制邏輯操作狀態(tài)位信號狀態(tài)直接集成到程序中,以控制程序執(zhí)行的流程。

        2.狀態(tài)字寄存器

        先簡單介紹一下CPU中狀態(tài)字。

        ●首次檢查位:狀態(tài)字的0位稱作首次檢查位,如果/FC位的信號狀態(tài)為“0”,則表示伴隨著下一條邏輯指令,程序中將開始一個新的邏輯串。FC前面的斜杠表示對FC取反。

        ●邏輯運算結果:狀態(tài)字的第1位為RLO位(RLO=“邏輯運算結果”),在二進制邏輯運算中用作暫時存儲位。比如,一串邏輯指令中的某個指令檢查觸點的信號狀態(tài),并根據布爾邏輯運算規(guī)則將檢查的結果(狀態(tài)位)與RLO位進行邏輯門運算,然后邏輯運算結果又存在RLO位中。

        ●狀態(tài)位:狀態(tài)位(第2位)用以保存被尋址位的值。狀態(tài)位總是向掃描指令(A,AN,O,…)或寫指令(=,S,R,)顯示尋址位的狀態(tài)(對于寫指令,保存的尋址位狀態(tài)是本條寫指令執(zhí)行后的該尋址位的狀態(tài))。

        ●OR位:在用指令OR執(zhí)行或邏輯操作之前,執(zhí)行與邏輯操作的時候,就需要用到OR這一狀態(tài)位。OR位表示先前執(zhí)行的與邏輯操作產生的值為“1”,于是,邏輯操作或的執(zhí)行結果就已被確定為“1”。

        ●OV位:溢出表示算術或比較指令執(zhí)行時出現(xiàn)了錯誤。根據所執(zhí)行的算術或邏輯指令結果對該位進行設置。

        ●OS位:溢出存儲位是與OV位一起被置位的,而且在更新算術指令之后,它能夠保持這種狀態(tài),也就是說,它的狀態(tài)不會由于下一個算術指令的結果而改變。這樣,即使是在程序的后面部分,也還有機會判斷數(shù)字區(qū)域是否溢出或者指令是否含有無效實數(shù)。OS位只有通過如下這些命令進行復位:JOS(若OS=1,則跳轉)命令,塊調用和塊結束命令。

        ●CC1及CC0位:CC1和CC0(條件代碼)位給出有關下列結果的相關信息:

        ?算術指令結果

        ?比較指令結果

        ?字邏輯指令

        ?在移位功能中,移出位相關信息。

        可以用以下指令來檢查條件代碼CC1和CC0。

        CC1CC0檢查完成后,如果:

        00A==0結果=0

        10A>0結果>0

        01A<0結果<0

        ●BR位:狀態(tài)字的第8位稱為二進制結果位。它將字處理程序與位處理聯(lián)系起來,在一段既有位操

        作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結果如何,都不會造成二進制邏輯鏈中斷。在梯形圖的方塊指令中,BR位與ENO位有對應關系,用于表明方塊指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,BR位為0,ENO位也為0;如果功能被正確執(zhí)行,BR位為1,

        ENO位也為1。在用戶編寫的FB/FC程序中,應該對BR位進行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達到管理BR位目的。

        狀態(tài)字的9-15位未使用。

        3.具體使用

        下面我們結合STEP7中的指針編程來具體介紹條件碼CC0/CC0的用法。

        不同的指令在CPU中執(zhí)行時間是不同的。浮點數(shù)比定點數(shù)執(zhí)行時間要長;字邏輯指令比位邏輯指令執(zhí)行時間要長;在某些程序中適當使用狀態(tài)字來進行編程可以減少CPU程序的執(zhí)行時間。

        例1:比如說要比較一個DB中塊的DBBO-DBB99這100個字節(jié)是正數(shù)是負數(shù)還是0,正數(shù)用1來表示;負數(shù)用-1來表示;0用0來表示。并且將對應結果存入MB200開始的100個字節(jié)中。我們通常的做法可能為:

       

        如果利用條件碼來進行編程,既可以減少程序的大小還會減少一定的指令執(zhí)行時間,我們只需要將

        中間的比較程序加以優(yōu)化,即可以達到目的。

        

        例2:根據狀態(tài)位C0和CC1的狀態(tài)而跳轉的跳轉功能指令JZ不改變任何狀態(tài)位的狀態(tài),而且邏輯操作結果RLO值也會“隨著”該跳轉功能帶到跳轉程序段中,供用戶程序其它邏輯操作之用(不改變/FC狀態(tài))。

        示例兩個整數(shù)相減并需進行連續(xù)判斷:

        LMW2

        LMW8

        -I

        JZZERO//如果結果等于“0”,則跳轉至標號ZERO處

        //結果不等于“0”時所執(zhí)行的指令

        ZERO://結果等于“0”時,所要執(zhí)行的指令

        如果用戶不熟悉JZ指令和狀態(tài)位C0和CC1的具體含義,編程時就需要通過比較指令將比較結果存入一個二進制位中,再根據這個二進制位通過JC/JCN指令來控制程序的執(zhí)行了。

        例3:我們實際應用中可能要利用某些協(xié)議轉換網關(比如說Hilscher公司的NTTAP系列網關)來和某些串口協(xié)議的儀表進行通信時,會遇到CRC校驗的問題,關于CRC校驗時需要判斷溢出位是否為1的問題來進行程序的進一步計算。我們以EURO2408的MODBUS通信時需要的CRC校驗為例說明CRC校驗的步驟:

        1、裝載16#FFFF到一個16位CRC寄存器;

        2、將CRC寄存器的高8位字節(jié)與信息中的第一個8位字節(jié)相異或,結果返回到CRC寄存器中;

        3、將CRC寄存器數(shù)據向右移動一位;

        4、如果溢出的位等于1,則將CRC寄存器與16#A001相異或,結果返回到CRC寄存器中;

        4、如果溢出的位等于0,則重復第3步;

        5、重復第3、4步驟,直到已經移位了8次;

        6、將CRC寄存器的高8位字節(jié)與信息中的下一個8位字節(jié)相異或,結果返回到CRC寄存器中;

        7、重復第3步到第6步,直到信息中所有字節(jié)都與CRC寄存器相異或,并都移位了8次;

        8、最后的CRC寄存器中的結果即為CRC校驗碼,最后被添加到信息(數(shù)據)的末尾(交換!低8位

        在前,高8位在后;)

        在第4步中需要判斷溢出的位是否為1,如何判斷對于整個程序有著重要的影響。我們可以用A>0指令來判斷這個條件,具體代碼的編寫,有興趣時大家可以根據上面的步驟編寫一個自己的CRC程序。

        4.結束語

        在一般情況下,我們不必考慮這些狀態(tài)位,但在某些情況下,利用這些狀態(tài)位并結合一定的指令,可以給我們的編程帶來更大的靈活性,同時對于進一步提高自己的編程水平也有一定的作用。

       

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 三级韩国一区久久二区综合| 国产亚洲福利精品一区二区| 国产精品分类视频分类一区| 国产伦精品一区二区三区精品 | 亚洲av成人一区二区三区在线播放 | 国产精品久久久久久一区二区三区 | 人妻少妇精品视频一区二区三区| 精品国产一区二区三区| 亚洲国产综合精品一区在线播放| 亚洲av综合av一区二区三区| 国产av一区二区三区日韩| 久久久久女教师免费一区| 深田咏美AV一区二区三区| 最新欧美精品一区二区三区| 国产av成人一区二区三区| 亚洲视频一区二区| 日本中文字幕在线视频一区 | 日韩一本之道一区中文字幕| 波多野结衣一区在线观看| 成人精品视频一区二区三区尤物| 亚洲AV无码一区二区三区网址| 亚洲伦理一区二区| 久久国产免费一区二区三区| 精品一区二区久久久久久久网站| 一区二区三区内射美女毛片| 国产精品成人一区二区| 久久国产三级无码一区二区| 国产一区二区精品尤物| 国产主播一区二区| 日韩一区二区在线观看视频| 91在线一区二区| 午夜AV内射一区二区三区红桃视 | 日韩一区二区三区无码影院| 麻豆一区二区三区精品视频| 精品国产福利一区二区| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 无码一区二区三区在线| 国精产品一区一区三区有限公司| 国产一区韩国女主播| 一区二区免费在线观看| 国模少妇一区二区三区|