西门子PID功能块说明

合集下载

西门子S7-200SMARTPID回路控制,配置PID向导,查看项目组件

西门子S7-200SMARTPID回路控制,配置PID向导,查看项目组件

西门子S7-200SMARTPID回路控制,配置PID向导,查看项目组件本篇我们继续来学习西门子S7-200 SMART的PID回路控制,首先介绍一下如何配置PID向导。

在工具菜单功能区单击PID按钮打开PID回路向导对话框,选择要组态的回路,最多可组态8个回路,这里我们选择回路0。

选择回路0在左侧的树视图中单击回路0节点,在此定义回路名称。

单击参数节点,在此设置回路参数,如果不需要比例作用,增益设置为0.0,如果不需要积分作用,积分时间设置为无穷大值INF,如果不需要微分作用,微分时间设置为0.0,采样时间是PID控制回路对反馈采样以及重新计算输出值的时间间隔,这里我们均采用默认值,后面在实验中进行自整定。

设置回路参数单击输入节点,在此指定回路过程变量的标定方式,根据外接模拟量输入情况,类型选择単极型,标定选项中设置过程变量范围0到27648,对应回路设定值范围0.0到100.0,该值是给定值占过程变量量程的百分比,在本例中也可以认为是工程量温度值。

设置输入参数点击输出节点,在此指定回路输出的标定方式,根据外接输出信号类型选择数字量,循环时间即PWM输出的周期,采用默认值0.1秒。

设置输出参数单击报警节点,在此设定回路报警选项,启用下限报警、上限报警、模拟量输入错误报警,指定报警上下限值以百分比表示,以及模拟量输入模块连接到PLC的位置。

报警参数设置单击代码节点,在此自定义向导生成的子程序和中断程序的名称,选择添加PID的手动控制,当处于手动模式时不执行PID计算,回路输出由程序控制。

单击存储器分配节点,PID向导为完成PID运算需要120个字节的位存储器,为其指定起始地址,要保证程序中没有使用这些存储器,单击建议按钮向导将自动设定当前程序中未用的位存储器,这里我们采用VB0为起始地址。

添加PID手动控制单击组件节点,在此列出了PID向导生成的组件,包括一个初始化PID的子程序、一个用于循环执行PID功能的中断程序、一个120个字节的数据页以及一个符号表,单击生成按钮完成PID向导配置,向导生成的项目组件添加到了项目中。

西门子PID功能块介绍

西门子PID功能块介绍
• SFB41/FB41 (CONT_C), 连续控制方式; • SFB42/FB42 (CONT_S), 步进控制方式; • SFB43/FB43 (PULSEGEN), 脉冲宽度调制器; 注意:SFB41/42/43,与 FB41/42/43 兼容,可以用于 CPU 313C、CPU 313C-2 DP/PTP 和 CPU 314C-2 DP/PTP 中。
6 功能块介绍 ......................................................................................................... 13 6.1 连续调节功能SFB 41/FB 41 “CONT_C”..................................................... 13
1.1 应用
借助于由你组态大量模块组成的控制器,可以完成带有 PID 算法的实际控制器。控制效率,即 处理速度取决于你所使用的 CPU 性能。对于给定的 CPU,必须在控制器的数量和控制器所需 要执行频率之间找到一个折衷方案。连接的控制电路越快,所安装的控制器数量越少,则每个
4 参数赋值工具介绍 .............................................................................................. 10 4.1 调试PID参数的用户界面 .............................................................................. 11 4.2 获取在线帮助的途径 .................................................................................... 12

西门子300中PID的使用

西门子300中PID的使用

PID的调用要在OB35中完成.在ob35里面插入FB41,方框顶上会有红字,输入一个DB块如“DB20”。

系统会问你要不要生成这个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×××转换为实际的工程量(使用FC105);5、MAN:MD10 (该地址也可以是从上位机设定的地址),是手动状态下的输入值,real型。

手动设多少输出将为多少。

6、GAIN: MD100(该地址也可以是从上位机设定的地址如DB 块的地址,这样可以从上位机设P 参数了),默认写1-2吧(系统默认是2),调试的时候再改。

7、TI:MW120, 默认可以写T#30S吧,调试的时候改;8、DEAD_W:MD122,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;输出:((死区:又叫死区宽度,在控制系统中,某些执行机构如果动作频繁,会导致小幅震荡,造成严重的机械磨损。

从控制要求来说,很多系统又允许被控量在一定范围内存在误差。

我们允许被控量的误差大小,被称为PID的死区宽度;死区是如何工作的呢?当误差的绝对值小于死区宽度时,死区非线性的输出量(即 PID控制器的输入量)为0 ,这时PID 控制器的输出分量中,比例部分和微分部分为0,积分部分保持不变,因此PID的输出保持不变,PID控制器起不到调节作用;当误差的绝对值超过死区宽度时,开始正常的PID 控制在FB41 中,死区宽度是“DEADB_W”PID的输入量 = 0 偏差的绝对值|ev|< "DEADB_W"= ev 偏差的绝对值|ev|>= "DEADB_W" ))9、LMN:MD126,把MD126再用fc106转换到pqw××,如果pid运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

