S7-200PLC程序电子皮带秤自动配料系统PID模糊控制 我们主要的后发送的产品有,带解释的...

张开发
2026/4/5 11:26:15 15 分钟阅读

分享文章

S7-200PLC程序电子皮带秤自动配料系统PID模糊控制 我们主要的后发送的产品有,带解释的...
S7-200PLC程序电子皮带秤自动配料系统PID模糊控制 我们主要的后发送的产品有带解释的梯形图接线图原理图图纸io分配组态画面上周帮车间里的老皮带秤配料系统改了个新程序本来老系统总是配料不准换料的时候误差能差个几公斤班长都要骂娘了这次用S7-200来搭的折腾了小半个月总算把误差压到0.5kg以内了今天把这套东西整理一下分享出来。先从最基础的IO分配吧毕竟接线的时候电工师傅还要对着这个表来我整理了个简单的表格都是车间里常用的点别搞那些花里胡哨的PLC地址实际功能I0.0手动/自动切换按钮I0.1系统启动按钮I0.2系统停止按钮I0.3测速编码器A相I0.4测速编码器B相I0.5物料缺料检测Q0.0主皮带接触器Q0.1配料皮带变频器启动Q0.2卸料电磁阀Q0.3红色报警灯AQW0变频器调速模拟量输出0-10V对应0-50Hz接线的时候记得把急停串在硬回路里别全靠PLC的软逻辑不然PLC死机了就麻烦了这个坑我之前踩过上次车间的老电工特意提醒我加了硬急停现在就算PLC崩了按急停直接断接触器稳得一批。接下来是核心的控制逻辑先写一下测速的部分皮带秤的核心就是算清楚当前的物料流量我用了S7-200的高速计数器HSC1来读编码器的脉冲先初始化一下// 开机第一次扫描的时候初始化高速计数器 LD SM0.1 MOVB 16#F8, SMB37 // 开启HSC1模式0上升沿计数 MOVW 0, SMD42 // 初始计数值清零 HDEF 1, 0 HSC 1这段代码就是让HSC1开始计数SM0.1是开机第一个扫描周期才执行一次别像我一开始那样每次都初始化不然计数值直接清零流量算出来全是错的当时调试的时候发现流量一直跳0查了半天发现是这个地方写错了尴尬死。S7-200PLC程序电子皮带秤自动配料系统PID模糊控制 我们主要的后发送的产品有带解释的梯形图接线图原理图图纸io分配组态画面算流量的部分其实也简单我们车间的编码器是1000脉冲/转皮带轮周长是0.5米所以转一圈皮带走0.5米也就是2000脉冲/米标定的时候我们用秤称了10kg的物料跑过1米皮带所以每米物料是10kg那流量就是当前脉冲数 / 200010转换成实际的kg/s这个公式我一开始算错了一开始写成了脉冲数10/2000后来跟仪表班的老大哥帮我调了半天总算算对了。本来我一开始用的是S7-200自带的PID指令单纯的PID但是当物料突然变多的时候比如物料突然堆积在皮带上流量一下就上来了单纯的PID参数跟不上超调特别大比如设定的流量是10kg/s实际突然变成15kg/sPID就会慢慢把变频器转速降下来但是降得太慢导致后面又配料少了后来我就加了个简单的模糊参数修正就是根据当前的误差来调整PID的Kp和Ki不用搞那种复杂的模糊推理就用几个简单的规则就行当误差e5kg/s的时候说明实际流量比设定大太多了赶紧把Kp调到3Ki调到0.05让PID快速降速减少超调当误差在0到2kg/s之间的时候就用原来的参数稳定控制当误差0的时候说明实际流量比设定小就把Kp调到1.5加快响应速度赶紧提转速加料这个模糊修正的梯形图大概是这样的// 先把设定流量和实际流量读出来 LD SM0.5 // 1秒定时器每秒采样一次 MOVW AIW0, VD100 // 设定流量放到VD100 MOVW HC1, VW200 // 把HSC1的当前值放到VW200 MOVR *VD200, VD204 // 算出来的实际流量放到VD204 // 算误差设定流量 - 实际流量 MOVR *VD100, VD208 MOVR *VD204, VD212 SUBR VD208, VD216 // VD216就是误差e // 判断误差范围 LDR VD216, 5.0 M0.0 LDR VD216, 5.0 LDR VD216, 2.0 M0.1 LDR VD216, -2.0 M0.2 // 对应修改PID参数 LD M0.0 MOVR 3.0, VD300 // Kp3 MOVR 0.05, VD304 // Ki0.05 LD M0.1 MOVR 2.0, VD300 MOVR 0.1, VD304 LD M0.2 MOVR 1.5, VD300 MOVR 0.1, VD304 // 把参数写到PID的参数块里 MOVR VD300, PID1.Kp MOVR VD304, PID1.Ki这里要注意的是我用的是S7-200的PID向导生成的PID指令参数块的地址别写错了一开始我把参数块的地址写成了VD1000结果改参数的时候直接把初始化的地址搞错了导致PID根本没改参数当时调试的时候发现参数没变化查了半天发现是地址错了尴尬到抠脚。然后是组态画面的部分我用的是KTP700的触摸屏画面上搞了几个主要的东西设定配比的输入框比如设定每批次配100kg直接输数字就行实时流量的显示用动态的数字显示实时跳着变手动调速的滑块要是自动模式坏了的时候可以手动调变频器转速报警显示区急停、缺料的时候直接亮红灯还有配料完成的时候亮绿灯历史曲线把最近1小时的流量曲线拉出来方便看配料的稳定性不用天天盯着看我当时还加了个配方功能把不同物料的配比存在PLC的V区里换物料的时候直接调用就行不用重新改程序这个功能还是挺好用的班长当时还夸了我一下。最后我把所有的东西都打包好了里面有带注释的梯形图程序每一段都标了功能比如“// 高速计数器初始化”“// 模糊参数修正”电工师傅看了也能看懂不用天天找我问接线原理图画了PLC的接线端子怎么接编码器、变频器、急停回路还有变频器的模拟量输出怎么接到PLC的AQW0这个图我用CAD画的导出了PDF和源文件下次换传感器的时候直接对着接就行IO分配表就是刚才列的那个打印出来贴在PLC柜里下次换传感器的时候直接查就行组态画面的源文件和截图还有导出的画面文件要是换触摸屏的话直接导入就行不用重新画标定手册就是怎么标定皮带秤的系数怎么调整PID的参数怎么设置模糊控制的阈值这个手册我写的很简单都是大白话比如“先按启动按钮然后设定配比等配料完成就行”连刚入职的电工都能看懂。折腾了这么久总算是把车间的问题解决了现在班长再也不用天天盯着配料不准的问题了要是大家有类似的皮带秤配料的问题也可以参考一下这个东西有啥不懂的也可以留言问我。

更多文章