西門(mén)子總代理: | PLC |
西門(mén)子一級代: | 驅動(dòng) |
西門(mén)子代理商: | 伺服電機 |
單價(jià): | 面議 |
發(fā)貨期限: | 自買(mǎi)家付款之日起 天內發(fā)貨 |
所在地: | 廣東 惠州 |
有效期至: | 長(cháng)期有效 |
發(fā)布時(shí)間: | 2024-03-13 10:34 |
最后更新: | 2024-03-13 10:34 |
瀏覽次數: | 219 |
采購咨詢(xún): |
請賣(mài)家聯(lián)系我
|
博途S7-1500SCL實(shí)現斜坡線(xiàn)性平滑算法程序
01
線(xiàn)性平滑功能關(guān)主要有兩大作用:
1、對設置值目標值進(jìn)行平滑,在收放卷以及一些同步控制中,閉環(huán)有可能會(huì )在PLC里面做閉環(huán)控制,速度指令通常是由PLC給出,變頻器、驅動(dòng)器這些執行機構加減速時(shí)間設置的會(huì )非常短,因為要滿(mǎn)足一些同步性跟隨控制的需要,這時(shí)候如果去點(diǎn)動(dòng)一個(gè)外部設備,直接設定一個(gè)目標值,如果沒(méi)有一個(gè)線(xiàn)性平滑的功能,設備都會(huì )有一個(gè)明顯的一個(gè)沖擊,這時(shí)候一般會(huì )引入一個(gè)線(xiàn)性平滑功能,對于設定值,它實(shí)現一個(gè)斜坡加減速的功能,
2、一個(gè)功能就是在PID的優(yōu)化算法里面實(shí)現對于給定值PID的目標值的一個(gè)平滑給定。比如設定給定的一個(gè)溫度,我們從30°升到100°C,通常我們如果直接設置的話(huà),會(huì )有一個(gè)很明顯的階躍。對于這樣的一個(gè)階躍信號后面的閉環(huán)控制系統PID,它的響應是比較困難,這時(shí)候我們通常會(huì )對給定值進(jìn)行一個(gè)平滑,比如說(shuō)那些線(xiàn)速度設定,張力設定,對于這些需要控制的這個(gè)目標量,通常都會(huì )有一個(gè)平滑過(guò)渡的過(guò)程,一個(gè)階躍信號給過(guò)去后面的閉環(huán)控制系統很難及時(shí)響應,會(huì )給系統造成一定的沖擊,這時(shí)候會(huì )引入這樣的一個(gè)線(xiàn)性平滑功能塊,介紹完線(xiàn)性平滑功能塊的作用之后,我們看一下這樣一個(gè)功能塊它的算法原理是如何實(shí)現的。
算法原理,這里我們結合著(zhù)PLC代碼部分進(jìn)行講解。我們這里已經(jīng)編寫(xiě)好了一個(gè)線(xiàn)性平滑功能塊,這里我們在定時(shí)中斷OB30里面進(jìn)行調用,這里的定時(shí)中斷的中斷時(shí)間是10ms,每10ms里面去調用一個(gè)這樣的一個(gè)平滑函數功能塊,直接監控觀(guān)察一下這樣的一個(gè)功能塊。現在它的目標值是30,如果要去修改它的這樣的一個(gè)速度,比如讓他轉到60r/min,大家可以看得到我的這個(gè)目標值階躍發(fā)生變化了,我的輸出平滑值它是慢慢爬升到這個(gè)階段的,它有一個(gè)爬升的這樣的一個(gè)過(guò)程。
我們在將速度降低,可以看到我們在觸摸屏或者上位機上去給進(jìn)這樣的一個(gè)速度指令,實(shí)際上速度指令并不是馬上降到的設定值,而是一個(gè)斜坡有一個(gè)加速減速的過(guò)程,這里的線(xiàn)性平滑功能快主要是為了完成對于我們的目標值的一個(gè)線(xiàn)性平滑。
平滑時(shí)間是自己可設的,這里的工程量的最小值是0,最大值是200,總的平滑時(shí)間是50,實(shí)現這樣的一個(gè)平滑時(shí)間一個(gè)設定,對于變頻器里面,通常大家知道0~50Hz對應的你的加速時(shí)間,有的時(shí)候會(huì )設置成15秒,20秒,其實(shí)是一個(gè)道理,就是這里的算法是在PLC里面去實(shí)現這樣的一個(gè)過(guò)程,因為有的時(shí)候我們的這樣的一個(gè)閉環(huán)控制,同步控制是在PLC這邊去做的,這樣的平滑必須由我們這個(gè)PLC上位控制器去給出這樣的一個(gè)平滑指令。
看一下編程里面是如何進(jìn)行實(shí)現的。這里將縱坐標的最小值、最大值設定成0-200,橫坐標平滑總時(shí)間設置成50秒,這里面還有一個(gè)求解步長(cháng),就是所謂的這個(gè)定時(shí)中斷的時(shí)間,如果我們設置是10ms,那10ms,50秒里面被劃分了多少份呢?我們利用這樣的一個(gè)平滑總時(shí)間除以一個(gè)計算步長(cháng),當然這里的單位是毫秒,總時(shí)間單位是秒,秒我們要轉成毫秒,毫秒之后再除以這樣的一個(gè)步長(cháng),就總共我們被分割了這么多份,從這個(gè)最小值到最大值被分割這么多份,需要計算出我們的單步增量,這里的增量它是一個(gè)既是代表遞增也是代表遞減的,它是一個(gè)變化量。要計算出這樣的一個(gè)變化量,這個(gè)變化量計算出來(lái)之后,這樣的一個(gè)平滑輸出,就利用這樣的一個(gè)公式就可以算出來(lái)我們的平滑數值,值等于我們的這個(gè)初始值,就是這里的平滑值,再加上單步遞增量,再乘以一個(gè)系數。為什么要有個(gè)系數呢?就是因為我們有可能是遞增的也有可能是遞減,這要根據這個(gè)目標值和我們的平滑輸出值這個(gè)大小關(guān)系,可以看一下,這邊這時(shí)候平滑輸出值已經(jīng)是10了,那如果這時(shí)候我要讓它變?yōu)樽優(yōu)?,那是不是必須得遞減,這里是根據這樣的一個(gè)輸出平滑值和我們的這個(gè)目標值的大小來(lái)判斷到底是遞減還是遞增的,可以看到我們現在就是一個(gè)遞減的過(guò)程,那我們如果將我們的這個(gè)設定值設置的大于我們的這個(gè)平滑輸出值,比如說(shuō)我們設置成40,可以看到我們現在的輸出它就是一個(gè)平滑遞增的這樣的一個(gè)過(guò)程。
04符號表:
代碼: