<xmp id="mec3r"><button id="mec3r"></button>
<button id="mec3r"><form id="mec3r"></form></button>
<button id="mec3r"><ins id="mec3r"></ins></button>
<xmp id="mec3r"><form id="mec3r"></form>
<xmp id="mec3r"><form id="mec3r"><form id="mec3r"></form></form><xmp id="mec3r"><form id="mec3r"><button id="mec3r"></button></form>
<button id="mec3r"></button>
<xmp id="mec3r">
<xmp id="mec3r">
<ins id="mec3r"></ins><xmp id="mec3r">
<form id="mec3r"></form><xmp id="mec3r"><form id="mec3r"></form>
<xmp id="mec3r"><xmp id="mec3r"><form id="mec3r"></form><xmp id="mec3r"><form id="mec3r"></form><xmp id="mec3r"><form id="mec3r"><button id="mec3r"></button></form><form id="mec3r"><form id="mec3r"></form></form>
<form id="mec3r"></form><form id="mec3r"></form>
<xmp id="mec3r"><form id="mec3r"><button id="mec3r"></button></form>
<form id="mec3r"><form id="mec3r"></form></form><xmp id="mec3r">

SIEMENS江西省南昌市西門子變頻器、驅動、PLC(授權)一級代理商——西門子華中總代理

西門子總代理: PLC
西門子一級代: 驅動
西門子代理商: 伺服電機
單價: 面議
發貨期限: 自買家付款之日起 天內發貨
所在地: 廣東 惠州
有效期至: 長期有效
發布時間: 2024-03-13 10:34
最后更新: 2024-03-13 10:34
瀏覽次數: 68
發布企業資料
詳細說明

博途S7-1500SCL實現斜坡線性平滑算法程序


01


斜坡線性平滑算法仿真

圖片

02

斜坡線性平滑在工程中應用

線性平滑功能關主要有兩大作用:

1、對設置值目標值進行平滑,在收放卷以及一些同步控制中,閉環有可能會在PLC里面做閉環控制,所以速度指令通常是由PLC給出,變頻器、驅動器這些執行機構加減速時間設置的會非常短,因為要滿足一些同步性跟隨控制的需要,這時候如果去點動一個外部設備,直接設定一個目標值,如果沒有一個線性平滑的功能,設備都會有一個明顯的一個沖擊,所以這時候一般會引入一個線性平滑功能,對于設定值,它實現一個斜坡加減速的功能,

2、另外一個功能就是在PID的優化算法里面實現對于給定值PID的目標值的一個平滑給定。比如設定給定的一個溫度,我們從30°升到100°C,通常我們如果直接設置的話,會有一個很明顯的階躍。對于這樣的一個階躍信號后面的閉環控制系統PID,它的響應是比較困難,所以這時候我們通常會對給定值進行一個平滑,比如說那些線速度設定,張力設定,對于這些需要控制的這個目標量,通常都會有一個平滑過渡的過程,一個階躍信號給過去后面的閉環控制系統很難及時響應,會給系統造成一定的沖擊,所以這時候會引入這樣的一個線性平滑功能塊,介紹完線性平滑功能塊的作用之后,我們看一下這樣一個功能塊它的算法原理是如何實現的。


03

斜坡線性平滑算法原理
算法公式:

圖片

MaValue:最大速度。
MinValue:最小速度
SmoothTime:線性平滑總時間
h:計算步長,PLC的循環中斷時間

圖片


算法原理,這里我們結合著PLC代碼部分進行講解。我們這里已經編寫好了一個線性平滑功能塊,這里我們在定時中斷OB30里面進行調用,這里的定時中斷的中斷時間是10ms,每10ms里面去調用一個這樣的一個平滑函數功能塊,直接監控觀察一下這樣的一個功能塊?,F在它的目標值是30,如果要去修改它的這樣的一個速度,比如讓他轉到60r/min,大家可以看得到我的這個目標值雖然階躍發生變化了,但是我的輸出平滑值它是慢慢爬升到這個階段的,它有一個爬升的這樣的一個過程。


