子S7-200 SMART雙軸卷取分切機(jī)張力控制程序與調(diào)試指南)
簡(jiǎn)介面向造紙、塑料、金屬加工等行業(yè)卷取設(shè)備調(diào)試與維護(hù)人員這份資源圍繞西門(mén)子smart200系列PLC與觸摸屏構(gòu)建的雙軸卷取分切機(jī)控制系統(tǒng)展開(kāi)重點(diǎn)解決前后卷取雙軸張力計(jì)算與變頻器模擬量輸出張力控制問(wèn)題并給出內(nèi)部張力梯度算法思路理解后可遷移至恒張力卷取設(shè)備。壓縮包共16個(gè)文件、約2.5MB以8張jpg設(shè)備圖紙、6個(gè)txt程序解析與心得說(shuō)明、1個(gè)html頁(yè)面及1份doc設(shè)計(jì)文檔為主圖紙與注釋齊全的PLC程序配合閱讀便于還原控制邏輯與硬件接線。已有229人學(xué)習(xí)下載。讀者可從中獲得雙軸張力控制的計(jì)算方法、模擬量張力調(diào)節(jié)策略、卷取版型優(yōu)化經(jīng)驗(yàn)以及帶完整注釋的程序與電路圖對(duì)照參考適合具備一定PLC基礎(chǔ)、希望深入理解卷取張力控制的工程師研讀。1. 雙軸卷取分切機(jī)程序一套能跑在西門(mén)子 S7-200 SMART 上的張力控制源碼包拿到這套程序的時(shí)候我先翻的是變量表和模擬量輸出那幾段因?yàn)榉智袡C(jī)這類設(shè)備機(jī)械結(jié)構(gòu)再花哨最后決定成品卷齊不齊、松不松的還是前后兩個(gè)卷取軸的張力跟不跟得住。這套資源是一份完整的雙軸卷取分切機(jī)控制程序PLC 側(cè)用西門(mén)子 S7-200 SMART 系列配套觸摸屏做參數(shù)設(shè)定和狀態(tài)監(jiān)控核心邏輯落在前后卷取雙軸的張力計(jì)算上執(zhí)行層通過(guò)變頻器模擬量輸出調(diào)節(jié)張力。它解決的是收卷過(guò)程中卷徑不斷變大、張力必須隨卷徑動(dòng)態(tài)補(bǔ)償?shù)膯?wèn)題適合做分切、復(fù)卷、薄膜或紙張類卷材設(shè)備的電氣工程師也適合正在啃張力控制算法、想找一個(gè)能上機(jī)對(duì)照的完整工程參考的人。下面我按自己拆包的順序把計(jì)算邏輯、模擬量標(biāo)定、參數(shù)怎么設(shè)、哪里容易翻車講清楚。2. 雙軸張力計(jì)算卷徑、錐度與轉(zhuǎn)矩補(bǔ)償怎么落到程序里2.1 為什么張力不能只給一個(gè)固定模擬量卷取軸在運(yùn)行中卷徑是持續(xù)變化的。同樣一個(gè)電機(jī)輸出轉(zhuǎn)矩空卷時(shí)張力大、滿卷時(shí)張力小如果模擬量輸出寫(xiě)死成品卷一定是內(nèi)緊外松或者內(nèi)松外緊切出來(lái)的端面看著就難受。所以這類程序的核心不是“輸出一個(gè)值”而是“每個(gè)掃描周期重新算一個(gè)值”。常見(jiàn)做法是把張力控制拆成三層第一層算實(shí)時(shí)卷徑第二層按卷徑和錐度算目標(biāo)張力對(duì)應(yīng)的轉(zhuǎn)矩第三層把轉(zhuǎn)矩折算成變頻器的模擬量給定。這套程序基本就是按這個(gè)骨架搭的前后兩個(gè)卷取軸各有一套獨(dú)立計(jì)算共用同一套標(biāo)定參數(shù)。卷徑的獲取方式直接決定程序復(fù)雜度。有的設(shè)備裝編碼器直接測(cè)卷徑有的靠線速度與角速度比值反算還有的用累計(jì)長(zhǎng)度除以圈數(shù)估算。這套程序里卷徑走的是線速度與卷取軸轉(zhuǎn)速的比值推算屬于不額外加傳感器的經(jīng)濟(jì)做法代價(jià)是對(duì)速度信號(hào)的穩(wěn)定性有要求。我拆的時(shí)候特意看了它對(duì)速度采樣的濾波處理因?yàn)樗俣刃盘?hào)一抖卷徑就抖張力跟著抖最后全表現(xiàn)在成品卷上。2.2 卷徑推算與張力給定的計(jì)算鏈下面這段是卷徑推算和張力轉(zhuǎn)矩折算的典型寫(xiě)法語(yǔ)言按 S7-200 SMART 的 STL/結(jié)構(gòu)化思路整理成可讀的 Python 偽代碼方便對(duì)照變量表理解每一步在算什么。實(shí)際工程里這段會(huì)拆成若干網(wǎng)絡(luò)用實(shí)數(shù)運(yùn)算指令實(shí)現(xiàn)。# 輸入量每個(gè)掃描周期刷新 v_line 0.0 # 線速度來(lái)自主機(jī)或牽引軸單位 m/min n_winder 0.0 # 卷取軸轉(zhuǎn)速來(lái)自變頻器或編碼器單位 r/min t_set 0.0 # 觸摸屏設(shè)定的目標(biāo)張力單位 N taper 0.0 # 錐度百分比0~50觸摸屏設(shè)定 d_core 0.076 # 紙芯/管芯直徑單位 m參數(shù)表給定 k_torque 0.0 # 轉(zhuǎn)矩系數(shù)由電機(jī)額定轉(zhuǎn)矩與減速比標(biāo)定得出 # 第一步由線速度與轉(zhuǎn)速反算實(shí)時(shí)卷徑 if n_winder 5.0: # 轉(zhuǎn)速過(guò)低時(shí)比值不可信保持上次值 d_real v_line / (3.1415926 * n_winder) else: d_real d_last # 低速段沿用上一周期卷徑避免除零抖動(dòng) # 第二步卷徑限幅防止異常值把張力帶飛 d_real max(d_core, min(d_real, d_max)) # 第三步錐度補(bǔ)償滿卷時(shí)按設(shè)定比例降低張力 ratio (d_real - d_core) / (d_max - d_core) # 0 空卷 - 1 滿卷 t_target t_set * (1.0 - taper / 100.0 * ratio) # 第四步張力折算為電機(jī)轉(zhuǎn)矩再折算為模擬量給定 torque t_target * d_real / 2.0 * k_torque ao_value torque_to_ao(torque) # 映射到 0~27648 的模擬量量程邏輯上有幾個(gè)點(diǎn)值得說(shuō)。卷徑推算里那個(gè)n_winder 5.0的判斷是血淚經(jīng)驗(yàn)設(shè)備剛啟動(dòng)或者快停機(jī)時(shí)轉(zhuǎn)速接近零線速度除以轉(zhuǎn)速會(huì)得到一個(gè)離譜的卷徑如果不做低速保持張力會(huì)在啟停瞬間猛沖一下薄料直接拉斷。錐度補(bǔ)償那段是讓滿卷張力略低于初始張力收得外緊內(nèi)松一點(diǎn)卸卷后不容易出現(xiàn)“菊花芯”。k_torque這個(gè)系數(shù)不是拍腦袋來(lái)的它把目標(biāo)張力、卷徑、電機(jī)額定轉(zhuǎn)矩和減速比串起來(lái)標(biāo)定的時(shí)候要拿彈簧秤或者張力計(jì)實(shí)測(cè)反推后面第 4 章會(huì)講怎么校。2.3 前后雙軸的差異處理前后兩個(gè)卷取軸不能共用一套參數(shù)。前卷取靠近分切刀料還沒(méi)完全穩(wěn)定通常張力設(shè)定偏小、響應(yīng)要快后卷取是成品卷張力偏大、錐度給得更明顯。程序里兩套計(jì)算是并行的但共用卷徑上限、管芯直徑這類機(jī)械參數(shù)。我建議在觸摸屏上把前后軸的張力設(shè)定、錐度、加減速斜率分成兩組畫(huà)面別圖省事塞一頁(yè)現(xiàn)場(chǎng)調(diào)機(jī)時(shí)操作工分不清哪個(gè)參數(shù)對(duì)應(yīng)哪個(gè)軸改錯(cuò)了很難查。另外前后軸的卷徑是各自獨(dú)立推算的因?yàn)閮蓚€(gè)軸的轉(zhuǎn)速不同。如果程序里偷懶用同一個(gè)卷徑前軸滿卷后軸還空著的時(shí)候后軸張力就會(huì)算錯(cuò)。這套程序在變量命名上把d_real_front和d_real_rear分開(kāi)了這點(diǎn)做得對(duì)拆包時(shí)看到這里我就放心了一半。3. 模擬量輸出與變頻器對(duì)接量程標(biāo)定和斜坡處理3.1 模擬量通道的映射關(guān)系S7-200 SMART 的模擬量輸出模塊常見(jiàn)是 0~10V 或 0~20mA對(duì)應(yīng)內(nèi)部數(shù)值 0~27648。變頻器的模擬量輸入端子接收這個(gè)信號(hào)去調(diào)電機(jī)轉(zhuǎn)矩或者速度具體接哪個(gè)端子、設(shè)什么功能碼取決于變頻器型號(hào)程序側(cè)只管把 0~27648 送出去。這里最容易翻車的是量程對(duì)不上PLC 輸出 0~10V變頻器輸入設(shè)成了 4~20mA 檔信號(hào)一進(jìn)去就是錯(cuò)的電機(jī)要么不動(dòng)要么滿轉(zhuǎn)矩。我一般會(huì)在觸摸屏上留一個(gè)“模擬量手動(dòng)給定”的調(diào)試畫(huà)面先脫開(kāi)張力計(jì)算手動(dòng)給 0%、25%、50%、75%、100% 五個(gè)點(diǎn)用萬(wàn)用表量輸出電壓再對(duì)照變頻器顯示頻率或轉(zhuǎn)矩確認(rèn)通道通了才回去接自動(dòng)邏輯。def torque_to_ao(torque, t_max_rated): # torque 為計(jì)算轉(zhuǎn)矩t_max_rated 為該軸額定轉(zhuǎn)矩 # 輸出限幅在 0~100%防止負(fù)轉(zhuǎn)矩或超量程 pct torque / t_max_rated pct max(0.0, min(pct, 1.0)) return int(pct * 27648) # 映射到 S7-200 SMART 模擬量滿量程這段映射看著簡(jiǎn)單但t_max_rated取錯(cuò)整個(gè)張力就系統(tǒng)性偏大或偏小。它應(yīng)該等于電機(jī)額定轉(zhuǎn)矩乘減速比再乘傳動(dòng)效率不是電機(jī)銘牌轉(zhuǎn)矩直接拿來(lái)用。傳動(dòng)效率皮帶傳動(dòng)取 0.9 左右減速機(jī)取 0.95 上下具體看機(jī)械配置這個(gè)值在參數(shù)表里要能改別寫(xiě)死在程序里。3.2 加減速時(shí)的張力前饋純靠卷徑算出來(lái)的張力給定在設(shè)備加速和減速時(shí)會(huì)滯后。加速時(shí)卷徑還沒(méi)來(lái)得及更新張力已經(jīng)掉了成品卷就會(huì)出現(xiàn)一段松。常見(jiàn)做法是加一個(gè)加速度前饋把主機(jī)加減速信號(hào)取進(jìn)來(lái)乘一個(gè)前饋系數(shù)疊加到張力給定上。這套程序里有沒(méi)有做前饋取決于版本我拆到的邏輯里是留了前饋入口的參數(shù)默認(rèn)給零現(xiàn)場(chǎng)需要時(shí)再調(diào)。前饋系數(shù)怎么定我的經(jīng)驗(yàn)是先給一個(gè)很小的值比如滿加速時(shí)疊加 3%~5% 的張力觀察加速段成品卷的松緊再逐步加加到加速段和勻速段手感一致為止。給大了會(huì)在減速時(shí)反向沖反而更糟。3.3 輸出斜坡與斷料保護(hù)模擬量輸出不能階躍。張力給定從 0 跳到 50%變頻器和機(jī)械傳動(dòng)來(lái)不及響應(yīng)料會(huì)抖一下。程序里對(duì)最終 AO 值做了斜坡限制每個(gè)掃描周期最多變化若干個(gè)數(shù)值單位斜率參數(shù)放在觸摸屏上。這個(gè)斜率設(shè)太小張力跟不上卷徑變化設(shè)太大等于沒(méi)做斜坡。一般按“從零到滿量程用時(shí) 1~2 秒”來(lái)試。斷料保護(hù)是另一個(gè)必須有的點(diǎn)。分切過(guò)程中料斷了卷取軸還在轉(zhuǎn)張力計(jì)算還在跑卷徑會(huì)算飛。程序里通常用張力反饋或者卷取軸轉(zhuǎn)矩反饋?zhàn)雠袛鄼z測(cè)到張力異常低且持續(xù)若干秒就切到手動(dòng)或者停機(jī)。這套資源里帶了斷料判斷的邏輯框架閾值需要按實(shí)際料種調(diào)薄料和厚紙的閾值差很多別照搬。4. 參數(shù)整定與上機(jī)調(diào)試從空載到滿卷的驗(yàn)證順序4.1 參數(shù)表里哪些必須現(xiàn)場(chǎng)標(biāo)程序里的參數(shù)分兩類一類是機(jī)械常數(shù)管芯直徑、最大卷徑、減速比、電機(jī)額定轉(zhuǎn)矩這些在設(shè)備裝配完就定了填一次另一類是工藝參數(shù)目標(biāo)張力、錐度、加減速斜率、前饋系數(shù)要按料種和車速調(diào)。我上機(jī)一般按這個(gè)順序走先空載確認(rèn)模擬量通道和變頻器方向再穿料低速跑手動(dòng)給定張力看實(shí)際張力跟不跟最后切自動(dòng)、逐步提速到工藝車速。參數(shù)含義典型范圍標(biāo)定方式管芯直徑空卷起始直徑0.076~0.152 m卡尺實(shí)測(cè)最大卷徑滿卷直徑按機(jī)型卷滿實(shí)測(cè)轉(zhuǎn)矩系數(shù)張力到轉(zhuǎn)矩的折算現(xiàn)場(chǎng)反推張力計(jì)實(shí)測(cè)錐度滿卷張力衰減比例0~30%按料種試輸出斜率AO 每周期最大變化1~2 s 滿量程觀察啟停抖動(dòng)轉(zhuǎn)矩系數(shù)是唯一必須用儀器反推的。做法是穿一段料手動(dòng)給一個(gè)固定張力用彈簧秤在料帶上拉讀出實(shí)際張力和設(shè)定值比差多少就按比例修k_torque反復(fù)兩三次就能收斂。沒(méi)有張力計(jì)的話用手感加成品卷硬度判斷也行但精度差一截薄料不建議這么干。4.2 低速到高速的提速驗(yàn)證低速跑通不代表高速?zèng)]問(wèn)題。卷徑推算依賴線速度和轉(zhuǎn)速的比值車速越高這個(gè)比值對(duì)采樣誤差越敏感。我一般會(huì)在 30%、60%、100% 三檔車速下各跑一段看同一設(shè)定張力下成品卷的松緊是否一致。如果不一致先查速度信號(hào)有沒(méi)有濾波不足再查卷徑上限有沒(méi)有卡到。曾經(jīng)遇到一檔高速時(shí)張力明顯偏大最后發(fā)現(xiàn)是線速度信號(hào)取自變頻器輸出頻率而變頻器在高速段有滑差補(bǔ)償頻率和實(shí)際線速度對(duì)不上換成編碼器測(cè)速就正常了。這類問(wèn)題不看波形很難定位建議調(diào)試時(shí)把卷徑、張力給定、AO 值三個(gè)變量一起錄趨勢(shì)。4.3 觸摸屏參數(shù)下發(fā)的時(shí)序觸摸屏改參數(shù)PLC 不是立刻就用。如果參數(shù)在運(yùn)行中修改而程序正在用舊值算到一半會(huì)出現(xiàn)一個(gè)掃描周期的跳變。穩(wěn)妥做法是參數(shù)修改后先存到中間寄存器等下一個(gè)卷取周期開(kāi)始或者設(shè)備處于停止?fàn)顟B(tài)時(shí)才生效。這套程序里對(duì)關(guān)鍵參數(shù)做了“修改需停機(jī)確認(rèn)”的處理張力設(shè)定這類允許在線改的則做了斜坡過(guò)渡?,F(xiàn)場(chǎng)操作工不一定懂這個(gè)畫(huà)面上的提示文字要寫(xiě)清楚別讓人在高速運(yùn)行時(shí)亂改錐度。5. 避坑與常見(jiàn)問(wèn)題張力控制翻車的幾個(gè)典型現(xiàn)場(chǎng)5.1 啟停瞬間張力猛沖現(xiàn)象是設(shè)備啟動(dòng)或停機(jī)時(shí)料被拉斷或者成品卷端面出現(xiàn)一圈明顯緊邊。原因多半是卷徑推算在低速段失效線速度除以接近零的轉(zhuǎn)速得到異常大的卷徑張力給定跟著沖高。解決是加低速保持邏輯轉(zhuǎn)速低于閾值時(shí)沿用上一周期卷徑同時(shí)對(duì) AO 輸出做斜率限制啟停階段張力給定從零緩慢爬升。這套程序里低速閾值是個(gè)可調(diào)參數(shù)別用默認(rèn)值直接上按實(shí)際最低穩(wěn)定車速調(diào)。5.2 滿卷后張力偏大或偏小現(xiàn)象是空卷時(shí)張力正常卷越大越不對(duì)勁。先查錐度參數(shù)方向有沒(méi)有設(shè)反錐度是讓滿卷張力降低的設(shè)成負(fù)值就反了。再查最大卷徑參數(shù)如果實(shí)際滿卷直徑超過(guò)程序里設(shè)的上限卷徑被限幅卡住張力計(jì)算就停在某個(gè)值不再補(bǔ)償。還有一種情況是管芯直徑填錯(cuò)整個(gè)卷徑曲線的起點(diǎn)就偏了滿卷誤差被放大。這三個(gè)參數(shù)是機(jī)械常數(shù)填完最好拿實(shí)際卷徑對(duì)一遍。5.3 模擬量輸出有值但電機(jī)不響應(yīng)現(xiàn)象是程序里 AO 數(shù)值在變變頻器頻率或轉(zhuǎn)矩不動(dòng)。原因可能是通道量程不匹配、變頻器模擬量輸入功能碼沒(méi)設(shè)對(duì)、或者 PLC 模擬量模塊的接線極性反了。排查順序是先量 PLC 輸出端子電壓再量變頻器輸入端子電壓兩端對(duì)不上就是線路或模塊問(wèn)題兩端一致但電機(jī)不動(dòng)就是變頻器參數(shù)問(wèn)題。我習(xí)慣在調(diào)試畫(huà)面放一個(gè)手動(dòng)給定滑塊脫開(kāi)自動(dòng)邏輯單獨(dú)驗(yàn)證通道比在自動(dòng)邏輯里猜快得多。5.4 斷料后卷徑算飛現(xiàn)象是料斷了卷取軸空轉(zhuǎn)卷徑推算值一路漲到上限再穿料時(shí)張力完全不對(duì)。原因是斷料檢測(cè)沒(méi)生效或者閾值太寬。解決是加斷料判斷用張力反饋低于閾值持續(xù)若干秒作為條件觸發(fā)后凍結(jié)卷徑計(jì)算并報(bào)警。閾值要按料種調(diào)薄料斷料后張力掉得快閾值可以設(shè)高一點(diǎn)厚料有慣性閾值要放寬否則正常加減速也會(huì)誤報(bào)。5.5 前后軸參數(shù)串用現(xiàn)象是調(diào)好后軸參數(shù)前軸跟著變。原因是程序里兩套計(jì)算共用了同一個(gè)寄存器或者觸摸屏地址映射重疊。這套程序在變量命名上分開(kāi)了前后軸但二次開(kāi)發(fā)時(shí)如果自己加參數(shù)很容易圖省事復(fù)用地址。我的習(xí)慣是前后軸參數(shù)區(qū)在 V 存儲(chǔ)區(qū)里劃兩塊不重疊的段地址表打印出來(lái)貼在電柜門(mén)內(nèi)側(cè)改之前先對(duì)表。6. 進(jìn)階把張力曲線錄下來(lái)做趨勢(shì)比對(duì)調(diào)試到后期光看當(dāng)前值已經(jīng)不夠了得看趨勢(shì)。S7-200 SMART 本身沒(méi)有內(nèi)置趨勢(shì)記錄但可以用觸摸屏的數(shù)據(jù)記錄功能或者在上位機(jī)側(cè)用 Modbus 把卷徑、張力給定、AO 值、實(shí)際張力幾個(gè)變量按 100ms 周期采上來(lái)。我一般會(huì)在調(diào)試階段掛一個(gè)簡(jiǎn)易采集跑完一卷導(dǎo)出來(lái)看三條曲線卷徑應(yīng)該是平滑單調(diào)上升張力給定應(yīng)該跟著卷徑緩慢下降錐度作用AO 值在加減速段不應(yīng)該有階躍。三條曲線任何一條出現(xiàn)毛刺或者臺(tái)階對(duì)應(yīng)的問(wèn)題基本就能定位到具體環(huán)節(jié)。下面是一個(gè)把采集數(shù)據(jù)做趨勢(shì)比對(duì)的簡(jiǎn)單腳本用來(lái)快速看卷徑曲線有沒(méi)有異常跳變比肉眼翻表格快。import csv # 采集文件列time, d_real, t_target, ao_value rows [] with open(winder_trend.csv) as f: for r in csv.DictReader(f): rows.append({k: float(v) for k, v in r.items()}) # 檢查卷徑相鄰采樣跳變超過(guò) 5% 認(rèn)為異常 prev None for r in rows: if prev is not None: jump abs(r[d_real] - prev) / max(prev, 1e-6) if jump 0.05: print(f卷徑跳變 {jump:.1%} t{r[time]}) prev r[d_real]這個(gè)腳本只做一件事把卷徑的異常跳變點(diǎn)標(biāo)出來(lái)。跳變點(diǎn)往往對(duì)應(yīng)速度信號(hào)丟失、除零保護(hù)觸發(fā)或者限幅動(dòng)作順著時(shí)間點(diǎn)回去查當(dāng)時(shí)的車速和轉(zhuǎn)速信號(hào)比盲猜快。參數(shù)上0.05這個(gè)閾值按采樣周期調(diào)采樣越密閾值可以越小。還有一個(gè)進(jìn)階用法是把前后軸的張力給定曲線疊在一張圖上比。正常工況下兩條曲線形狀應(yīng)該相似、幅值不同如果某一段前軸在降后軸在升說(shuō)明有一路的卷徑推算出了問(wèn)題或者參數(shù)被串改了。這種比對(duì)在換料種、換車速之后做一次能提前發(fā)現(xiàn)不少隱患。從那以后我每次接手卷取類程序不管多急都強(qiáng)制先把模擬量通道手動(dòng)驗(yàn)證一遍、再把卷徑和張力給定錄一段趨勢(shì)看有沒(méi)有毛刺這兩步花不了半小時(shí)能省掉后面幾天的返工。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取