西門子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編程中具有重要作用。您可以根據需要在程序中調用這些指令來實現位移操作。
可以使用“右移”指令將輸入IN中的數值按照位數向右移動,并在輸出OUT中得到結果。參數N用于指定要移動的位數。當N為0時,輸入IN的值會直接復制到輸出中。如果N的值超過了可用位數,輸入IN的值會向右移動直到可用位數。
對于無符號數據類型(如UInt,Word),移動時會在左側空出的位用0填充;而對于有符號數據類型(如Int),則會用符號位的狀態來填充空出的位??梢栽谥噶羁虻臄祿愋拖吕藛沃羞x擇合適的數據類型。下面圖示展示了如何將整數類型的操作數內容向右移動4位。
示例
以下示例說明了該指令的工作原理:
如果操作數“TagIn”的信號狀態為“1”,則執行右移指令。操作數“TagIn_Value”的內容將向右移動3位,結果發送到輸出“TagOut_Value”中。如果指令執行成功,將使能輸出ENO的信號狀態為“1”,同時將輸出“TagOut”置位。
可以利用“左移”指令對輸入操作數IN的數值進行左移操作,并通過輸出OUT查看結果。參數N用于指定要左移的位數。當N為0時,將直接將輸入操作數IN的值復制到輸出OUT的操作數中。
若N的值超過可用的位數,則操作數IN的值將向左移動直到可用的位數。在移位時,會用0填充操作數右側空出的位。您可以在指令框下拉列表中選擇適當的數據類型。下圖描述了如何將WORD數據類型的操作數內容向左移動6位。
示例
以下示例說明了該指令的工作原理:
如果“TagIn”信號狀態為“1”,則執行左移指令,將“TagIn_Value”的內容向左移動4位,并將結果發送到“TagOut_Value”。成功執行后,將使“ENO”的信號狀態為“1”,并觸發輸出“TagOut”置位。
能夠利用“循環右移”指令對輸入IN的操作數內容進行按位循環右移,并且結果存儲在輸出OUT中。該指令需要一個參數N,用于確定要循環移位的位數。
如果N為0,輸入IN的值會直接復制到輸出OUT。如果N的值超出操作數的位數,則操作數IN的值依然會按照可用位數進行循環移位。在移位過程中,移出的位會用來填充循環移位而產生的空位。
您可以在指令框的數據類型下拉菜單中選擇合適的數據類型。圖示說明了如何將DWORD數據類型的操作數內容向右循環移動3位:
示例
以下示例說明了該指令的工作原理:
如果“TagIn”信號狀態為“1”,則執行循環右移指令,將“TagIn_Value”的內容向右循環移動5位,并將結果發送到“TagOut_Value”。如果指令執行成功,將使“ENO”的信號狀態為“1”,并觸發輸出“TagOut”置位。
可以使用“循環左移”指令對輸入IN的操作數內容進行按位循環左移,結果存儲在輸出OUT中。該指令需要一個參數N,用于確定要循環移位的位數。如果N為0,輸入IN的值會直接復制到輸出OUT。
如果N的值超出操作數的位數,則操作數IN的值依然會按照可用位數進行循環移位。在移位過程中,移出的位會用來填充循環移位而產生的空位。
您可以在指令框的數據類型下拉菜單中選擇合適的數據類型。圖示說明了如何將DWORD數據類型的操作數內容向左循環移動3位:
示例
以下示例說明了該指令的工作原理:
如果“TagIn”信號狀態為“1”,則執行循環左移指令,將“TagIn_Value”的內容向左循環移動5位,并將結果發送到“TagOut_Value”。如果指令執行成功,將使“ENO”的狀態為“1”,并觸發輸出“TagOut”置位。
聯系方式
- 電 話:17838383235
- 經理:徐嘉泉
- 手 機:17838383235
- 微 信:17838383235