技術頻道

      S7-200驅動步進電機心得

      1 項目簡介
      某公司有多臺薄膜卷繞機需要進行自動化控制改造。
      原設備采用機械式計數,卷繞動力采用離合器傳動,元件卷繞的起動、停止、圈數控制等均由人工操作控制,因此存在產品參數離散性大、產品質量與生產效率因人而異等不足之處。
      工藝要求簡述:由于卷制材料是10幾微米的薄膜,要求卷軸平穩起動,均勻加速,以使用張力平穩;中間在某些位置需要停頓,作一些必要的處理,再繼續卷繞;和起動一樣,停頓或停止時,必須均勻減速,保持張力平穩;要求最后圈數準確。

      2 控制系統構成
      很自然地想到S7-200PLC應該能夠實現項目要求的控制功能。
      S7-200CPU本體已含有高速脈沖輸出功能,普通型號的CPU脈沖輸出頻率達20KHz,而224XPCN)更是高達100kHz,可以用來驅動步進電機或伺服電機,再由電機直接驅動卷繞主軸旋轉,完成工藝所要求的動作。
      步進電機在成本上具有優勢,但是步進電機的運轉平穩性不如伺服電機,而兩者的定位精度(圈數)的控制,在本工藝里都可以達到要求。我們考慮先試用步進電機的方案。
      步進電機的驅動,實際上是由相應的步進電機驅動器負責的,所以步進電機的相數齒數等等問題由相應的驅動器解決,選擇步進電機要考慮的主要是體積、轉矩、轉速等,不是本文的重點;
      PLC向驅動器送的僅為代表速度與位置的脈沖,這里要考慮的是步進電機在規定的轉速下是否足夠平穩,是否適合作為薄膜卷繞的動力。
      我們作了一個模型機進行試驗,采用細分型的驅動器,在50齒的電機上達到10000/轉,經1725齒的同步帶減速傳動(同時電機的振動也可衰減),結果運轉很平穩,粗步確定可以達到工藝要求。于是正式試制一臺,也獲得成功,性能達到工藝要求,目前已經按此方案批量進行改造。
      CPU選擇224XPCN DC/DC/DC,系統構成如下:
      224XP*1、步進電機*2、細分型驅動器*2TD200*1LED顯示屏*1、編碼器*1
      2.1 PTO0Q0.0)輸出一路高速脈沖,負責驅動卷繞主軸的旋轉;
      2.2 PTO1Q0.1)輸出一路高速脈沖,負責驅動主軸的水平直線移動;
      2.3 一個正交增量型編碼器裝在主軸上,作為卷繞圈數的反饋;
      2.4
      TD200作為人機界面,用于設定參數
      2.5 一個LED顯示屏用于顯示實時的卷繞圈數。在實際生產中,工人需要時時參考卷繞的進度,LED顯示比LCD醒目,所以這里放置了一個自制的LED顯示屏。LED屏和PLC的連接方式,可參考本人在2003年的專家論文集中的文章。
      3 控制系統完成的功能
      3.1 控制系統首先要實現的功能,是卷繞的平穩起動、加速、減速、平穩停止。在新版的S7-200中,支持高速輸出口PTO0/PTO1的線性加/減速,通過MicroWin的向導程序,非常容易實現。實際上,以目前的情況,線性加減速只能使用向導生成的程序,Siemens沒有公開獨立可使用的指令。
      3.2 使用位置控制向導生成以下四個子程序(僅限CPU內的PTO,不包括專用模塊的情況),以PTO0為例:

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

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

      3.2.3 PTO0_RUN:運行(在向導中生的)包絡,以預定的速度輸出確定個數的脈沖,也可以通過程序隨時時中止(減速或立即中止)。

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

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

      3.3.1 PTO0_RUN + 中斷

      卷繞定位與圈數控制,達到0.1圈以內的精度即可,以10000/轉的細分驅動器,0.1圈相當于1000脈沖。

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

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

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

      計算過程:

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

      3.3.1.1 用向導生成一個最高速單速包絡,從生成的PTO0_DATA中找出加速和減速脈沖數(可以參考3.3.2節的描述),如果加減速斜率相同,這兩個數應該是一樣的,由于計算精度的關系,差幾個脈沖也屬正常。這個數據在程序中可以作為常數使用。

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

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

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

      3.3.2 PTO0_RUN + 修改包絡參數

      用向導生成一個單一速度包絡,我們來研究自動生成的包絡數據結構:

      PTO0_DATA

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

      //輸出 Q0.0 PTO 包絡表

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

      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 //包絡 0 NUM_SEGS

      VB1026 0 //保留。

      VB1027 0 // 0 S_STEP

      VB1028 16#08 //S_PROP

      VD1029 +10240000 //SFREQ

      VD1033 49950 //加速的脈沖數

      VB1037 0 // 1 S_STEP

      VB1038 16#04 //S_PROP

      VD1039 +199707040 //SFREQ

      VD1043 98 //恒速的脈沖數

      VB1047 0 // 2 S_STEP

      VB1048 16#00 //S_PROP

      VD1049 -1 //SFREQ

      VD1053 49951 //減速的脈沖數

      VB1057 0 // 3 S_STEP

      VB1058 16#10 //S_PROP

      VD1059 +10240000 //SFREQ

      VD1063 1 //最終減速的脈沖數

      VB1067 0 //保留。

      VB1068 0 //保留。

      VB1069 0 //保留。

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

      0:加速段,加速脈沖數在VD1033

      1:恒速段,恒速脈沖數在VD1043

      2:減速段,減速脈沖數在VD1063

      3:最終減速脈沖數,VD1063。依我的經驗看,這個最終減速脈沖數始終為1

      在向導中,只能生成有限的包絡,如果目標脈沖數任意的,我們只好修改包絡里面的數據了。加速段和減速段的脈沖數不方便改,因為線性加減速的指令并不清楚,所以只好修改恒速段的脈沖數。實踐證明,修改恒速段的脈沖數,可以非常容易且準確地控制輸出脈沖數。唯一的限制是,總的脈沖數,必須大于加減速段+最終減速段脈沖數之和,也即恒速段的脈沖不能小于1

      使用步驟:

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

      3.3.2.2 啟動PTO0_RUN

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

      中斷是由高速計數器觸發的,所以在Q0.0的向導中使能HC0為作脈沖輸出內部反饋,在啟動PTO0前使能12#中斷“HSC0 CV=PV”,中斷程序樣例如下:

      LD SM0.0

      R M20.4, 1

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

      DTCH 12

      主軸的水平直線運動,行程比較固定,調節范圍小,使用“PTO1_RUN + 修改包絡參數”,安排在Q0.1

      4 項目運行

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

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

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


      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 精品人无码一区二区三区| 国产成人精品久久一区二区三区| 美女啪啪一区二区三区| 丰满爆乳无码一区二区三区| 免费萌白酱国产一区二区三区| 精品国产区一区二区三区在线观看| 久久er99热精品一区二区| 手机看片一区二区| 亚洲高清成人一区二区三区| 亚洲AV无码国产一区二区三区| 亚洲国产美女福利直播秀一区二区| 伊人激情AV一区二区三区| 一区二区三区视频在线播放| 国产一区在线视频观看| 日韩AV片无码一区二区不卡| 国精产品一区一区三区有限公司| 伊人激情AV一区二区三区| 精品国产福利在线观看一区 | 色欲AV蜜桃一区二区三| 亚洲视频在线一区二区三区| 久久亚洲一区二区| 无码人妻久久一区二区三区 | 欧美日韩精品一区二区在线视频| 亚洲一区电影在线观看| 2020天堂中文字幕一区在线观| 精品欧洲av无码一区二区14| 国产高清在线精品一区| 黑巨人与欧美精品一区| 免费高清在线影片一区| 综合激情区视频一区视频二区| 无码人妻一区二区三区免费视频| 亚洲一区日韩高清中文字幕亚洲 | 竹菊影视欧美日韩一区二区三区四区五区 | 国产伦一区二区三区高清| 久久成人国产精品一区二区| 台湾无码AV一区二区三区| 午夜福利一区二区三区在线观看| 国产经典一区二区三区蜜芽| 在线不卡一区二区三区日韩| 无码日韩人妻AV一区二区三区| 亚洲乱码一区二区三区在线观看|