简介:基于西门子smart200系列PLC与触摸屏的双轴卷取分切机控制程序,面向卷材加工设备设计、调试与维护工程师,重点解决前后卷取双轴张力控制精度问题。程序内置张力梯度算法,借助变频器模拟量输出精细调节张力,卷取版型稳定;该算法梳理后可用于恒张力卷取设备,具备较好扩展价值。压缩包共16个文件,含8张JPG设备电路图与现场图、6个TXT程序说明和技术分析、1个HTML页面与1个DOC文档,既能对照图纸理解硬件接线,也能结合注释研读PLC梯形图逻辑,便于二次开发和改造。全部代码均有完整注释,触摸屏程序与设备图纸同步提供,适合需要掌握西门子Smart200张力控制系统搭建方法的工程师直接借鉴。目前已有226人学习下载,对中小型分切、卷取设备项目具有实用参考价值。 做这种双轴卷取分切机的程序,说实话难点从来不在PLC指令上,而在“张力”这两个字。西门子Smart200的指令就那么回事,模拟量输出也就是一个AQW寄存器的事,真正考验人的是把卷径变化、转矩补偿、变频器响应这些东西揉在一起,让料膜从头到尾张力稳定,卷出来端面整齐、不脱卷、不起皱。
我写这篇东西,主要是想把一套已经跑在实际设备上的控制思路完整讲一遍。设备结构不大,前后两根收卷轴,配Smart200 PLC和同系列触摸屏,收卷驱动用变频器,张力给定走模拟量。这个方案在薄膜、纸张、复合材料分切行业特别常见,入门门槛不高,但想调好需要理解每一环的原理。文章适合正在做同类设备的电气工程师、调试人员,以及想从梯形图进阶到“会算、会调”的PLC初学者。
1. 先搞懂设备再写程序:双轴收卷到底在做什么
1.1 双轴卷取结构简述:前后两轴各干什么
双轴卷取分切机,简单说就是大卷母料放卷,经过刀架分切成若干条,再分别卷到两根收卷轴上。前轴卷一部分条,后轴卷另一部分条,两根轴通常各自由独立变频器驱动,互不干扰。也有一种工况是A轴卷满后自动切刀换卷到B轴,实现不停机换卷,这种对程序的要求更高,但卷径计算和张力控制的核心逻辑是完全一样的。
很多第一次接触的人会把两根轴当成“两个独立的收卷”来写程序,然后就踩坑了。因为两根轴虽然机械上独立,但料膜都来自同一个放卷和牵引系统,线速度是公共的。你单独调前轴张力,后轴也会受影响。现场调试时这种耦合现象特别明显:前轴收卷张力调大一点,整条料膜的张紧状态变了,后轴的浮动辊马上跟着动。
所以程序架构上要统一处理“线速度基准”和“单轴张力补偿”。线速度基准取自主机牵引辊编码器或主机给定频率,两个收卷轴在这条基准线上各自做卷径补偿和张力闭环,互不干扰但不能完全割裂。
1.2 张力控制的核心矛盾:卷径变化才是敌人
先想一个问题:收卷轴从空卷到满卷,卷径可能从80mm涨到400mm,变化了5倍。如果变频器输出恒定力矩,随着卷径变大,料膜表面受到的拉力是逐渐增加的,因为力矩=拉力×半径,半径大了拉力必然大。反过来,如果变频器输出恒定速度,那更麻烦,收卷线速度会跟着卷径线性增长,把料膜拉断。
所以张力控制说白了就是在不停补偿卷径变化带来的影响,让料膜表面的线张力保持恒定。这也是为什么网上那些“用模拟量给变频器一个固定值”的教程很多都是误导,因为那只能应付卷径变化很小的情况,真正做生产设备必须实时算卷径、实时更新输出。
理解了这一点,控制目标就很清晰了:每根收卷轴,实时算当前卷径,根据张力设定值算出需要的转矩,再换算成模拟量信号给变频器。这就是整个程序的核心主线,后面所有代码都是围绕这条主线展开的。
2. 用模拟量输出控制张力的正确打开方式
2.1 两种常见张力控制方案,为什么选转矩+模拟量
张力控制方案里,最标准的做法是用张力传感器(浮动辊+电位器或称重传感器)做PID闭环。传感器实时测量料膜张力,PLC或PID调节器把实测值拉回到设定值,输出给变频器。精度高,但成本也高,而且传感器安装位置、机械结构稍微有点问题,信号抖动就会让你怀疑人生。
另一种就是标题里说的方式:不用张力传感器,PLC根据卷径和张力设定值直接算出一个转矩给定,通过模拟量输出给变频器的转矩给定端子,让变频器工作在转矩控制模式。这属于开环前馈,精度不如传感器闭环,但胜在简单、稳定、成本低,对大多数分切材料(纸张、BOPP膜、铝箔、复合膜)完全够用。
我接触的很多设备厂都选后者,尤其是给中小型客户做的机器。调试时只要计算逻辑没写错,张力稳定度肉眼完全可接受。这里有个容易误会的地方:很多资料把这种方式称为“开环”,其实如果收卷轴上加装了编码器反馈,或者PLC通过厚度累加卷径,这已经算半个闭环——卷径是实时修正的,只是没有张力实测值参与PID而已。
2.2 卷径实时计算:厚度累加法与线速度比值法
卷径计算是整套程序的命根子。卷径算不准,后面的张力计算全是错的。我实际用过两种方案,各有适用场景。
厚度累加法:卷径=初始卷径+2×材料厚度×已卷圈数。这个公式很简单,但要求已知材料厚度,并且要有一个圈数计数信号。圈数计数可以做在收卷轴的接近开关上,每转一圈计一次,也可以用变频器输出频率换算转速后积分。薄膜行业厚度已知,推荐用这种方法。它最大的好处是卷径变化曲线非常平滑,不会因为速度波动而跳变。
线速度比值法:卷径=线速度/(卷轴转速×π),线速度取牵引辊编码器,卷轴转速取收卷轴编码器或者变频器频率换算。这个方法的优点是不需要预知膜厚,但缺点是卷轴在转矩模式下转速反馈不一定稳定,算出来的卷径会有波动。我一般只在放卷轴或不需要高精度补偿的场合用。
实际工程项目里,我在收卷轴上用的是厚度累加法,具体公式展开是:
D = D0 + 2 × h × N
其中D0是初始卷径(空卷筒直径),h是单层材料厚度(米),N是当前已卷圈数。圈数N从编码器高速计数器读取,如果编码器每转脉冲数是P,当前累计脉冲是C,那么N=C/P。这套计算在Smart200里就是几个浮点数乘除法,扫描周期足够。
重点提醒一下:膜厚h一定要能在触摸屏上设定并允许修正。实际生产中材料厚度可能有正负公差,卷径会积累误差,这时候人工修正一个“卷径修正系数”是最快的救场办法。触摸屏上加一个“卷径校准”按钮,让操作工换卷时能手动微调当前卷径,这个功能非常实用。
2.3 张力→转矩→模拟量换算的完整公式
这是整篇文章里最值得抄走的公式块。控制目标是保持料膜张力F(牛顿)恒定,收卷半径为D/2(米),需要的输出转矩:
M = F × D / 2
这个M是作用在卷轴上的负载转矩。但电机经过减速机,所以折算到电机轴上的转矩是:
M_motor = M / i
其中i是减速比(电机转i圈,卷轴转1圈),同时要考虑传动效率η,实际可以写成:
M_motor = F × D / (2 × i × η)
接下来要把电机轴转矩换算成变频器转矩给定百分比。变频器转矩模式下,模拟量给定通常是相对电机额定转矩的百分比。电机额定转矩:
Mn = 9550 × P / n
P是电机额定功率(kW),n是额定转速(rpm)。比如1.5kW四极电机,额定转速约1440rpm,Mn≈9.95Nm。所以模拟量对应的转矩设定百分比:
T_% = M_motor / Mn × 100%
最后一步,模拟量输出数字量:
AQW = T_% × 27648 / 100
Smart200模拟量输出10V对应数字量27648,所以20%转矩就是约5530。我把这个完整的换算流程做成FC块,输入是张力设定、当前卷径、减速比、额定转矩,输出就是AQW值,现场改参数只需要改触摸屏上的数值。
这里有个实操细节:真正的系统里还要叠加一个“空载力矩补偿”。机械传动存在摩擦、料膜弯曲刚性带来的附加阻力,尤其在低速启动时,如果只按公式算,变频器输出力矩可能根本克服不了静摩擦,导致启动瞬间张力不足、料膜松弛。我的做法是在公式输出上叠加上一个手动设定的补偿百分比,默认给3%~5%,低速时还要更大一些。注意补偿值不能给太大,否则卷径变大后总张力会明显超调。
2.4 加减速动态补偿,避免端面起皱
纯按公式算只是静态张力。设备加减速时,收卷轴的转动惯量会产生附加力矩。加速时,电机要多出力来带动整个料卷加速,如果程序不做补偿,加速瞬间实际张力会下降;减速时反过来,张力瞬间上升,严重的会把料膜拉断。
惯量补偿在理论上是J×角加速度,但J随卷径按四次方变化,精确算很麻烦。我用的是工程近似法:采集主机给定速度或测速辊线速度的变化率,乘以一个“惯量补偿系数”,叠加到转矩设定上。
具体做法是,PLC里建立两个速度状态变量,每隔固定周期(比如50ms)计算一次速度差值,作为加速度信号。这个信号经过滤波和死区处理后,乘以一个可在触摸屏设定的补偿系数。正值表示加速时额外增加输出转矩,减速时让输出快速回落。
这个补偿系数我在现场是慢慢试出来的。先从0开始,加速时看浮动辊或料膜状态,如果明显松了就加大系数,直到启停过程张力基本不动为止。低速设备(加减速比较慢)通常系数很小,甚至不需要;高速设备一定要加,否则端面会出现“荷叶边”一样的褶皱。
3. Smart200程序与触摸屏落地细节
3.1 PLC程序框架与模拟量标准化
Smart200的程序我用的是模块化思路,不挤在一个OB1里。主程序按扫描周期调用几个FC块:卷径计算块、张力给定块、模拟量输出块、报警处理块。另外有一个定时中断OB,做加减速检测和张力补偿量的刷新,中断周期我习惯设10ms,负载不重,响应也够。
模拟量模块方面,Smart200如果有扩展槽,输出点不够就加一个SB板或EM扩展模块。我之前用的是CPU SR30本体加一路模拟量输出信号板,正好两个收卷轴各占一路。模拟量信号线用屏蔽双绞线,屏蔽层在PLC侧单端接地,变频器侧浮空,这个细节很重要,能干掉大部分干扰问题。
模拟量标准化这一步有很多人写错。Smart200的模拟量输出模块,10V对应数字量27648,不是32000。很多从三菱或台达转过来的工程师会习惯性写满量程4000,然后发现输出死活不够。完整计算我写在下面:
// 输入:张力设定F,卷径D,减速比i,传动效率eta // 输出:AQW转矩给定值 LD "张力设定F" ITD // 转成浮点数等处理 *R "当前卷径D" /R 2.0 /R "减速比i" /R "传动效率eta" /R "电机额定转矩Mn" *R 100.0 +R "空载补偿SPD" /R 100.0 *R 27648.0 TRUNC DTI MOVW , "QWA_PRE" // 写入模拟量输出地址实际我把每个数据都做成符号表变量,触摸屏直接绑定,调试时看曲线非常方便。需要特别注意浮点数转整数的边界,如果模拟量输出计算结果小于0要限制为0,大于27648要限制到27648,否则数据溢出,变频器会收到一个莫名其妙的值。
3.2 触摸屏画面设计与关键参数
触摸屏选的是Smart系列配套的触摸屏,组态软件是WinCC flexible SMART。这里要提醒一下,如果你是第一次用这个组合,组态时PLC变量和触摸屏变量联动是先建变量表再绑定通讯地址的,通讯协议选Smart200专有驱动,别选成S7-300的协议。
触摸屏画面我一般分四页:主画面、参数设定、报警记录、手动调试。主画面显示当前线速度、两轴卷径、当前张力输出百分比、运行/停止状态,操作工日常盯这一页就够。参数设定页放的东西要细,包括:
- 各轴张力设定(N)
- 膜厚(mm)
- 初始卷径(mm)
- 减速比
- 电机额定功率/转速
- 空载补偿百分比
- 惯量补偿系数
- 卷径修正系数
这些参数都是浮点数,触摸屏上绑定PLC的实数变量即可。注意Smart200的实数在触摸屏上显示时组态里要选对数据类型,否则会出现显示值对不上实际值的情况。
手动调试页是我个人建议加的,被很多人忽略。典型场景是设备启动初期,手动给定一个百分比转矩,看变频器是否动作、转向是否正确、卷轴力矩大小,不用去启动整机。这页放两轴的手动切换开关、手动转矩设定、当前实际输出值显示,对排查电气问题能省很多时间。
3.3 变频器侧参数设置与自整定
变频器端的设置直接影响张力效果。以我用过的汇川MD系列为例,关键就是让变频器进入转矩控制模式,模拟量端子作为转矩给定源。不同品牌参数编号不一样,但核心要点是一致的:
- 控制模式设为无感矢量或闭环矢量,并且必须在空载状态下先做电机参数自整定。好多现场张力波动怪变频器,其实是电机参数整定没做。
- 转矩给定源设为外部模拟量端子,选0~10V或4~20mA,与PLC输出信号类型匹配。注意如果选4~20mA,Smart200的输出信号板原生只支持0~20mA或0~10V,需要检查模块规格,必要时在端子上并联250Ω电阻转换信号。
- 转矩模式下一定要设置最大频率限制,防止卷轴飞车。这个很多人忽略,但转矩模式下负载意外脱落时,电机转速会失控,必须有上限频率保护。
- 把加加速时间调短,至少要比PLC的张力输出刷新周期快。收卷轴跟随转矩指令的响应速度直接影响张力稳定性。
还有一点要特别提醒:变频器转矩模式下,输出频率会跟负载实际转速走。这意味着卷径从空卷到满卷,变频器频率会从高到低自然变化,这是正常现象。如果你发现变频器频率不变,说明转矩模式根本没生效,程序里再怎么写都是白费。
4. 现场调试踩坑实录与排查速查
4.1 张力越收越紧怎么办
这是收卷张力控制最经典的问题:开机前五分钟卷得挺好,越往后料卷越紧,到后面直接把芯筒压扁或者把料膜拉断。原因基本都是卷径计算失效。
排查顺序我建议:先看触摸屏上显示的当前卷径是否随运行时间增加。如果卷径一直不变,先查厚度累加法的圈数计数有没有信号进来,高速计数器是否在累计,编码器接线和方向是否正常。如果卷径数值在涨,就看张力给定块里卷径有没有参与计算。很多新手把模拟量输出写成固定百分比,或者只在触摸屏上手动调大调小,这种设计从原理上就无法应付卷径变化。
还有一种隐蔽原因:材料厚度h设置成0或者单位不对。有人习惯在触摸屏上把膜厚填0.05,但PLC计算按米为单位,0.05毫米应该是0.00005米,这一个单位错了,卷径一天下来误差好几倍。所以画面上要标注好单位,程序内部统一换算成米。
4.2 模拟量信号跳变
张力给定偶尔跳动,幅度不大但能感觉到或听到变频器声音变化。这种我调试时遇到得很多,频率最高的是接地问题。模拟量屏蔽线必须单端接地,而且接地端子要和变频器动力地分开,避免接地环流。信号线严禁和变频器输出线走同一根线槽,间距至少保持20cm,交叉处90度交叉。
如果排除了布线和接地,还跳变,就往软件里查。Smart200的模拟量输出数值更新如果过于频繁(比如每个扫描周期都写入),而触摸屏又在频繁读写浮点数,某些情况下会出现寄存器冲突。我的处理办法是模拟量输出写入放在一个定时中断里,周期100ms写入一次,触摸屏显示读取的变量保持与写入变量分开,用中间变量过渡,问题基本消除。这个坑在以前做完一个项目后才彻底想明白。
另外,检查一下变频器转矩给定通道的滤波时间。变频器面板上有转矩给定滤波参数,默认可能太小,导致给定信号上的微小毛刺直接放大成力矩波动。我不是建议把滤波很大,哪怕设成20ms~50ms,对人眼和料膜手感的改善非常明显。
4.3 上电初始状态和断膜保护
程序里还要考虑两个和安全相关的场景,很多设备厂到现场才后补。第一是上电瞬间,触摸屏设定值还没加载完成,PLC如果以默认值算出来一个很大的张力百分比输出,变频器瞬间给力矩,极有可能拉断料膜甚至打伤挡板。我的做法是加一个“输出使能”控制字:运行信号和触摸屏“张力投入”按钮同时为真时,才允许把计算值写入AQW,否则AQW直接强制写0。这个逻辑简单可靠,建议所有类似设备都加上。
第二是断膜保护。如果收卷张力突然消失(膜断了),收卷轴转速会急剧上升,或者检测到卷径突然不增长而主机还在跑。硬件上可以在卷轴上方加接近开关检测超速,程序上可以在卷径连续几个周期不变化但线速度大于设定上限时触发报警,立即降速并停止模拟量输出。别指望操作工能在断膜的零点几秒里反应过来,程序必须自动处理。
4.4 推荐的调试顺序
我每次调这种设备,顺序固定是:先机械后电气,先开环后闭环,先低速后高速。具体到这套程序:
第一步,变频器空载自整定,确认转矩模式下电机正转/反转方向正确,方向错了张紧就变成松卷了。
第二步,屏蔽掉卷径计算,手动给定一个固定转矩百分比,用手拉住膜感受松紧,确认模拟量通道从PLC到变频器整个链路是通的。这时候触摸屏上的手动调试页就派上用场了。
第三步,投入卷径计算,空膜低速跑起来,观察显示卷径是不是线性增长。这一步发现问题先别急着调张力,把卷径搞对了再往下走。
第四步,从低张力值逐步往高调,观察卷芯和端面。张力能稳定但端面偏松,就适当加一点补偿;张力波动明显,回到滤波和接地排查。
第五步,加减速动态补偿,做反复启停测试。这一步最容易反复,别怕麻烦,一次调好以后同型号设备直接复制参数。
最后再分享一点实际体会
这套程序做完之后,我会把所有的工程常数都做成触摸屏可调参数,而不是写死在程序里。原因很简单,设备拉去客户现场,材料换了一批又一批,膜厚、摩擦系数、卷芯直径全都会变,现场工人不一定能改程序,但一定会在触摸屏上按你说的去调参数。
还有,做这种控制,现场调试的时间往往比编写程序的时间长得多,尤其是张力曲线、惯量补偿这些“玄学”参数。别急着怀疑PLC程序跑飞了,先检查机械传动的卡阻、滑差,再检查变频器设置。很多所谓的程序Bug,最后发现是皮带打滑或者气胀轴没胀紧。程序逻辑要尽量简单直白,把精力留给现场真正有挑战的机械和工艺匹配问题。如果后续要扩展自动换卷,这套卷径和张力计算核心可以直接复用,只需要在外围加上换卷状态机、切刀联动逻辑和废边排放控制,整体结构完全不用推翻重来。
本文还有配套的精品资源,点击获取