《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > S7-200驅(qū)動步進電機心得
S7-200驅(qū)動步進電機心得
楊言孝
摘要: S7-200CPU本身帶有高速脈沖輸出功能,特另是224XP(CN)的高速輸出頻率達到100kHz,,十分適合作為步進電機的驅(qū)動脈沖,,配以細分型的驅(qū)動器,,在某些應(yīng)用場合,,效果逼近伺服電機,,取得性能和經(jīng)濟性的最佳平衡,。
關(guān)鍵詞: PLC|PAC PLC S7-200 西門子
Abstract:
Key words :

1           項目簡介

某公司有多臺薄膜卷繞機需要進行自動化控制改造,。

原設(shè)備采用機械式計數(shù),卷繞動力采用離合器傳動,,元件卷繞的起動,、停止、圈數(shù)控制等均由人工操作控制,,因此存在產(chǎn)品參數(shù)離散性大、產(chǎn)品質(zhì)量與生產(chǎn)效率因人而異等不足之處。

工藝要求簡述:由于卷制材料是10幾微米的薄膜,,要求卷軸平穩(wěn)起動,,均勻加速,以使用張力平穩(wěn),;中間在某些位置需要停頓,,作一些必要的處理,再繼續(xù)卷繞,;和起動一樣,,停頓或停止時,必須均勻減速,,保持張力平穩(wěn),;要求最后圈數(shù)準確。

 

2           控制系統(tǒng)構(gòu)成

很自然地想到S7-200PLC應(yīng)該能夠?qū)崿F(xiàn)項目要求的控制功能,。

S7-200CPU本體已含有高速脈沖輸出功能,,普通型號的CPU脈沖輸出頻率達20KHz,而224XPCN)更是高達100kHz,,可以用來驅(qū)動步進電機或伺服電機,,再由電機直接驅(qū)動卷繞主軸旋轉(zhuǎn),完成工藝所要求的動作,。

步進電機在成本上具有優(yōu)勢,,但是步進電機的運轉(zhuǎn)平穩(wěn)性不如伺服電機,而兩者的定位精度(圈數(shù))的控制,,在本工藝里都可以達到要求,。我們考慮先試用步進電機的方案。

步進電機的驅(qū)動,,實際上是由相應(yīng)的步進電機驅(qū)動器負責(zé)的,,所以步進電機的相數(shù)齒數(shù)等等問題由相應(yīng)的驅(qū)動器解決,選擇步進電機要考慮的主要是體積,、轉(zhuǎn)矩,、轉(zhuǎn)速等,不是本文的重點,;

PLC向驅(qū)動器送的僅為代表速度與位置的脈沖,,這里要考慮的是步進電機在規(guī)定的轉(zhuǎn)速下是否足夠平穩(wěn),是否適合作為薄膜卷繞的動力,。

我們作了一個模型機進行試驗,,采用細分型的驅(qū)動器,在50齒的電機上達到10000/轉(zhuǎn),,經(jīng)1725齒的同步帶減速傳動(同時電機的振動也可衰減),,結(jié)果運轉(zhuǎn)很平穩(wěn),粗步確定可以達到工藝要求。于是正式試制一臺,,也獲得成功,,性能達到工藝要求,目前已經(jīng)按此方案批量進行改造,。

CPU選擇224XPCN DC/DC/DC,,系統(tǒng)構(gòu)成如下:

224XP*1、步進電機*2,、細分型驅(qū)動器*2,、TD200*1LED顯示屏*1,、編碼器*1,。

2.1         PTO0Q0.0)輸出一路高速脈沖,負責(zé)驅(qū)動卷繞主軸的旋轉(zhuǎn),;

2.2         PTO1Q0.1)輸出一路高速脈沖,,負責(zé)驅(qū)動主軸的水平直線移動;

2.3         一個正交增量型編碼器裝在主軸上,,作為卷繞圈數(shù)的反饋,;

2.4         TD200作為人機界面,用于設(shè)定參數(shù)

2.5         一個LED顯示屏用于顯示實時的卷繞圈數(shù),。在實際生產(chǎn)中,,工人需要時時參考卷繞的進度,LED顯示比LCD醒目,,所以這里放置了一個自制的LED顯示屏,。LED屏和PLC的連接方式,可參考本人在2003年的專家論文集中的文章,。

 

3           控制系統(tǒng)完成的功能

