收藏 分销(赏)

湖北大冶PID参考--参考用西门子_s7_300实现PID控制.doc

上传人:xrp****65 文档编号:7672953 上传时间:2025-01-11 格式:DOC 页数:9 大小:45KB
下载 相关 举报
湖北大冶PID参考--参考用西门子_s7_300实现PID控制.doc_第1页
第1页 / 共9页
湖北大冶PID参考--参考用西门子_s7_300实现PID控制.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
用西门子 s7_300实现PID控制 在OB35中实现PID控制程序,OB35是一个以固定时间间隔循环执行的组织块,Hardware Config界面里可以设置间隔时间,而这也即是PID的采样时间。 应该注意设置的间隔值比OB35中程序运行时间长,否则会造成系统异常。 我想了解FB41设定值SP_INT的值和PV_IN的设定规则。例如我现场用量程是-40度-120度的温度变送器测温送给PLC,然后通过PID控制输出控制调节阀。那么我的SP_int能不能直接设定我工艺要求的温度,比如说80度。因为我已经把温度变送上来的0-27648的数转换成了工程值(上位机显示),PV_IN能不能直接用我转换好的工程值呢? 在PID调节中有不同的物理量,因此在参数设定中需将其规格化: 1.规格化概念及方法:   PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,   而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的   因此,需要将模拟输入转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化     规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)   对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT   对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可;  2.例: 输入参数: SP_INT(给定值):0--100%的实数。 假定模块的输入变量量程为0-10Mpa,则SP_IN的范围0.0-1.00对应0-10Mpa.可以根据这一比例关系来设置给定值。例:如给定5.0Mpa SP_INT(给定值)=5.0/(10.0-0.0)*100.0=50.0(50%) PV_IN(过程值,即反馈值):0--100%的实数。 此值来自与阀门阀位(开度)的相应的压力反馈值。其范围0.0-1.0对应0-100%.即,当模拟量模板输入为数值为27648时则对应100%(量程的上限),数值为0时则对应0%(量程的下限)。 可以根据这一比例关系来换算PV_IN值。例:如输入数值为12000时 PV_IN(过程值,即反馈值)=12000/27648*100.0=43.403(43.403%) 输出参数: 当通过PID控制器(FB41)运算后,即得出调节值LMN_PER,该值已转化范围为0-27648的整型数值。例如经运算为43.403%, LMN_PER=43.403*27648/100,取整后为12000,将LMN_PER送入模拟量输出模板即可. 上述调节阀门是"气开"式的,即输入20mA时阀门全开,4mA时全闭(失电全闭)。若调节阀门是"气闭"式的,即输入20mA时阀门全闭,4mA时全开(失电全开),FB41的SP_INT 与 PV_IN的数值互换即可(按制冷调节即可),此时如需输入MAN数值也应作相应处理。 阿鸣说的不错,但不完整,最后的建议有违人们的一般思维逻辑,能不能提出个符合一般思维逻辑的编程方法,借楼主的的问题抛出个讨论题,期望大家踊跃参与讨论 题目如下: 1.加热/制冷,正作用/反作用,气开/气闭阀这3组条件的各取其一排列组合 2.双向作用,正作用/反作用,双向阀(4-12ma加热,12-20ma制冷/或反之) 要求尽量利用FB41的自身功能完成,并且符合人们的正向思维逻辑 关于版主的这个论题贴出这么久了,还没人论答,现我来谈一下吧! 1、关于PID功能块FB41如何简单、高效的实现“正/反”控制作用的问题(例如:加热/制冷问题、如何适应气动调节阀的气开/气关方向等问题),其实在“找答案”栏目中已多次有人问答了。 2、但是,大多数人都提出了和“阿鸣”相同的方案,即:将FB41功能块的SP_INT与PV_IN的连接引脚变量互换。 3、这种将FB41功能块的SP_INT与PV_IN的连接引脚变量互换的方法虽是可行,但却使PID功能块引脚定义与实际使用不符,带来了一些混乱! 4、最好的方法是:改变GAIN(比例增益)设置值的符号方向。例如:原比例增益值GAIN=2.5;如果需要输出值(LMN)反向,可直接修改为GAIN=-2.5,即可! 5、关于PID控制正/负作用方向问题,可参见以下我在“找答案”栏目中的类似回答: 6、另外,关于版主提出的“双向和正/反作用,双向阀(4~12mADC加热,12~20mADC制冷,或反之)”问题。这在过程控制系统中称之为“分程调节”控制。也就是将PID调节输出(LMN)信号以半量程分界点(12mADC)为基准,比较判断PID调节输出(LMN)信号的正/反作用方向。   至于正/反作用方向,仍然是改变GAIN(比例增益)设置值的符号方向,只是需要增加对PID调节输出(LMN)信号值以12mADC为基准值的比较判断。 7、最后需要注意的是:分程调节控制时的半量程分界点基准值比较判断,还应增加死区(即:滞后Hysteresis)功能,以免出现PID调节输出(LMN)信号值在半量程分界点附近振荡现象! 谢谢各位,请问如果是热电阻信号的话,还是按照上面说的归格化?热电阻输入乘0.1就是实际的温度值,但是热电阻的范围怎么确定?不同情况下我外部测 温的实际范围是不同的,难道都统一处理? 还有,手册里面说也可以输入物理值,只要设定和输入都是同样的单位,是不是意味着我可以用实际的工程值给SP_iNT赋值,用实际的测量工程值给PV_IN赋值。通俗点,比如我现场要实现一个压力控制,压力测量量程是  -150Kpa~+150KPa,设定值工艺要求是10Kpa,比如现场测量的压力值是110Kpa,那么压力变送器输出4-20ma信号,送给AD采样后的值应该为0-27648这个范围,我再经过FC105转换后的数据就是110Kpa,那么我能不能直接把设定值10Kpa赋值给sp_int,把采样转换后的值110Kpa赋值给Pv_int? 1、设定值SP_INT是可以直接赋值实际的测量工程值单位的,前提是测量值也必需是先被转换为实际的测量工程值单位(例如:使用FC105块)后,再接入FB41块的PV_IN引脚。否则,SP_INT和PV_IN的单位就不统一了,没法进行偏差ER比较!总之,必需保持SP_INT和PV_IN的单位统一,才能进行偏差ER比较。 2、关于热电阻温度信号值的范围(即:PV_IN的测量量程),这就必需查看实际安装在现场的热电阻传感器的铭牌标识,厂家通常会将这个测温量程参数标识在铭牌上的! 谢谢!若直接采用工程值,那么pid调节后的LMN输出范围是多少呢?是0-1之间吗?为什么有人说必须规格化?有没有人提供个实例程序啊 关于S7-300/400系列FB41功能块的PID算法输出有LMN和LMN_PER这两个,简述如下: 1、LMN=(LMNLIMIT的输出)×LMN_FAC+LMN_OFF; 其中,“LMN_FAC”的默认值为“1”,“LMN_OFF”的默认值为“0”。 2、“CPR_OUT”功能可以将浮点值“LMN”转换为一个外围设备值,转换公式如下: LMN_PER=LMN×27648/100 3、另外,查看FB41的帮助(F1键)中的功能图表后,就知道了!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服