(天津電氣科學(xué)研究院有限公司,天津 300180)
在變頻器驅(qū)動(dòng)電機(jī)來拖動(dòng)被控對象的應(yīng)用中,變頻器中的速度給定通常需要經(jīng)過給定積分器后再使用。這樣在速度發(fā)生階躍變化時(shí),可以減小電機(jī)對拖動(dòng)設(shè)備的瞬時(shí)沖擊、延長設(shè)備的使用壽命。
近年來,隨著可編程控制器(PLC)運(yùn)算速率的提升,在用PLC控制變頻器拖動(dòng)被控對象時(shí),工程人員逐漸開始將給定積分器的功能放在PLC中實(shí)現(xiàn)。這樣既可以提高控制編程的靈活性,也可以降低傳動(dòng)裝置的運(yùn)算負(fù)擔(dān)。
本文以西門子S7-1500 PLC為例,介紹給定積分器的實(shí)現(xiàn)方法。由于階躍速度給定經(jīng)過給定積分器后的輸出曲線為S型曲線,下文將給定積分器簡稱為S曲線積分器。
S曲線加減速過程示意圖如圖1所示[1]。
圖1 S曲線加減速過程示意圖Fig.1 Schematic for the acceleration and deceleration process of S-shaped curve
由圖1可知,S曲線分為起始圓弧段(t0—t1或t4—t5)、勻加速段(t1—t2或t5—t6)和終止圓弧段(t2—t3或t6—t7)。其中起始圓弧和終止圓弧段為變加速過程;勻加速段為恒加速過程。S曲線減速過程與加速過程類似,下面只描述加速過程的表達(dá)式。
加速度a(t)表達(dá)式如下:
式中:J為加速度的變化率;A為勻加速段的加速度。
速度v(t)表達(dá)式如下:
PLC為離散控制器,需要將連續(xù)方程式(2)、式(3)轉(zhuǎn)化為差分方程后使用。式(3)的微分形式為dv(t)=a(t)dt,離散化得到下式:
設(shè)置TA為PLC掃描周期,則有:
同理公式(1)離散化結(jié)果如下:
為方便程序的移植,這里采用SCL語言編寫S曲線程序塊。程序塊需在固定周期中斷任務(wù)中調(diào)用。掃描周期TA通過輸入引腳手動(dòng)輸入或采用系統(tǒng)RUNTIME塊處理得到。
圖2為S曲線程序塊結(jié)構(gòu)圖。圖2中,采用工程技術(shù)人員習(xí)慣使用的加減速時(shí)間和圓弧時(shí)間作為描述S曲線運(yùn)行過程的輸入引腳。其中TU為加速時(shí)間TU輸入引腳,TD為減速時(shí)間TD輸入引腳,TRU為加速時(shí)的圓弧時(shí)間TRU輸入引腳,TRD為減速時(shí)的圓弧時(shí)間TRD輸入引腳,NRM為速度標(biāo)幺值NRM輸入引腳,LU和LL分別為速度輸出的上限值LU和下限值LL輸入引腳。
圖2 S曲線程序塊結(jié)構(gòu)圖Fig.2 Structure for the program block of S-shaped curve
根據(jù)工程應(yīng)用需要,S曲線程序塊有幾種模式可選擇,按優(yōu)先級(jí)從高到低的順序依次為EN?ABLE,S,CF,CU,CD模式。其中ENABLE=1為程序塊使能;S=1為將速度輸出YV置為輸入速度XV;CF=1為輸出YV對設(shè)定XV積分;CU=1為輸出YV對LU積分;CD=1為輸出YV對LL積分。
輸出引腳主要有速度輸出YV、加速度輸出YA、最小停車距離L、運(yùn)行距離YP及程序塊故障輸出QF輸出引腳。
S曲線程序塊編程步驟如下:
1)判斷輸入?yún)?shù)的合法性。
2)根據(jù) TU,TD,TRU,TRD的輸入值計(jì)算加速度和加速度的斜率。當(dāng)TU=0或TD=0時(shí),加速過程或減速過程完全為圓弧過程,即文獻(xiàn)[2]中的五段S曲線,加速度曲線為三角形;當(dāng)TRU=0或TRD=0時(shí),為勻加速或勻減速過程,即文獻(xiàn)[3]中梯形速度曲線,加速度曲線為矩形。
3)根據(jù)模式輸出,選擇積分速度輸入。
4)根據(jù)速度和加速度方向,選擇A和J,偽代碼如表1所示。
表1 加速度選擇偽代碼Tab.1 Pseudocode of accelerated speed selection
5)加速度限幅:加速度上限值A(chǔ)up=A,加速度下限值A(chǔ)dn=-A。
6)判斷終止圓弧拐點(diǎn):速度變化過程中,實(shí)時(shí)計(jì)算起始圓弧速度累計(jì)變化量dVJ=|A|·A/(2J)。以YV-XV=dVJ作為終止圓弧的起點(diǎn),可以確保起始圓弧與終止圓弧對稱。計(jì)算過程偽代碼如表2所示。
表2 圓弧拐點(diǎn)判斷偽代碼Tab.2 Pseudocode of arc inflection point judgment
7)按照式(6),每個(gè)掃描周期對加速度進(jìn)行更新。加速度到達(dá)限幅時(shí),停止更新。
8)按照式(5),每個(gè)掃描周期對速度更新。速度到達(dá)限幅時(shí),停止更新。
9)計(jì)算并輸出加速度:
YA=dv/dt=(YV-YV_old)/TA
式中:YV_old為上周期的YV輸出。
10)計(jì)算最短停車距離L和運(yùn)行距離YP。
在S7-1500 PLC中完成S曲線程序塊的編寫,封裝的程序塊如圖2所示。在PLC中以5 ms掃描周期調(diào)用程序塊,采用ibaPAD軟件進(jìn)行曲線記錄,采樣周期為10 ms。
程序塊S曲線階躍輸入響應(yīng)曲線如圖3所示,其中V1_OUT為速度輸出曲線,YA1為加速度曲線。
圖3 S曲線階躍輸入響應(yīng)Fig.3 Step input response of S-shaped curve
用電機(jī)拖動(dòng)如張力輥、卷取機(jī)等剛體做旋轉(zhuǎn)運(yùn)動(dòng)時(shí),在加、減速過程中,為確保被控對象對速度給定的跟隨性能,需要按下式對旋轉(zhuǎn)的控制對象進(jìn)行慣量補(bǔ)償:
式中:M為需要補(bǔ)償?shù)霓D(zhuǎn)矩,N·m;I為轉(zhuǎn)動(dòng)慣量,kg·m2,可以根據(jù)實(shí)際拖動(dòng)對象的形狀和材質(zhì)直接積分計(jì)算得到;aω為角加速度,rad/s2;av為線加速度,m/s2;r為轉(zhuǎn)動(dòng)半徑,m;ω為角速度,rad/s;v為線速度,m/s。
實(shí)際工程項(xiàng)目中,通常按照實(shí)際生產(chǎn)工藝要求對拖動(dòng)對象進(jìn)行加、減速運(yùn)動(dòng)測試,再根據(jù)實(shí)測轉(zhuǎn)矩的百分?jǐn)?shù)折算慣量補(bǔ)償值。
圖4為現(xiàn)場某張力輥從45 m/min加速到190 m/min的速度、電機(jī)額定轉(zhuǎn)矩百分比曲線。其中轉(zhuǎn)矩曲線中位置①和位置③分別為低速和高速時(shí)的摩擦轉(zhuǎn)矩,位置②和位置①的差值為需要補(bǔ)償?shù)募铀俎D(zhuǎn)矩Mnor。
圖4 速度、轉(zhuǎn)矩曲線Fig.4 Curves of the speed and torque
生產(chǎn)運(yùn)行過程中按照下式進(jìn)行動(dòng)態(tài)慣量補(bǔ)償:
式中:YAnor為慣量測量時(shí)的加速度;YA為生產(chǎn)時(shí)S曲線程序塊輸出的實(shí)際加速度;Me為電機(jī)額定轉(zhuǎn)矩。
在慣量測量時(shí),應(yīng)進(jìn)行多點(diǎn)多次測量,取平均值應(yīng)用。
S曲線的串聯(lián)廣泛應(yīng)用于工程項(xiàng)目中。例如在連續(xù)帶鋼處理線中,出口段速度給定為工藝段S曲線輸出速度疊加沖、放套速度,出口段速度相當(dāng)于兩級(jí)S曲線串聯(lián)。這里,采用兩個(gè)S7-1500 PLC進(jìn)行試驗(yàn)。PLC1中運(yùn)行S1曲線,PLC2中運(yùn)行兩個(gè)加減速參數(shù)相同的曲線S2和S12。同時(shí)給S1和S2階躍速度輸入,將S1輸出速度V1_OUT通過以太網(wǎng)通信傳輸給PLC2,作為S12曲線的速度輸入。下面討論不同斜率S曲線的輸出響應(yīng)特性。
TU1<TU2串聯(lián)曲線如圖5所示。高斜率S1曲線串聯(lián)低斜率S12曲線,即加速時(shí)間TU1<TU2時(shí),串聯(lián)后的輸出響應(yīng)與單獨(dú)調(diào)用S2曲線的效果一致。由圖5可知,S1曲線的加速時(shí)間TU1=5 s,圓弧時(shí)間TRU1=1 s,S2和S12曲線的加速時(shí)間TU2=10 s,圓弧時(shí)間TRU2=1 s。串聯(lián)后S12的速度輸出曲線V12_OUT與S2輸出曲線V2_OUT重合,串聯(lián)后S12的加速度YA12與S2的加速度YA2相等。
圖5 TU1< TU2串聯(lián)曲線Fig.5 Series connection curves with TU1<TU2
低斜率S1曲線串聯(lián)高斜率S12曲線時(shí),即加速時(shí)間TU1>TU2時(shí)。由于S12的速度和加速度受到S1的加速度限制,S12始終處于變加速過程。串聯(lián)后的速度輸出曲線V12_OUT跟隨低加速度S1曲線的速度輸出,但加速度YA12與S1,S12曲線的加速度變化率 J1,J2的大小有關(guān)。J2相對 J1越大時(shí),S12的圓弧時(shí)間越短,S12的輸出速度曲線V12_OUT對S2的輸出曲線V2_OUT跟隨性越好,但加速度YA12以YA2為基準(zhǔn)線波動(dòng)越明顯。
圖6為J1<J2時(shí)積分器串聯(lián)的響應(yīng)曲線,其中TU1=10 s,TRU1=1 s,TU2=5 s,TRU2=0.1 s。當(dāng) J2相對 J1越小時(shí),S12的圓弧時(shí)間越長,V12_OUT滯后V2_OUT越多,但YA12曲線相對平滑。圖7為J1>J2時(shí)積分器串聯(lián)的響應(yīng)曲線,其中TU1=10 s,TRU1=1 s ,TU2=5 s,TRU2=1 s。由于圓弧時(shí)間越短,加減速過程對設(shè)備的瞬時(shí)沖擊越大,工程應(yīng)用中應(yīng)根據(jù)設(shè)備的承受能力選擇合適的J1,J2值以滿足生產(chǎn)工藝要求。
圖6 J1<J2串聯(lián)曲線Fig.6 Series connection curves with J1<J2
圖7 J1>J2串聯(lián)曲線Fig.7 Series connection curves with J1>J2
工程項(xiàng)目中,經(jīng)常需要準(zhǔn)確定位停車。這就需要知道S曲線從當(dāng)前速度按照給定斜率降到零速需要運(yùn)行的距離L。程序塊按照下式計(jì)算停車距離:
當(dāng)NRM單位為m/s時(shí),輸出L單位為m;當(dāng)NRM單位為m/min時(shí),輸出L除以60后單位為m。
L為按照S曲線斜率至少需要預(yù)留的停車距離。多級(jí)S曲線串聯(lián)應(yīng)用時(shí),取最長單級(jí)S曲線的停車距離L做定位控制。定位時(shí)從L+dL的位置開始啟動(dòng)定位停車程序,dL為停車余量。給定速度V按下式計(jì)算:
式中:V0為降速前的初始速度;Lact為停車程序啟動(dòng)后運(yùn)行的距離,可由程序塊輸出YP處理得到;k為比例調(diào)節(jié)系數(shù),用于根據(jù)生產(chǎn)工藝要求做變比例調(diào)節(jié)。
文中S曲線程序塊以加速時(shí)間和圓弧時(shí)間作為輸入?yún)?shù),符合工程應(yīng)用習(xí)慣。程序塊輸出實(shí)時(shí)加速度值和最短停車距離,方便使用者根據(jù)工藝要求進(jìn)行慣量補(bǔ)償和定位停車控制。此外,程序塊以SCL編程實(shí)現(xiàn),可以方便地移植到其它支持SCL語言的PLC中,也可以編譯成STL語言后,移植到支持STL的PLC中。目前,該S曲線程序塊已在多款PLC中用于平整機(jī)、軋機(jī)、連續(xù)退火等生產(chǎn)線的速度、張力控制,并取得良好的效果,具有較好的參考和實(shí)用價(jià)值。