西门子S7-300_400PLC的PID调节功能模块的详细说明

西门子S7-300_400PLC的PID调节功能模块的详细说明

Group Topic1Simple PID Controllers for the S7-300/400OverviewThis programming example shows a method for programming a Proportional Integral Derivative (PID) controller on a S7 PLC. The example is already a fully functioning program, needing only for the user to tie the actual inputs and outputs to appropriate variables to be a working controller. This program is suitable for simple PID applications.For complex PID applications, Siemens offers the SIMATIC S7 Standard Control software package, which offers numerous features that this applications tip lacks. These features include alarming, scaling, deadband control, feed-forward control, range limiting, ramp/soak steps, and an integrated scheduler. The Standard Control package includes a Windows-based configuration tool that greatly simplifies configuring and tuning a PID loop.To prepare a user to make these programming changes, the text will explain the basics of the PID controller implemented in the sample code. Below is a brief outline for the rest of this document:1.What does the example program do?2.Where do you use a PID controller?3.Auto Mode vs. Manual Mode4.What does a PID controller do, and how?5.What are the Sample, Gain, Rate, and Reset?6.How is the Error figured?7.How is the Proportional term figured?8.How is the Integral term figured?9.How is the Derivative term figured?10.What if the final Output is too high?11.What should the user add to make the program work for his system?12.Adjusting the Reset, Rate, Gain, Sample time and Mode during run-timePID ExploredWhat does the example program do?示例程序的用途?This programming example is a skeleton program for a true PID controller and, as such, requires that the user make a few additions (i.e. read/write input/output variables) before it is fully functional. Before discussing these, however, let’s get a better feel for what a PID program actually does through a brief example.When do you use a PID controller?Figure 2.1 shows a picture of an example system to which a user might connect a PID controller. The figure shows a water tank sitting atop a hot plate, with a temperature control device for the hot plate and a small, monitored turbine for measuring the rate of the steam flow. This is a system that will work with a PID controller because of the relationship between the two variables: You can directly control the steam flow rate by adjusting the temperature of the hot plate. Figure 2.2 shows how both variables relate to the PID controller.The variable which represents the state of the system being controlled is called the ‘Process Variable.’ In our example above, you can see that the rate at which the steam spins the turbine is a good indicator of the event that we are trying to control: the speed at which the water is being boiled off. The output is the variable which, being altered by the controller, can affect the process variable by different degrees based on its intensity -- By turning the hot plate up, the water boils more quickly, more steam is produced, and the turbine’s speed increases. Therefore, when a variable that accurately reflects the state of the process and an adjustable control which proportionally affects the process variable, then it is possible to use a PID controller. Common systems using PID controllers are air conditioning systems, solution mixing, heaters, etc.Auto Mode vs. Manual Mode自动模式和手动模式There are two settings available on our PID controller. Putting a controller in Manual mode causes the PID loop do nothing, so that the user can directly control the output. The second, Auto, is the mode in which the PID loop is actually controlling the system. For the rest of this text, it will be assumed that the controller is in Auto mode.What does the PID controller do, and how does it do it? PID控制器作些什么?如何去做?Quite simply, a PID controller adjusts the value of its output to try and balance the value of the process variable to a given ‘setpoint.’To calculate the output value for a given instance, the controller finds the value of three different terms (using its user defined Sample time, Gain, Rate, and Reset values along with the calculated Error value): a Proportional term, an Integral term, and a Derivative term.Output = M P + M I + M DFormula 2.1What are the Sample, Gain, Rate, and Reset, and where do they come from?The sample rate is the cycle time (in milliseconds) at which the PID loop recalculates the output. The gain controls the sensitivity of the output calculation by affecting the influence of all the terms. The reset is a time given in milliseconds which is used to increase or decrease the influence of the Integral term in the equation. Finally, the rate value is used to control the influence of the Derivative term in the equation. Each of these values needs to be preset by the user before the PID controller starts.If the user does not want integral action (no I in the PID calculation), then a value of infinity or a value of 0 should be specified for the integral time. If the user does not want derivative action (no D in the PID calculation), then a value of 0 should be specified for the derivative time. If the user does not want proportional action (no P in the PID), then a value of 0 should be specified for the gain (gain is normally a multiplier in the integral and derivative coefficient calculation, but is removed from the coefficient calculation, if gain = 0, to allow I, ID, or D loop control).How is the Error figured? 误差是如何计算的?Error is figured as the difference between the normalized values of the setpoint and the process variable. The controller calculates this value in three steps. The first two steps are to change both the setpoint and the process variable into values that are based on a 0 to 1 (normalized) scale. This is done using the formulae:SP = raw_SP / max_valPV = raw_PV / max_valFormulae 2.2 & 2.3In the above formulae, the raw_SP and raw_PV values are the actual values that come into the controller, and the max_val term is the maximum value that either can take on. For example, ifthe values of raw_SP and raw_PV were being read in as values from 0 to 27,648, then the max_val term would have the value 27,648.After these two values have been calculated, the error term is figured as follows:Error = SP - PVFormula 2.4How is the Proportional term calculated?The proportional term, M P, is calculated using the following equation:M P = Gain * ErrorFormula 2.2Going back to our earlier example with the water tank, the proportional term says that as the speed of the turbine increases further above the setpoint, the heat is decreased proportionally to bring the speed down. As the turbine slows below the setpoint, the heat is increased to proportionally to bring the speed up.How is the Integral Term calculated? 积分项如何计算?The integral term, M I, is calculated using the following equation:M I = Bias + (C I * Error)Formula 2.3In this equation, two new terms are introduced. The first, C I, is the coefficient系数 of the Integral term, and is calculated from the Reset:C I = Gain * (Sample / Reset)Formula 2.4Both the Sample and Reset terms were introduced earlier, but in this equation their uses become apparent. The larger the Reset value is, the less impact the integral term will have onthe output, while larger Sample times give it a bigger influence (Sample time also affects the Derivative term, which will be explained later).The Bias term in Formula 2.3 represents (technically speaking) the area under the curve of a graph plotting the Error vs. time.Abstractly, however, the Bias value (ideally) grows to an output level that keeps the system stable, letting the Proportional and Derivative terms handle any small fluctuations. In relation to our water tank example from earlier, this means that eventually the Bias portion of M I would be the only significant contribution to the final output value, and the M P and M D terms would only be active (non-zero) when a fluctuation occurred.At a time n the equations for M I and the Bias term are:M I,n = Bias n-1 + (C I * Error)Bias n = M I,nFormula 2.5How is the Derivative term calculated?微分项如何计算?The derivative formula for a given time n is calculated with the following equation:M D = C D * (PV n-1 - PV n)Formula 2.6This formula only introduces 1 new term, C D, which is calculated using Formula 2.7.C D = Gain * (Rate / Sample)Formula 2.7The Sample term (which is also used in figuring C I) is the sample time from earlier. In the Derivative term, the Sample time is indirectly proportional to the derivative component, while the Rate is directly proportional.What if the final output value is too high?如果最终输出值太高怎么办?During many processes (such as the water tank example earlier), the Process variable doesn’t respond immediately to a change in the value of the output -- if the water in the tank were ice cold, then even an output of 100% is not going to cause an instantaneous increase in steam flow. Likewise, setting the output to 0% when the water is boiling doesn’t provide an immediate reduction in steam production.Because of this ‘system inertia,’ the output value for a give time could take on a value greater than 100% or less than 0%. In response to this, the PID program implements Output Clamping. If the output is greater than 100%, then it is clamped to 100%. If the output falls lower than 0%, then it is held to 0%.The only problem left to solve lies with the Bias portion of the Integral term. When the output for a system remains at 100% for a long period of time (such as when heating up cold water in our tank from earlier), the integral sum (which the Bias term represents) can grow to extremely large values. This means that when the variable starts responding, the Bias term will be keeping the calculated output well over 100% until it can be wound down. This generally results in the output swinging wildly from one limit to the other, but can be avoided using Bias Clamping. There are a few different types of Bias Clamping, but the only pertinent one here is the one used in the program. There are two different conditions which cause Bias clamping to occur and two formulae as well:If Output > 1Bias = 1 - (M P + M D)Formula 2.8If Output < 0Bias = -(M P + M D)Formula 2.9As the formulae show, when the Output grows to be greater than 1, the value of the Bias is adjusted so that the sum of M P, M D, and the Bias will be 1. Likewise, when the Output slips below 0, the value of the Bias is adjusted so that the above sum will be 0. The adjusted Bias value is then clamped such that its maximum value is 1 and its minimum value is 0.What should be added to make the program work for the system?1. Read in the Process Variable2. Write the Output3. Set the Setpoint4. Adjust the scale for the Input and Setpoint5. Adjust the scale for the Output6. Adjust the Reset, Rate, Gain, and Sample time values.Read in the Process VariableThe Process variable (the variable which accurately reflects the state of the system to be controlled) should be passed to the PV parameter of the function block.Write the OutputThe OUT parameter of the PID loop should be set to the analog output being controlled in the PID function block call.Set the SetpointThe user’s code must pass the Setpoint value to the PID function block via the SP parameter.Adjust the scale for the Process Variable and Setpoint 调整过程值和设定点值。

