1、“”第7章 S7-300程序设计方法(模拟量控制)“”7.1 S7-300的程序结构7.2 系统设计的原则7.3 系统设计的内容7.4 程序设计的方法与过程7.5 开关量控制系统的设计7.6 关于模拟量I/O模块7.7 模拟量控制系统的设计7.8 关于乒乓控制7.9 关于PID控制“”7.6 关于模拟量I/O模块生产过程物理量标准的模拟信号传感器变送器 压力 温度 流量 速度 pH 值 粘性 等 500mV 1V 5V 10V 20mA4.20mA等DACPQW .PQW .:PQW .模拟量输出模块MR模块ADC结果存储器PIW .PIW .:PIW .模拟量输入模块CPU:L PIW 30
2、4T PQW 320:模拟执行器 物理量.量程卡“”1 量程卡量程卡“”2 S7-300模拟量模块的寻址模拟量模块的寻址IM256 to270336 to350352 to366368 to382304 to318320 to334272 to286288 to302 (发送) 槽口号 2 3 4 5 6 7 8 9 10 11 384 to398400 to414432 to446448 to462464 to478480 to494496 to510416 to430机架 1R0电源模块IM(接收) 电源模块CPU512 to526528 to542544 to558560 to57457
3、6 to590592 to606608 to622624 to638机架 2IM(接收) 电源模块机架 3640to654656to670672to686688 to702704 to718720 to734736 to750752 to766IM(接收) 电源模块“”3 模拟量模块模拟量模块SM335 ( (输入输入) )“”4 模拟模块模拟模块SM335 ( (输出输出) )“”5 5 模拟输入模块模拟输入模块 SM331“”6 模拟量的表达方式和测量值的分辨率模拟量的表达方式和测量值的分辨率20212223242526272829210211212213214VZ16进制.位值十进制01
4、23456789101112131415位的序号 单位位的分辨率+ 符号111*15*= 0 或 18000000001128*8402010840000000000000000000002164132116181412*91011121314“”7 在不同测量范围下模拟量的表达方式在不同测量范围下模拟量的表达方式范围超上限超上界额定范围超下界超下限测量范围 10V电压例如:= 11.75911.7589 :10.000410.00 7.50 :-7.5-10.00- 10.0004 :- 11.759= 22.81522.810 :20.000520.00016.000 : :4.0003.
5、9995 :1.1852= 1000.11000.0 :850.1850.0 : : :-200.0- 200.1 :- 243.0=352.778352.767 :300.011300.000225.000 : :0.000不允许负值单位3276732511 :276492764820736 : :0- 32768- 1 :- 4864“”8 模拟输入量的规范化模拟输入量的规范化(可随模块带的软件块 FC105 )500,00,0027648“”9 模拟量输出的规范化模拟量输出的规范化(可随模块带的软件块 FC106 )276480 0,0100,0“”10 模拟输出量的表达形式模拟输出量的
6、表达形式范围超上限超上界额定范围超下界超下限单位=3276732511 :2764927648 :0 :- 6912- 6913 : : :- 27648- 27649 :- 32512=- 32513 输出范围:电压011.7589 :10.000410.0000 : 00 to 10V1 to 5V05.8794 :5.00025.0000 :1.0000011.7589 :10.000410.0000 : 0 : : : : : : :-10.0000- 10.0004 :- 11.75890 10V 00.99990 0 输出范围: 电流023.515 :20.000720.000 :
7、 00 to 20mA4 to 20mA022.81 :20.00520.000 :4.000023.515 :20.000720.000 : 0 : : : : : : :-20.000- 20.007 :- 23.5150 20mA 03.99950 0“”11 配置配置模拟量模块模拟量模块SM335“”1212 配置模拟量模块配置模拟量模块 SM331“”13 结构化的极限监视功能(可随模块带的软件块 FB120 )FB120ACTVHLLLHYSQH QL LIMIT模拟变量的实际值HLLLHYSHYSQH QL t功能 符号LO_LIMHI_LIM“”7.7 模拟量控制系统的设计1.
8、 关于模拟量控制系统 模拟量控制系统是指输入信号为模拟量的控制系统。控制系统的控制方式上可分为开环控制和闭环控制。 闭环控制根据其设定值的不同,又可分为调节系统和随动系统两种。调节系统的设 定值是由控制系统的控制器给出,控制器的作用就是使反馈值向给定值靠近,以反馈值对设定值的偏差最小为目的。随动系统的设定值是由被控制对象给出的,控制器的作用就是使控制目标不断地向被控对象靠近。各种跟踪系统都是随动系统。 模拟量控制系统设计中应该注意抗干扰问题。解决干扰的办法有4个。 其一是接地问题。这里包括PLC接地端的接地,要真接地不要假接地。这里所说的接地就是接大地。 其二是模拟信号线的屏蔽向题,屏蔽线的始
9、端和终端都要接地。信号线的屏蔽是防止干扰的重要措施。 其三是对某些高频信号要解决匹配问题。如果不匹配很容易在信号传送中引进干扰,使信息失真。 其四是对信号进行滤波。“”2.模拟量控制系统设计举例 (1)搅拌控制系统线性程序设计(S7-PRO111)初始状态及 操作工艺 硬件设计 软件系统结构“”OB1块“”OB1续“”OB1续“”OB1续“” OB100块“”系统仿真I0.0=ONPIW256=100 Q4.0=OFF Q4.1=ONPIW256=200 Q4.1=OFF Q4.2=OFF T1T1=ON Q4.2=OFF Q4.3=ON PIW256=0 T2T2=ON Q4.3=OFF“”
10、(3)结构化软件设计(S7-PRO112)系统结构OB1块“”OB1续“”OB1续“”OB1续“”FB1FC1“”FC2“”OB100“”DB1DB2“”系统仿真I0.0=ONPIW256=100 Q4.0=OFF Q4.1=ONPIW256=200 Q4.1=OFF Q4.2=OFF T1T1=ON Q4.2=OFF Q4.3=ON PIW256=0 T2T2=ON Q4.3=OFF“”7.8 关于乒乓控制1 乒乓控制算法2 乒乓控制算法的实现(S7_PRO113)FC1块“”FC1续“”DB1块OB1块“” 仿真 检测值小于低限,输出为ON。 检测值大于低限,输出为OFF。“”7.9 关于
11、PID控制1 闭环PID控制 PID控制器管理输出数值,以便将偏差(e)为零,使系统达到稳定状态。偏差是给定值(SP)和过程变量(PV)的差。 “”2 PID算法 PID控制原则以下列公式为基础,其中将输出M(t)表示成比例项、积分项和微分项的函数: 其中 M(t) 为PID运算的输出,是时间的函数 Kp 为 PID回路的比例系数 Ki 为 PID回路的积分系数 Kd 为PID回路的微分系数 e 为PID回路的偏差(给定值和过程变量之差) Minital 为PID回路输出的初始值“” 为了在数字计算机内运行此控制函数,必须将连续函数化成为偏差值的间断采样。数字计算机使用下列相应公式为基础的离散
12、化PID运算模型。 其中: Mn 为采样时刻n的PID运算输出值 Kp 为 PID回路的比例系数 Ki 为 PID回路的积分系数 Kd 为PID回路的微分系数 en 为采样时刻n的PID回路的偏差 en-1 为采样时刻n-1的PID回路的偏差 el 为采样时刻l的PID回路的偏差 Minital 为PID回路输出的初始值“” 在此公式中,第一项叫做比例项,第二项由两项的和构成,叫积分项,最后一项叫微分项。比例项是当前采样的函数,积分项是从第一采样至当前采样的函数,微分项是当前采样及前一采样的函数。在数字计算机内,这里既不可能也没有必要存储全部偏差项的采样。因为从第一采样开始,每次对偏差采样时都
13、必须计算其输出数值,因此,只需要存储前一次的偏差值及前一次的积分项数值。利用计算机处理的重复性,可对上述计算公式进行简化。简化后的公式为:其中: Mn 为采样时刻n的PID运算输出值 Kp 为 PID回路的比例系数 Ki 为 PID回路的积分系数 Kd 为PID回路的微分系数 en 为采样时刻n的PID回路的偏差 en-1 为采样时刻n-1的PID回路的偏差 MX 为积分项前值“” 计算回路输出值 CPU实际使用对上述简化公式略微修改的格式。修改后的公式为: 其中: Mn 为采样时刻n的回路输出计算值 MPn 为采样时刻n的回路输出比例项 MIn 为采样时刻n的回路输出积分项 MDn 为采样时
14、刻n的回路输出微分项 比例项 比例项MP是PID回路的比例系数(Kp)及偏差(e)的乘积,为了方便计算取Kp= Kc 。CPU采用的计算比例项的公式为: 其中: MPn 为采样时刻n的输出比例项的值 Kc 为回路的增益 SPn 为采样时刻n的设定值 PVn 为采样时刻n的过程变量值“” 积分项 积分项MI与偏差和成比例。为了方便计算取。CPU采用的积分项公式为: 其中: MIn 为 采用时刻n的输出积分项的值 Kc 为回路的增益 Ts 为采样的时间间隔 Ti 为积分时间 SPn 为采样时刻n的设定值 PVn 为采样时刻n的过程变量值 MX 为采样时刻n-1的积分项(又称为积分前项) 积分项(M
15、X)是积分项全部先前数值的和。每次计算出MIn以后,都要用MIn去更新MX。其中MIn可以被调整或被限定。MX的初值通常在第一次计算出输出之前被置为Minitai(初值)。 其它几个常量也是积分项的一部分,如增益、采样时刻 (PID循环重新计算输出数值的循环时间)、以及积分时间(用于控制积分项对输出计算影响的时间)。 “” 微分项 微分项MD与偏差的改变成比例,方便计算取 。 计算微分项的公式为: 为了避免步骤改变或由于对设定值求导而带来的输出变化,对此公式进行修改,假定设定值为常量(SPn=SPn-1),因此将计算过程变量的改变,而不计算偏差的改变,计算公式可以改进为: 其中: MDn 为
16、采用时刻n的输出微分项的值 Kc 为回路的增益 Ts 为采样的时间间隔 Td 为微分时间 SPn 为采样时刻n的设定值 SPn-1 为采样时刻n-1的设定值 PVn 为采样时刻n的过程变量值 PVn-1 为采样时刻n-1的过程变量值 “” 回路控制的选择 如果不需要积分运算(即在PID计算中不需要积分运算),则应将积分时间(Ti)指定为无限大,由于积分和MX的初始值,即使没有积分运算,积分项的数值也可能不为零。 这时积分系数 Ki=0.0如果不需要求导运算(即在PID计算中不需要微分运算),则应将求导时间(Td)指定为零。 这时微分系数 Kd=0.0如果不需要比例运算(即在PID计算中不需要比
17、例运算),而需要积分(I)或积分微分(ID)控制,则应将回路增益数值(Kc)指定为0.0,这时比例系数Kp=0.0。因为回路增益(Kc)是计算积分及微分项公式内的系数,将回路增益设定为0.0,将影响积分及微分项的计算。因而,当回路增益取为0.0时,在PID算法中,系统自动地把在积分和微分运算中的回路增益取为1.0 , 此时 “”3 PID算法的实现运算框图“” PID控制软件(S7_Pro4) OB1“” OB35“” FB1“”FB1续“”FB1续“”FB1续“” DB2“”仿真 : 观察过程量PIW256的变化,PID输出控制PQW350的改变“”4 PID控制模块(1) PID模块的工作
18、原理“”(2)PID模块 FM355:4路闭环控制模块内含:4AI+8DI+4DI“”FM355(续):输入地址PIW256-257输出地址PQW256-257“”FM355(续):基本参数有无中断中断类型工作方式“”(3)PID参数比例项:名称 数据类型 默认值 功能 P_SEL BOOL TRUE 比例项使能控制 GAIN REAL 2.0 放大倍数积分项:名称 数据类型 默认值 功能 I_SEL BOOL TRUE 积分项使能控制 TI TIME T#20S 积分时间 INT_HOLD BOOL FALSE 积分输出保持控制 I_ITL_ON BOOL - 积分输出再输入允许 I_ITL
19、VAL REAL 0.0 积分初值微分项:名称 数据类型 默认值 功能 D_SEL BOOL TRUE 微分项使能控制 TD TIME T#10S 微分时间 TM_LAG TIME T#2S 微分滞后时间过程参数 “”(4)模板初始化功能(SFC块) SFC 50: 名称 功能 WR_PARM 将动态参数写入模板 SFC 56: 名称 功能 WR_DPARM 将预定参数写入模板 SFC 57: 名称 功能 PARM_MOD 赋模板的参数 SFC 58 名称 功能 WR_REC 写模板专用的数据记录 SFC 59 名称 功能 RD_REC 读模板专用的数据记录(5)模板初始化功能的调用例:调用S
20、FC 50 CALL RD_LGADR“ SFC 50 的形参“”(6)利用PID模块设计的过程“”5 闭环控制系统功能块 系统功能块SFB 41 用于连续控制SFB 42 用于步进控制SFB 43 用于脉冲宽度控制 SFB 41 SFB 43的调用指令树LIBRARY STANDARD LIBRARY SYSTEM FUNCTION BLOCKS 6 闭环控制软件包功能块FB 41FB 42 FB 43 与SF41 SF42 SF43兼容, 用于PID控制。 FB 41 FB 43的调用 STANDARD LIBRARY PID CONTROL BLOCKS “” SFB41 (连续控制)的
21、输入参数参数名称参数名称数据类型数据类型地址地址说明说明默认值默认值CON_RETBOOL0.0完全重新启动,为完全重新启动,为1小时执行初始化小时执行初始化FALSECYCLETIME2采样时间,采样时间, 20MST#1SSP_INTREAL6内部设定值,内部设定值, 100或物理值或物理值0.0PV_INREAL10过程变量输入过程变量输入0.0PVPER_ONBOOL0.2使用外围设备输入过程变量使用外围设备输入过程变量FALSEPV_PERWORD14外围设备输入的过程变量值外围设备输入的过程变量值16#0000PV_FACREAL48输入的过程变量系数输入的过程变量系数1.0PV_
22、OFFREAL52输入过程变量的偏移量输入过程变量的偏移量0.0DEABD_WREAL36死区宽度,死区宽度, 0.0或物理值或物理值0.0GAINREAL20比例增益比例增益2.0TITIME24积分时间,积分时间, CYCLE T#20STDTIME28微分时间微分时间T#10STM_LAGTIME32微分操作的延迟时间微分操作的延迟时间T#2S“” SFB41 (连续控制)的输入参数(续)参数名称参数名称数据类型数据类型地址地址说明说明默认值默认值P_SELBOOL0.3打开比例操作打开比例操作TRUEI_SELBOOL0.4打开积分操作打开积分操作TRUED_SELBOOL0.7打开微
23、分操作打开微分操作TRUEI_ITLVALREAL64积分初值积分初值0.0I_ITL_ONBOOL0.6积分初化,为积分初化,为1时用时用I_ITLVALFALSEINT_HOLDBOOL0.5积分操作保持,为积分操作保持,为1时积分输出保持时积分输出保持FALSEDISVREAL68扰动输入变量扰动输入变量0.0MAN_ONBOOL0.1使手动值被置为操作值使手动值被置为操作值TRUEMANREAL16操作员输入的手动值,操作员输入的手动值, 100或物理值或物理值0.0LMN_HLMREAL40输出上限,输出上限,LMN_LLM 100%或物理值或物理值100.0LMN_LLMREAL4
24、4输出下限,输出下限, -100 % LMN_HLM或物理值或物理值0.0LMN_FACREAL56控制器输出量的系数控制器输出量的系数1.0LMN_OFFREAL60控制器输出量的偏移控制器输出量的偏移值值0.0“” SFB41 (连续控制)的输出参数具体控制时,需要把上述参数输入相应的数据块。 连续控制软件包(FB 41)的参数,也与上述参数相同。参数名称参数名称数据类型数据类型地址地址说明说明默认值默认值PVREAL0.7格式化的过程变量输出格式化的过程变量输出0.0ERREAL64死区处理后的误差输出死区处理后的误差输出0.0LMN_PREAL0.6控制器输出值中的比例输出控制器输出值中的比例输出0.0LMN _IREAL0.5控制器输出值中的积分输出控制器输出值中的积分输出0.0LMN _DREAL68控制器输出值中的微分输出控制器输出值中的微分输出0.0QLMN_HLMBOOL40控制器输出超过上限控制器输出超过上限FALSEQLMN_LLMBOOL44控制器输出小于下限控制器输出小于下限FALSELMNREAL56控制器输出值控制器输出值0.0LMN_PERWORD60I/O,O/I格式的控制器输出值格式的控制器输出值16#0000