step7 PID功能块详解

合集下载

STEP7中PID控制的实现方法

STEP7中PID控制的实现方法

STEP7中PID控制的实现方法作为一家专业的环保公司,依斯倍致力于工业废水处理一站式解决方案,拥有众多污水处理的项目案例。

依斯倍工程师也有多年相关的PID工作经验,遇到过也解决过各式各样的问题。

那么今天依斯倍电气工程师就教大家用STEP 7中的模块实现PID的控制方法。

本文讨论的功能模块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于S7和C7的CPU中的循环中断程序中。

该功能块,定期计算所需要的数据,保存在指定的DB中。

CONT_C块与PULSEGEN块组合使用,可以获得一个带有比例执行机构脉冲输出的控制器。

控制系统的属性由技术过程和机器条件决定,因此,必须选择最适用的系统控制器。

借助于“PID参数设置”工具,可以很方便的调试功能块SFB41/FB41,SFB42/FB42的参数。

在Windows操作系统中,选择start>SIMATIC>STEP 7>PID Control Parameter Assignment,调用“调试PID参数用户界面”。

在最开始的对话框中,你既可以打开一个已经存在的SFB41/FB41“CONT_C”或者SFB42/FB42“CONT_S”的背景数据块,也可以生成一个新的数据块。

由于SFB43/FB43,“PULSEGEN”没有参数设置的用户界面,必须在STEP 7中设置它的参数。

可以使用控制器作为单独的PID定点控制器或在多循环控制中作为级联控制器、混合控制器和比例控制器使用。

控制器的功能基于带有一个模拟信号的采样控制器的PID控算法,如果必要的话,可以通过脉冲发送器(PULSEGEN)进行扩展,以产生脉冲宽度调制的输出信号,来控制比例执行机构的两个或三个步进控制器。

SFB1/FB1“CONT_C”(连续控制器)用于使用连续的I/O变量在SIMATIC S7控制系统中控制技术过程。

可以通过参数打开或关闭PID控制器,以此来控制系统。

STEP7-功能块全中文说明资料

STEP7-功能块全中文说明资料

parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。

12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。

西门子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

STEP7-功能块全中文说明

STEP7-功能块全中文说明

parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。

12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:• ADD_I 加整数• SUB_I 减整型• MUL_I 乘整型• DIV_I 除整型• ADD_DI 加双精度整数• SUB_DI 减长整型• MUL_DI 乘长整型• DIV_DI 除长整型• MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。

西门子PLC STEP7主要功能块介绍

西门子PLC STEP7主要功能块介绍

西门子PLC STEP7主要功能块介绍西门子PLC S7-300系列和西门子PLC S7-400系列常用在工业自动化领域的中大型项目中,它们使用的编程软件是STEP7,在编程软件STEP7中,西门子为用户提供了多种功能块来方便用户编程使用。

本文下面就对西门子PLC编程软件STEP7中的功能块做一个介绍,为用户的使用提供帮助。

西门子PLC STEP7主要功能块用户在进行西门子PLC编程时,采用的编程工具为STEP7,STEP7是西门子S7/M7/C7系列西门子PLC的编程工具,该软件包以块形式管理用户编写的程序和数据。

STEP7的程序是一种结构化的程序,它把程序分为四种模块:(1) 组织模块(OB)用于对后四种模块的调用与管理;(2) 程序模块(FB)用于实现简单逻辑控制任务;(3) 功能模块(FC)用于对较复杂的控制任务进行编程,以实现调用;(4) 数据模块(DB)存储程序运行所需的数据。

在STEP7的操作系统还固化一些子程序,我们可根据自己的实际需要调用这些模块来满足控制要求,在本程序中,我们使用OB1、OB35、OB100组织模块。

OB1用于线性和结构化的程序执行。

对结构化的程序,所有的模块调用都将写入到OB1中,被OB1调用的模块,OB1可由操作系统自动循环调用。

OB35是一个循环中断程序,操作系统可每隔一定时间就产生中断运行,比OB1更高的优先级,也就是说,OB35可以中断OB1的运行,处理自身程序,中断的时间可在STEP7硬件组态中设定,本设计中,所以我们利用OB35实现对料筒实际温度的采样,其循环中断时间设定为20秒。

西门子PLC编程软件STEP7为用户提供了多种功能块,用户可以在编程组态过程中调用来完成各种逻辑功能。

北京天拓四方科技有限公司。

STEP7-功能块全中文说明全解

STEP7-功能块全中文说明全解

parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。

12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。

STEP7常用功能块教程

STEP7常用功能块教程

