简介:本资源是一套面向工业自动化工程师与PLC初学者的双轴卷取分切机控制系统实战方案,聚焦张力控制这一核心工艺难点,解决卷取过程中材料松弛、断带及版型不均等典型问题。资源包共16个文件(8张JPG设备图纸、6份TXT技术解析与使用说明、1个HTML操作指南、1个DOC格式的程序设计与控制原理文档),总大小2.5MB,图纸清晰标注电气布局与信号流向,文本资料深入解析西门子SMART 200 PLC双轴张力梯度算法、触摸屏交互逻辑及变频器模拟量输出闭环控制策略。已有228人学习下载,内容全部采用中文注释,程序结构模块化、变量命名规范,配套电路图与分步说明可直接用于恒张力卷取设备移植或教学演示,特别适合需快速理解张力控制底层逻辑并开展二次开发的工程技术人员。
1. 双轴卷取分切机程序:不是PLC逻辑堆砌,而是张力闭环的算法落地现场
你手头有一台双轴卷取分切机,前后两个收放卷轴同步运行,材料在高速走带中频繁启停、加减速——这时候光靠“写个启停按钮+调个变频器频率”根本压不住抖动、断带、套印偏差。真正卡脖子的,是前后轴之间那毫秒级动态耦合的张力平衡:前轴松一点,后轴就堆料;后轴紧一毫,前轴就拉断。本资源不是通用PLC模板,而是一套完整跑通在西门子SMART 200 PLC + SMART LINE触摸屏上的双轴张力协同控制程序包,核心是把张力从“靠老师傅耳朵听、眼睛看”的玄学,变成可计算、可复现、可调试的实时张力闭环算法。它包含张力模型建模、卷径实时估算、PID参数自适应调节、变频器模拟量输出映射、触摸屏人机交互逻辑等全部模块,已实测适配汇川MD380、台达VFD-EL、三菱FR-D700等主流变频器。适合正在调试分切机、复合机、涂布机等卷材设备的电气工程师、自动化集成商,以及需要把张力控制从“能动”升级到“稳准快”的产线技术负责人。
2. 张力控制不是调PID:从物理模型到PLC算法的三层拆解
张力控制常被简化为“给个设定值,调几个PID参数”,但双轴系统里,张力根本不是独立变量——它由电机扭矩、材料线速度、卷径变化、惯性力矩共同决定。本程序的算法设计严格遵循这一物理本质,分三层实现:模型层(卷径与张力关系)→ 计算层(实时扭矩指令生成)→ 执行层(模拟量输出映射)。每一层都对应PLC中一个独立FC块,且所有关键参数均可在触摸屏上在线修改、曲线监控。下面逐层说明其设计逻辑与代码实现依据。
2.1 卷径实时估算:不用编码器也够用的“伪闭环”策略
传统方案依赖张力传感器或高精度卷径检测轮,成本高、易磨损。本程序采用双编码器差分法+线速度积分修正的混合估算策略:
- 前轴编码器测材料线速度 $v$(单位:m/min);
- 后轴编码器测当前卷取电机转速 $n$(单位:rpm);
- 已知初始卷径 $D_0$(mm)和基材厚度 $t$(mm),则当前卷径估算公式为:
$$ D = \sqrt{D_0^2 + \frac{4t \cdot v \cdot t_{\text{run}}}{\pi \cdot n}} $$
其中 $t_{\text{run}}$ 为累计运行时间(min),该公式在PLC中以浮点运算FC实现,每100ms刷新一次。
提示:该公式假设材料均匀缠绕、无滑差。实际部署时需在触摸屏设置“卷径校准偏移量”(±5mm可调),用于补偿初始测量误差或材料压缩变形。
// FC101: 卷径估算函数块(TIA Portal V15.1, S7-200 SMART) // 输入:IN_Vel_MPM(线速度,m/min)、IN_MotorRPM(电机转速,rpm)、 // IN_InitDia(初始卷径,mm)、IN_Thickness(基材厚度,mm)、IN_RunTime(运行时间,min) // 输出:OUT_CurrDia(当前卷径,mm) // 步骤1:计算缠绕长度 L = v * t_run L := IN_Vel_MPM * IN_RunTime; // 单位:米 // 步骤2:换算为毫米并代入公式(注意单位统一) L_mm := L * 1000; D_sq := (IN_InitDia * IN_InitDia) + (4.0 * IN_Thickness * L_mm) / (3.1415926 * IN_MotorRPM); IF D_sq > 0.0 THEN OUT_CurrDia := SQRT(D_sq); ELSE OUT_CurrDia := IN_InitDia; // 防止负数开方,回退至初始值 END_IF;这段代码的关键在于单位强校验:所有输入参数必须按约定单位传入(如线速度必须是m/min而非m/s),否则结果偏差会指数级放大。我一般会在FC入口加ASSERT型诊断逻辑(非强制,但调试期必开),当IN_MotorRPM < 1.0时触发报警,避免启车瞬间因转速为0导致除零错误——这是某次凌晨三点产线停机的血泪经验。
2.2 张力-扭矩转换:把“想要多少牛·米”翻译成PLC能懂的语言
张力设定值(N)本身不能直接驱动电机,必须转换为对应轴所需的输出扭矩(N·m)。本程序采用分段线性查表+斜率补偿方式,兼顾精度与扫描周期压力:
- 查表依据:变频器手册中“输出扭矩 vs 频率/电流”特性曲线;
- 补偿项:加入卷径变化带来的惯性补偿 $\Delta T = J \cdot \alpha$,其中 $J$ 为转动惯量(kg·m²),$\alpha$ 为角加速度(rad/s²);
- 最终输出扭矩 $T_{\text{out}} = T_{\text{tension}} + \Delta T_{\text{inertia}}$。
该逻辑封装在FC102中,输入为张力设定值(N)、当前卷径(mm)、加速度(m/min²),输出为归一化0–100%扭矩指令(供后续模拟量输出使用)。
// FC102: 张力-扭矩转换(含惯性补偿) // 输入:IN_TensionSet(设定张力,N)、IN_CurrDia(当前卷径,mm)、 // IN_Accel_MPM2(线加速度,m/min²)、IN_Inertia_KgM2(转动惯量,kg·m²) // 输出:OUT_TorquePct(扭矩指令百分比,0.0–100.0) // 步骤1:基础张力转扭矩(查表,此处简化为线性映射,实际项目替换为DB查表) // 假设:100N张力 ≈ 30%额定扭矩(需根据电机/变频器实测标定) BaseTorquePct := (IN_TensionSet / 100.0) * 30.0; // 步骤2:惯性补偿(单位换算:加速度 m/min² → rad/s²) Accel_RadS2 := (IN_Accel_MPM2 / 60.0 / 60.0) * (2.0 * 3.1415926) / (IN_CurrDia / 1000.0 / 2.0); InertiaComp_Nm := IN_Inertia_KgM2 * Accel_RadS2; // 转换为百分比:假设电机额定扭矩为150Nm,则补偿占比 = (InertiaComp_Nm / 150.0) * 100.0 InertiaComp_Pct := (InertiaComp_Nm / 150.0) * 100.0; // 步骤3:合成输出(限幅0–100%) OUT_TorquePct := BaseTorquePct + InertiaComp_Pct; IF OUT_TorquePct > 100.0 THEN OUT_TorquePct := 100.0; ELSIF OUT_TorquePct < 0.0 THEN OUT_TorquePct := 0.0; END_IF;注意:IN_Inertia_KgM2不是固定值!它随卷径平方增长,程序中通过IN_CurrDia动态更新(公式 $J = J_0 + k \cdot D^2$),该系数 $k$ 存于DB10中,触摸屏可调。很多翻车案例源于此处填了“电机本体惯量”却忘了叠加卷材惯量——结果就是加减速时张力狂跳。
2.3 模拟量输出映射:让PLC的0–10V真正代表“张力”
SMART 200的AQ模块输出0–10V电压,但变频器接收的是“0–10V对应0–50Hz”还是“0–10V对应0–100%扭矩”?不同品牌差异极大。本程序在FC103中实现双模式映射切换:
- 频率模式:适用于V/F控制变频器(如台达VFD-EL),输出电压正比于目标频率;
- 扭矩模式:适用于矢量控制变频器(如汇川MD380),输出电压正比于扭矩指令百分比;
- 映射关系存储于DB10的
MapMode和MapCurve数组中,支持4点线性插值。
该模块还内置死区补偿:当输出电压在0.1–0.3V区间时,强制置0,避免变频器零点漂移导致的微小蠕动。
// FC103: 模拟量输出映射(AQ通道专用) // 输入:IN_SignalPct(0.0–100.0,来自FC102的扭矩指令)、 // IN_MapMode(0=频率模式,1=扭矩模式)、IN_VoltageMin(最小有效电压,V) // 输出:OUT_AQ_Value(AQ模块写入值,0–27648对应0–10V) // 死区处理 IF IN_SignalPct < 0.5 THEN RawVolt := 0.0; ELSE // 根据模式选择基准值 CASE IN_MapMode OF 0: // 频率模式:0–10V → 0–50Hz RawVolt := (IN_SignalPct / 100.0) * 10.0; 1: // 扭矩模式:0–10V → 0–100%扭矩 RawVolt := (IN_SignalPct / 100.0) * 10.0; END_CASE; END_IF; // 电压→AQ值转换(10V = 27648) OUT_AQ_Value := ROUND(RawVolt * 2764.8); // 强制限幅(AQ模块硬件限制) IF OUT_AQ_Value > 27648 THEN OUT_AQ_Value := 27648; ELSIF OUT_AQ_Value < 0 THEN OUT_AQ_Value := 0; END_IF;关键参数IN_VoltageMin(默认0.1V)必须根据现场变频器实测零点确定——我曾遇到一台三菱FR-D700,其0.25V以下完全无响应,但手册写的是0.1V,硬套手册导致低速张力失控。现在我的标准动作是:上电后先手动给0.1V、0.2V、0.3V…逐级测试,记录变频器实际响应阈值,再填入此参数。
3. 触摸屏人机界面:不只是显示数值,更是张力调试的“黑匣子”
SMART LINE触摸屏不是PLC的显示器,而是张力算法的调试中枢与数据看板。本资源配套HMI工程(TPC7062K,WinCC Flexible SMART)包含三大核心画面:主控页、参数整定页、趋势分析页。每个页面均绑定PLC中对应DB块,且所有变量均启用“历史数据记录”功能(采样周期100ms),确保每次张力异常都能回溯。
3.1 主控页:状态可视化优先于操作按钮
主控页顶部为双轴实时状态条(运行/停止/故障/张力偏差),中部为动态张力曲线(X轴时间,Y轴张力N),底部为关键参数只读显示(当前卷径、线速度、加速度、扭矩指令)。所有按钮均带防误触逻辑:
- “启动”按钮需连续按压2秒才生效;
- “张力清零”需输入密码(默认1234);
- 故障复位后自动进入“张力保持模式”(维持当前扭矩5秒,防止突加负载)。
注意:曲线图Y轴范围不固定,而是根据最近30秒张力波动自动缩放(±20%设定值),避免小波动被压缩不可见。该逻辑在HMI脚本中实现,非PLC计算。
3.2 参数整定页:把PID调参变成“填空题”
传统PID整定依赖经验试凑,本页将关键参数结构化呈现:
- 基础设定区:张力设定值(N)、线速度上限(m/min)、加减速时间(s);
- PID参数区:P增益(0.1–10.0)、I时间(1–300s)、D微分时间(0–5s),每项旁附“推荐值”下拉菜单(按材料类型:薄膜/纸张/金属箔);
- 高级补偿区:卷径校准偏移(mm)、惯性补偿系数(kg·m²/mm²)、模拟量死区(V)。
所有参数修改后,PLC中对应DB块立即更新,并触发FC104执行“参数一致性校验”:例如,若P增益>5.0但I时间<10s,则弹窗提示“易振荡,建议I时间≥30s”。
3.3 趋势分析页:用100ms粒度还原张力失控瞬间
该页是调试最常用页面。用户可选择任意时间段(最长72小时),查看以下6条曲线叠加:
| 曲线名称 | 数据来源 | 用途 |
|---|---|---|
| 实际张力 | PLC采集张力传感器(或估算值) | 主观判断是否达标 |
| 设定张力 | HMI设定值 | 对比跟踪误差 |
| 线速度 | 编码器高速计数 | 分析速度变化对张力影响 |
| 卷径变化 | FC101输出 | 判断估算是否失真 |
| 扭矩指令 | FC102输出 | 看PLC是否给出合理指令 |
| 模拟量输出 | FC103输出 | 排查AQ模块或接线问题 |
每条曲线支持点击展开详细数值表(含时间戳),并可导出CSV供MATLAB进一步分析。某次客户反馈“启车时张力超调30%”,我们用此页定位到:卷径估算在0–5秒内滞后2秒,导致FC102误判为“大卷径需大扭矩”,根源是编码器信号滤波时间常数设为500ms(应≤100ms)。
4. 避坑指南:双轴张力调试中最容易踩的五个“静默陷阱”
张力控制失效往往没有明显报错,而是表现为“偶尔断带”“套色不准”“收卷端面不齐”等隐性问题。这些现象背后,常是几个PLC程序层面的静默陷阱。以下是我在十余个分切机项目中反复验证的五大高频坑点,按“现象→原因→解决”结构列出,每一条都对应本资源中的预置防护逻辑。
4.1 现象:启车瞬间张力飙升,随后缓慢回落
原因:卷径估算起始值IN_InitDia设置过大(如设为满卷直径),而FC101公式中 $D_0^2$ 项主导初期计算,导致初始扭矩指令虚高。
解决:在HMI“参数整定页”中,IN_InitDia必须设为空芯卷直径(通常为76mm或152mm),并在“主控页”点击“卷径校准”按钮(自动重置为当前值)。本资源DB10中已预置InitDia_Default := 76.0,首次下载后务必核对。
4.2 现象:恒速运行时张力缓慢爬升,持续10分钟以上
原因:线速度信号受干扰,编码器脉冲丢失导致IN_Vel_MPM计算值偏低,FC101误判为“材料堆积”,持续增大卷径估算值。
解决:检查编码器屏蔽线接地(单点接地!)、PLC高速计数器滤波时间(设为2μs–10μs)、以及FC101中增加脉冲丢失检测:当连续3次扫描周期内IN_Vel_MPM变化<0.1m/min,触发“速度信号异常”报警并冻结卷径更新。本资源已在FC101中嵌入该逻辑(使能位DB10.SpeedLossEn := TRUE)。
4.3 现象:加减速时张力波动剧烈,但恒速稳定
原因:惯性补偿系数IN_Inertia_KgM2未随卷径动态更新,仍使用电机本体惯量(约0.02 kg·m²),而满卷时总惯量可达5.0 kg·m²以上。
解决:确认DB10中InertiaCoeff(惯性系数,单位kg·m²/mm²)已正确填写(典型值:0.0001–0.0005),且FC102中调用CalcDynamicInertia()函数(基于IN_CurrDia实时计算)。本资源默认InertiaCoeff := 0.0002,首次调试需用公式 $J_{\text{total}} = J_{\text{motor}} + k \cdot D^2$ 实测验证。
4.4 现象:触摸屏显示张力正常,但实际材料打滑
原因:模拟量输出映射模式选错——变频器设为“扭矩控制模式”,但PLC中IN_MapMode仍为0(频率模式),导致0–10V仅控制频率,未激活扭矩闭环。
解决:在HMI“参数整定页”确认MapMode与变频器控制模式严格一致;并用万用表实测AQ输出端电压,对比变频器端子电压(排除接线压降)。本资源在FC103开头添加模式自检:若IN_MapMode=0但变频器参数P00.01≠1(以汇川为例),则DB10中WarnCode := 101(映射模式不匹配)。
4.5 现象:多台同型号设备,仅某台张力响应迟钝
原因:PLC系统时钟不同步,导致FC101中IN_RunTime累计误差(SMART 200掉电后时钟漂移可达±2分钟/天),卷径估算整体偏移。
解决:在HMI“主控页”添加“时钟同步”按钮,点击后调用PLC系统函数SET_RTC,从HMI获取当前时间并写入PLC实时时钟。本资源已预置该功能,首次上电后必须点击一次。
5. 进阶技巧:用“张力偏差直方图”替代经验调参
调PID不是玄学,而是数据工程。本资源最值得深挖的进阶功能,是隐藏在HMI“趋势分析页”下的张力偏差直方图(Tension Deviation Histogram)。它不展示原始曲线,而是统计过去24小时内,张力实际值与设定值之差(ΔT = T_actual − T_set)落在各区间内的频次,生成柱状图。横轴为偏差区间(如−5N, −3N, −1N, 0N, +1N, +3N, +5N),纵轴为发生次数。
5.1 直方图背后的调试逻辑
为什么看直方图比看曲线更高效?因为:
- 曲线看瞬时:可能错过高频小幅波动;
- 直方图看分布:揭示系统固有偏差倾向(如长期偏正说明P增益不足,偏负说明I作用过强);
- 量化替代感觉:“感觉张力有点松” → “−2N至−1N区间发生频次占总采样35%”。
本资源中,直方图数据由PLC在DB10中实时累加(每100ms采样一次,按偏差四舍五入到最近整数N),HMI每5分钟读取一次并刷新图表。关键参数如下表:
| 参数名 | DB地址 | 默认值 | 说明 |
|---|---|---|---|
Hist_BinWidth | DB10.DBD100 | 1.0 | 偏差分档宽度(N) |
Hist_MinDev | DB10.DBD104 | -10.0 | 最小偏差(N) |
Hist_MaxDev | DB10.DBD108 | +10.0 | 最大偏差(N) |
Hist_ResetTime | DB10.DBD112 | 86400 | 自动清零周期(秒,即24小时) |
5.2 三步法用直方图精准调参
第一步:建立基线(Baseline)
新设备上线后,先以保守参数(P=1.0, I=120s, D=0)运行8小时,导出直方图。理想基线应呈近似正态分布,峰值在0N附近,±2N内覆盖≥85%采样点。若峰值偏移,说明存在系统性偏差(如传感器零点漂移),需先校准硬件。
第二步:定向优化(Targeted Tuning)
- 若直方图右偏(正偏差多):说明响应慢,张力追不上设定值 →增大P增益(每次+0.5),观察峰值是否左移;
- 若直方图左偏(负偏差多):说明过调,张力超调后回落 →减小P或增大I时间(I每次+30s),抑制超调;
- 若直方图宽而扁(±5N外频次高):说明抗扰动差 →启用D微分(从0.5开始),增强对加减速扰动的抑制。
第三步:验证鲁棒性(Robustness Check)
参数调整后,进行“阶梯式线速度测试”:在HMI中设置速度从30→60→90→60→30 m/min循环,每阶段运行5分钟,导出新直方图。合格标准:各速度段下,±2N内覆盖率均≥80%,且无单侧长尾(如+5N外频次突增)。
从那以后我每次交付新设备,都强制走一遍这三步:先跑基线直方图,再定向调参,最后阶梯速度验证。哪怕客户催得急,我也坚持留出2小时做这个——因为张力失控的代价,远高于2小时调试时间。希望帮到你。
本文还有配套的精品资源,点击获取