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程序,并使其易于修改和维护。

使用Step 7编写的PID控制模块

使用Step 7编写的PID控制模块

使用Step 7编写的PID控制模块1、说明:程序是用Step 7编写的。

带"_IN"与带"_OUT"的变量,如果前缀是一样的,要求连接同一个变量。

这段程序已经在温度控制上运行通过了。

2、代码如下:FUNCTION FC1 : VOIDV AR_INPUTRun:BOOL; //True-运行,False-停止Auto:BOOL; //True-自动,False-手动ISW:BOOL; //True-积分有效,False-积分无效DSW:BOOL; //True-微分有效,False-微分无效SetMV:REAL; //手动时的开度设定值SVSW:REAL; //当设定值低于SVSW时,开度为零PV:REAL; //测量值SV:REAL; //设定值DeadBand:REAL; //死区大小PBW:REAL; //比例带大小IW:REAL; //积分带大小DW:REAL; //微分带大小dErr_IN:REAL; //误差累积LastPV_IN:REAL; //上一控制周期的测量值END_V ARV AR_OUTPUTMV:REAL; //输出开度dErr_OUT:REAL; //误差累积LastPV_OUT:REAL;//上一控制周期的测量值END_V ARV ARErr:REAL; //误差dErr:REAL; //误差累积PBH:REAL; //比例带上限PBL:REAL; //比例带下限PVC:REAL; //测量值在一个控制周期内的变化率,即测量值变化速率P:REAL; //比例项I:REAL; //积分项D:REAL; //微分项END_V ARIF Run=1 THENIF Auto=1 THENIF SV>=SVSW THENErr:=SV-PV;PBH:=SV+PBW;PBL:=SV-PW;IF PV<PBL THENMV:=1;ELSIF PV>PBH THENMV:=0;ELSEP=(PBH-PV)/(PBH-PBL); //计算比例项//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //以下为积分项的计算////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////IF ISW=1 THENdErr:=dErr_IN;IF (PV<(SV-DeadBand)) OR (PV>(SV+DeadBand)) THENIF (dErr+Err)<(0-IW) THENdErr:=0-IW;ELSIF (dErr+Err)>IW THENdErr:=IW;ELSEdErr:=dErr+Err;END_IF;END_IF;I:=dErr/IW;dErr_OUT:=dErr;ELSEI:=0;END_IF;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //以上为积分项的计算//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //以下为微分项的计算////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////IF DSW=1 THENPVC:=LastPV_IN-PV;D:=PVC/DW;LastPV_OUT:=PV;ELSED:=0;END_IF;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////以上为微分项的计算////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////IF (P+I+D)>1 THENMV:=1;ELSIF (P+I+D)<0 THENMV:=0;ELSEMV:=P+I+D;END_IF;END_IF;ELSEMV:=0;END_IF;ELSEMV:=SetMV;END_IF;ELSEMV:=0;END_IF;END_FUNCTION。

西门子STEP7常用功能块说明

西门子STEP7常用功能块说明

西门子STEP7常用功能块说明西门子step7常用功能块说明【工控老鬼】(2021-10-2609:02:55)转载标签:plc培训plc实例感悟人生工控老鬼深圳plc培训分类:plc1.sfb0\相容iec61131-3的计数和计时功能块2.sfb41\用于pid控制41---连续42---离散43---用作将一个模拟量转变为与之对应的周期性控制器量脉冲信号,该脉冲的充电电流与模拟量的数值大小成正比.3.sfc0\用于读写plc中的系统时间4.sfc14\用于读写dp从站中的一致性数据如:读写用dp通讯的变频器中的控制字5.sfc20\块拷贝,块充填6.sfc46\sfc46并使plc步入stop状态,挺有价值的:可以当软件陷阱,或利用上位掌控plc停机7.sfc60\mpi的gd通讯8.iecfunctionblocksfc22\fc22---限幅输出fc25,fc27---3个数比大小9.pidcontrolblocksfb41/42/43同sfb41\fb58\用于温度控制pid10.ti-s7convertingblocksfc105\模拟量输入输出的比例和数据类型转换【工控旧鬼】(2021-10-2609:02:55)转载标签:plc培训plc实例感悟人生工控老鬼深圳plc培训分类:plc1.sfb0\相容iec61131-3的计数和计时功能块2.sfb41\用于pid控制41---连续42---离散43---用作将一个模拟量转变为与之对应的周期性控制器量脉冲信号,该脉冲的充电电流与模拟量的数值大小成正比.3.sfc0\用于读写plc中的系统时间4.sfc14\用于读写dp从站中的一致性数据如:读写用dp通讯的变频器中的控制字5.sfc20\块拷贝,块充填6.sfc46\sfc46并使plc步入stop状态,挺有价值的:可以当软件陷阱,或利用上位掌控plc停机7.sfc60\mpi的gd通讯8.iecfunctionblocksfc22\fc22---限幅输出fc25,fc27---3个数比大小9.pidcontrolblocksfb41/42/43同sfb41\fb58\用于温度控制pid10.ti-s7convertingblocksfc105\模拟量输入输出的比例和数据类型转换。

STEP 7 PID功能块使用

STEP 7 PID功能块使用

(QC_ACT =TRUE) OB35 OB35 10 10 1 5 10 4
6.
LLmn PWM
-100%
1.1.3. step function
(stability) (Steady-state error)
1.1.4.
PID PID
PID
PID
70
PID PID PID PI PD PID
(1)
P
Steady-state error (2) I
System with Steadystate Error “ ”
+
(PI)
(3)
D
(delay) “ “ ” + + (PD) ” “ ”
1.1.5. Βιβλιοθήκη IDPID PID PID
PID
PID (1) (2)
(3)
PID
PID
4
1
1.1.6.
PID
PID
PID
1.1.7.
PI PD PID PID PD
(1) P
(2) PI
I (3) PD
(4) PID PD I
Time Time Time
ms ms ms
ms
MAN LMN Real
Real 0-100% Word <= <= <= <= TI/10 PER_TM/50 TI/5 250/Gain
LMN_PER CYCLE CYCLE_P PER_TM CON_ZONE
2.5.
PID Control Parameter Assignment Windows “ PID ”
(1) Start > SIMATIC > STEP 7 > PID Control Parameter Assignment

STEP7_功能块使用介绍

STEP7_功能块使用介绍
21. DIV_R 实数除
UnRegistered 22. ABS 得到浮点型数字的绝对值
23. SQR 求平方
9
24. SQRT 求平方根
UnRegistered 25. EXP 求指数值
26. LN 求自然对数
10
27. SIN 求正弦值
28. COS 求余弦值
tered 29. TAN 求正切值 UnRegis 30. ASIN 得到反正弦值
输入
BOOL
I、Q、M、D、L
使能输入端,信号状态为 1 时激活该功能。
r ENO 输出
BOOL
I、Q、M、D、L
如果该功能的执行无错误,该使能输出端
信号状态为 1。
te IN
输入
INT
I、Q、M、D、L、P、常数
欲转换为以工程单位表示的实型
值的输入值。
HI_LIM
输入
REAL
I、Q、M、D、L、P、常数
控制功能 在 中,打开 Libraries\standard libraryPID Control block\FB41,将其调入 OB1 中,首
R 先分配背景数据块 DB41,再给各个管脚输入地址;如下:
4、脉冲输出模块 FB43,该模块是将模拟量转换成比率的脉冲输出。Libraries\standard
常数 K1 和 K2 根据输入值是 BIPOLAR 还是 UNIPOLAR 设置。
BIPOLAR:假定输入整型值介于 7648 与 27648 之间,因此 K1 = -7648.0,K2 = +27648.0
UNIPOLAR:假定输入整型值介于 0 和 27648 之间,因此 K1 = 0.0,K2 = +27648.0

STEP7常用功能块说明

STEP7常用功能块说明

