『7x24小时有问必答』

  建立变量
编写SCL程序

▼ ①  第2行 (数据格式转换):
从模拟量通道读进来的反馈值是整数数字,没办法做小数加减运算,先转换成带小数点的实数,放到临时缓存备用

▼ ②  第3行(压力量程换算):

(最关键一行)
反馈过程值  := (反馈过程值临时存储  - 921.0) / 4700.0 * (PID上限  -  PID下限) +  PID下限921、4700:西门子AI模块4mA、20mA对应采集原始数值,对应这款压力变送器实测标定区间
例如:PID上限165、下限0;当前原始值=2810
(2810-921)÷4700 ×165 = 66.3MPa,这个结果就是反馈过程值,触摸屏显示的实时水压就是这个数字

▼ ③  第4行(算压差):
设定水压0.5MPa,现在实际管内水压只有0.3MPa
当前误差 = 0.5 - 0.3 = +0.2,正数代表压力偏低,需要PID加大输出、变频器提速增压

▼ ④  第5-9行(判断死区逻辑):
取绝对值,不管压差正数负数只看差值大小;
判定条件:死区设定0.5,压差<0.5以内 → 判定压力正常小幅波动
执行:PID输出调节力度直接赋值0,不做任何调节动作
压差超出死区范围,正式执行PI运算公式
积分*当前误差:积分I调节,固定差值持续存在时,积分慢慢累加调节输出,消除静态压差

▼ ⑤  第10行(监控调节力度大小):
中转赋值:把PI公式算出来的调节力度,传递给对外输出端口,触摸屏可以实时监控调节力度大小

▼ ⑥  第11-15行(调机上下限幅度):
锁住PID调节最大、最小输出幅度,防止PID运算失控
调节力度超标上限,强制封顶最大值,变频器不会频率拉满超速运行
调节力度低于下限,强制最低输出,变频器不会降到0Hz停机
适配供水场景:限制变频器运行区间20Hz~50Hz,避免低速缺水、高速过载

▼ ⑦  第16行(误差缓存):
本次扫描周期的压差,保存下来,等到下一轮PLC循环运算,当做「上次误差」对比使用,P运算必须依靠前后两次差值

▼ ⑧  第17行(缓存本次输出力度):
缓存本次输出力度,留给后续周期运算备用
▼ ⑨  第18行(反馈数据):
输出量程反向换算
输出过程值临时存储  := (输出控制值  -  PID下限) / (PID上限  -  PID下限) * 27648.0 + 0.0;
反向换算,和第3行反过来计算
把MPa单位的调节数值,换算成0~27648区间的标准小数数值
例如:PID需要输出80%开度,对应数值换算成 22118.4

▼ ⑩   第19行(模拟量输出给变频器):

格式转换:浮点小数 → 整型数字,只有整数才能送入QW80模拟量硬件输出通道,最终输出对应电流给到变频器
调用FB块
1、%IW64:P 反馈值:AI模拟量输入通道,外接水压4-20mA变送器,源源不断读取管道压力原始数字
2、MD36 p值、MD32 积分、MD28设定值、MD40 PID下限:全部MD存储区,威纶通或者其他触摸屏绑定这些地址,现场操作工屏幕直接修改P、积分、目标压力参数,不用下程序改参数
3、固定常数引脚:PID死区0.5、PID上限165.0,程序写死固定参数
4、MD20 输出控制值:PID调节力度,可触摸屏监控查看
5、MD24 反馈过程值:实时水压MPa数值,触摸屏画面水压数值就是读取这个地址
6、%QW80:P PID输出:AO模拟量输出硬件通道,输出4~20mA电流给变频器,电流大小对应变频器运行频率,水压低输出电流变大、变频器提速增压

好文分享:以下是所有文章合集,大家需要学习哪方面的内容可以参照学习,后续一直都为大家持续更新
  不同网盘链接如下,大家需要的可以先转存,防止链接过期
百度网盘案例链接:
夸克网盘案例链接:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码