RT,使用上需要注意什么?
我在手动值设定,只能设定0-100吗?可以设置超出这个范围的数吗?
LMN-HLM和LMN-LLM,这两个参数只是限制我的设定值对吗?因为我改变这两个值的范围时,MAN不变,输出LMN-PER不变,那我怎样在MAN不变的情况下,怎样让输出LMN-PER改变?或者说,怎么样改变手动值取值的范围?
问题补充:
DEADB_W死区是什么概念,比如我把它设定10,上下限是0-100,那死区是从哪开始到哪结束?实际值进去死区后会怎样?
最佳答案
一、FB 41, FB 42, FB 43
可以下载的 FBs 适合所有的 CPU (S7-300, S7-400)。
SFB 41, SFB 42, SFB 43
这些 SFB 集成于类型为 313C /314C 和 C7 系列S7-300 CPU中。
在 STEP 7 标准库 (SIMATIC Manager: "File > Open > Libraries > ...") "PID Control Blocks" (FBs) 目录 or "System Function Blocks" (SFBs) 目录中可以这些功能块。
二、不只是0-100这个范围,也可以是物理量(当使用物理量是要与PV_IN采用同样量程),一般情况设置范围-100%-100%。两个设定值,一个是内部设定值,一个是手动值,SP_INT 是PID控制器的设定值给定,MAN是手动时的强制输出值0-100.0%或-100.0%-100.0%对应阀的开度。
三、LMN_HLM和LMN_LLM不仅只限制你手动的设定值,还在自动模式也起限制作用。当然这两个值改变是会影响MAN的取值范围;当MAN超过LMN_HLM上极限时,MAN的值就等于LMN_HLM,并且信号位QLMN_HLM(输出超出上限)变为1;当MAN小于LMN_LLM下限值时,MAN的值就等于LMN_LLM,并且信号位QLMN_LLM(输出超出下限)变为1。
四、控制器输出如果送给模拟量输出模块的D/A转换器,通过CPR_OUT功能转换为外围设备(I/O)格式的变量LMN_PER.转换公式为:LMN_PER=LMN*27648/100,可以直接把LMN_PER送给PQW***(如PQW512)。
五、怎样在MAN不变的情况下,怎样让输出LMN-PER,改变或者说,怎么样改变手动值取值的范围?其实很简单,上面已经说得很清楚,只需要更改LMN_HLM和LMN_LLM即可限制MAN手动输入值的范围。LMN_PER=LMN*27648/100,可以直接把LMN_PER送给PQW***(如PQW512),当然也可以调用FC106将LMN传给PQW***。
六、DEADB_W死区又叫死区宽度,在控制系统中,某些执行机构如果动作频繁,会导致小幅震荡。我们允许被控量的误差大小,被称为PID的死区宽度。
当误差的绝对值小于 死区宽度 时,死区非线性的输出量(即 PID控制器的输入量)为0 ,这时PID 控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID的输出保持不变,PID控制器起不到调节作用;当误差的绝对值超过 死区宽度 时 ,开始正常的PID 控制在FB41 中,死区宽度是“DEADB_W”
PID的输入量 = 0 偏差的绝对值|ev|< "DEADB_W"
= ev 偏差的绝对值|ev|>= "DEADB_W"
在FB41 中 你设 死区为 0.5 就能做到你的要求“际值如果是1.2,设定1.4,差为0.2,不调节。设定值如果为1.8,差值为0.6,就开始调节。”
提问者对于答案的评价:
非常感谢!辛苦了,真想多给你加几分。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250115.html