上海诗幕自动化设备有限公司
主营产品: 西门子授权PLC模块、电线电缆、触摸屏中国总代理商
西门子PLC讲解,Step7中实现PID控制
发布时间:2024-12-29
西门子PLC讲解,Step7中实现PID控制

2022-11-21 上午 10时01分34秒 星期一

概述本文中所讨论的功能块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于S7和C7的CPU中的循环中断程序中。该功能块,定期计算所需要的数据,保存在的DB中


(背景数据块)。允许多次调用该功能块。CONT_C块与PULSEGEN块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器(例如,加热和冷却装置)。


SFB41/FB41(CONT_C),连续控制方式;SFB42/FB42(CONT_S),步进控制方式;SFB43/FB43(PULSEGEN),脉冲宽度调制器;注意:SFB41/42/43,与FB41/42/43兼容,可以用于CPU313C、CPU313C-2DP/PTP和


CPU314C-2DP/PTP中。


应用借助于由你组态大量模块组成的控制器,可以完成带有PID算法的实际控制器。控制效率,即处理速度取决于你所使用的CPU性能。对于给定的CPU,必须在控制器的数量和控制器所需要执行频率之间找到一个折衷方案。连接的控制电路越快,所安装的控制器数量越少,则每个


时间单位计算的数值就越多。对于控制过程的类型没有限制。较慢(温度、填料位,等)以及较快的控制系统(流量、速度,等)都可以控制。


控制系统分析控制系统的静态性能(增益)和动态性能(滞后、空载时间、积分常数,等),都是设计系统控制器及其静态参数(P操作)和动态参数(I、D操作)的主要因素。


因此,熟练掌握控制系统的类型和特性非常重要。(如图1,图2,图3,图4)


图1


图2


图3


图4


PID系统控制器的选择控制系统的属性由技术过程和机器条件决定。因此,为了获得良好的控制效果,你必须选择*适用的系统控制器。


连续控制器、开关控制器连续控制器,输出一个线性(模拟)数值。开关控制器,输出一个二进制(数字)数值。固定值控制器固定值控制,使用设定固定数值进行的过程控制,只是偶尔修改一下参考变量,过程偏差的控制。


级联控制器级联控制器,控制器串行连接控制。个控制器(主控制器)决定了串行控制器(从控制器)的设定点,或者根据过程变量的实际错误影响器设定点。


一个级联控制器的控制性能可以使用其它的过程变量加以改进。为此,可以为主控制变量添加一个辅助过程变量PV2(主控制器SP2的输出)。主控制器可以将过程变量PV1施加给设定点SP1,并且可以调整SP2,以便尽可能快地到达目标,而没有过调节。(如图5)


图5


混合控制器混合控制器是指根据每个被控组件所需要的设定点总数量,来计算总SP数量的一种控制结构。在此,混合系数FAC的和必须为“1”。(如图6)


图6


比例控制器单循环比例控制器单循环比例控制器,可以用于“两个过程变量之间的比率”比“两个过程变量的数值”重要的场合。(例如,速度控制)。(如图7)


图7


多循环比例控制器对于多循环比例控制,两个过程变量PV1和PV2之比保持为常数。因此,可以使用个控制循环的过程数值,来计算第二个控制循环的设定点。对于过程变量PV1的动态变化,也可以保证保持特定的比例。(如图8)


图8


二级控制器一个二级控制器只能采集两个输出状态(例如,开和关)。典型的控制为:一个加热的系统,通过继电器输出的脉冲宽度调制。


三级控制器一个三级控制器只能采集到三个具体的输出状态。我们需要区分:“脉冲宽度调制”(例如,加热-冷却,加热-关机-冷却)和“使用集成执行机构的步进控制”(例如,左-停止-右)之间的区别。


布线对于没有集成的I/O控制器,你必须使用附加的I/O模块。


布线规则连接电缆对于数字I/O,如果线路有100米长,必须使用屏蔽电缆;电缆屏蔽时必须在两端进行接地;软电缆的截面积选择0.25…1.5mm2;无需选择电缆套。如果决定选择使用电缆套,你可以使用不带绝缘套圈的电缆套(DIN46228,ShapeA,Shortversion);屏蔽端接元件你可以使用屏蔽端接元件,将所有屏蔽的电缆直接通过导轨连接接地;必须在断电情况下对组件进行接线;警告带电作业会有生命危险。如果你带电对组件的前插头进行接线,会有触电危险!其它信息其他注意事项可参见手册“CPU数据”手册以及CPU的安装手册。参数赋值工具介绍借助于“PID参数设置”工具,可以很方便的调试功能块SFB41/FB41,SFB42/FB42的参数