3.1         控制系統(tǒng)首先要實現(xiàn)的功能,,是卷繞的平穩(wěn)起動、加速,、減速,、平穩(wěn)停止。在新版的S7-200中,,支持高速輸出口PTO0/PTO1的線性加/減速,,通過MicroWin的向?qū)С绦颍浅H菀讓崿F(xiàn),。實際上,,以目前的情況,線性加減速只能使用向?qū)傻某绦颍?/span>Siemens沒有公開獨立可使用的指令,。

3.2         使用位置控制向?qū)梢韵滤膫€子程序(僅限CPU內(nèi)的PTO,,不包括專用模塊的情況),,以PTO0為例:

3.2.1          PTO0_CTRL:每周期調(diào)用一次,可以控制PTO0的行為,;

3.2.2          PTO0_MAN:可以控制PTO0以某一頻率輸出脈沖,,并且可以通過程序隨時中止(減速或立即中止);

3.2.3          PTO0_RUN:運行(在向?qū)е猩?/span>)包絡(luò),,以預(yù)定的速度輸出確定個數(shù)的脈沖,也可以通過程序隨時時中止(減速或立即中止),。

3.2.4          PTO0_LDPOS:裝載位置用,,本例使用相對位置,所以不必裝載,。

本例的工藝要求,,輸出脈沖數(shù)可變(圈數(shù)可設(shè)定),又要在工藝允許的情況下盡可能地按指定的速度運行,,也要隨時能夠減速停止,,包括人工手動的停車要求。直接使用PTO0_MANPTO0_RUN都無法直接滿足要求,,以下來研究配合輔助手段如何實現(xiàn),。

3.3         精確的位置(圈數(shù))控制

3.3.1      PTO0_RUN + 中斷

卷繞定位與圈數(shù)控制,達到0.1圈以內(nèi)的精度即可,,以10000/轉(zhuǎn)的細分驅(qū)動器,,0.1圈相當于1000脈沖。

假使PTO正以最高100kHz速度輸出脈沖,,以1ms的時間響應(yīng)中斷,,脈沖的誤差約為100個,所以從理論上說,,中斷方式把脈沖誤差控制在1000個以下完全可以,。

如何實現(xiàn)?我們來看下面一個PTO0_MAN指令執(zhí)行的示意圖:

 有恒速階段 

有恒速階段

無恒速階段  

無恒速階段 

PTO0_MAN指令RUN=1允許脈沖輸出時,,脈沖序列從最低速(起始速度,,本例設(shè)為100p/s,很小,,可以認為0)線性加速,,加到指定速度speed后保持勻速,當收到減速停止RUN=0命令時,,線性減速,,至最低速后停止。

所以,,我們只要在脈沖輸出前計算出停止指令執(zhí)行的位置,,并在此位置設(shè)置中斷以便執(zhí)行減速停止指令,,就可保證輸出的序列脈沖個數(shù)在要求的誤差范圍內(nèi)。

計算過程:

本例加速和減速的斜率是相同的,,比較簡單,,如果兩個斜率不同,計算稍麻煩一點,,原理差不多,。

3.3.1.1     用向?qū)梢粋€最高速單速包絡(luò),從生成的PTO0_DATA中找出加速和減速脈沖數(shù)(可以參考3.3.2節(jié)的描述),,如果加減速斜率相同,,這兩個數(shù)應(yīng)該是一樣的,由于計算精度的關(guān)系,,差幾個脈沖也屬正常,。這個數(shù)據(jù)在程序中可以作為常數(shù)使用。

3.3.1.2     如果目標脈沖數(shù)大于加速和減速脈沖數(shù)之和,,表示脈沖輸出可以加速到最高速,,有恒速階段,那么中斷位置=目標脈沖數(shù)-減速脈沖數(shù),;

3.3.1.3     如果目標脈沖數(shù)不大于加速和減速脈沖數(shù)之和,,無恒速階段,包絡(luò)變成一個等腰三角形(兩邊斜率相同的情況),,那么中斷位置=目標脈沖數(shù)/2,。

3.3.1.4     更進一步,水平恒速的速度可變,,就象本案的情況,,卷繞速度是可設(shè)定的,而且這個速度受機械/電機最高限速,、薄膜最高線速的限制,,取三者中的最小值,然后才能確定加速到該速度所需的脈沖數(shù),,通過簡單的數(shù)學(xué)計算即可獲得,。

3.3.2      PTO0_RUN + 修改包絡(luò)參數(shù)

用向?qū)梢粋€單一速度包絡(luò),我們來研究自動生成的包絡(luò)數(shù)據(jù)結(jié)構(gòu):

