<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc工業軟件使用 >> 正文

      西門子S7-300 CPU寄存器狀態字的用法

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019/12/15
      1.引言
          CPU寄存器狀態字的各位給出了有關指令狀態或結果的信息以及所出現的錯誤,我們可以將二進制邏輯操作狀態位信號狀態直接集成到程序中,以控制程序執行的流程。
      2.狀態字寄存器
          先簡單介紹一下CPU中狀態字。
      ● 首次檢查位:狀態字的0位稱作首次檢查位,如果/FC 位的信號狀態為“0”,則表示伴隨著下一條邏輯指令,程序中將開始一個新的邏輯串。FC前面的斜杠表示對FC取反。
      ● 邏輯運算結果:狀態字的第1位為RLO 位(RLO= “邏輯運算結果”),在二進制邏輯運算中用作暫時存儲位。比如,一串邏輯指令中的某個指令檢查觸點的信號狀態,并根據布爾邏輯運算規則將檢查的結果(狀態位)與RLO位進行邏輯門運算,然后邏輯運算結果又存在RLO位中。
      ● 狀態位:狀態位(第2位)用以保存被尋址位的值。狀態位總是向掃描指令(A,AN,O,…)或寫指令(=,S,R,)顯示尋址位的狀態(對于寫指令,保存的尋址位狀態是本條寫指令執行后的該尋址位的狀態)。
      ● OR位:在用指令OR執行或邏輯操作之前,執行與邏輯操作的時候,就需要用到OR這一狀態位。OR位表示先前執行的與邏輯操作產生的值為“1”,于是,邏輯操作或的執行結果就已被確定為“1”。
      ● OV位:溢出表示算術或比較指令執行時出現了錯誤。根據所執行的算術或邏輯指令結果對該位進行設置。
      ● OS位:溢出存儲位是與OV位一起被置位的,而且在更新算術指令之后,它能夠保持這種狀態,也就是說,它的狀態不會由于下一個算術指令的結果而改變。 這樣,即使是在程序的后面部分,也還有機會判斷數字區域是否溢出或者指令是否含有無效實數。OS位只有通過如下這些命令進行復位:JOS(若OS = 1,則跳轉)命令,塊調用和塊結束命令。
      ● CC1及CC0位:CC1和CC0(條件代碼)位給出有關下列結果的相關信息:
      &#8226; 算術指令結果
      &#8226; 比較指令結果
      &#8226; 字邏輯指令
      &#8226; 在移位功能中,移出位相關信息。
      可以用以下指令來檢查條件代碼CC1和CC0。
      CC1 CC0 檢查完成后,如果:
      0 0 A == 0 結果 =0 
      1 0 A > 0  結果 > 0
      0 1 A < 0  結果 < 0
      ● BR位:狀態字的第8位稱為二進制結果位。它將字處理程序與位處理聯系起來,在一段既有位操
          作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結果如何,都不會造成二進制邏輯鏈中斷。在梯形圖的方塊指令中,BR位與ENO位有對應關系,用于表明方塊指令是否被正確執行:如果執行出現了錯誤,BR位為0,ENO位也為0;如果功能被正確執行,BR位為1,
          ENO位也為1。在用戶編寫的FB/FC程序中,應該對BR位進行管理,功能塊正確執行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達到管理BR位目的。
      狀態字的9-15位未使用。
      3.具體使用
          下面我們結合STEP7中的指針編程來具體介紹條件碼CC0/CC0的用法。
          不同的指令在CPU中執行時間是不同的。浮點數比定點數執行時間要長;字邏輯指令比位邏輯指令執行時間要長;在某些程序中適當使用狀態字來進行編程可以減少CPU程序的執行時間。
      例1:比如說要比較一個DB中塊的DBBO-DBB99這100個字節是正數是負數還是0,正數用1來表示;負數用-1來表示;0用0來表示。并且將對應結果存入MB200開始的100個字節中。我們通常的做法可能為:
      如果利用條件碼來進行編程,既可以減少程序的大小還會減少一定的指令執行時間,我們只需要將
      中間的比較程序加以優化,即可以達到目的。
         例2:根據狀態位C0和CC1的狀態而跳轉的跳轉功能指令JZ不改變任何狀態位的狀態,而且邏輯操作結果RLO值也會“隨著”該跳轉功能帶到跳轉程序段中,供用戶程序其它邏輯操作之用(不改變/FC狀態)。
      示例 兩個整數相減并需進行連續判斷:
          L MW2
          L MW8
          -I
          JZ ZERO // 如果結果等于“0”,則跳轉至標號ZERO處
                   // 結果不等于“0”時所執行的指令
          ZERO:   // 結果等于“0”時,所要執行的指令
        如果用戶不熟悉JZ指令和狀態位C0和CC1的具體含義,編程時就需要通過比較指令將比較結果存入一個二進制位中,再根據這個二進制位通過JC/JCN指令來控制程序的執行了。
      例3:我們實際應用中可能要利用某些協議轉換網關(比如說Hilscher公司的NTTAP系列網關)來和某些串口協議的儀表進行通信時,會遇到CRC校驗的問題,關于CRC校驗時需要判斷溢出位是否為1的問題來進行程序的進一步計算。我們以EURO2408的MODBUS通信時需要的CRC校驗為例說明CRC校驗的步驟:
      1、裝載16#FFFF到一個16位CRC寄存器;
      2、將CRC寄存器的高8位字節與信息中的第一個8位字節相異或,結果返回到CRC寄存器中;
      3、將CRC寄存器數據向右移動一位;
      4、如果溢出的位等于1,則將CRC寄存器與16#A001相異或,結果返回到CRC寄存器中;
      4、如果溢出的位等于0,則重復第3步;
      5、重復第3、4步驟,直到已經移位了8次;
      6、將CRC寄存器的高8位字節與信息中的下一個8位字節相異或,結果返回到CRC寄存器中;
      7、重復第3步到第6步,直到信息中所有字節都與CRC寄存器相異或,并都移位了8次;
      8、最后的CRC寄存器中的結果即為CRC校驗碼,最后被添加到信息(數據)的末尾(交換!低8位
      在前,高8位在后;)
      在第4步中需要判斷溢出的位是否為1,如何判斷對于整個程序有著重要的影響。我們可以用A>0指令來判斷這個條件,具體代碼的編寫,有興趣時大家可以根據上面的步驟編寫一個自己的CRC程序。
      4.結束語
      在一般情況下,我們不必考慮這些狀態位,但在某些情況下,利用這些狀態位并結合一定的指令,可以給我們的編程帶來更大的靈活性,同時對于進一步提高自己的編程水平也有一定的作用。
      Tags:西門子plc,寄存器狀態  
      責任編輯:admin
    4. 上一篇文章:
    5. 下一篇文章:
    6. 相關文章列表
      西門子200SMART PLC編程通過指針輕松實現多個數據排列
      西門子S7-200SMART PLC如何實現星三角降壓啟動多次調用?子程序編
      西門子PLC子程序實例,S7-200 SMART PLC帶參數子程序應用實例
      詳解步進電機與PLC的接線,西門子、三菱等PLC接線(總結篇)PLC和
      西門子PLC編程實例  4個基本控制電路設計方法
      S7-200smart 恒溫PID控制_STEP7中PID設置溫度自動控制編程
      西門子plc傳送帶操作控制,傳輸帶控制
      西門子PLC實現汽車涂裝前處理生產線中的磷化槽液位控制
      |分享| S7-200SMART常用指令(二)
      S7-200SMART PLC 模擬量輸入案例,AM06模擬量擴展模塊和SIT_R指令
      |實用|一文讓你讀懂使用中斷功能  ATCH和DTCH和RETI、DISI
      神級匯總,西門子PLC中斷指令及例程 ATCH和ENI
      STEP7【步驟詳解】西門子 PLC PID組態設置及PID常見問題解答
      西門子plc怎么產生PWM信號,脈沖輸出向導PWM輸出向導
      西門子200SMART與眾辰變頻器的MODBUS通信實例40001和十六進制的轉
      西門子PLC控制的專用自動攻絲系統設計,運動控制伺服控制系統設計
      工廠中常見的精確運動控制,5分鐘后您就能使用PLC編程編碼器
      西門子S7-200 PLC使用高速脈沖輸入測量瞬時流量
      西門子S7-200脈沖輸出指令做電機正反轉控制,PLS指令,子程序和中
      其實,Modbus通訊很簡單!——手把手教你,STEP7
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 99久久国产综合精品2020| 国产香蕉尹人综合在线观看| 亚洲国产aⅴ综合网| 久久综合综合久久| 成人综合激情另类小说| 亚洲综合在线另类色区奇米| 亚洲日本国产综合高清| av一本久道久久综合久久鬼色| 国产成人无码综合亚洲日韩| 色综久久天天综合绕视看| 色综合久久综合中文综合网| 一97日本道伊人久久综合影院| 中文字幕亚洲综合久久| 狠狠色丁香婷婷综合精品视频| 色综合天天综合网看在线影院| 亚洲国产成人九九综合| 色欲人妻综合AAAAA网| 亚洲伊人久久综合影院| 韩国亚洲伊人久久综合影院| 久久综合丝袜长腿丝袜| 亚洲国产亚洲综合在线尤物| 天天综合色天天桴色| 亚洲国产综合在线| 亚洲欧洲尹人香蕉综合| 国产精品亚洲综合久久| 色天使亚洲综合在线观看| 色综合合久久天天综合绕视看| 亚洲综合日韩中文字幕v在线| 亚州欧州一本综合天堂网| 亚洲国产综合精品中文第一区| 久久久久综合网久久| 天天影视色香欲综合免费| 婷婷色香五月激情综合2020| 婷婷综合激情五月中文字幕| 国产色产综合色产在线视频| 人人婷婷色综合五月第四人色阁| 综合国产在线观看无码| 亚洲国产精品成人综合色在线婷婷| 色综合久久中文综合网| 一本色道久久综合网| 亚洲av一综合av一区|