西门子PID模块的使用经验

西门子PID模块的使用经验

西门子PID模块的使用经验西门子网站有文档专门说明pid软件模块的使用,可是真正要用起来还是有点混乱,参数太多,不知道取舍了,呵呵。

其实用plcsim简单测试下还是可以做到心中有数,到了现场调试不用慌了。

一、在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工作了,不能测试实际调节效果啊。

3、如果需要反作用,有三种方法:a、pv和sp颠倒输入b、p值用负的c、输出用100减在 STEP 7 标准库 (SIMATIC Manager: "File > Open > Libraries > ...") "PID Control Blocks" (FBs) 目录 or "System Function Blocks" (SFBs) 目录中可以这些功能块。

【步骤详解】西门子PLCPID组态设置及PID常见问题解答

【步骤详解】西门子PLCPID组态设置及PID常见问题解答

【步骤详解】西门⼦PLCPID组态设置及PID常见问题解答1PID控制知识讲解S7-200 SMART能够进⾏PID控制。

S7-200 SMART CPU最多可以⽀持8个PID控制回路(8个PID指令功能块)PID是闭环控制系统的(⽐例-积分-微分)PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执⾏机构去影响被控对象的变化。

PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。

根据具体项⽬的控制要求,在实际应⽤中有可能⽤到其中的⼀部分,⽐如常⽤的是PI(⽐例-积分)控制,这时没有微分控制部分。