STEP7常用功能块说明STEP7 常用功能块说明1. SFB0 "CTU" SFB1 "CTD" SFB2 "CTUD" SFB4 "TON" SFB5 TOF兼容IEC61131-3的计数和计时功能块2. SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"用于PID控制41---连续42---离散43---用于将一个模拟量转化为与之对应的周期性开关量脉冲信号,该脉冲的占空比与模拟量的数值大小成正比.3. SFC0 "SET_CLK" SFC1 "READ_CLK"用于读写PLC中的系统时间4. SFC14 "DPRD_DAT" SFC15 "DPWR_DA T"用于读写DP从站中的一致性数据如:读写用DP通讯的变频器中的控制字5. SFC20 "BLKMOV" SFC21 "FILL"块拷贝,块填充6. SFC46 "STP" SFC47 "WAIT"SFC46 使PLC进入STOP状态,挺有用的:可以当软件陷阱,或利用上位控制PLC停机7. SFC60 "GD_SND" SFC61 "GD_RCV"MPI的GD通讯8.IEC Function BlocksFC22 "LIMIT" FC25 "MAX" FC27 "MIN"FC22 ---限幅输出FC25,FC27 --- 3个数比大小9.PID Control BlocksFB41/42/43 同SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"FB58 "TCON_CP" FB59 "TCONT_S" 用于温度控制PID10.Ti-S7 Converting BlocksFC105 "SCALE" FC106 "UNSCALE"模拟量输入输出的比例和数据类型转换11、SFC1 读取系统时钟12、SFC3 启动/停止运行时间定时器13、OB1:主程序循环14、OB10--OB17:在设置的日期和时间启动15、OB20--OB23:延时后启动16、OB30--OB38:以设定的时间为周期17、OB40--OB47:检测到来自外部模块的中断请求时启动18、OB55:DPV1中断(PROFIBUS-DP中断)目录1 组织块1-11.1 组织块(OB)概述................................................................................................ 1-11.2 程序循环组织块(OB1)....................................................................................... 1-41.3 时钟中断组织块(OB10到OB17) ....................................................................... 1-61.4 时间延迟中断组织块(OB20 到OB23).............................................................. 1-101.5 周期性中断组织块(OB30 到OB38) ................................................................. 1-121.6 硬件中断组织块(OB40到OB47) ..................................................................... 1-141.7 状态中断OB(OB 55)........................................................................................ 1-161.8 更新中断OB(OB 56)........................................................................................ 1-171.9 制造商特定中断OB(OB57).............................................................................. 1-181.10 多值计算中断组织块(OB60)............................................................................ 1-191.11 同步周期性中断OB(OB 61 到OB 64)............................................................... 1-211.12 I/O冗余出错OB(OB70).................................................................................... 1-221.13 CPU冗余出错OB(OB72)................................................................................. 1-241.14 通讯冗余出错OB(OB73) ................................................................................. 1-271.15 时间出错组织块(OB80)................................................................................... 1-281.16 电源出错组织块(OB81)................................................................................... 1-301.17 诊断中断组织块(OB82)................................................................................... 1-321.18 插入/删除模块中断组织块(OB83) ................................................................... 1-341.19 CPU硬件故障组织块(OB84) ........................................................................... 1-371.20 优先级出错组织块(OB85) ............................................................................... 1-381.21 机架故障组织块(OB86)................................................................................... 1-421.22 通讯出错组织块(OB87)................................................................................... 1-451.23 处理中断OB(OB 88)........................................................................................ 1-471.24 后台组织块(OB90) .......................................................................................... 1-481.25 启动组织块(OB100、OB101和OB102) .......................................................... 1-501.26 编程出错组织块(OB121)................................................................................. 1-551.27 I/O访问出错组织块(OB122) ............................................................................ 1-572 SFC的公共参数2-12.1 通过输出参数RET_V AL判断出错...................................................................... 2-12.2 异步SFC的REQ、RET_V AL和BUSY参数的含义............................................. 2-4目录用于S7-300/400系统和标准功能的系统软件x A5E00446508-013 复制功能和块功能3-13.1 使用SFC20 “BLKMOV”复制存储区域............................................................... 3-1 3.2 使用SFC81 “UBLKMOV”不间断地复制变量..................................................... 3-4 3.3 使用SFC21 “FILL”初始化存储区....................................................................... 3-6 3.4 使用SFC22 “CREAT_DB”创建数据块............................................................... 3-83.5 使用SFC23 “DEL_DB”删除数据块.................................................................. 3-10 3.6 使用SFC24 “TEST_DB”测试数据块................................................................ 3-123.7 使用SFC25 “COMPRESS”压缩用户存储器.................................................... 3-133.8 使用SFC44 “REPL_V AL”传送一个替换值到累加器1...................................... 3-15 3.9 使用SFC82 “CREA_DBL”在装载存储器中生成数据块................................... 3-16 3.10 使用SFC83 “READ_DBL”从装载存储器的数据块中读取数据........................ 3-19 3.11 使用SFC84 “WRIT_DBL”在装载存储器中写入数据块.................................... 3-213.12 使用SFC85 “CREA_DB”创建数据块............................................................... 3-234 用于控制程序执行的SFC 4-14.1 使用SFC43 “RE_TRIGR”重新触发循环时间监视............................................. 4-1 4.2 使用SFC46 “STP”将CPU切换为STOP............................................................. 4-1 4.3 使用SFC47 “WAIT”延时用户程序执行.............................................................. 4-2 4.4 使用SFC35 “MP_ALM”触发多处理器中断........................................................ 4-34.5 使用SFC104 “CiR”控制CiR............................................................................... 4-45 用于处理系统时钟的SFC 5-15.1 使用SFC0 “SET_CLK”设定TOD....................................................................... 5-1 5.2 使用SFC1 “READ_CLK”读取时间.................................................................... 5-2 5.3 使用SFC48 “SNC_RTCB”同步子时钟.............................................................. 5-35.4 使用SFC100 “SET_CLKS”设定时间日期和TOD状态....................................... 5-46 用于处理运行系统计时器的SFC 6-16.1 运行时间定时器................................................................................................. 6-16.2 使用SFC101 “RTM”控制运行时间定时器.......................................................... 6-2 6.3 使用SFC2 “SET_RTM”设置运行时间定时器..................................................... 6-4 6.4 使用SFC3 “CTRL_RTM”启动和停止运行时间定时器....................................... 6-5 6.5 使用SFC4 “READ_RTM”读取运行时间定时器.................................................. 6-66.6 使用SFC64 “TIME_TCK”读取系统时间............................................................ 6-77 用于传送数据记录的SFC 7-17.1 读写一条数据记录............................................................................................. 7-17.2 使用SFC54 “RD_DPARM”读取定义的参数...................................................... 7-3 7.3 使用SFC102 “RD_DPARA”读取预定义参数..................................................... 7-4 7.4 使用SFC55 “WR_PARM”写动态参数............................................................... 7-5 7.5 使用SFC56 “WR_DPARM”写一条数据记录...................................................... 7-7 7.6 用SFC57 “PARM_MOD”将参数分配给模块..................................................... 7-8 7.7 使用SFC58 “WR_REC”写入数据记录............................................................. 7-11 7.8 使用SFC59 “RD_REC”读一个数据记录.......................................................... 7-13 7.9 SFC 55到59的进一步出错信息....................................................................... 7-18目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xi8 符合PNO AK 1131的DPV1 SFB 8-18.1 使用SFB “RDREC”从DP从站读一个数据记录.................................................. 8-1 8.2 使用SFB53“WRREC”将数据记录写入DP从站.................................................. 8-3 8.3 用SFB54“RALRM”STATUS[3]从DP从站接收中断.......................................... 8-58.4 用SFB75“SALRM”向DP主站发送中断............................................................ 8-149 用于处理时钟中断的SFC 9-19.1 处理时钟中断.................................................................................................... 9-19.2 SFC 28到31的特征........................................................................................... 9-29.3 使用SFC28 “SET_TINT”设置日时钟中断.......................................................... 9-4 9.4 使用SFC29 “CAN_TINT”取消时钟中断............................................................. 9-5 9.5 使用SFC30 “ACT_TINT”激活时钟中断............................................................. 9-6 9.6 使用SFC31 “QRY_TINT”查询日时钟中断......................................................... 9-710 用于处理延时中断的SFC 10-110.1 处理延时中断.................................................................................................. 10-110.2 使用SFC32 “SRT_DINT”启动延时中断........................................................... 10-3 10.3 使用SFC34 “QRY_DINT”查询日时钟中断...................................................... 10-410.4 使用SFC33 “CAN_DINT”取消延时中断.......................................................... 10-511 用于处理同步出错的SFC 11-111.1 屏蔽同步出错.................................................................................................. 11-111.2 使用SFC36 “MSK_FLT”屏蔽同步出错.......................................................... 11-10 11.3 使用SFC37 “DMSK_FLT”解除屏蔽同步出错................................................ 11-1111.4 使用SFC38 “READ_ERR”读取出错寄存器................................................... 11-1212 用于处理中断和异步出错的SFC 12-112.1 延迟和禁用中断和异步出错............................................................................. 12-112.2 使用SFC39 “DIS_IRT”禁用新中断和异步出错的处理..................................... 12-3 12.3 使用SFC40 “EN_IRT”启用新中断和异步出错的处理...................................... 12-5 12.4 使用SFC41 “DIS_AIRT”延迟更高优先级中断和异步出错的处理.................... 12-712.5 使用SFC42 “EN_AIRT”启用处理较高优先级的中断和异步出错..................... 12-813 用于诊断的SFC 13-113.1 系统诊断......................................................................................................... 13-113.2 使用SFC6 “RD_SINFO”读取OB启动信息....................................................... 13-1 13.3 使用SFC51 “RDSYSST”读取系统状态列表或部分列表.................................. 13-4 13.4 使用SFC52 “WR_USMSG”将自定义诊断事件写入诊断缓冲区................... 13-10 13.5 使用SFC78 “OB_RT”确定OB程序运行时间.................................................. 13-14 13.6 使用SFC87 “C_DIAG”诊断当前连接状态...................................................... 13-1813.7 使用SFC103 “DP_TOPOL”识别DP主站系统的总线拓扑.............................. 13-2314 用于更新过程映像和处理位域的SFC和SFB 14-114.1 使用SFC26 “UPDA T_PI”更新过程映像输入表................................................ 14-1 14.2 使用SFC27 “UPDA T_PO”更新过程映像输出表.............................................. 14-3 14.3 使用SFC79 “SET”在I/O区域中设置位域......................................................... 14-5 14.4 使用SFC 126 “SYNC_PI”在同步循环中更新过程映像分区输入表................. 14-6 14.5 使用SFC 127 “ISO_PO”在同步循环中更新过程映像分区输出表.................... 14-8 14.6 使用SFC80 “RSET”复位I/O区域中的位域..................................................... 14-10 14.7 使用SFB 32 “DRUM”实现一个操作序列....................................................... 14-11目录用于S7-300/400系统和标准功能的系统软件xii A5E00446508-0115 用于寻址模块的系统功能15-115.1 使用SFC5 “GADR_LGC”查询模块的逻辑基址................................................ 15-1 15.2 使用SFC49 “LGC_GADR”查询属于一个逻辑地址的模块插槽....................... 15-315.3 使用SFC50 “RD_LGADR”查询模块的所有逻辑地址...................................... 15-516 用于分布式I/O的SFC 16-116.1 使用SFC7 “DP_PRAL”在DP主站上触发硬件中断.......................................... 16-1 16.2 用SFC11 “DPSYC_FR”同步DP从站组........................................................... 16-4 16.3 用SFC12 “D_ACT_DP”激活和取消激活DP从站........................................... 16-10 16.4 用SFC13 “DPNRM_DG”读取DP从站的诊断数据(从站诊断) ........................ 16-1416.5 使用SFC14 “DPRD_DAT”读取DP标准从站的连续数据................................ 16-1816.6 使用SFC15 “DPWR_DAT”将连续数据写入到DP标准从站........................... 16-2017 用于全局数据通讯的SFC 17-117.1 使用SFC60 “GD_SND”发送一个GD信息包.................................................... 17-117.2 通过SFC61 “GD_RCV”编程接受已接收到的GD信息包.................................. 17-418 通讯和S7基本通讯的概述18-118.1 S7通讯块和S7基本通讯块之间的差别............................................................ 18-118.2 数据的一致性.................................................................................................. 18-418.3 S7通讯块概述................................................................................................. 18-618.4 用于S7基本通讯的功能块总览........................................................................ 18-819 S7通讯19-119.1 用于S7通讯的SFB/FB和SFC/FC的公用参数.................................................. 19-119.2 用于组态的S7连接的SFB启动例行程序.......................................................... 19-519.3 SFB对故障如何反应........................................................................................ 19-719.4 通过SFB8/FB8“USEND”进行无协调的数据发送............................................. 19-9 19.5 通过SFB/FB9“URCV”进行无协调的数据接收............................................... 19-12 19.6 通过SFB/FB12 “BSEND”发送分段数据........................................................ 19-15 19.7 通过SFB/FB13 “BRCV”接收分段数据........................................................... 19-18 19.8 通过SFB/FB15“PUT”向远程CPU写入数据................................................... 19-21 19.9 通过SFB/FB14GET”从远程CPU中读取数据................................................. 19-2419.10 使用SFB16“PRINT”将数据发送到打印机...................................................... 19-27 19.11 通过SFB 19“START”在远程设备上开始一个暖重启或冷重启...................... 19-33 19.12 通过SFB 20“STOP”将远程设备切换到STOP状态........................................ 19-36 19.13 通过SFB 21“RESUME”在远程设备上开始一个热重启.................................. 19-38 19.14 使用SFB 22“STA TUS”查询远程伙伴的状态................................................. 19-40 19.15 通过SFB23 “USTATUS”接收远程设备的状态改变....................................... 19-42 19.16 通过SFC62 “CONTROL”查询属于SFB实例的连接状态............................... 19-44 19.17 通过FC62 “C_CNTRL”查询连接状态............................................................ 19-46 19.18 S7通讯SFB/FB的工作存储器要求................................................................. 19-48目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xiii20 用于未组态S7连接的通讯SFC 20-120.1 通讯SFC的公用参数....................................................................................... 20-120.2 用于未组态S7连接的通讯SFC的出错信息...................................................... 20-220.3 使用SFC65 “X_SEND”将数据发送给在本地S7站外的一个通讯伙伴.............. 20-7 20.4 通过SFC66 “X_RCV”从本地S7站以外的通讯伙伴中接收数据....................... 20-8 20.5 通过SFC68 “X_PUT”将数据写入本地S7站以外的通讯伙伴.......................... 20-11 20.6 通过SFC67 “X_GET”从本地S7站以外的通讯伙伴中读取数据..................... 20-13 20.7 通过SFC69 “X_ABORT”中止已存在的、到本地S7站以外的通讯伙伴的连接20-15 20.8 使用SFC72 “I_GET”从本地S7站内的一个通讯伙伴上读取数据.................... 20-16 20.9 使用SFC73 “I_PUT”将数据写入到本地S7站内的一个通讯伙伴.................... 20-1820.10 通过SFC74 “I_ABORT”中止已存在的、到本地S7站内的通讯伙伴的连接.... 20-2021 PROFInet 21-121.1 SFC112、113和114背景信息......................................................................... 21-121.2 使用SFC112 “PN_IN”更新用于PROFInet组件的用户程序接口的输入........... 21-4 21.3 使用SFC113 “PN_OUT”更新用于PROFInet组件的用户程序接口的输出....... 21-521.4 使用SFC114 “PN_DP”更新DP互连................................................................ 21-622 生成与块相关的消息22-122.1 关于使用SFB生成块相关消息的介绍.............................................................. 22-122.2 使用SFB 36 “NOTIFY”生成无需确认的块相关消息........................................ 22-5 22.3 使用SFB31 “NOTIFY_8P”生成无确认显示的块相关消息............................... 22-7 22.4 使用SFB 33 “ALARM”生成需要确认的块相关消息....................................... 22-10 22.5 使用SFB35 “ALARM_8P”生成针对八个信号的带有关联值的块相关消息..... 22-13 22.6 使用SFB34 “ALARM_8”生成针对八个信号的不附带关联值的块相关消息.... 22-16 22.7 使用SFB37 “AR_SEND”发送归档数据......................................................... 22-18 22.8 使用SFC10 “DIS_MSG”禁止与块相关的消息、与符号相关的消息以及组状态消息................................................................ 22-2022.9 使用SFC9 “EN_MSG”启用块相关、符号相关和组状态消息......................... 22-22 22.10 用于生成与块相关的消息的SFB的启动特性................................................. 22-24 22.11 用于生成与块相关的消息的SFB如何响应故障.............................................. 22-25 22.12 使用SFC生成与块相关的消息简介................................................................ 22-26 22.13 使用SFC17 “ALARM_SQ”生成可确认的与块相关的消息以及使用SFC18 “ALARM_S”生成永久确认的与块相关的消息................................................ 22-2922.14 使用SFC19 “ALARM_SC”查询上一ALARM_SQ/ALARM_DQ进入事件消息的确认状态.......................................................... 22-3222.15 使用SFC 107 “ALARM_DQ”和108 “ALARM_D”生成可确认和永久确认的块相关消息............................................................ 22-3322.16 使用SFC105 “READ_SI”读取动态系统资源.................................................. 22-3522.17 使用SFC106 “READ_SI”读取动态系统资源.................................................. 22-3823 IEC定时器和IEC计数器23-123.1 使用SFB 3“TP”生成一个脉冲.......................................................................... 23-1 23.2 使用SFB 4“TON”生成一个接通延迟................................................................ 23-3 23.3 使用SFB 5“TOF”生成一个关闭延迟................................................................ 23-5 23.4 使用SFB 0 “CTU”递增计数............................................................................. 23-7 23.5 使用SFB 1 “CTD”递减计数............................................................................. 23-8 23.6 使用SFB2 “CTUD”递增/递减计数................................................................... 23-9目录用于S7-300/400系统和标准功能的系统软件xiv A5E00446508-0124 IEC功能24-124.1 概述................................................................................................................. 24-124.2 IEC功能的技术数据......................................................................................... 24-324.3 日期和时间作为复杂数据类型......................................................................... 24-524.4 时间功能......................................................................................................... 24-624.5 比较DATE_AND_TIME变量......................................................................... 24-1024.6 比较STRING变量.......................................................................................... 24-1324.7 编辑数值....................................................................................................... 24-1624.8 STL示例........................................................................................................ 24-1724.9 STL示例........................................................................................................ 24-1824.10 编辑STRING变量.......................................................................................... 24-1924.11 转换数据类型格式......................................................................................... 24-2425 用于集成控制的SFB 25-125.1 使用SFB41/FB41 “CONT_C”实现连续控制.................................................... 25-1 25.2 使用SFB42/FB42 “CONT_S”进行步控制........................................................ 25-8 25.3 使用SFB43/FB43 “PULSEGEN”生成脉冲.................................................... 25-1425.4 PULSEGEN块的实例.................................................................................... 25-2526 用于紧凑型CPU的SFB 26-126.1 通过SFB44 “Analog”使用模拟量输出进行定位............................................... 26-1 26.2 通过SFB46 “DIGITAL”使用数字量输出进行定位.......................................... 26-13 26.3 使用SFB47 “COUNT”控制计数器................................................................. 26-23 26.4 使用SFB48 “FREQUENC”控制频率测量...................................................... 26-28 26.5 使用SFB49 “PULSE”控制脉宽调制............................................................... 26-32 26.6 使用SFB60 “SEND_PTP”发送数据(ASCII,3964(R)) .................................. 26-35 26.7 使用SFB61 “RCV_PTP”接收数据(ASCII,3964(R)) .................................... 26-38 26.8 使用SFB62 “RES_RCVB”删除接收缓冲区(ASCII,3964(R))...................... 26-41 26.9 使用SFB63 “SEND_RK”发送数据(512(R)) ................................................... 26-43 26.10 使用SFB64 “FETCH RK”获取数据(RK 512) ................................................. 26-47 26.11 使用SFB65 “SERVE_RK”接收和提供数据(RK 512) ..................................... 26-5226.12 SFB 60至65的附加出错信息......................................................................... 26-5727 用于H CPU的SFC 27-127.1 在H系统中使用SFC90 “H_CTRL”控制操作.................................................... 27-128 集成功能(对于带集成I/O的CPU) 28-128.1 SFB29(HS_COUNT)....................................................................................... 28-128.2 SFB30(FREQ_MES)....................................................................................... 28-328.3 SFB38(HSC_A_B).......................................................................................... 28-428.4 SFB39(POS)................................................................................................... 28-529 Plastics Techology 29-129.1 SFC63 (AB_CALL) ......................................................................................... 29-130 诊断数据30-130.1 诊断数据结构概述........................................................................................... 30-130.2 诊断数据......................................................................................................... 30-230.3 通道专有诊断数据的结构................................................................................ 30-4目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xv31 系统状态列表(SSL) 31-131.1 系统状态列表(SSL)概述.................................................................................. 31-131.2 部分SSL列表的结构........................................................................................ 31-331.3 SSL-ID ............................................................................................................ 31-431.4 可能的部分系统状态列表................................................................................ 31-531.5 SSL-ID W#16#xy11 - 模块标识...................................................................... 31-631.6 SSL-ID W#16#xy12 - CPU特征...................................................................... 31-731.7 SSL-ID W#16#xy13 - 存储区域...................................................................... 31-931.8 SSL-ID W#16#xy14 - 系统区........................................................................ 31-1031.9 SSL-ID W#16#xy15 - 块类型........................................................................ 31-1231.10 SSL-ID W#16#xy19 - 模块LED的状态.......................................................... 31-13 31.11 SSL-ID W#16#xy1C - 组件标识.................................................................... 31-15 31.12 SSL ID W#16#xy25 - 将过程映像分区分配到OB.......................................... 31-18 31.13 SSL-ID W#16#xy32 - 通讯状态数据............................................................. 31-21 31.14 SSL-ID W#16#0132,索引为W#16#0005的部分列表的数据记录摘录....... 31-22 31.15 SSL-ID W#16#0132,索引为W#16#0008的部分列表的数据记录摘录....... 31-23 31.16 SSL-ID为W#16#0132、索引为W#16#000B的部分列表摘录的数据记录.... 31-25 31.17 SSL-ID为W#16#0132、索引为W#16#000C的部分列表摘录的数据记录.... 31-26 31.18 SSL-ID W#16#0232,索引为W#16#0004的部分列表的数据记录摘录....... 31-27 31.19 SSL-ID W#16#xy71 - H CPU的组信息......................................................... 31-28 31.20 SSL-ID W#16#xy74 - 模块LED的状态.......................................................... 31-31 31.21 SSL-ID W#16#xy75 - H系统中切换的DP从站.............................................. 31-33 31.22 SSL-ID W#16#xy90 - DP主站系统信息........................................................ 31-35 31.23 SSL-ID W#16#xy91 - 模块的状态信息.......................................................... 31-37 31.24 SSL-ID W#16#xy92 - 机架/站的状态信息..................................................... 31-41 31.25 SSL-ID W#16#xy95 - 扩展DP主站系统信息................................................. 31-44 31.26 SSL-ID W#16#xyA0 - 诊断缓冲区................................................................ 31-46 31.27 SSL-ID W#16#00B1 - 模块的诊断信息......................................................... 31-47 31.28 SSL-ID W#16#00B2 - 对应物理地址的诊断数据记录1................................. 31-49 31.29 SSL-ID W#16#00B3 - 带逻辑基址的模块诊断数据....................................... 31-5031.30 SSL-ID W#16#00B4 - DP从站的诊断数据.................................................... 31-5132 事件32-132.1 事件和事件标识符........................................................................................... 32-132.2 事件等级1 - 标准OB事件................................................................................. 32-3 32.3 事件等级2 - 异步出错...................................................................................... 32-3 32.4 事件等级3 - 异步出错...................................................................................... 32-4 32.5 事件等级4 - 停止事件和其它模式改变............................................................ 32-7 32.6 事件等级5 - 模式运行期事件......................................................................... 32-10 32.7 事件等级6 - 通讯事件.................................................................................... 32-11 32.8 事件等级7 - H/F事件..................................................................................... 32-12 32.9 事件等级8 - 模块的诊断事件......................................................................... 32-14 32.10 事件等级9 - 标准用户事件............................................................................. 32-16 32.11 事件等级A和B - 自由用户事件...................................................................... 32-17 32.12 保留的事件等级............................................................................................. 32-18目录用于S7-300/400系统和标准功能的系统软件xvi A5E00446508-0133 SFC和SFB列表33-133.1 按编号排序的SFC列表.................................................................................... 33-1 33.2 按字母排序的SFC列表.................................................................................... 33-433.3 按编号排序的SFB列表.................................................................................... 33-7 33.4 按字母排序的SFB列表.................................................................................... 33-9 参考书目词汇表索引用于S7-300/400系统和标准功能的系统软件A5E00446508-01 1-11 组织块1.1 组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。