(背景数据块)。


调试PID参数的用户界面


在Windows操作系统中,调用“调试PID参数用户界面”的操作过程如下:StartSIMATICSTEP7PIDControlParameterAssignment(如图9)。


图9


在*开始的对话框中,你既可以打开一个已经存在的FB41/SFB41“CONT_C”或者FB42/SFB42“CONT_S”的背景数据块。也可以生成一个新的数据块,再可以分配给FB41/SFB41“CONT_C”或者FB42/SFB42“CONT_S”,作为背景数据块。(如图10)


图10


FB43/SFB43“PULSEGEN”没有参数设置的用户界面工具。你必须在STEP7中去设置它的参数。获取在线帮助的途径当分配参数给FB41/SFB41“CONT_C”、FB42/SFB42“CONT_S”或者FB43/SFB43


“PULSEGEN”时,你可以通过以下三条途径获得帮助:


使用Step7菜单HelpContents,获得相应的帮助信息;通过按下F1键得到帮助;在PID参数设置对话框中,通过点击Help,可以得到具体的帮助信息。在用户程序中实现以下章节将帮助你根据你的应用设计一个用户程序。


调用功能块使用相应的背景数据块调用系统功能块。


举例:CALLSFB41,DB30(或者,CALLFB41,DB31)


背景数据块系统功能块的参数将保存在背景数据块中。在第6章中将阐述这些参数。你可以通过以下方式访问这些参数


DB编号和偏移地址数据块编号和数据块中的符号地址程序结构SFB必须在重新启动组织块OB100中和循环中断组织块OB30…38中调用。模式:


OB100CallSFB/FB41、42、43,DB30OB35CallSFB/FB41、42、43,DB30功能块介绍连续调节功能SFB41/FB41“CONT_C”简介SFB/FB“CONT_C”(连续控制器)用于使用连续的I/O变量在SIMATICS7控制系统中控制技术过程。你可以通过参数打开或关闭PID控制器,以此来控制系统。通过参数赋值工具,可以很容易地做到这一点。调用:StartSIMATICSTEP7PIDControlParameterAssignment(如图)。在线电子手册,见StartSIMATICDocumentationEnglishSTEP7–PIDControl(如图11)。


图11


应用程序你可以使用控制器作为单独的PID定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。控制器的功能基于带有一个模拟信号的采样控制器的PID控制算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。


说明除了设定点操作和过程数值操作的功能以外,SFB41/FB41(CONT_C)可以使用连续的变量输出和手动影响控制数值选项,来实现一个完整的PID控制器。下面是关于SFB41/FB41(CONT_C)详细的子功能说明:


设定点操作设定点以浮点格式在“SP_INT”端输入。


实际数值操作过程变量可以在外围设备(I/O)或者浮点数值格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点格式的数值,在–100和+之间,转换公式如下:


CPR_IN的输出=PV_PERx100/27648


“PV_NORM”功能可以根据下述规则标准化“CRP_IN”的输出:输出PV_NORM=(CPR_IN的输出)xPV_FAC+PV_OFF“PV_FAC”的缺省值为“1”,“PV_OFF”的缺省值为“0”。变量“PV_FAC”和“PV_OFF”为下述公式转化的结果:PV_OFF=(PV_NORM的输出)-(CPR_IN的输出)xPV_FACPV_FAC=(PV_NORM的输出)-PV_OFF)/(CPR_IN的输出)


不必转换为百分比数值。如果设定点为物理确定,实际数值还可以转换为该物理数值。


负偏差计算设定点和实际数值之间的区别便形成负值偏差。为了抑制由于被控量的量化引起的小的、恒定的振荡(例如使用PULSEGEN进行脉冲宽度调制),在死区将施加一个死区


(DEADBAND)。如果DEADB_W=0,则死区将关闭。


PID算法PID算法作为一种位置算法进行控制。比例运算、积分运算(INT)和运算(DIF)都可并行连接,也可以单独激活或取消。这就允许组态成P、PI、PD和PID控制器。也可以是纯I和D调节器。


