当前位置: 首页 > news >正文

西门子博途1200-V/N积分法卷径计算功能块(SCL源代码)在收放卷设备中的应用

西门子博途1200-V/N积分法卷径计算功能块(SCL源代码)收放卷设备应用

收放卷设备里卷径计算绝对是核心算法,玩过张力控制的老铁都知道,这玩意儿要是算不准,轻则材料起皱,重则直接断带。今天咱们扒一扒西门子1200 PLC里用V/N积分法实现的卷径计算,手撕代码看它怎么玩转这个工业难题。

先看功能块本体长啥样:

FUNCTION_BLOCK FB_VN_DiameterCalc VAR_INPUT Enable: BOOL; //使能信号 LineSpeed_REAL: REAL; //线速度(m/min) MotorRpm_REAL: REAL; //电机转速(rpm) MaterialThickness: REAL := 0.1; //材料厚度(mm) END_VAR VAR_OUTPUT Diameter_REAL: REAL; //实时卷径(mm) END_VAR VAR tTimer: TON; //积分周期定时器 fIntegralValue: REAL := 0.0; //积分累加值 END_VAR

这里藏着个骚操作——用1秒定时器做积分周期(tTimer定时器预设值设成T#1S)。每次定时到就把当前线速度和转速的比值累加到fIntegralValue里,这步操作相当于做了个离散积分:

tTimer(IN:=Enable); IF tTimer.Q THEN fIntegralValue := fIntegralValue + (LineSpeed_REAL * 1000) / (MotorRpm_REAL * 3.1416); tTimer(IN:=FALSE); END_IF;

重点来了!换算系数1000是把米转毫米,3.1416是π的近似值。这里隐藏着卷径计算公式的核心变形:

直径 = (线速度×1000)/(π×转速)

但直接这么算会得到瞬时直径,实际生产中线速度和转速都有波动。这时候积分法的优势就出来了——把一段时间内的速度关系累加起来求平均,相当于自带滤波效果。

材料厚度补偿才是真功夫:

Diameter_REAL := SQRT( (SQR(MaterialThickness * 2) * fIntegralValue) / (MaterialThickness * 0.001) );

这串看着像天书的公式其实在玩几何级数展开。材料每卷一层,直径就增加2倍厚度(所以有MaterialThickness*2),平方处理是把环形面积变化考虑进去。这里有个暗坑:材料厚度单位是毫米,而线速度是米/分钟,记得做好单位转换(0.001就是干这个的)。

现场调试时得注意几个点:

  1. 初始卷径别设成0,至少给个空卷芯直径
  2. 材料厚度波动超过5%就得考虑动态补偿
  3. 速度信号要做死区处理,建议加个转速低于10rpm不计入积分

实测数据对比传统方法,积分法在加减速段的直径跟踪误差能降低40%以上。特别是处理弹性材料时,用这个算法张力波动明显平缓很多。不过要小心振动干扰——有一次现场电机编码器线松了,转速信号跳变,结果算出来的卷径直接表演了个过山车曲线...

完整代码里其实还埋了个彩蛋:当检测到卷径突变超过20%时,会自动切换为速度跟随模式并触发报警。这个异常处理机制才是工程落地的关键,毕竟产线可不会给你机会慢慢看报警日志。

最后扔个调试小技巧:把积分值乘以材料厚度实时输出到HMI曲线,你会看到一条完美的指数曲线——这说明算法在正确跟踪卷径变化。如果曲线出现阶梯状,赶紧检查编码器信号或者机械传动吧!

http://www.cnnetsun.cn/news/115389.html

相关文章:

  • 如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次
  • 基于MPC的永磁同步电机非线性终端滑模控制仿真研究
  • ISSA - CNN - BiLSTM多输入单输出回归的Python实现与改进
  • Q学习(Q-learning)路径规划算法实战
  • ANSYS/LS - dyna防爆涂层砂浆砖框架结构爆破荷载损伤响应案例探索
  • 基于TOA/FOA的无源定位方法MATLAB仿真探索
  • 基于一致性算法改进的自适应虚拟阻抗控制:解决双机并联功率分布不均
  • springboot框架对接物联网,配置TCP协议依赖,与设备通信,让TCP变的如此简单
  • 微软和布朗大学最新发现:让AI助手拥有18000多种技能的革命性突破
  • MATLAB仿真:二维TOA传感器网络定位与时钟偏差拟合,最小二乘求解
  • 【参数辨识】基于卡尔曼滤波(KF)估计离散线性系统对垂直起降(VTOL)飞行器的鲁棒辨识附matlab代码
  • 桥梁与隧道安全守护者 抗冰冻型风速监测方案
  • 05-FreeRTOS的内存管理
  • 基于改进蛇优化算法(GOSO/ISO)优化随机森林数据回归预测模型(含初始化种群混沌映射、减法...
  • 基于大数据的人脸识别系统设计与实现开题报告
  • 车载 Android 系统稳定性问题全解析:从性能到黑屏的排查指南
  • 气象在线监测系统助力智慧环境管理,金叶仪器专业气象监测解决方案
  • 【TVM 教程】交叉编译与 RPC
  • 腾讯云国际站代理商的QAPM服务能提供哪些专属服务?
  • 网安副业怎么选?漏洞挖掘、技术博客、竞赛奖金实战,哪个更适配你?
  • 量子计算验证方法:软件测试从业者的转型指南
  • 突破 Oracle/MySQL 瓶颈:金仓数据库以三重革新,筑牢业务转型 “数据底座”
  • 【学习神器】NotebookLM“播客”功能实战指南:四六级、考研党高效复习秘籍
  • 如何解决 pip install 网络报错 ERROR: No matching distribution found for requests
  • 12 Ways to Find User Account Info and Login Details in Linux
  • 紧急警告:错误的导出格式正毁掉你的量子实验成果,速查正确方式
  • 35 岁职场焦虑蔓延?为什么网络安全行业越老越值钱?
  • 内网渗透实战干货:12 个优质靶场平台精选,附避坑指南 + 实操技巧合集!
  • 新型电力系统下多分布式电源接入配电网承载力评估方法研究附Matlab代码
  • 50天学习FPGA第16天-verilog的模块与端口