STEP7常用功能块教程1、 FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在 中,打开Libraries\stan dard library\Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下:其中,管脚的定义如下:IN---------模拟量模块的输入通道地址,在硬件组态时分配;HI_LIM---现场信号的最大量程值;LO_LIM--现场信号的最小量程值;BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1,如果现场信号为4MA~20MA(无极性信号);则设置为0;OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放;RET_VAL-FC105功能块的故障字,可存放在一个字里面。

如:MW50;2、 热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10;3、 FB41 PID控制模块的使用;PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能 在 中,打开Libraries\s tandard library\PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下:4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。

Libraries\standard libra ry\PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:5、 果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:6、如果单独控制变量输出通道,可使用FC106模块,FC106是处理模拟量(1~5V、4~20MA等常规信号)输出的功能块,在 中,打开Libraries\standard library\Ti-S7 Converting Blocks\fc1 06,将其调入OB1中,给各个管脚输入地址;如下:。

STEP7常用功能块教程

STEP7常用功能块教程

STEP7常用功能块教程STEP7(Siemens Totally Integrated Automation Portal)是西门子公司的一款集成的自动化工程软件,用于配置、程序和诊断西门子的可编程逻辑控制器(PLC)系统。

STEP7具有许多强大的功能块,可以帮助用户更高效地编程和管理PLC系统。

本文将介绍一些常用的STEP7功能块和它们的应用。

1.FC(函数块):函数块是一种可重用的程序单元,允许用户编写自定义函数。

通过使用函数块,可以将常用的代码片段封装为函数,以便在不同的程序中重复使用。

例如,可以创建一个函数块来实现PID控制算法,使其可以在不同的工程中重复使用。

2.FB(功能块):功能块是STEP7中的另一种可重用程序单元,类似于函数块。

不同之处在于,功能块可以包含状态信息,并可以在程序中直接调用。

功能块通常用于处理系统的输入和输出信号,并执行相关的逻辑操作。

例如,可以创建一个功能块来处理PLC的输入和输出模块,并根据逻辑条件执行相应的控制操作。

3.OB(组织块):组织块是STEP7中的一种特殊类型的函数块,用于定义PLC程序的执行顺序和事件触发条件。

组织块分为不同的类型,如主程序(OB1)和中断(OB35),每个类型都有不同的功能和触发条件。

通过使用组织块,可以精确控制PLC程序的执行流程,并根据需要触发特定的事件。

4.DB(数据块):数据块是STEP7中用于存储和管理数据的容器。

数据块包含一个或多个变量,可以在PLC程序中访问和使用。

通过使用数据块,可以将相关的数据组织在一起,并轻松地进行数据的传输和处理。

例如,可以创建一个数据块来存储传感器和执行器的输入和输出数据,并在程序中使用这些数据进行逻辑判断和控制操作。

5.SFC(顺序功能图):顺序功能图是一种图形化编程语言,用于描述程序的执行顺序和组织结构。

SFC可以将PLC程序分解为不同的步骤,并定义不同的条件和转换规则。

通过使用SFC,可以更直观地理解和设计复杂的PLC程序,并使其易于修改和维护。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在线帮助 STEP 7的在线帮助同样也可以为你提供各种功能块的帮助信息进一步帮助
PID控制器是标准控制器的子集,想得到标准控制器进一步的资料,请参阅/350/参数设置调用参数分配用户界面在Windows95下按照下面的选项调用PID控制器的参数设置用户界面Start—SIMATIC_Step 7—PID Control ParameterAssignment 在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。

如果你新建了一个新的背景数据块,你会被提示将这个数据块分配给某一个功能块。

FB43 PULSEGEN没有参数设置的界面,你必须用STEP 7的工具给其分配参数。

在线帮助当你给控制模块设置参数时可以使用参数设置用户界面的在线帮助,你可以以三种方式调用在线帮助 9 用菜单选项中的Help 9 按下F1键 9 按下参数设置用户界面里的帮助按钮用功能块FB41“CONT_C”实现连续控制简介
在SIMATIC S7 可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程。

在参数设置过程中,你可以通过参数设置来激活或取消激活PID控制的某些子功能来设计适应过程需要的控制器应用你可以将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器。

控制器的算法是基于具有模拟输入信号的采样PID控制。

如果扩展需要的话可以引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。

描述除了给定点和过程变量分支的功能外,FB自己就可以实现一个完整的具有连续操作值输出并且具有手动改变操作值功能的PID控制器,下面你会找到各子功能的详细描述
给定点分支给定点的值以浮点形式在SP_INT处输入。