手动模式可以在手动模式和自动模式之间切换。在手动模式下,被控量被修改成手动选定的数值。


积分器(INT)内部设置为“LMN-LMN_P-DISV”,器(DIF)内部设置为“0”,并进行内部匹配。这就是说切换到自动模式时不会引起被控量的突变。


受控数值的处理使用LMNLIMIT功能,受控数值可以被限制为一个所选择的数值。当输入变量超出极限值时,信号位将指示。“LMN_NORM”功能可以根据下述公式标准化“LMNLIMIT”的输出:


LMN=(LMNLIMIT的输出)xLMN_FAC+LMN_OFF


“LMN_FAC”的缺省值为“1”,“LMN_OFF”的缺省值为“0”。


受控数值也适用于外围设备(I/O)格式。“CPR_OUT”功能可以将浮点值“LMN”转换为一个外围设备值,转换公式如下:


LMN_PER=LMNx2764/10


前馈控制一个干扰变量被引入“DISV”端输入。


初始化SFB41/FB41“CONT_C”有一个初始化程序,可以在输入参数COM_RST=TRUE置位时运行。在初始化过程中,积分器可以内部设置为初始值“I_ITVAL”。如果在一个循环中断优先级调用它,它将从该数值继续开始运行。所有其他输出都设置为其缺省值。


出错信息故障输出参数RET_VAL不使用。


SFB/FB“CONT_C”(连续调节控制器)块图如图12。


图12


输入参数SFB41/FB41“CONT_C”(如图13)


图13


下表列出SFB41/FB41“CONT_C”输入参数的说明:


序号


参数


数据类型


数值范围


缺省


说明


1


COM_RST


BOOL


FAULSE


COMPLETE


RESTART(完全再起动)。


该块有一个初始化程序,可以在输入参数COM_RST置位时运行。


2


MAN_ON


BOOL


TRUE


MANUALVALUEON


(手动数值接通)如果输入端“手动数


值接通”被置位,那


么闭环控制循环将中断。手动数值被设置为受控数值。


3


PVPER_ON


BOOL


FALSE


PROCESSVARIABLEPERIPHERY


ON/(过程变量外设接通)


如果过程变量从I/O读取,输入“PV_PER”必须连接到外围设备,


并且输入


“PROCESSVARIABLEPERIPHERYON”必


须置位。


4


P_SEL


BOOL


TRUE


PROPORTIONAL


ACTIONON(比例分量接通)


PID各分量在PID算法中可以分别激活或者取消。当输入端“比例分量接通”被置位时,P分量被接通。


5


I_SEL


BOOL


TRUE


INTEGRALACTION


ON(积分分量接通)PID各分量在PID算法中可以分别激活或者取消。当输入端“积分分量接通”被置位时,I分量被接通。


6


INT_HOLD


BOOL


FALSE


INTEGRALACTION


HOLD(积分分量保持)


积分器的输出被冻


结。为此,必须置


位输入“IntegralActionHold(积分


操作保持)”。


7


I_ITL_ON


BOOL


FALSE


INITIALIZATIONOFTHEINTEGRAL


ACTION(积分分量初始化接通)


积分器的输出可以被设置为输入“I_ITLVAL”。为


此,必须置位输


入“积分操作的初始化”。


8


D_SEL


BOOL


FALSE


DERIVATIVE


ACTIONON(微分分量接通)


PID各分量在PID算法中可以分别激活或者取消。当输入端“微分分量接通”被置位时,D分量被接通。


9


CYCLE


TIME


=1ms


T#1s


SAMPLETIME(采样


时间)


块调用之间的时间必须恒定。“采


样时间”输入规定了块调用之间的


时间,应该与OB35


设定时间保持一致。


10


SP_INT


REAL


-100.0至+100.0(%)


或者物理值1


0.0


INTERNALSETPOINT


(内部设定点)“内部设定点”输入端用于确定设定值。


11


PV_IN


REAL


-100.0至+100.0(%)


或者物理值1


0.0


PROCESSVARIABLE


IN(过程变量输入)


可以设置一个初始值到“过程变量输


入”输入端或者连接一个浮点数格式的外部过程变量。


12


PV_PER


WORD


W#16#0000


PROCESSVARIABLE