PID算法在S7-200 SMART中的实现PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。

2PID向导组态设置Micro/WIN SMART提供了PID Wizard(PID指令向导),可以帮助⽤户⽅便地⽣成⼀个闭环控制过程的PID算法。

此向导可以完成绝⼤多数PID运算的⾃动编程,⽤户只需在主程序中调⽤PID向导⽣成的⼦程序,就可以完成PID控制任务。

PID向导既可以⽣成模拟量输出PID控制算法,也⽀持开关量输出;既⽀持连续⾃动调节,也⽀持⼿动参与控制。

建议⽤户使⽤此向导对PID编程,以避免不必要的错误。

PID向导编程组态步骤:1.在Micro/WIN SMART中的⼯具菜单中选择PID向导:图1. 在⼯具栏中选择PID向导图2.在项⽬树中打开'向导'⽂件夹,然后双击'PID',或选择'PID'并按回车键。

定义需要配置的PID回路号图3.在此对话框中选择要组态的回路图4.最多可组态 8 个回路。

在此对话框上选择回路时,PID 向导左侧的树视图随组态该回路所需的所有节点⼀起更新。

2.为回路组态命名图5.可为回路组态⾃定义名称。

西门子FB41中PID功能块说明和调整方法

西门子FB41中PID功能块说明和调整方法

西门子FB41中PID功能块说明和调整方法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规格化后的值(常用),因此,这个位为F ALSE;copyright plc资料网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功能块说明

输出下限副
REAL REAL REAL REAL REAL REAL REAL
0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 LMN=(output of LMNLIMIT)*LMN_FAC+ LMN_OFF Output of PR_IN=PV_PER*100/27648 Output of PV_NORM = (output of CRP_IN) * PV_FAC + PV_OFF
REAL
100%
DB*.DBD40.0
LMN_LLM PV_FAC PV_OFF LMN_FAC LMN_OFF I_ITLVAL DISV LMN LMN_PER QLMN_HLM QLMN_LLM LMN_P LMN_I LMN_D PV ER
in in in in in in in out out out out out out out out out
输出值 输出值 高限报警输出 低限报警输出 比例输出 积分输出 微分输出 过程值 偏差信号
REAL WORD BOOL BOOL REAL REAL REAL REAL REAL
W#16#0000 LMN_PER=LMN*27648/10 FALSE FALSE 0.0 0.0 0.0 0.0 0.0
FALSE TRUE
COM_RST=TRUE(1)时PID复位位。 COM_RST=FALSE(0)时复位无效。 MAN_ON=1输出手动值。 MAN_ON=0输出自动值。 PVPER_ON=1输入经处理的PV_PER的值 。 PVPER_ON= 0 输入PV_IN的 值。 P_SEL=1比例作用启动。 P_SEL=0比例作用停止。 I_SEL=1积分作用启动。 I_SEL=0积分作用停止。

西门子FB41中PID功能块说明和调整方法

西门子FB41中PID功能块说明和调整方法

西门子FB41中PID功能块说明和调整方法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规格化后的值(常用),因此,这个位为F ALSE;copyright plc资料网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倍,应该就可以满足大多数的需求。

西门子S7-12001500PLC中深度解析PID(2)

西门子S7-12001500PLC中深度解析PID(2)

西门子S7-12001500PLC中深度解析PID(2)【S7-1200 /1500PID 控制功能说明一样,下面以 S7-1200 为例介绍】(1)PID 基本功能介绍1.CPU 提供了PID 控制器回路数量受到CPU 的工作内存及支持DB 块数量限制。

严格上说并没有限制具体数量,但实际应用S7-1200PLC 推荐不要超过 16 路PID 回路为最佳。

S7-1500 根据型号不同,PID 控制回路实际应用也不一样。

2.PID 控制器结构PID 控制器功能主要依靠三部分实现,循环中断块,PID 指令块,工艺对象背景数据块。

用户在调用PID 指令块时需要定义其背景数据块,而此背景数据块需要在工艺对象中添加,称为工艺对象背景数据块。

PID 指令块与其相对应的的工艺对象背景数据块组合使用,形成完整的 PID 控制器。

PID 控制器结构如图循环中断块可按一定周期产生中断,执行其中的程序。

PID 指令块定义了控制器的控制算法,随着循环中断块产生中断而周期性执行,其背景数据块用于定义输入输出参数,调试参数以及监控参数。