step7PID功能块详解

step7PID功能块详解

功能根据下面地法则标准化输出地输出( 地输出) * 和地默认值分别为和误差信号误差是给定点和过程变量之间地差值.为了抑制由于控制量量化而引起地小扰动(例如,控制量由于其执行电子管地有限分辨率),可将死区功能运用在误差信号上.如果,则死区就不起作用. 算法此处算法是位置式地,比例、积分和微分作用并联并且可以分别激活或取消激活.这样就可以分别构造、、以及控制器,纯比例控制器或纯微分控制也是可以地. 手动值可以在手动和自动模式之间切换,在手动模式下,操作值可以由一个手动选择值来设定,积分器在内部设定为(操作值)(比例操作值)(扰动),微分器设定为并且在内部进行同步,这意味着当转换到自动模式后,不会引起操作值地突然改变.操作值利用功能可以将操作值限定在所选地值范围内,输入值引起地输出超过界限时会在信号位上表现出来功能根据下面地公式标准化地输出地输出×和地默认值分别为和操作值,也可以直接输出到外设功能将浮点形式地值根据下面地公式转化成能输出到外设式地值:×前馈控制扰动可以作为前馈信号从处输入.模式当输入参数为真时,“”开始执行完全重启地程序.在此过程中,积分器被设定为初始值,当它被一个中断优先级更高地调用时,它就以这个值来继续工作,其他所有地输出值都被设定为默认值.误差信息模块并不检查误差,误差输出参数并没有用到模块图输入参数完全重启,当为真时执行重启程序手动操作,若为真,控制环中断,操作值手动设定过程变量直接从外设输入为真则比例控制起作用为真则积分控制起作用为真则微分控制起作用为真则积分控制地输出不变为真,使积分器地输出为> 采样时间或者物理量内部地给定点地输入值或者物理量过程变量以浮点形式输入地值过程变量从外设直接输入地值或者物理量通过这个参数设定手动操作地值比例控制增益> 决定积分器地响应时间> 微分时间> 微分器地延迟时间操作值地最高限操作值地最低限过程变量因子,调整过程变量地范围个人收集整理勿做商业用途过程变量偏置,调整过程变量地范围操作值因子,调整操作值地范围操作值偏置,调整操作值地范围或者物理量积分器地初始化值或者物理量输入地扰动变量或者物理量死区宽度输出参数参数个人收集整理勿做商业用途以浮点形式输出地有效操作值直接输出到外设地操作值手动操作值达到最高限设置为真手动操作值达到最低时设置为真比例控制产生地操作值积分控制产生地操作值微分控制产生地操作值输出地有效过程变量输出地误差信号个人收集整理勿做商业用途。

