|
1 項目簡介 某公司有多台薄膜卷繞機需要進行自動化控製改造。 原設備采用機械式計數,卷繞動力采用離合器傳動,元件卷繞的起動、停止、圈數控製等均由人工操作控製,因此存在產品參數離散性大、產品質量與生產效率因人而異等不足之處。 工藝要求簡述:由於卷製材料是10幾微米的薄膜,要求卷軸平穩起動,均勻加速,以使用張力平穩;中間在某些位置需要停頓,作一些必要的處理,再繼續卷繞;和起動一樣,停頓或停止時,必須均勻減速,保持張力平穩;要求最後圈數準確。
2 控製係統構成 很自然地想到S7-200PLC應該能夠實現項目要求的控製功能。S7-200CPU本體已含有高速脈衝輸出功能,普通型號的CPU脈衝輸出頻率達20KHz,而224XP(CN)更是高達100kHz,可以用來驅動步進電機或伺服電機,再由電機直接驅動卷繞主軸旋轉,完成工藝所要求的動作。 步進電機在成本上具有優勢,但是步進電機的運轉平穩性不如伺服電機,而兩者的定位精度(圈數)的控製,在本工藝裏都可以達到要求。我們考慮先試用步進電機的方案。 步bu進jin電dian機ji的de驅qu動dong,實shi際ji上shang是shi由you相xiang應ying的de步bu進jin電dian機ji驅qu動dong器qi負fu責ze的de,所suo以yi步bu進jin電dian機ji的de相xiang數shu齒chi數shu等deng等deng問wen題ti由you相xiang應ying的de驅qu動dong器qi解jie決jue,選xuan擇ze步bu進jin電dian機ji要yao考kao慮lv的de主zhu要yao是shi體ti積ji、轉矩、轉速等,不是本文的重點;PLC向驅動器送的僅為代表速度與位置的脈衝,這裏要考慮的是步進電機在規定的轉速下是否足夠平穩,是否適合作為薄膜卷繞的動力。 我們作了一個模型機進行試驗,采用細分型的驅動器,在50齒的電機上達到10000步/轉,經17:25齒的同步帶減速傳動(同時電機的振動也可衰減),結jie果guo運yun轉zhuan很hen平ping穩wen,粗cu步bu確que定ding可ke以yi達da到dao工gong藝yi要yao求qiu。於yu是shi正zheng式shi試shi製zhi一yi台tai,也ye獲huo得de成cheng功gong,性xing能neng達da到dao工gong藝yi要yao求qiu,目mu前qian已yi經jing按an此ci方fang案an批pi量liang進jin行xing改gai造zao。 CPU選擇224XPCN DC/DC/DC,係統構成如下: 224XP*1、步進電機*2、細分型驅動器*2、TD200*1、LED顯示屏*1、編碼器*1。 2.1 PTO0(Q0.0)輸出一路高速脈衝,負責驅動卷繞主軸的旋轉; 2.2 PTO1(Q0.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_MAN和PTO0_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命令時,線性減速,至最低速後停止。
所suo以yi,我wo們men隻zhi要yao在zai脈mai衝chong輸shu出chu前qian計ji算suan出chu停ting止zhi指zhi令ling執zhi行xing的de位wei置zhi,並bing在zai此ci位wei置zhi設she置zhi中zhong斷duan以yi便bian執zhi行xing減jian速su停ting止zhi指zhi令ling,就jiu可ke保bao證zheng輸shu出chu的de序xu列lie脈mai衝chong個ge數shu在zai要yao求qiu的de誤wu差cha範fan圍wei內nei。
計算過程:
本例加速和減速的斜率是相同的,比較簡單,如果兩個斜率不同,計算稍麻煩一點,原理差不多。
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。
在(zai)向(xiang)導(dao)中(zhong),隻(zhi)能(neng)生(sheng)成(cheng)有(you)限(xian)的(de)包(bao)絡(luo),如(ru)果(guo)目(mu)標(biao)脈(mai)衝(chong)數(shu)任(ren)意(yi)的(de),我(wo)們(men)隻(zhi)好(hao)修(xiu)改(gai)包(bao)絡(luo)裏(li)麵(mian)的(de)數(shu)據(ju)了(le)。加(jia)速(su)段(duan)和(he)減(jian)速(su)段(duan)的(de)脈(mai)衝(chong)數(shu)不(bu)方(fang)便(bian)改(gai),因(yin)為(wei)線(xian)性(xing)加(jia)減(jian)速(su)的(de)指(zhi)令(ling)並(bing)不(bu)清(qing)楚(chu),所(suo)以(yi)隻(zhi)好(hao)修(xiu)改(gai)恒(heng)速(su)段(duan)的(de)脈(mai)衝(chong)數(shu)。實(shi)踐(jian)證(zheng)明(ming),修(xiu)改(gai)恒(heng)速(su)段(duan)的(de)脈(mai)衝(chong)數(shu),可(ke)以(yi)非(fei)常(chang)容(rong)易(yi)且(qie)準(zhun)確(que)地(di)控(kong)製(zhi)輸(shu)出(chu)脈(mai)衝(chong)數(shu)。唯(wei)一(yi)的(de)限(xian)製(zhi)是(shi),總(zong)的(de)脈(mai)衝(chong)數(shu),必(bi)須(xu)大(da)於(yu)加(jia)減(jian)速(su)段(duan)+最終減速段脈衝數之和,也即恒速段的脈衝不能小於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 項目運行
首台設備改造完成於2005年12月,至目前已有6台投入運行,效果達到預期的目標,保證了產品質量的一致性,生產效率也有提高,工人勞動強度明顯降低。 5 體會
S7-200是(shi)一(yi)款(kuan)是(shi)非(fei)常(chang)優(you)秀(xiu)的(de)微(wei)型(xing)控(kong)製(zhi)器(qi),許(xu)多(duo)功(gong)能(neng)進(jin)行(xing)深(shen)入(ru)研(yan)究(jiu)之(zhi)後(hou)可(ke)以(yi)做(zuo)到(dao)靈(ling)活(huo)應(ying)用(yong),拓(tuo)寬(kuan)其(qi)在(zai)小(xiao)型(xing)控(kong)製(zhi)領(ling)域(yu)的(de)應(ying)用(yong)範(fan)圍(wei),同(tong)時(shi)保(bao)持(chi)較(jiao)低(di)的(de)應(ying)用(yong)成(cheng)本(ben)。
S7-200非常象一台帶控製IO功能的超級微型計算機,使用STL編程,完全不受繼電器邏輯那一套框框的約束,可以象一種計算機語言一樣自由地編程。
|