S7-300用FB41PID控制流量和压力,如何编写0B100初始化程序?

我调用FB41块,没有编写OB100,用plcsim模拟,手动输出正常变化,自动 man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。
请问高手:如何编写0B100初始化程序?是否要把整定好的比例数值、积分时间、微分时间等送入数据块中。请求发图片给我,并加文字说明。谢谢老师!!!

最佳答案

A、一般不需编写OB100。
B、FB41的PID:
 一、在ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以
  二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:
  1、MAN_ON:用一个bool量,如m0.0,为true则手动,为false则自动;
  2、cycle:T#100MS,这个值与ob35默认的100ms一致;
  3、SP_INT:MD2,是hmi发下来的设定值,0-100.0的范围,real型;
  4、PV_IN:md6,实际测量值,比如压力,要从piw×××转换为0-100.0的量程;
  5、MAN:MD10,op值,也就是手动状态下的阀门输出,real型,0-100.0的范围;
  6、GAIN:md14,Pid的P啊,默认写1-2吧(系统默认是2),调试的时候再改
  7、TI:MW20,pid的i啊.默认写T#30S吧,调试的时候改;
  8、DEAD_W:md22,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;
  输出:
  9、LMN:MD26,0-100。0,最终再用fc106转换为word型move到pqw×××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。
  三、用plcsim模拟
  1、手动
  man_on=true,看输出是否等于man;
  2、自动
  man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。 
C、如果需要反作用,有三种方法:
a、pv和sp颠倒输入
b、p值用负的
c、输出用100减
D、如何设置参数,见同类问题的答案:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=93638&cid=1029
在PID中有不同的物理量,例如温度、压力及阀门开度等,它们的量纲单位均不同,所以要进行规格化工作。详见:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=91039&cid=1029

提问者对于答案的评价:
OK

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc226045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午1:19
下一篇 2018年12月1日 上午1:19

相关推荐