<object id="seflp"></object>

    1. <object id="seflp"></object>
      <dfn id="seflp"></dfn>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線17838383235

          西門子6DD1683-0BC5代理商

          更新時間
          2024-11-24 08:50:00
          價格
          請來電詢價
          西門子
          SP8.5
          電源設備
          5V/52A,15V,115/AC
          德國
          230V-Eing. 風扇
          聯系電話
          17838383235
          聯系手機
          17838383235
          聯系人
          徐嘉泉
          立即詢價

          詳細介紹

          【案例分享】西門子S7-1200的位移與循環指令~



          可以在基本指令目錄下的移位和循環移位子文件夾中調用以下指令:

          - SHR(邏輯右移指令)
          - SHL(邏輯左移指令)
          - ROR(循環右移指令)
          - ROL(循環左移指令)

          這些指令用于執行位移操作,并在PLC編程中具有重要作用。您可以根據需要在程序中調用這些指令來實現位移操作。

          圖片

           


          SHR指令


          可以使用“右移”指令將輸入IN中的數值按照位數向右移動,并在輸出OUT中得到結果。參數N用于指定要移動的位數。當N為0時,輸入IN的值會直接復制到輸出中。如果N的值超過了可用位數,輸入IN的值會向右移動直到可用位數。

          對于無符號數據類型(如UInt,Word),移動時會在左側空出的位用0填充;而對于有符號數據類型(如Int),則會用符號位的狀態來填充空出的位??梢栽谥噶羁虻臄祿愋拖吕藛沃羞x擇合適的數據類型。下面圖示展示了如何將整數類型的操作數內容向右移動4位。

          圖片

           


          示例


          以下示例說明了該指令的工作原理:

          圖片

          如果操作數“TagIn”的信號狀態為“1”,則執行右移指令。操作數“TagIn_Value”的內容將向右移動3位,結果發送到輸出“TagOut_Value”中。如果指令執行成功,將使能輸出ENO的信號狀態為“1”,同時將輸出“TagOut”置位。



          SHL指令


          可以利用“左移”指令對輸入操作數IN的數值進行左移操作,并通過輸出OUT查看結果。參數N用于指定要左移的位數。當N為0時,將直接將輸入操作數IN的值復制到輸出OUT的操作數中。

          若N的值超過可用的位數,則操作數IN的值將向左移動直到可用的位數。在移位時,會用0填充操作數右側空出的位。您可以在指令框下拉列表中選擇適當的數據類型。下圖描述了如何將WORD數據類型的操作數內容向左移動6位。

          圖片

           


          示例


          以下示例說明了該指令的工作原理:

          圖片

          圖片

          如果“TagIn”信號狀態為“1”,則執行左移指令,將“TagIn_Value”的內容向左移動4位,并將結果發送到“TagOut_Value”。成功執行后,將使“ENO”的信號狀態為“1”,并觸發輸出“TagOut”置位。



          ROR指令


          能夠利用“循環右移”指令對輸入IN的操作數內容進行按位循環右移,并且結果存儲在輸出OUT中。該指令需要一個參數N,用于確定要循環移位的位數。

          如果N為0,輸入IN的值會直接復制到輸出OUT。如果N的值超出操作數的位數,則操作數IN的值依然會按照可用位數進行循環移位。在移位過程中,移出的位會用來填充循環移位而產生的空位。

          您可以在指令框的數據類型下拉菜單中選擇合適的數據類型。圖示說明了如何將DWORD數據類型的操作數內容向右循環移動3位:

          圖片



          示例


          以下示例說明了該指令的工作原理:

          圖片

          圖片

          如果“TagIn”信號狀態為“1”,則執行循環右移指令,將“TagIn_Value”的內容向右循環移動5位,并將結果發送到“TagOut_Value”。如果指令執行成功,將使“ENO”的信號狀態為“1”,并觸發輸出“TagOut”置位。



          ROL指令


          可以使用“循環左移”指令對輸入IN的操作數內容進行按位循環左移,結果存儲在輸出OUT中。該指令需要一個參數N,用于確定要循環移位的位數。如果N為0,輸入IN的值會直接復制到輸出OUT。

          如果N的值超出操作數的位數,則操作數IN的值依然會按照可用位數進行循環移位。在移位過程中,移出的位會用來填充循環移位而產生的空位。

          您可以在指令框的數據類型下拉菜單中選擇合適的數據類型。圖示說明了如何將DWORD數據類型的操作數內容向左循環移動3位:

          圖片



          示例


          以下示例說明了該指令的工作原理:

          圖片

          圖片

          如果“TagIn”信號狀態為“1”,則執行循環左移指令,將“TagIn_Value”的內容向左循環移動5位,并將結果發送到“TagOut_Value”。如果指令執行成功,將使“ENO”的狀態為“1”,并觸發輸出“TagOut”置位。


          相關產品

          聯系方式

          • 電  話:17838383235
          • 經理:徐嘉泉
          • 手  機:17838383235
          • 微  信:17838383235