PERIPHERY(过程变量外设)


外围设备的实际数值,通过I/O格式的过程变量被连接到“过


程变量外围设备”输入端,连接到控制器


13


MAN


REAL


-100.0至+100.0(%)


或者物理值2


0.0


MANUALVALUE(手


动数值)


“手动数值”输入端可以用于通过操作者接口功能设置一个手动数值。


14


GAIN


REAL


2.0


PROPORTIONAL


GAIN(比例增益)“比例增益”输入端可以设置控制器的比例增益系数。


15


TI


TIME


=CYCLE


T#LMN_HLM或者物理值2


0.0


MANIPULATEDVALUELOW


LIMIT(受控数值的下限)


受控数值必须设定有一个“上限”和一个“下限”。“受控数值下限”输入端确定了“下极限”。


21


PV_FAC


REAL


1.0


PROCESSVARIABLEFACTOR


(过程变量系数)“过程变量系数”输入端用于和过程


变量相乘。该输入端


可以用于匹配过程变


量范围。


22


PV_OFF


REAL


0.0


PROCESSVARIABLE


OFFSET(过程变量偏移量)


“过程变量偏移”输入端可以添加到“过程变量”。该输入端可以用于匹配过程变量的范围。


23


LMN_FAC


REAL


1.0


MANIPULATEDVALUEFACTOR(受


控数值系数)“受控数值系数”输入端用于与受控数值相乘。该输入端可以用于匹配受控数值的范围。


24


LMN_OFF


REAL


0.0


MANIPULATED


VALUE(受控数值的偏移量)


“受控数值的偏移量”可以与受控数值相加。该输入端可以用于匹配受控数值的范围。


25


I_ITLVAL


REAL


-100.0至+100.0(%)


或者物理值2


0.0


INITIALIZATIONVALUEOFTHEINTEGRAL-ACTION


(积分分量初始化值)


积分器的输出可以用输入端“I_ITL_ON”设置。初始化数值可以设为“积分分量初始值”输入。


26


DISV


REAL


-100.0至+100.0(%)


或者物理值2


0.0


DISTURBANCE


VARIABLE(干扰变量)


对于前馈控制,干扰


变量被连接到“干扰


变量”输入端。


“设定值通道”和“过程变量通道”中的参数,应该有相同的单位。例如,如果使用PV_IN作为“过程物理值”或者“过程物理值百分比”,SP_INT必须使用相应相同的单位;如果使用PV_PER作为外围设备的实际数值,SP_INT只能使用“-100.0至+100.0(%)”作为设定值。如果设定值是SP_INT是0~10Mpa中的8Mpa,那么需要填写0.8,PV_PER填写硬件外设地址IWXXX;受控量通道中的参数应该有相同的单位。输出参数下表列出SFB41/FB41“CONT_C”输出参数的说明:


序号


参数


数据类型


数值范围


缺省


说明


1


LMN


REAL


0.0


MANIPULATED


VALUE(受控数值)有效的受控数值被以浮点数格式输出在“受控数值”输出端上。


2


LMN_PER


WORD


W#16#0000


MANIPULATEDVALUE


PERIPHERY(受控数值外围设备)


I/O格式的受控数值被连接到“受控数值外围设备”输出端上的控制


器。


3


QLMN_HLM


BOOL


FALSE


HIGHLIMITOFMANIPULATED


VALUEREACHED


(达到受控数值上限)受控数值必须规定一个


极限和一个*小极限。“达到受控数值上限”指示已超过极限。


4


QLMN_LLM


BOOL


FALSE


LOWLIMITOFMANIPULATEDVALUEREACHED


(达到受控数值下限)受控数值必须规定一个极限和一个*小极限。“达到受控数值下


限”指示已超过*小极限。


5


LMN_P


REAL


0.0


PROPORTIONALITYCOMPONENT(比例


分量)


“比例分量”输出端输出受控数值的比例分量。


6


LMN_I


REAL


0.0


INTEGRAPONENT(积分


分量)


“积分分量”输出端输出受控数值的积分分量。


7


LMN_D


REAL


0.0


DERIVATIVECOMPONENT(微分


分量)


“分量”输出端输出受控数值的分量。


8


PV


REAL


0.0


PROCESSVARIABLE


(过程变量)


有效的过程变量在“过程变量”输出端上输出。


9


ER