此背景数据块并非普通数据块,需要在目录树视图的工艺对象中才能找到并定义。

(2)S7-1200 的PID 功能应用说明1.调用PID 通用功能块备注:1.PID_Compact 指令提供了一种可在自动和手动模式下进行调节的 PID 控制器。

2.以调用 OB 的循环时间的恒定间隔(最好在循环中断 OB 中)调PID_Compact。

3.CPU 的存储区的占用情况,及支持 DB 块数量的限制。

4.在循环中断里调用 PID 指令,需要保证中断里执行 PID 指令的总时间要小于该中断的循环时间。

2. PID_COMPACT 通用功能模块应用步骤说明3.PID_COMPACT 调节过程说明使用PID_compact的控制步骤:1.在循环OB中插入和参数化PID_compact2.自动插入工艺对象3.组态工艺对象4.使用集成的自整定功能和Trace功能调试与整定4.CPU 处理 PID 的时间5.存储器要求(3)PID 组态与编程说明1.创建循环中断组织块 OB30,循环时间为 100ms,在 OB30 里面调用 PID_Compact2.功能块 PID _ Compact 输入输出参数说明PID_ Compact 输入参数说明Setpoint(REAL):PID 控制器自动模式下的设定值工程量(对应于 INPUT 反馈值类型)Input(REAL):PID 控制器反馈值(工程量如:0.0-100.0)Input_PER(INT):PID 控制器反馈值(模拟量如:0-27648)Disturbance(REAL):扰动变量或预控制值(一般为 0.0)。

【步骤详解】西门子PLCPID组态设置及PID常见问题解答

【步骤详解】西门子PLCPID组态设置及PID常见问题解答

【步骤详解】西门子PLCPID组态设置及PID常见问题解答01PID控制知识讲解S7-200 SMART能够进行PID控制。

S7-200 SMART CPU最多可以支持8个PID控制回路(8个PID指令功能块)PID是闭环控制系统的(比例-积分-微分)PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。

PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。

根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。

PID算法在S7-200 SMART中的实现PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。

02PID向导组态设置Micro/WIN SMART提供了PID Wizard(PID指令向导),可以帮助用户方便地生成一个闭环控制过程的PID算法。

此向导可以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成PID控制任务。

PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;既支持连续自动调节,也支持手动参与控制。

建议用户使用此向导对PID编程,以避免不必要的错误。

PID向导编程组态步骤:1.在Micro/WIN SMART中的工具菜单中选择PID向导:图1. 在工具栏中选择PID向导图2.在项目树中打开'向导'文件夹,然后双击'PID',或选择'PID'并按回车键。

定义需要配置的PID回路号图3.在此对话框中选择要组态的回路?图4.最多可组态8 个回路。

在此对话框上选择回路时,PID 向导左侧的树视图随组态该回路所需的所有节点一起更新。

2.为回路组态命名图5.可为回路组态自定义名称。

西门子PLC使用FB41进行PID调整的说明

西门子PLC使用FB41进行PID调整的说明

使用FB41进行PID调整的说明目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。

同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。

智能控制的典型实例是模糊全自动洗衣机等。

自动控制系统可分为开环控制系统和闭环控制系统。

一个控控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。

控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。

不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。

比如压力控制系统要采用压力传感器。

电加热控制系统的传感器是温度传感器。

目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。

有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。

可编程控制器(PLC)是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC—5等。

还有可以实现PID 控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。

1、开环控制系统开环控制系统(open—loop control system)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。

在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路.2、闭环控制系统闭环控制系统(closed—loop control system)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。

S7-300-PID-使用说明及应用

S7-300-PID-使用说明及应用

定时中断组织块OB35西门子S7-300/400有9个定时中断组织块:OB30、OB31、OB32、OB33、OB34、OB35、OB36、OB37、OB38 。

CPU可以定时中断去执行这些模块中的程序,即:每隔一段时间就停止当前的程序,转去执行定时中断组织块中的程序,执行结速后再返回。

相当于单片机的定时中断。

这9个组织块功能相同,你可以选择其中之一使用,区别是它们的中断优先级不同,如果程序中用到了多个定时中断组织块,应设好它们的执行优先级。

S7-300CPU 可用的定时中断组织模块是OB35,在300站点的硬件组态中,打开CPU 属性设置可以看到其它的中断组织块为灰色。

OB35默认的调用时间间隔为100ms 我们可以根据需要更改,定时范围是1-60000毫秒(ms)设置中断时间间隔如下图所示注意:设置的时间必须大于OB35中程序执行所花费的时间。

例如:如果中断时间间隔为50ms而OB35中的程序花费的时间是70ms,那么OB35中的程序还没执行完毕就产生第二次中断,程序就会出错,这显然是我们不想看到的结果。

以现在的技术,让你间隔一小时去月球拿一块石头你能做到吗???去月球所用的时间大于去月球的时间间隔,你做不到吧???正确设置:中断时间间隔大于OB35中程序执行完毕一次所需的时间使用FB41实现PID控制在自动化领域中常常要用到PID控制,而常规仪表里一个控制器就只能实现一路的PID 控制,如果要现实多路的PID控制成本就会变得非常高,而且不便于我们集中控制与管理。

经过学习西门子S7-300PLC,我们可以使用模块FB41来实现PID控制,FB41就相当于我们常规仪表里的控制器,既然是PID控制器就应该能够设定P、I、D参数。

即:比例度、积分时间、微分时间。

常规仪表的面板上可以更改PID参数,又有手动/自动切换按钮等。

今天我们要做的就是使用S7-300PLC 的FB41来代替常规仪表,如何使用FB41来实现PID控制的呢??FB41是一个功能块,它所能实现的功能(PID)已经由专业人员设计好,我们只要调用它,并根据我们的需要来更改相应的参数即可使用。

如何使用S7-200plc的PID控制,这篇文章讲的很清楚!

如何使用S7-200plc的PID控制,这篇文章讲的很清楚!

如何使用S7-200plc的PID控制,这篇文章讲的很清楚!私信“干货”二字,即可领取18G伺服与机器人专属资料!S7-200 能够进行PID 控制。

S7-200 CPU最多可以支持8 个PID 控制回路(8个PID 指令功能块)。

PID 是闭环控制系统的比例-积分-微分控制算法。

PID 控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID 算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。

PID 控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。

根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。

1、PID 算法在S7-200 中的实现PID 控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。

计算机化的PID 控制算法有几个关键的参数:●Kc:Gain,增益●Ti:积分时间常数●Td:微分时间常数●Ts:采样时间在S7-200 中PID 功能是通过PID 指令功能块实现。

通过定时(按照采样时间)执行PID 功能块,按照PID 运算规律,根据当时的给定、反馈、比例-积分-微分数据,计算出控制量。

PID 功能块通过一个PID 回路表交换数据,这个表是在V 数据存储区中的开辟,长度为36 字节。

因此每个PID 功能块在调用时需要指定两个要素:PID控制回路号,以及控制回路表的起始地址(以VB 表示)。

由于PID 可以控制温度、压力等等许多对象,它们各自都是由工程量表示,因此有一种通用的数据表示方法才能被PID 功能块识别。

S7-200中的PID 功能使用占调节范围的百分比的方法抽象地表示被控对象的数值大小。

在实际工程中,这个调节范围往往被认为与被控对象(反馈)的测量范围(量程)一致。

PID 功能块只接受0.0 - 1.0 之间的实数(实际上就是百分比)作为反馈、给定与控制输出的有效数值,如果是直接使用PID 功能块编程,必须保证数据在这个范围之内,否则会出错。

西门子库函数_03_PID控制器函数使用

西门子库函数_03_PID控制器函数使用

1 温度PID控制功能块FB58使用入门1 FB58基本特性介绍在标准库(Libraries/Standard Library/PID Control Blocks)中的PID 控制块中提供了两个用于温度控制的功能块FB58和FB59。

其中,FB58用于具有连续或脉冲输入信号的执行器的温度控制器,而FB59用于类似于定位电机的执行器的步进温度控制器。

除了基本的功能之外,FB58还提供PID的参数自整定功能。

PID功能块是纯软件控制器,相关运算数据存放在相应的背景数据块中,对于不同的回路,应该使用不同的背景数据块,否则会导致PID运算混乱的错误。

FB58可以用在仅加热的温度控制回路(例如控制蒸汽的供给量来控制温度),也可以用在仅冷却的温度控制回路(例如控制冷却风扇的频率、或者冷媒的供给量来控制温度)。

如果用于冷却,则回路工作在反作用状态,则需要给比例增益参数GAIN分配一个负数,其他保持不变。

和常规PID功能块(例如FB/SFB41)对比,FB58具有如下特性:提供控制带(Control Zone)功能;控制输出提供脉冲方式;过程值转换增加对温度信号转换(PV_PER*0.1/0.01)方式的支持;参数保存和重新装载;控制器参数自整定功能;设定值变化时的比例作用弱化功能。

2 FB58基本使用2.1 功能块调用在STEP 7中,提供了关于FB58和FB59的一个示例项目,其路径如下图所示:图1 FB58/59示例项目该示例项目包含有如下几个示例程序:(1)连续控制器Continuous controller输出类型是连续数值的一类控制器,其中的FB100和DB100是一个模拟的控制对象;(2)脉冲控制Pulse control OB35, OB1输出类型是单个脉冲信号的一类控制,在OB35和OB1中同时调用,其中的FB102和DB102是一个模拟的接收脉冲信号的控制对象;(3)脉冲控制Pulse control OB35, OB32输出类型是单个脉冲信号的一类控制,在OB35和OB32中同时调用,其中的FB102和DB102是一个模拟的接收脉冲信号的控制对象。

PID控制系统及西门子PLC对PID功能块的应用

PID控制系统及西门子PLC对PID功能块的应用

PID控制系统及西门子PLC对PID功能块的应用[摘要]应用最为广泛的调节器控制规律为比例、积分、微分控制,简称pid控制,又称pid调节。

pid控制器问世以来,先成为工业控制的主要技术之一。