STEP 7 - PID 控制

STEP 7 - PID 控制

123B词汇表,索引A5E00447392--01用于S7-300和S7-400的标准软件PID控制用户手册SIMATICii用于S 7-30和S 7-40的标准软件-P I D 控制本手册包括了保证人身安全与保护本产品及相连设备所应遵守的注意事项。

这些注意事项在手册中均以三角形警告符号加以突出,并根据危险等级标识如下:!危险表示如果不采取适当的预防措施,将导致死亡、严重的人身伤害或财产损失。

!警告表示如果不采取适当的预防措施,可能导致死亡、严重的人身伤害或财产损失。

!当心表示如果不采取适当的预防措施,可能导致轻微的人身伤害或财产损失。

注意提醒您注意有关产品、产品使用的特别重要的信息,或者是文档的特定部分。

安装和操作设备/系统时,一定要结合本手册进行。

只有合格人员才允许安装和操作该设备。

合格人员是指被授权按照既定安全惯例和标准,对线路、设备和系统进行调试、接地和标记的人员。

请注意如下事项:!警告本设备及其部件只能用于产品目录或技术说明书中所描述的范畴,并且只能与由西门子公司认可或推荐的第三方厂商提供的设备或部件一起使用。

只有正确地运输、保管、设置和安装本产品,并且按照推荐的方式操作和维护,产品才能正常、安全地运行。