REAL


0.0


ERRORSIGNAL(误


差信号)


有效误差在“误差信号”输出端输出。


步进控制功能SFB42/FB42“CONT_S”简介SFB/FB“CONT_S”(步进控制器)用在SIMATICS7可编程控制器上,用于二进制数控数值输出信号积分执行机构的控制技术过程。在参数赋值过程中,你可以激活或取消PI步进控制器的子功能,以使控制器与过程匹配。通过参数赋值工具,可以很容易地做到这一点。调用:StartSIMATICSTEP7PIDControlParameterAssignment(如图)。在线电子手册,见StartSIMATICDocumentationEnglishSTEP7–PIDControl


(如图)。


应用程序你可以使用该控制器作为单独的PI固定设定值控制器,或者在辅助控制循环(第二级闭环)中作为级联控制器、混合控制器或者比例控制器使用,但是不能用作主控制器(级调节器)。控制器的功能根据采样控制器的PI控制算法实现,由模拟执行信号生成二进制输出信号。


下列功能适用于CPU314IFM的FBV1.5或V1.1.0以上版本:


利用TI=T#0ms,可以封锁调节器的积分分量。因此,允许功能块用作比例(P)控制器。


由于控制器不使用任何位置反馈信号,内部计算的受控变量将不能准确地匹配信号控制元件的位置。如果受控变量(ER*GAIN)为负值,应进行调整。然后调节器置位输出端QLMNDN(受控量信号低),直到LMNR_LS(位置反馈信号下限)被置位。


控制器还可以在一个控制器级联中用作一个辅助控制器(第二个执行器)。设定点输入端“SP_INT”用于赋值控制元件的位置。在这种情况下,实际数值输入和参数“TI(积分时间)”必须被设置为“0”。一个应用实例:通过电控阀瓣控制温度,即是借助二进制脉冲数值输出信号来控制热量输出的温度调节和利用阀门控制制冷容量。在这种情况下,为了全部关闭阀门,受控变量(ER*GAIN)应该有一个负值。


说明除了过程数据通道的功能外,SFB/FB“CONT_S”(步进控制器)可以使用一个数字受控数值输出和手动影响控制数值选项,来实现一个完整的PI控制器。步进控制器不使用位置反馈信号。限位信号可以用于限制脉冲输出。下面你可以找到详细的子功能说明:


设定点操作设定点以浮点数格式在“SP_INT”输入端上输入。


实际数值操作过程变量可以在外围设备(I/O)或浮点数格式输入。“CRP_IN”功能可以将“PV_PER”外围设备数值转换为一个浮点数格式的数值,在–100和+之间,转换公式如下:


CPR_IN的输出=PV_PERx100/27648


“PV_NORM”功能可以根据下述公式标准化“CRP_IN”的输出:PV_NORM的输出=(CPR_IN的输出)xPV_FAC+PV_OFFPV_FAC的缺省值为“1”,PV_OFF的缺省值为“0”。


变量“PV_FAC”和“PV_OFF”为下述公式转化的结果:


PV_OFF=(PV_NORM的输出)-(CPR_IN的输出)xPV_FACPV_FAC=((PV_NORM的输出)-PV_OFF)/(CPR_IN的输出)


负偏差计算设定点和实际数值之间的区别便形成负值偏差。为了抑制由于受控变量的量化造成的小的、恒定的振荡(例如,由于执行机构阀门引起的受控数值的波动),为负偏差设置了一个死区(DEADBAND)。如果DEADB_W=0,则死区将被关闭。


PI步进算法SFB/FB“CONT_S”(步进控制器)不使用位置反馈信号。PI算法的积分操作和假定位置反馈信号都在积分器(INT)中计算,并作为一个反馈值与剩余P操作进行比较。比较差被用于一个三步元件(THREE_ST)和一个脉冲发生器(PULSEOUT),以生成执行机构的控制脉冲。控制器的开关频率可以通过在三步元件上采用阈值控制来减少。


前馈控制一个干扰变量被引入“DISV”输入端。


初始化操作SFB/FB“CONT_S”(步进控制器)有一个初始化程序,可以在输入参数COM_RST=TRUE置位时运行。所有其它输出端都设置为其缺省值。


出错信息故障输出参数RET_VAL不使用。



展开全文
拨打电话 微信咨询 发送询价