案例詳解 | S7-1200 PLC循環移位指令做流水燈控制

在上一篇文章中介紹了邏輯運算指令,這篇文章就開始介紹一下移位和循環移位指令吧。

在S7-1200 PLC中的移位和循環移位指令指令包括了移位指令SHL和SHR,循環移位指令ROL和ROR。

這幾個指令跟S7-200/200 SMART PLC是一樣的,如果學習過這幾個指令的同學也可以重新溫習一下,或者直接拉到後面看流水燈控制的程序案例編寫~

下面我們就分別來看一下這幾個指令吧。

1、移位指令

移位指令分為左移指令SHL和右移指令SHR這兩個,它們執行的過程是一致的,只是移動的方向不同而已,左移指令是由低位往高位移動,右移指令是由高位往低位移動。

我們以左移指令來看一下,指令中的N是移位的位數,是將輸入操作數IN中的二進制位按N位向左進行移位,從而輸出到輸出端OUT中,注意移位指令移出的位是自動丟去的,而低位中空出的位是自動補零的。

關於移位指令使用時支持的數據類型,除了支持位字符串的數據類型之外,還可以支持整數的數據類型。


案例詳解 | S7-1200 PLC循環移位指令做流水燈控制


2、循環移位指令

循環移位指令分為循環左移ROL和循環右移ROR這兩個指令,同樣的它們的移動方向是不同的,循環左移指令是由低位往高位移動,循環右移指令是由高位往低位移動。

關於循環移位指令支持的數據類型只要位字符串的數據類型哦。

下面我們以循環左移指令來看一下指令的執行過程,指令中的N同樣的是用於指定移動的位數,指令是將輸入操作數IN中的二進制位按N位進行循環左移,這個指令和移位指令的區別是,循環移位指令移出的位並不會丟失,而是會放回到地位中空出的位置中的。


案例詳解 | S7-1200 PLC循環移位指令做流水燈控制


我們下面講一個流水燈控制,是以循環移位指令實現的,主要是為了讓大家能夠熟悉指令的使用哦。

下面就先看看控制要求吧!

控制要求:有八盞指示燈分別對應於PLC輸出Q0.0~Q0.7,按下啟動按鈕,從第一盞燈開始每隔1s點亮,點亮下一盞的同時熄滅上一盞。

當第八盞燈點亮後延時5秒,然後以反反向點亮,回到第一盞時又延時5秒進行下一輪循環,按下停止按鈕所有指示燈都熄滅。

案例詳解 | S7-1200 PLC循環移位指令做流水燈控制

案例詳解 | S7-1200 PLC循環移位指令做流水燈控制

案例詳解 | S7-1200 PLC循環移位指令做流水燈控制

我們分析一下以上的程序,當按下啟動按鈕時,M20.0接通,M20.0接通同時隨1s時鐘脈衝每隔一秒進行向左移位,依次點亮一盞燈並熄滅上一盞燈;

當第八盞燈點亮了則Q0.7接通,置位切換方向信號M20.1,M20.1觸點接通並開始延時5秒,5秒時間到後M20.2線圈接通,M20.2觸點接通同時隨1s時間脈衝每隔1秒進行向右移位,直到點亮第一盞燈時,不再執行ROR右移指令,而去執行程序段5,Q0.0觸點接通,定時器開始延時5秒時間,延時時間到後復位M20.1,也就是復位切換方向的信號,同時置位啟停標誌M20.0,接著又開始下一次的輪迴。

當按下停止按鈕時,MOVE指令將0移動到QB0,進行清零,使所有輸出都復位,指示燈全部熄滅,同時也將啟停標誌M20.0和切換方向信號M20.1都復位掉。

以上就是移位和循環移位指令的相關介紹,到此為止就已經將數據處理指令介紹完了,在下一篇文章再繼續介紹一下程序控制指令,歡迎大家繼續關注哦~

(技成培訓網原創,作者:蔡慧滎,未經授權不得轉載,違者必究)


分享到:


相關文章: