找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1。PID是一种控制算法,是比例作用P、积分作用I、和微分作用D的总称。这三个作用可合成和分离成PI、PD,和PID这几个作用。
2。先看一下PID的模拟算法公式:
e(t)=SP(t)-PV(t);
OUT(t)=GAIN * e(t)* (1+* T/TI+TD/T);
OUT(t)=LMN_P+LMN_I+LMN_D
其中:LMN_P=GAIN * e(t);即比例作用项P
LMN_I=GAIN * e(t)* T/TI;即积分作用项I
LMN_D=GAIN * e(t)* TD/T;即微分作用项D
公式中,T=采样时间;e(t)=偏差值;TI=积分时间;TD=微分时间;GAIN=比例增益;
由此可知,PID的运算输出是OUT(t)是比例作用项P(LMN_P)、积分作用项I(LMN_I),和微分作用项D(LMN_D)三项同时作用的总和。
3。请注意:在计算机中(包括PLC)中,PID运算公式采用的是离散化的数字算法。数字PID算法公式通过对本次OUT(t)和上次OUT(t-1)PID的输出值的比较递推运算,易于软件编程实现。而数字PID算法公式的表达又分为位置式和增量式两种。
4。关于数字PID算法公式较多,在此不便列出。数字PID算法相关方面的知识,可在网上搜寻。我在此发送一些资料给你,请你在注册的Email中查收。
使用FB41进行PID调整的说明:
http://bbs.cechina.cn/Upload/2009/3/27/dac87d63-d7e2-4d3f-a706-213dadd48a14.doc
FB 41, FB 42, FB 43
这些 FB 块是通用的用户程序块,可以在所有CPU(S7-300, S7-400)中运行。
SFB 41, SFB 42, SFB 43
这些 SFB 块是被集成到CPU的操作系统中的,在 S7-300 CPU 中类型为 313C 和 314C的CPU中和C7设备中集成有这些系统功能块。
关于上述功能块的描述可以在下面的文档中找到:
参考手册“S7-300/400 系统软件和标准功能”, 第二卷, 第27章 (条目号: 1214574);
手册 “S7-300 自动化系统 CPU 31xC 技术功能” (条目号: 12429336)。关于SFB的例程用户可以在“Info”链接的路径下下载自解压文件。
手册 "SIMATIC 用于 S7-300/400 的标准软件 PID 控制" (在 STEP7 中的“STEP 7 - PID Control”手册可以在中“Start > SIMATIC > Documentation > ...”)。
通过在线帮助获得于块相关的信息。
1 ) 手册 “STEP 7 - System Software for S7-300/400 System and Standard Functions” 可以在“开始 > SIMATIC > Documentation > ...”中找到。
用于PID 调节的功能块可以在 STEP 7 Standard Library (SIMATIC Manager: "File > Open > Libraries > ...")中的 “PID Control Blocks” (FBs) 文件夹 或 “System Function Blocks” (SFBs) 文件夹中找到。
条目号:16532187 日期:2006-11-30
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=16532187
FB41称为连续控制的PID用于控制连续变化的模拟量,与FB42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。 PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST; PID的调用可以在OB35中完成,一般设置时间为200MS,一定要结合帮助文档中的PID框图研究以下的参数,可以起到事半功倍的效果 以下将重要参数用黑体标明.如果你比较懒一点,只需重点关注黑体字的参数就可以了。其他的可以使用默认参数。
A:所有的输入参数:
COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
MAN_ON: BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;
PEPER_ON: BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用 PIW规格化后的值(常用),因此,这个位为FALSE;
P_SEL: BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;
I_SEL: BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;
INT_HOLD BOOL:积分保持,不去设置它;
I_ITL_ON BOOL:积分初值有效,
I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;
D_SEL : BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;
CYCLE : TIME:PID采样周期,一般设为200MS; SP_INT: REAL:PID的给定值;
PV_IN : REAL:PID的反馈值(也称过程变量);
PV_PER: WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐) MAN : REAL:手动值,由MAN-ON选择有效;
GAIN : REAL:比例增益;
TI : TIME:积分时间;
TD : TIME:微分时间;
TM_LAG: TIME:我也不知道,没用过它,和微分有关;
DEADB_W: REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM: REAL:PID上极限,一般是100%;
LMN_LLM: REAL:PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%);
PV_FAC: REAL:过程变量比例因子
PV_OFF: REAL:过程变量偏置值(OFFSET)
LMN_FAC: REAL:PID输出值比例因子;
LMN_OFF: REAL:PID输出值偏置值(OFFSET);
I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效;
DISV :REAL:允许的扰动量,前馈控制加入,一般不设置;
B:部分输出参数说明:
LMN :REAL:PID输出;
LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果)
LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果)
LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)
C:规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化 规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT 对于输出变量 ,执行:LMN*27648/100,然后将结果取整传送给PQW即可;
D:PID的调整方法:一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可, 一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡 的周期,然后设置I为振荡周期的0.48倍应该就可以满足大多数的需求。我记得网络上有许多调整PID的方法,但不记得那么多了,先试试吧。 附录:PID的调整可以通过“开始-SIMATIC-STEP7-PID调整”打开PID调整的控制面板,通过选择不同的PID背景数据块,调整不同回路的PID参数。
实例已发到你邮箱,请收下
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!