PTO0_DATA

//----------------------------------------------------------------

//輸出 Q0.0 PTO 包絡(luò)表

//----------------------------------------------------------------

VB1000 'PTOA'                      //

VW1004 54                          //FREQ

VD1006 10240000                    //SS_SPEED

VD1010 204800000                   //MAX_SPEED

VD1014 16#02000E69                 //K_ACC

VD1018 16#82FFF197                 //K_DEC

VB1022 1                           //NUMPROF

VW1023 25                          //OFFS_0

VB1025 4                           //包絡(luò) 0 NUM_SEGS

VB1026 0                           //保留,。

VB1027 0                           // 0 S_STEP

VB1028 16#08                       //S_PROP

VD1029 +10240000                   //SFREQ

VD1033 49950                       //加速的脈沖數(shù)

VB1037 0                           // 1 S_STEP

VB1038 16#04                       //S_PROP

VD1039 +199707040                  //SFREQ

VD1043 98                          //恒速的脈沖數(shù)

VB1047 0                           // 2 S_STEP

VB1048 16#00                       //S_PROP

VD1049 -1                          //SFREQ

VD1053 49951                       //減速的脈沖數(shù)

VB1057 0                           // 3 S_STEP

VB1058 16#10                       //S_PROP

VD1059 +10240000                   //SFREQ

VD1063 1                           //最終減速的脈沖數(shù)

VB1067 0                           //保留,。

VB1068 0                           //保留。

VB1069 0                           //保留,。

可以看出,,一個最簡單的包絡(luò)分為4段(VB1025):

0:加速段,加速脈沖數(shù)在VD1033

1:恒速段,,恒速脈沖數(shù)在VD1043

2:減速段,,減速脈沖數(shù)在VD1063

3:最終減速脈沖數(shù),,VD1063。依我的經(jīng)驗看,,這個最終減速脈沖數(shù)始終為1,。

在向?qū)е校荒苌捎邢薜陌j(luò),,如果目標脈沖數(shù)任意的,,我們只好修改包絡(luò)里面的數(shù)據(jù)了。加速段和減速段的脈沖數(shù)不方便改,,因為線性加減速的指令并不清楚,,所以只好修改恒速段的脈沖數(shù)。實踐證明,,修改恒速段的脈沖數(shù),可以非常容易且準確地控制輸出脈沖數(shù),。唯一的限制是,,總的脈沖數(shù),必須大于加減速段+最終減速段脈沖數(shù)之和,,也即恒速段的脈沖不能小于1,。

使用步驟:

3.3.2.1     在啟動PTO0_RUN之前,計算出恒速段的脈沖數(shù)=目標脈數(shù)數(shù)-加減速脈沖數(shù)之和-1,,填入包絡(luò)表中的恒速位置,;

3.3.2.2     啟動PTO0_RUN

 

3.4         在本項目的設(shè)備改造中,,主軸卷繞的圈數(shù),、中間起停點的變化范圍大,使用“PTO0_RUN + 中斷”,,安排在Q0.0輸出,;

中斷是由高速計數(shù)器觸發(fā)的,所以在Q0.0的向?qū)е惺鼓?/span>HC0為作脈沖輸出內(nèi)部反饋,,在啟動PTO0前使能12#中斷“HSC0 CV=PV”,,中斷程序樣例如下:

LD     SM0.0

R      M20.4, 1

CALL   PTO0_MAN, M20.4, PTO0_V, VB290, VD292

DTCH   12

主軸的水平直線運動,行程比較固定,,調(diào)節(jié)范圍小,,使用“PTO1_RUN + 修改包絡(luò)參數(shù)”,安排在Q0.1,。

 

4           項目運行

首臺設(shè)備改造完成于200512月,,至目前已有6臺投入運行,效果達到預(yù)期的目標,,保證了產(chǎn)品質(zhì)量的一致性,,生產(chǎn)效率也有提高,,工人勞動強度明顯降低。

    控制箱實物

             控制箱實物

 

5           體會

S7-200是一款是非常優(yōu)秀的微型控制器,,許多功能進行深入研究之后可以做到靈活應(yīng)用,,拓寬其在小型控制領(lǐng)域的應(yīng)用范圍,同時保持較低的應(yīng)用成本,。

S7-200非常象一臺帶控制IO功能的超級微型計算機,,使用STL編程,完全不受繼電器邏輯那一套框框的約束,,可以象一種計算機語言一樣自由地編程,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。