本文中阐述了pid控制原理和特点及其在西门子编程软件中pid控制更能快的介绍。

[关键词]自动控制比例项功能块fb中图分类号:tp 文献标识码:a 文章编号:1009-914x(2013)20-0494-01自动控制,如今已经涵盖了社会生活的方方面面。

包括生物、电子、机械、军事等各个领域。

甚至连政治经济领域,似乎也隐隐存在着自动控制的原理。

而它在工程控制领域,理所应当的属于应用最普遍的范畴,在工程控制领域,自动控制得到了极其普遍的应用。

在自动调节的发展历程中,pid 的创立是非常重要的一环。

pid,就是对输入偏差进行比例积分微分运算,运算的叠加结果去控制执行机构。

目前,pid控制及其控制器或智能pid控制器(仪表)非常多,产品已在工程实际中得到广泛应用,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一各种pid控制器具有pid参数自整定功能的智能调节器,其中pid控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现,有利于pid控制实现压力、温度、流量、液位等的控制器,能实现pid控制功能的可编程控制器(plc),还有可实现pid控制的pc系统得到广泛应用。

其中可编程控制器去(plc)是利用其闭环控制模块来实现pid控制。

一.pid控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称pid控制,又称pid调节。

pid控制器问世70年历史,先成为工业控制的主要技术之一。

pid控制器是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

p 就是比例,就是输入偏差乘以一个系数; i 就是积分,就是对输入偏差进行积分运算;d 就是微分,对输入偏差进行微分运算。

西门子S7-200系列PLC的PID功能块的实际应用

西门子S7-200系列PLC的PID功能块的实际应用

西门子S7-200系列PLC的PID功能块的实际应用| Siemens AutomationAnd ...PID参数的整定:1、可以在软件中进行自动整定;2、自动整定的PID参数可能对于系统来说不是最好的,就需要手动凭经验来进行整定。

P参数过小,达到动态平衡的时间就会太长;P参数过大,就容易产生超调。

PID功能块在梯形图(程序)中应当注意的问题:1、最好采用PID向导生成PID功能块;2、我要说一个最简单的也是最容易被人忽视的问题,那就是:PID功能块的使能控制只能采用SM0.0或任何1个存储器的常开触点并联该存储器的常闭触点这样的永不断开的触点!笔者在以前的一个工程调试中就遇到这样的问题:PID功能块有时间动作正常,有时间动作不正常,而且不正常时发现PID功能块都没问题(PID参数正确、使能正确),就是没有输出。

最后查了好久,突然意识到可能是使能的问题——我在使能端串联了启动/停止控制的保持继电器,我把它改为SM0.0以后,一切正常!同时也明白了PID功能块有时间动作正常,有时间动作不正常的原因:有时在灌入程序后保持继电器处于动作的状态才不会出现问题,一旦停止了设备就会出现问题——PID功能块使能一旦断开,工作就不会正常!把这个给大家说说,以免出现同样失误。

下面是PID控制器参数整定的一般方法:PID控制器的参数整定是控制系统设计的核心内容。

它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。

PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。

它主要是依据系统的数学模型,经过理论计算确定控制器参数。

这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。

二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。

三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。

西门子PID FB41的说明及注意事项

西门子PID FB41的说明及注意事项

西门子PID FB41的说明及注意事项A:所有的输入参数:COM_RST: BOOL: 重新启动 PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID 进入饱和状态需要退出时用这个位;PEPER_ON: BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用 PIW规格化后的值(常用),因此,这个位为FALSE;这个很重要哦,有的时候你看到PID模块不起作用,你就可以把这位置为false就ok啦。

P_SEL: BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;I_SEL: BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;D_SEL : BOOL:微分选择位,该位ON时,选择 D(微分)控制有效;一般的控制系统不用;INT_HOLD BOOL:积分保持,不去设置它;I_ITL_ON BOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。

一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;CYCLE : TIME:PID采样周期,一般设为200MS;MAN_ON: BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在 PID框图中看到;也就是说,这个位是PID的手动/自动切换位;SP_INT: REAL:PID的给定值;PV_IN : REAL:PID的反馈值(也称过程变量);PV_PER: WORD:未经规格化的反馈值,由PVPER-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_PER :REAL:PID输出;LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果)LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果)LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)。

PID功能块详解

PID功能块详解

PID功能块详解PID控制软件包包括以下几部分:CONT_C、CONT_S和PULSEGEN功能模块1、PID控制的概念:PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。

控制模块利用其所提供的全部功能可以实现一个纯软件控制器。

循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。

功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。

2、基本功能:在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。

除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。

3、应用:用两个控制模块组成控制器就可以突破局限的特定应用。

控制器的性能和处理速度只与所采用的CPU性能有关。

对于任意给定的CPU,控制器的数量和每个控制器被调用的频率是相互矛盾的。

控制环执行的速度,或者说,在每个时间单元内操作值必须被更新的频率决定了可以安装的控制器的数量。

对要控制的过程类型没有限制,迟延系统(温度、液位等)和快速系统(流量、电机转速等)都可以作为控制对象。