SIMATIC R 和SINEC R 是SIEMENS AG 的注册商标。

本文档中的其它一些标志也是注册商标,如果任何第三方出于个人目的而使用,都会侵犯商标所有者的权利。

我们已检查过本手册中的内容与所描述的硬件和软件相符。

由于差错在所难免,我们不能保证完全一致。

我们会定期审查本手册中的内容,并在后续版本中进行必要的更正。

欢迎提出改进意见。

技术数据如有改动,恕不另行通知。

E Siemens AG 1996免责声明版权所有E Siemens AG 1996保留所有权利未经明确的书面许可,不得复制、传播或使用本手册或所含内容。

违者应对造成的损失承担责任。

保留所有权利,包括实用新型或设计的专利许可权及注册权。

STEP7常用功能块介绍

STEP7常用功能块介绍

S T E P7常用功能块介绍-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN目的:FC105的使用1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开Libraries\standard 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\standard library\PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下:4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。

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

西门子STEP7常用功能块说明

西门子STEP7常用功能块说明

1. SFB0 "CTU" SFB1 "CTD" SFB2 "CTUD" SFB4 "TON" SFB5 TOF兼容IEC61131-3的计数和计时功能块2. SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"用于PID控制41---连续42---离散43---用于将一个模拟量转化为与之对应的周期性开关量脉冲信号,该脉冲的占空比与模拟量的数值大小成正比.3. SFC0 "SET_CLK" SFC1 "READ_CLK"用于读写PLC中的系统时间4. SFC14 "DPRD_DAT" SFC15 "DPWR_DAT"用于读写DP从站中的一致性数据如:读写用DP通讯的变频器中的控制字5. SFC20 "BLKMOV" SFC21 "FILL"块拷贝,块填充6. SFC46 "STP" SFC47 "WAIT"SFC46 使PLC进入STOP状态,挺有用的:可以当软件陷阱,或利用上位控制PLC停机7. SFC60 "GD_SND" SFC61 "GD_RCV"MPI的GD通讯8.IEC Function BlocksFC22 "LIMIT" FC25 "MAX" FC27 "MIN"FC22 ---限幅输出FC25,FC27 --- 3个数比大小9.PID Control BlocksFB41/42/43 同SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN" FB58 "TCON_CP" FB59 "TCONT_S" 用于温度控制PID10.Ti-S7 Converting BlocksFC105 "SCALE" FC106 "UNSCALE"模拟量输入输出的比例和数据类型转换。

STEP7常用功能块说明

STEP7常用功能块说明