圖片

我們在將速度降低,可以看到我們在觸摸屏或者上位機上去給進這樣的一個速度指令,但是實際上速度指令并不是馬上降到的設定值,而是一個斜坡有一個加速減速的過程,所以這里的線性平滑功能快主要是為了完成對于我們的目標值的一個線性平滑。

圖片


平滑時間是自己可設的,這里的工程量的最小值是0,最大值是200,然后總的平滑時間是50,實現這樣的一個平滑時間一個設定,對于變頻器里面,通常大家知道0~50Hz對應的你的加速時間,有的時候會設置成15秒,20秒,其實是一個道理,就是這里的算法是在PLC里面去實現這樣的一個過程,因為有的時候我們的這樣的一個閉環控制,同步控制是在PLC這邊去做的,所以這樣的平滑必須由我們這個PLC上位控制器去給出這樣的一個平滑指令。


接下來看一下編程里面是如何進行實現的。這里將縱坐標最小值、最大值設定成0-200,橫坐標平滑總時間設置成50秒,這里面還有一個求解步長,就是所謂的這個定時中斷的時間,如果我們設置是10ms,那10ms,50秒里面被劃分了多少份呢?我們首先利用這樣的一個平滑總時間除以一個計算步長,當然這里的單位是毫秒,總時間單位是秒,秒我們要轉成毫秒,毫秒之后再除以這樣的一個步長,就總共我們被分割了這么多份,從這個最小值到最大值被分割這么多份,需要計算出我們的單步增量,這里的增量它是一個既是代表遞增也是代表遞減的,所以它是一個變化量。首先要計算出這樣的一個變化量,這個變化量計算出來之后,這樣的一個平滑輸出,就利用這樣的一個公式就可以算出來我們的平滑數值,值等于我們的這個初始值,就是這里的平滑值,再加上單步遞增量,再乘以一個系數。為什么要有個系數呢?就是因為我們有可能是遞增的也有可能是遞減,這要根據這個目標值和我們的平滑輸出值這個大小關系,可以看一下,這邊這時候平滑輸出值已經是10了,那如果這時候我要讓它變為變為2,那是不是必須得遞減,所以這里是根據這樣的一個輸出平滑值和我們的這個目標值的大小來判斷到底是遞減還是遞增的,可以看到我們現在就是一個遞減的過程,那我們如果將我們的這個設定值設置的大于我們的這個平滑輸出值,比如說我們設置成40,可以看到我們現在的輸出它就是一個平滑遞增的這樣的一個過程。

04

SCL程序實現


圖片

符號表:

圖片


代碼:

圖片




























REGION 單步變化量    #deltaValue := (#maxValue - #minValue) / DINT_TO_REAL(#smoothTime * 1000 / #h);END_REGION
REGION 計算偏差juedui值    #SetSmSUB := #SetValue - #sm_out_1;    IF #SetSmSUB < 0.0 THEN        #SetSmSUB := #SetSmSUB * -1;    END_IF;END_REGION
REGION 計算平滑輸出值sm_out    IF #SetSmSUB > #deltaValue THEN        IF #SetValue > #sm_out_1 THEN            #factor := 1.0;        ELSIF #SetValue = #sm_out_1 THEN            #factor := 0.0;        ELSIF #SetValue < #sm_out_1 THEN            #factor := -1.0;        END_IF;        #sm_out_1 := #sm_out_1 + #factor * #deltaValue;    ELSE        #sm_out_1 := #SetValue;    END_IF;    #sm_out := #sm_out_1;END_REGION


相關一級代理商產品
相關一級代理商產品
相關產品
 
国产精品精品国产免费一区二区-国产精品久久久久久无码专区-精品91AV在线观看-久久久久久激情戏