4、过程分析:控制过程的静态性能(比例)和动态性能(时间延迟、死区和重设时间等)对被控过程控制器的构造和设计以及静态(比例)和动态参量(积分和微分)的维数选取有着很大的影响。

准确地了解控制过程的类型和特性数据是非常必要的。

5、控制器的选取:控制环的特性由被控过程或被控机械的物理特性决定,并且我们可以改变的程度不是很大。

只有选用了最适合被控对象的控制器并使其适应过程的响应时间,才能得到较高的控制质量。

6、生成控制器:不用通过编程就可以生成控制器的大部分功能(构造、参数设置和在程序中的调用等),前提是掌握了STEP 7的编程知识。

在线帮助STEP 7的在线帮助同样也可以为你提供各种功能块的帮助信息进一步帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BOOL BOOL BOOL BOOL
FALSE / TRUE FALSE / TRUE FALSE / TRUE FALSE / TRUE FALSE / TRUE >=1ms -100.0 to +100.0(%) or phys.value 1 -100.0 to +100.0(%) or phys.value 1
PV_IN
in
过程值
REAL
0.0 Output of PV_NORM = (output of CRP_IN)* PV_FAC + PV_OFF
DB*.DBD10.0
PV_PER
in
外围过程值
WORD -100.0 to +100.0(%) or phys.value 1
W#16#0000
DB*.DBD14.0REAL Nhomakorabea100%
DB*.DBD40.0
LMN_LLM PV_FAC PV_OFF LMN_FAC LMN_OFF I_ITLVAL DISV LMN LMN_PER QLMN_HLM QLMN_LLM LMN_P LMN_I LMN_D PV ER
in in in in in in in out out out out out out out out out
MAN GAIN TI TD TM_LAG DEADB_W
in in in in in in
手动值 增益 积分时间 微分时间 微分延时 死区
REAL REAL TIME TIME TIME REAL
0.0 2
DB*.DBD16.0 DB*.DBD20.0 DB*.DBD24.0 DB*.DBD28.0 DB*.DBD32.0 DB*.DBD36.0
输出值 输出值 高限报警输出 低限报警输出 比例输出 积分输出 微分输出 过程值 偏差信号
REAL WORD BOOL BOOL REAL REAL REAL REAL REAL
W#16#0000 LMN_PER=LMN*27648/10 FALSE FALSE 0.0 0.0 0.0 0.0 0.0
DB*.DBD44.0 DB*.DBD48.0 DB*.DBD52.0 DB*.DBD56.0 DB*.DBD60.0 DB*.DBD64.0 DB*.DBD68.0 DB*.DBD72.0 DB*.DBD76.0 DB*.DBD78.0 DB*.DBD78.1 DB*.DBD80.0 DB*.DBD84.0 DB*.DBD88.0 DB*.DBD92.0 DB*.DBD96.0
FALSE TRUE
COM_RST=TRUE(1)时PID复位位。 COM_RST=FALSE(0)时复位无效。 MAN_ON=1输出手动值。 MAN_ON=0输出自动值。 PVPER_ON=1输入经处理的PV_PER的值 。 PVPER_ON= 0 输入PV_IN的 值。 P_SEL=1比例作用启动。 P_SEL=0比例作用停止。 I_SEL=1积分作用启动。 I_SEL=0积分作用停止。
管脚名称 EN COM_RST MAN_ON
类型
作用 使能
数据类型 BOOL BOOL BOOL
有效值范围 FALSE / TRUE FALSE / TRUE FALSE / TRUE
默认值
说明 EN=TRUE(1)时启动PID。 EN=FALSE(0)时PID无效。
在DB块中的地址
in in
复位开关 手动/自动开关
TRUE TRUE FALSE FALSE FALSE T#1S 0.0
DB*.DBD0.3 DB*.DBD0.4 DB*.DBD0.5 DB*.DBD0.6
微分作用开关 循环时间 设定值
BOOL TIME REAL
D_SEL=1微分作用启动。 D_SEL=0微分作用停止。
DB*.DBD0.7 DB*.DBD2.0 DB*.DBD6.0
DB*.DBD0 DB*.DBD0.1
PVPER_ON
in
过程变量输入开关 BOOL
FALSE / TRUE
FALSE
DB*.DBD0.2
P_SEL I_SEL INT_HOLD I_ITL_ON D_SEL CYCLE SP_INT
in in in in in in in
比例作用开关 积分作用开关
>=CYCLE >=CYCLE >=CYCLE/2 >=0.0(%) or phys.value 1 LMN_LLM… 100.0(%) or phys.value2 -100.0…LMN_HLM (%) or phys.value 2
T#20S T#20S T#2S 0.0
LMN_HLM
in
输出上限副
输出下限副
REAL REAL REAL REAL REAL REAL REAL
0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 LMN=(output of LMNLIMIT)*LMN_FAC+ LMN_OFF Output of PR_IN=PV_PER*100/27648 Output of PV_NORM = (output of CRP_IN) * PV_FAC + PV_OFF
相关文档
最新文档