过程变量分支过程变量可以从外设直接输入到PV_PER或以浮点PV-IN形式输入
功能CRP_IN将从外设来的值PV-PER转化成范围在-100%~100%之间的浮点形式,根据下面的法则进行转换: CRP_IN = PV_PER*100/27648
功能PV_NORM根据下面的法则标准化输出CRP_IN PV_NORM的输出 = ( CRP_IN 的输出) * PV_FAC + PV_OFF PV_FAC和PV_OFF的默认值分别为1和0 误差信号误差是给定点和过程变量之间的差值。

为了抑制由于控制量量化而引起的小扰动(例如,控制量由于其执行电子管的有限分辨率),可将死区功能DEADBAND运用在误差信号上。

如果DEADB_W = 0,则死区就不起作用。

PID算法此处PID 算法是位置式的,比例、积分和微分作用并联并且可以分别激活或取消激活。

这样就可以分别构造P、PI、PD以及PID控制器,纯比例控制器或纯微分控制也是可以的。

手动值可以在手动和自动模式之间切换,在手动模式下,操作值可以由一个手动选择值来设定,积分器在内部设定为 LMN(操作值) - LMN_P(比例操作值)- DISV(扰动),微分器设定为0并且在内部进行同步,这意味着当转换到自动模式后,不会引起操作值的突然改变。

操作值利用LMNLIMIT功能可以将操作值限定在所选的值范围内,输入值引起的输出超过界限时会在信号位上表现出来
功能LMN_NORM根据下面的公式标准化LMNLIMIT的输出
LMN=LMNLIMIT的输出×LMN_FAC+LMN_OFF LMN_FAC和LMN_OFF的默认值分别为1和0 操作值,也可以直接输出到外设
功能CRP_OUT将浮点形式的值LMN根据下面的公式转化成能输出到外设式的值:LMN_PER = LMN × 100/27648 前馈控制扰动可以作为前馈信号从DISV处输入。

模式 Complete Restart/Restart 当输入参数COM_RST为真时,FB41 “CONT_C”开始执行完全重启的程序。

在此过程中,积分器被设定为初始值I_ITVAL,当它被一个中断优先级更高地调用时,它就以这个值来继续工作,其他所有的输出值都被设定为默认值。

误差信息模块并不检查误差,误差输出参数RET_VAL并没有用到模块图输入参数
COM_RST BOOL FALSE 完全重启,当为真时执行重启程序
MAN_ON BOOL TRUE 手动操作,若为真,控制环中断,操作值手动设定PVPER_ON BOOL FALSE 过程变量直接从外设输入
P_SEL BOOL TRUE 为真则比例控制起作用
I_SEL BOOL TRUE 为真则积分控制起作用
D_SEL BOOL FALSE 为真则微分控制起作用
INT_HOLD BOOL FALSE 为真则积分控制的输出不变
I_ITL_ON BOOL FALSE 为真,使积分器的输出为I_ITLVAL
CYCLE TIME >=1ms T#1s 采样时间
SP_INT REAL -100~100%或者物理量内部的给定点的输入值
PV_IN REAL -100~100%或者物理量过程变量以浮点形式输入的值
PV_PER WORD W#16#0000 过程变量从外设直接输入的值
MAN REAL -100~100%或者物理量通过这个参数设定手动操作的值GAIN REAL 2.0 比例控制增益
TI TIME >=CYCLE T#20s 决定积分器的响应时间
TD TIME >=CYCLE T#10s 微分时间
TM_LAG TIME >=CYCLE/2 T#2s 微分器的延迟时间
LMN_HLM REAL 100.0 操作值的最高限
LMN_LLM REAL 0.0 操作值的最低限
PV_FAC REAL 1.0 过程变量因子,调整过程变量的范围
PV_OFF REAL 0.0 过程变量偏置,调整过程变量的范围
LMN_FAC REAL 1.0 操作值因子,调整操作值的范围
LMN_OFF REAL 0.0 操作值偏置,调整操作值的范围
I_ITLVAL REAL -100~100%或者物理量积分器的初始化值
DISV REAL -100~100%或者物理量输入的扰动变量
DEADE_W REAL -100~100%或者物理量死区宽度输出参数参数
LMN REAL 0.0 以浮点形式输出的有效操作值
LMN_PER WORD W#16#0000 直接输出到外设的操作值
QLMN_HLM BOOL FALSE 手动操作值达到最高限设置为真
QLMN_LLM BOOL FALSE 手动操作值达到最低时设置为真
LMN_P REAL 0.0 比例控制产生的操作值
LMN_I REAL 0.0 积分控制产生的操作值
LMN_D REAL 0.0 微分控制产生的操作值
PV REAL 0.0 输出的有效过程变量
ER REAL 0.0 输出的误差信号。

相关文档
最新文档