STEP7常用功能块说明STEP7 常用功能块说明1. SFB0 "CTU" SFB1 "CTD" SFB2 "CTUD" SFB4 "TON" SFB5 TOF兼容IEC61131-3的计数和计时功能块2. SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"用于PID控制41---连续42---离散43---用于将一个模拟量转化为与之对应的周期性开关量脉冲信号,该脉冲的占空比与模拟量的数值大小成正比.3. SFC0 "SET_CLK" SFC1 "READ_CLK"用于读写PLC中的系统时间4. SFC14 "DPRD_DAT" SFC15 "DPWR_DA T"用于读写DP从站中的一致性数据如:读写用DP通讯的变频器中的控制字5. SFC20 "BLKMOV" SFC21 "FILL"块拷贝,块填充6. SFC46 "STP" SFC47 "WAIT"SFC46 使PLC进入STOP状态,挺有用的:可以当软件陷阱,或利用上位控制PLC停机7. SFC60 "GD_SND" SFC61 "GD_RCV"MPI的GD通讯8.IEC Function BlocksFC22 "LIMIT" FC25 "MAX" FC27 "MIN"FC22 ---限幅输出FC25,FC27 --- 3个数比大小9.PID Control BlocksFB41/42/43 同SFB41 "CONT_C" SFB42 "CONT_S" SFB43 "PULSEGEN"FB58 "TCON_CP" FB59 "TCONT_S" 用于温度控制PID10.Ti-S7 Converting BlocksFC105 "SCALE" FC106 "UNSCALE"模拟量输入输出的比例和数据类型转换11、SFC1 读取系统时钟12、SFC3 启动/停止运行时间定时器13、OB1:主程序循环14、OB10--OB17:在设置的日期和时间启动15、OB20--OB23:延时后启动16、OB30--OB38:以设定的时间为周期17、OB40--OB47:检测到来自外部模块的中断请求时启动18、OB55:DPV1中断(PROFIBUS-DP中断)目录1 组织块1-11.1 组织块(OB)概述................................................................................................ 1-11.2 程序循环组织块(OB1)....................................................................................... 1-41.3 时钟中断组织块(OB10到OB17) ....................................................................... 1-61.4 时间延迟中断组织块(OB20 到OB23).............................................................. 1-101.5 周期性中断组织块(OB30 到OB38) ................................................................. 1-121.6 硬件中断组织块(OB40到OB47) ..................................................................... 1-141.7 状态中断OB(OB 55)........................................................................................ 1-161.8 更新中断OB(OB 56)........................................................................................ 1-171.9 制造商特定中断OB(OB57).............................................................................. 1-181.10 多值计算中断组织块(OB60)............................................................................ 1-191.11 同步周期性中断OB(OB 61 到OB 64)............................................................... 1-211.12 I/O冗余出错OB(OB70).................................................................................... 1-221.13 CPU冗余出错OB(OB72)................................................................................. 1-241.14 通讯冗余出错OB(OB73) ................................................................................. 1-271.15 时间出错组织块(OB80)................................................................................... 1-281.16 电源出错组织块(OB81)................................................................................... 1-301.17 诊断中断组织块(OB82)................................................................................... 1-321.18 插入/删除模块中断组织块(OB83) ................................................................... 1-341.19 CPU硬件故障组织块(OB84) ........................................................................... 1-371.20 优先级出错组织块(OB85) ............................................................................... 1-381.21 机架故障组织块(OB86)................................................................................... 1-421.22 通讯出错组织块(OB87)................................................................................... 1-451.23 处理中断OB(OB 88)........................................................................................ 1-471.24 后台组织块(OB90) .......................................................................................... 1-481.25 启动组织块(OB100、OB101和OB102) .......................................................... 1-501.26 编程出错组织块(OB121)................................................................................. 1-551.27 I/O访问出错组织块(OB122) ............................................................................ 1-572 SFC的公共参数2-12.1 通过输出参数RET_V AL判断出错...................................................................... 2-12.2 异步SFC的REQ、RET_V AL和BUSY参数的含义............................................. 2-4目录用于S7-300/400系统和标准功能的系统软件x A5E00446508-013 复制功能和块功能3-13.1 使用SFC20 “BLKMOV”复制存储区域............................................................... 3-1 3.2 使用SFC81 “UBLKMOV”不间断地复制变量..................................................... 3-4 3.3 使用SFC21 “FILL”初始化存储区....................................................................... 3-6 3.4 使用SFC22 “CREAT_DB”创建数据块............................................................... 3-83.5 使用SFC23 “DEL_DB”删除数据块.................................................................. 3-10 3.6 使用SFC24 “TEST_DB”测试数据块................................................................ 3-123.7 使用SFC25 “COMPRESS”压缩用户存储器.................................................... 3-133.8 使用SFC44 “REPL_V AL”传送一个替换值到累加器1...................................... 3-15 3.9 使用SFC82 “CREA_DBL”在装载存储器中生成数据块................................... 3-16 3.10 使用SFC83 “READ_DBL”从装载存储器的数据块中读取数据........................ 3-19 3.11 使用SFC84 “WRIT_DBL”在装载存储器中写入数据块.................................... 3-213.12 使用SFC85 “CREA_DB”创建数据块............................................................... 3-234 用于控制程序执行的SFC 4-14.1 使用SFC43 “RE_TRIGR”重新触发循环时间监视............................................. 4-1 4.2 使用SFC46 “STP”将CPU切换为STOP............................................................. 4-1 4.3 使用SFC47 “WAIT”延时用户程序执行.............................................................. 4-2 4.4 使用SFC35 “MP_ALM”触发多处理器中断........................................................ 4-34.5 使用SFC104 “CiR”控制CiR............................................................................... 4-45 用于处理系统时钟的SFC 5-15.1 使用SFC0 “SET_CLK”设定TOD....................................................................... 5-1 5.2 使用SFC1 “READ_CLK”读取时间.................................................................... 5-2 5.3 使用SFC48 “SNC_RTCB”同步子时钟.............................................................. 5-35.4 使用SFC100 “SET_CLKS”设定时间日期和TOD状态....................................... 5-46 用于处理运行系统计时器的SFC 6-16.1 运行时间定时器................................................................................................. 6-16.2 使用SFC101 “RTM”控制运行时间定时器.......................................................... 6-2 6.3 使用SFC2 “SET_RTM”设置运行时间定时器..................................................... 6-4 6.4 使用SFC3 “CTRL_RTM”启动和停止运行时间定时器....................................... 6-5 6.5 使用SFC4 “READ_RTM”读取运行时间定时器.................................................. 6-66.6 使用SFC64 “TIME_TCK”读取系统时间............................................................ 6-77 用于传送数据记录的SFC 7-17.1 读写一条数据记录............................................................................................. 7-17.2 使用SFC54 “RD_DPARM”读取定义的参数...................................................... 7-3 7.3 使用SFC102 “RD_DPARA”读取预定义参数..................................................... 7-4 7.4 使用SFC55 “WR_PARM”写动态参数............................................................... 7-5 7.5 使用SFC56 “WR_DPARM”写一条数据记录...................................................... 7-7 7.6 用SFC57 “PARM_MOD”将参数分配给模块..................................................... 7-8 7.7 使用SFC58 “WR_REC”写入数据记录............................................................. 7-11 7.8 使用SFC59 “RD_REC”读一个数据记录.......................................................... 7-13 7.9 SFC 55到59的进一步出错信息....................................................................... 7-18目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xi8 符合PNO AK 1131的DPV1 SFB 8-18.1 使用SFB “RDREC”从DP从站读一个数据记录.................................................. 8-1 8.2 使用SFB53“WRREC”将数据记录写入DP从站.................................................. 8-3 8.3 用SFB54“RALRM”STATUS[3]从DP从站接收中断.......................................... 8-58.4 用SFB75“SALRM”向DP主站发送中断............................................................ 8-149 用于处理时钟中断的SFC 9-19.1 处理时钟中断.................................................................................................... 9-19.2 SFC 28到31的特征........................................................................................... 9-29.3 使用SFC28 “SET_TINT”设置日时钟中断.......................................................... 9-4 9.4 使用SFC29 “CAN_TINT”取消时钟中断............................................................. 9-5 9.5 使用SFC30 “ACT_TINT”激活时钟中断............................................................. 9-6 9.6 使用SFC31 “QRY_TINT”查询日时钟中断......................................................... 9-710 用于处理延时中断的SFC 10-110.1 处理延时中断.................................................................................................. 10-110.2 使用SFC32 “SRT_DINT”启动延时中断........................................................... 10-3 10.3 使用SFC34 “QRY_DINT”查询日时钟中断...................................................... 10-410.4 使用SFC33 “CAN_DINT”取消延时中断.......................................................... 10-511 用于处理同步出错的SFC 11-111.1 屏蔽同步出错.................................................................................................. 11-111.2 使用SFC36 “MSK_FLT”屏蔽同步出错.......................................................... 11-10 11.3 使用SFC37 “DMSK_FLT”解除屏蔽同步出错................................................ 11-1111.4 使用SFC38 “READ_ERR”读取出错寄存器................................................... 11-1212 用于处理中断和异步出错的SFC 12-112.1 延迟和禁用中断和异步出错............................................................................. 12-112.2 使用SFC39 “DIS_IRT”禁用新中断和异步出错的处理..................................... 12-3 12.3 使用SFC40 “EN_IRT”启用新中断和异步出错的处理...................................... 12-5 12.4 使用SFC41 “DIS_AIRT”延迟更高优先级中断和异步出错的处理.................... 12-712.5 使用SFC42 “EN_AIRT”启用处理较高优先级的中断和异步出错..................... 12-813 用于诊断的SFC 13-113.1 系统诊断......................................................................................................... 13-113.2 使用SFC6 “RD_SINFO”读取OB启动信息....................................................... 13-1 13.3 使用SFC51 “RDSYSST”读取系统状态列表或部分列表.................................. 13-4 13.4 使用SFC52 “WR_USMSG”将自定义诊断事件写入诊断缓冲区................... 13-10 13.5 使用SFC78 “OB_RT”确定OB程序运行时间.................................................. 13-14 13.6 使用SFC87 “C_DIAG”诊断当前连接状态...................................................... 13-1813.7 使用SFC103 “DP_TOPOL”识别DP主站系统的总线拓扑.............................. 13-2314 用于更新过程映像和处理位域的SFC和SFB 14-114.1 使用SFC26 “UPDA T_PI”更新过程映像输入表................................................ 14-1 14.2 使用SFC27 “UPDA T_PO”更新过程映像输出表.............................................. 14-3 14.3 使用SFC79 “SET”在I/O区域中设置位域......................................................... 14-5 14.4 使用SFC 126 “SYNC_PI”在同步循环中更新过程映像分区输入表................. 14-6 14.5 使用SFC 127 “ISO_PO”在同步循环中更新过程映像分区输出表.................... 14-8 14.6 使用SFC80 “RSET”复位I/O区域中的位域..................................................... 14-10 14.7 使用SFB 32 “DRUM”实现一个操作序列....................................................... 14-11目录用于S7-300/400系统和标准功能的系统软件xii A5E00446508-0115 用于寻址模块的系统功能15-115.1 使用SFC5 “GADR_LGC”查询模块的逻辑基址................................................ 15-1 15.2 使用SFC49 “LGC_GADR”查询属于一个逻辑地址的模块插槽....................... 15-315.3 使用SFC50 “RD_LGADR”查询模块的所有逻辑地址...................................... 15-516 用于分布式I/O的SFC 16-116.1 使用SFC7 “DP_PRAL”在DP主站上触发硬件中断.......................................... 16-1 16.2 用SFC11 “DPSYC_FR”同步DP从站组........................................................... 16-4 16.3 用SFC12 “D_ACT_DP”激活和取消激活DP从站........................................... 16-10 16.4 用SFC13 “DPNRM_DG”读取DP从站的诊断数据(从站诊断) ........................ 16-1416.5 使用SFC14 “DPRD_DAT”读取DP标准从站的连续数据................................ 16-1816.6 使用SFC15 “DPWR_DAT”将连续数据写入到DP标准从站........................... 16-2017 用于全局数据通讯的SFC 17-117.1 使用SFC60 “GD_SND”发送一个GD信息包.................................................... 17-117.2 通过SFC61 “GD_RCV”编程接受已接收到的GD信息包.................................. 17-418 通讯和S7基本通讯的概述18-118.1 S7通讯块和S7基本通讯块之间的差别............................................................ 18-118.2 数据的一致性.................................................................................................. 18-418.3 S7通讯块概述................................................................................................. 18-618.4 用于S7基本通讯的功能块总览........................................................................ 18-819 S7通讯19-119.1 用于S7通讯的SFB/FB和SFC/FC的公用参数.................................................. 19-119.2 用于组态的S7连接的SFB启动例行程序.......................................................... 19-519.3 SFB对故障如何反应........................................................................................ 19-719.4 通过SFB8/FB8“USEND”进行无协调的数据发送............................................. 19-9 19.5 通过SFB/FB9“URCV”进行无协调的数据接收............................................... 19-12 19.6 通过SFB/FB12 “BSEND”发送分段数据........................................................ 19-15 19.7 通过SFB/FB13 “BRCV”接收分段数据........................................................... 19-18 19.8 通过SFB/FB15“PUT”向远程CPU写入数据................................................... 19-21 19.9 通过SFB/FB14GET”从远程CPU中读取数据................................................. 19-2419.10 使用SFB16“PRINT”将数据发送到打印机...................................................... 19-27 19.11 通过SFB 19“START”在远程设备上开始一个暖重启或冷重启...................... 19-33 19.12 通过SFB 20“STOP”将远程设备切换到STOP状态........................................ 19-36 19.13 通过SFB 21“RESUME”在远程设备上开始一个热重启.................................. 19-38 19.14 使用SFB 22“STA TUS”查询远程伙伴的状态................................................. 19-40 19.15 通过SFB23 “USTATUS”接收远程设备的状态改变....................................... 19-42 19.16 通过SFC62 “CONTROL”查询属于SFB实例的连接状态............................... 19-44 19.17 通过FC62 “C_CNTRL”查询连接状态............................................................ 19-46 19.18 S7通讯SFB/FB的工作存储器要求................................................................. 19-48目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xiii20 用于未组态S7连接的通讯SFC 20-120.1 通讯SFC的公用参数....................................................................................... 20-120.2 用于未组态S7连接的通讯SFC的出错信息...................................................... 20-220.3 使用SFC65 “X_SEND”将数据发送给在本地S7站外的一个通讯伙伴.............. 20-7 20.4 通过SFC66 “X_RCV”从本地S7站以外的通讯伙伴中接收数据....................... 20-8 20.5 通过SFC68 “X_PUT”将数据写入本地S7站以外的通讯伙伴.......................... 20-11 20.6 通过SFC67 “X_GET”从本地S7站以外的通讯伙伴中读取数据..................... 20-13 20.7 通过SFC69 “X_ABORT”中止已存在的、到本地S7站以外的通讯伙伴的连接20-15 20.8 使用SFC72 “I_GET”从本地S7站内的一个通讯伙伴上读取数据.................... 20-16 20.9 使用SFC73 “I_PUT”将数据写入到本地S7站内的一个通讯伙伴.................... 20-1820.10 通过SFC74 “I_ABORT”中止已存在的、到本地S7站内的通讯伙伴的连接.... 20-2021 PROFInet 21-121.1 SFC112、113和114背景信息......................................................................... 21-121.2 使用SFC112 “PN_IN”更新用于PROFInet组件的用户程序接口的输入........... 21-4 21.3 使用SFC113 “PN_OUT”更新用于PROFInet组件的用户程序接口的输出....... 21-521.4 使用SFC114 “PN_DP”更新DP互连................................................................ 21-622 生成与块相关的消息22-122.1 关于使用SFB生成块相关消息的介绍.............................................................. 22-122.2 使用SFB 36 “NOTIFY”生成无需确认的块相关消息........................................ 22-5 22.3 使用SFB31 “NOTIFY_8P”生成无确认显示的块相关消息............................... 22-7 22.4 使用SFB 33 “ALARM”生成需要确认的块相关消息....................................... 22-10 22.5 使用SFB35 “ALARM_8P”生成针对八个信号的带有关联值的块相关消息..... 22-13 22.6 使用SFB34 “ALARM_8”生成针对八个信号的不附带关联值的块相关消息.... 22-16 22.7 使用SFB37 “AR_SEND”发送归档数据......................................................... 22-18 22.8 使用SFC10 “DIS_MSG”禁止与块相关的消息、与符号相关的消息以及组状态消息................................................................ 22-2022.9 使用SFC9 “EN_MSG”启用块相关、符号相关和组状态消息......................... 22-22 22.10 用于生成与块相关的消息的SFB的启动特性................................................. 22-24 22.11 用于生成与块相关的消息的SFB如何响应故障.............................................. 22-25 22.12 使用SFC生成与块相关的消息简介................................................................ 22-26 22.13 使用SFC17 “ALARM_SQ”生成可确认的与块相关的消息以及使用SFC18 “ALARM_S”生成永久确认的与块相关的消息................................................ 22-2922.14 使用SFC19 “ALARM_SC”查询上一ALARM_SQ/ALARM_DQ进入事件消息的确认状态.......................................................... 22-3222.15 使用SFC 107 “ALARM_DQ”和108 “ALARM_D”生成可确认和永久确认的块相关消息............................................................ 22-3322.16 使用SFC105 “READ_SI”读取动态系统资源.................................................. 22-3522.17 使用SFC106 “READ_SI”读取动态系统资源.................................................. 22-3823 IEC定时器和IEC计数器23-123.1 使用SFB 3“TP”生成一个脉冲.......................................................................... 23-1 23.2 使用SFB 4“TON”生成一个接通延迟................................................................ 23-3 23.3 使用SFB 5“TOF”生成一个关闭延迟................................................................ 23-5 23.4 使用SFB 0 “CTU”递增计数............................................................................. 23-7 23.5 使用SFB 1 “CTD”递减计数............................................................................. 23-8 23.6 使用SFB2 “CTUD”递增/递减计数................................................................... 23-9目录用于S7-300/400系统和标准功能的系统软件xiv A5E00446508-0124 IEC功能24-124.1 概述................................................................................................................. 24-124.2 IEC功能的技术数据......................................................................................... 24-324.3 日期和时间作为复杂数据类型......................................................................... 24-524.4 时间功能......................................................................................................... 24-624.5 比较DATE_AND_TIME变量......................................................................... 24-1024.6 比较STRING变量.......................................................................................... 24-1324.7 编辑数值....................................................................................................... 24-1624.8 STL示例........................................................................................................ 24-1724.9 STL示例........................................................................................................ 24-1824.10 编辑STRING变量.......................................................................................... 24-1924.11 转换数据类型格式......................................................................................... 24-2425 用于集成控制的SFB 25-125.1 使用SFB41/FB41 “CONT_C”实现连续控制.................................................... 25-1 25.2 使用SFB42/FB42 “CONT_S”进行步控制........................................................ 25-8 25.3 使用SFB43/FB43 “PULSEGEN”生成脉冲.................................................... 25-1425.4 PULSEGEN块的实例.................................................................................... 25-2526 用于紧凑型CPU的SFB 26-126.1 通过SFB44 “Analog”使用模拟量输出进行定位............................................... 26-1 26.2 通过SFB46 “DIGITAL”使用数字量输出进行定位.......................................... 26-13 26.3 使用SFB47 “COUNT”控制计数器................................................................. 26-23 26.4 使用SFB48 “FREQUENC”控制频率测量...................................................... 26-28 26.5 使用SFB49 “PULSE”控制脉宽调制............................................................... 26-32 26.6 使用SFB60 “SEND_PTP”发送数据(ASCII,3964(R)) .................................. 26-35 26.7 使用SFB61 “RCV_PTP”接收数据(ASCII,3964(R)) .................................... 26-38 26.8 使用SFB62 “RES_RCVB”删除接收缓冲区(ASCII,3964(R))...................... 26-41 26.9 使用SFB63 “SEND_RK”发送数据(512(R)) ................................................... 26-43 26.10 使用SFB64 “FETCH RK”获取数据(RK 512) ................................................. 26-47 26.11 使用SFB65 “SERVE_RK”接收和提供数据(RK 512) ..................................... 26-5226.12 SFB 60至65的附加出错信息......................................................................... 26-5727 用于H CPU的SFC 27-127.1 在H系统中使用SFC90 “H_CTRL”控制操作.................................................... 27-128 集成功能(对于带集成I/O的CPU) 28-128.1 SFB29(HS_COUNT)....................................................................................... 28-128.2 SFB30(FREQ_MES)....................................................................................... 28-328.3 SFB38(HSC_A_B).......................................................................................... 28-428.4 SFB39(POS)................................................................................................... 28-529 Plastics Techology 29-129.1 SFC63 (AB_CALL) ......................................................................................... 29-130 诊断数据30-130.1 诊断数据结构概述........................................................................................... 30-130.2 诊断数据......................................................................................................... 30-230.3 通道专有诊断数据的结构................................................................................ 30-4目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xv31 系统状态列表(SSL) 31-131.1 系统状态列表(SSL)概述.................................................................................. 31-131.2 部分SSL列表的结构........................................................................................ 31-331.3 SSL-ID ............................................................................................................ 31-431.4 可能的部分系统状态列表................................................................................ 31-531.5 SSL-ID W#16#xy11 - 模块标识...................................................................... 31-631.6 SSL-ID W#16#xy12 - CPU特征...................................................................... 31-731.7 SSL-ID W#16#xy13 - 存储区域...................................................................... 31-931.8 SSL-ID W#16#xy14 - 系统区........................................................................ 31-1031.9 SSL-ID W#16#xy15 - 块类型........................................................................ 31-1231.10 SSL-ID W#16#xy19 - 模块LED的状态.......................................................... 31-13 31.11 SSL-ID W#16#xy1C - 组件标识.................................................................... 31-15 31.12 SSL ID W#16#xy25 - 将过程映像分区分配到OB.......................................... 31-18 31.13 SSL-ID W#16#xy32 - 通讯状态数据............................................................. 31-21 31.14 SSL-ID W#16#0132,索引为W#16#0005的部分列表的数据记录摘录....... 31-22 31.15 SSL-ID W#16#0132,索引为W#16#0008的部分列表的数据记录摘录....... 31-23 31.16 SSL-ID为W#16#0132、索引为W#16#000B的部分列表摘录的数据记录.... 31-25 31.17 SSL-ID为W#16#0132、索引为W#16#000C的部分列表摘录的数据记录.... 31-26 31.18 SSL-ID W#16#0232,索引为W#16#0004的部分列表的数据记录摘录....... 31-27 31.19 SSL-ID W#16#xy71 - H CPU的组信息......................................................... 31-28 31.20 SSL-ID W#16#xy74 - 模块LED的状态.......................................................... 31-31 31.21 SSL-ID W#16#xy75 - H系统中切换的DP从站.............................................. 31-33 31.22 SSL-ID W#16#xy90 - DP主站系统信息........................................................ 31-35 31.23 SSL-ID W#16#xy91 - 模块的状态信息.......................................................... 31-37 31.24 SSL-ID W#16#xy92 - 机架/站的状态信息..................................................... 31-41 31.25 SSL-ID W#16#xy95 - 扩展DP主站系统信息................................................. 31-44 31.26 SSL-ID W#16#xyA0 - 诊断缓冲区................................................................ 31-46 31.27 SSL-ID W#16#00B1 - 模块的诊断信息......................................................... 31-47 31.28 SSL-ID W#16#00B2 - 对应物理地址的诊断数据记录1................................. 31-49 31.29 SSL-ID W#16#00B3 - 带逻辑基址的模块诊断数据....................................... 31-5031.30 SSL-ID W#16#00B4 - DP从站的诊断数据.................................................... 31-5132 事件32-132.1 事件和事件标识符........................................................................................... 32-132.2 事件等级1 - 标准OB事件................................................................................. 32-3 32.3 事件等级2 - 异步出错...................................................................................... 32-3 32.4 事件等级3 - 异步出错...................................................................................... 32-4 32.5 事件等级4 - 停止事件和其它模式改变............................................................ 32-7 32.6 事件等级5 - 模式运行期事件......................................................................... 32-10 32.7 事件等级6 - 通讯事件.................................................................................... 32-11 32.8 事件等级7 - H/F事件..................................................................................... 32-12 32.9 事件等级8 - 模块的诊断事件......................................................................... 32-14 32.10 事件等级9 - 标准用户事件............................................................................. 32-16 32.11 事件等级A和B - 自由用户事件...................................................................... 32-17 32.12 保留的事件等级............................................................................................. 32-18目录用于S7-300/400系统和标准功能的系统软件xvi A5E00446508-0133 SFC和SFB列表33-133.1 按编号排序的SFC列表.................................................................................... 33-1 33.2 按字母排序的SFC列表.................................................................................... 33-433.3 按编号排序的SFB列表.................................................................................... 33-7 33.4 按字母排序的SFB列表.................................................................................... 33-9 参考书目词汇表索引用于S7-300/400系统和标准功能的系统软件A5E00446508-01 1-11 组织块1.1 组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。

  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 输出的误差信号。

相关文档
最新文档