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

西门子FB41中PID功能块说明和调整方法分享到QQ空间转帖到开心网转帖到百度搜藏
FB41称为连续控制的PID用于控制连续变化的模拟量,与FB42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。

PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;
PID的调用可以在OB35中完成,一般设置时间为200MS,
一定要结合帮助文档中的PID框图研究以下的参数,可以起到事半功倍的效果
以下将重要参数用黑体标明.如果你比较懒一点,只需重点关注黑体字的参数就可以了。

其他的可以使用默认参数。

A:所有的输入参数:
COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;
MAN_ON:BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;
PEPER_ON:BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量P IW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为FALSE;
P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;
I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;
INT_HOLD BOOL:积分保持,不去设置它;
I_ITL_ON BOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。

一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;
D_SEL :BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;
CYCLE :TIME:PID采样周期,一般设为200MS;
SP_INT:REAL:PID的给定值;
PV_IN :REAL:PID的反馈值(也称过程变量);
PV_PER:WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)
MAN :REAL:手动值,由MAN-ON选择有效;
GAIN :REAL:比例增益;
TI :TIME:积分时间;
TD :TIME:微分时间;
TM_LAG:TIME:我也不知道,没用过它,和微分有关;
DEADB_W:REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM:REAL:PID上极限,一般是100%;
LMN_LLM:REAL:PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%);
PV_FAC:REAL:过程变量比例因子
PV_OFF:REAL:过程变量偏置值(OFFSET)
LMN_FAC:REAL:PID输出值比例因子;
LMN_OFF:REAL:PID输出值偏置值(OFFSET);
I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效;
DISV :REAL:允许的扰动量,前馈控制加入,一般不设置;
B:部分输出参数说明:
LMN :REAL:PID输出;
LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果)
LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果)
LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)
C:规格化概念及方法:
PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,
而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的
因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比对应与27648数字量范围内的量)对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT
对于输出变量,执行:LMN*27648/100,然后将结果取整传送给PQW即可;
D:PID的调整方法:
一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可,
一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡
的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。

我记得网络上有许多调整PID的方法,但不记得那么多了,先试试吧。

附录:PID的调整可以通过“开始—>SIMATIC->STEP7->ID调整”打开PID调整的控制面板,通过选择不同的PID背景数据块,调整不同回路的PID参数。

合集下载

西门子OB块使用说明

西门子OB块使用说明
OB86
OB87 OB88 OB90
1-2
循环中断3(默认时间间隔:500ms) 10
循环中断4(默认时间间隔:200ms) 11
循环中断5(默认时间间隔:100ms) 12
循环中断6(默认时间间隔:50ms) 13
循环中断7(默认时间间隔:20ms) 14
循环中断8(默认时间间隔:10ms) 15
STEP 7 激活日期时间中断的基本可能性。
• 您可以在STEP 7 中设置日期时间中断,然后通过程序调用SFC30
“ACT-TINT”,激活日期时间中断。
• 您可以通过调用SFC28 “ SET_TINT ” 设置日期时间中断,通过调用SFC30
“ACT_TINT”,激活日期时间中断。
时间间隔 没有激活
过程中断
28
暖或冷启动或删除一个正在OB90 292)
中执行的块或装载一个OB90 到CPU
或中止OB90
硬件中断
DPV1 中断 多处理器中断 同步循环中断 冗余故障中断 同步故障中断
背景循环
OB OB100 OB101 OB102
OB121
OB122
启动事件 暖启动 热启动 冷启动
编程故障
I/O 访问故障
中断OB1 的执行。以下事件可导致操作系统调用OB1:
• CPU 启动完毕。 • OB1 执行到上一个循环周期结束。 OB1 执行完后,操作系统发送全局数据。再次启动OB1 之前,操作系统会将
输出映像区数据写入输出模板,刷新输入映像区并接收全局数据。S7 监视最
长循环时间,保证最长的响应时间。最长循环时间缺省设置为150ms。您可以
设一个新值或通过SFC43“RE_TRIGR”重新启动时间监视功能。如果您的程序

西门子 PLC中OB、FC、FB、SFC、SFB中功能块

西门子 PLC中OB、FC、FB、SFC、SFB中功能块

西门子 PLC中OB、FC、FB、SFC、SFB中功能块使用概述(2013-12-05 16:13:52)S7-300/400PLC程序采用结构化程序,把程序分成多个模块,各模块完成相应的功能。

结合起来就能实现一个复杂的控制系统。

就像高级语言一样,用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的程序。

在S7-300/400PLC中写在OB1模块里和程序就是主程序,子程序写在功能(FC),功能块(FB)。

FC运行是产生临时变量执行结束后数据就丢失-----不具有储存功能FB运行时需要调用各种参数,于是就产生了背景数据块DB。

例如用FB 41来作PID控制,则它的PID控制参数就要存在DB里面。

FB具有储存功能系统功能块(SFB)和系统功能(SFC)也是相当于子程序,只不过SFB 和SFC是集成在S7 CPU中的功能块,用户能直接调用不需自已写程序。

SFC与FC不具有储存功能,FB和SFB具有储存功能。

OB模块相当于子程序,负责调用其他模块。

如果程序简单只需要OB就可以实现。

用西门子PLC编程时,可以用到功能块FB和功能FC(FB、FC都是组织块)资料上说FB与FC都可以作为用户编写的子程序,但是我不明白这两个组织块之间到底有什么区别阿?在应用上到底有什么不同之处吗?FB--功能块,带背景数据块FC--功能,相当于函数他们之间的主要区别是:FC使用的是共享数据块,FB使用的是背景数据块举个例子,如果您要对3个参数相同的电机进行控制,那么只需要使用FB编程外加3个背景数据块就可以了,但是,如果您使用FC,那么您需要不断的修改共享数据块,否则会导致数据丢失。

FB确保了3个电机的参数互不干扰。

FB,FC本质都是一样的,都相当于子程序,可以被其他程序调用(也可以调用其他子程序)。

他们的最大区别是,FB与DB配合使用,DB中保存着F B使用的数据,即使FB退出后也会一直保留。

FC就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。

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

西门子PLC讲义 2-2 功能和功能块 FCFBs

西门子PLC讲义 2-2 功能和功能块 FCFBs
输入参数 输出参数 输入/输出 参数
定义FC 20形式参数
定义
in out In_out
形式参数
使用方法
只能读 只能写 可读/可写
图形显示
在块的左侧 在块的右侧 在块的左侧
编辑可以分配参数的块
调用可以分配参数的块
练习: 编辑可以分配参数的FC块
练习: 调用可以分配参数的FC块
第一次调用FC20时 的参数分配
2. 创建一个新的背景数据块 在 SIMATIC Manager
练习: 编辑功能块
练习: 调用功能块并测试
之前
之后
之后插入/删除块的参数
Adding a parameter
Save
检查块的一致性
调用被修改过的块时应做的更正
单击鼠标右键
比较: 功能和功能块
特性 静态变量 变量的初始值 需要背景数据块 当被调用时必须使用所有的实际参数
FBD
FC1 CALL
FC1
EN
ENO
FC2
EN
Par3
Par1
Par2 ENO
DB2
FB1
EN
ENO
DB3
FB2
EN
Par3
Par1 Par2
ENO
FC 2
FC 3
?? . ? EN ENO
EN ENO
EN ENO
=
总结: 块的调用
语言
STL
LAD
无参数
• UC FC1 • CC FC1 • CALL FC1
FC1
( CALL )
FC1
EN
ENO
FC
有参数
• CALL FC2 Par1: ... Par2: ... Par3: ...

西门子股份公司 DIGSI CFC 说明书

西门子股份公司 DIGSI CFC 说明书

CFC 使用手册 E50417-H115D-C098-A1
iii
目录
2.7 2.7.1 2.7.2 2.7.3 2.8 2.8.1 2.8.2 2.8.3 2.8.4 测量值处理实例..................................................................................................................35 连接输入信号 .....................................................................................................................36 连接功能块 .........................................................................................................................37 连接输出信号 .....................................................................................................................38 联锁实例 ............................................................................................................................39 连接输入信号 .....................................................................................................................40 增加输入信号的数目...........................................................................................................41 连接功能块 .........................................................................................................................42 连接输出信号 .....................................................................................................................43

自己总结:西门子功能块说明

自己总结:西门子功能块说明

SFC14读模块说明:
W#16#294:格式必须这样写,294是组态直流装置对应的P I W 660转化来的16进制数。

: P#DB9.DBX0.0表示PLC 从装置读的状态,从DB9.DBW0开始,长度是20个字节也就是10个字。

DB9.DBW0是第一个状态字(必须的(装置中设
U734[1]=K32)),DB9.DBW2是读出的速度值(装置
中设U734[2]=166),DB9.DBW4读出的电流值(装置
中设U734[3]=116)。

当然后两个到第10个字都可以
自定义(设置参数就可)。

DB9.DBW42没有什么实际意义,随便填一个。

P#DB9.DBX0.0
BYTE 20
SFC15写模块说明:
W#16#294:格式必须这样写,294是组态直流装置对应的P Q W 660转化来的16进制数。

: P#DB9.DBX20.0表示从PLC 写入装置的控制,从DB9.DBW20开始,长度是20个字节也就是10个
字。

DB9.DBW20是第一个控制字(必须的(装置中
设P648=3001)),控制字第0位是DB9.DBX21.0,
第15位是DB9.DBX20.7;DB9.DBW22是给定速度
值(装置中设P438=3002); 给定转矩(装置中设
P607=3003)。

DB9.DBW40没有什么实际意义,随便填一个。

P#DB9.DBX20.0
BYTE 20。

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

西门子FB41中PID功能块说明和调整方法FB41称为连续控制的PID用于控制连续变化的模拟量,与FB42的差别在于后者是离散型的,用于控制开关量,其他二者的使用方法和许多参数都相同或相似。

PID的初始化可以通过在OB100中调用一次,将参数COM-RST置位,当然也可在别的地方初始化它,关键的是要控制COM-RST;PID的调用可以在OB35中完成,一般设置时间为200MS,一定要结合帮助文档中的PID框图研究以下的参数,可以起到事半功倍的效果以下将重要参数用黑体标明.如果你比较懒一点,只需重点关注黑体字的参数就可以了。

其他的可以使用默认参数。

A:所有的输入参数:COM_RST: BOOL: 重新启动PID:当该位TURE时:PID执行重启动功能,复位PID内部参数到默认值;通常在系统重启动时执行一个扫描周期,或在PID进入饱和状态需要退出时用这个位;MAN_ON:BOOL:手动值ON;当该位为TURE时,PID功能块直接将MAN的值输出到LMN,这可以在PID框图中看到;也就是说,这个位是PID的手动/自动切换位;PEPER_ON:BOOL:过程变量外围值ON:过程变量即反馈量,此PID可直接使用过程变量PIW(不推荐),也可使用PIW规格化后的值(常用),因此,这个位为F ALSE;copyright plc资料网P_SEL:BOOL:比例选择位:该位ON时,选择P(比例)控制有效;一般选择有效;I_SEL:BOOL:积分选择位;该位ON时,选择I(积分)控制有效;一般选择有效;INT_HOLD BOOL:积分保持,不去设置它;I_ITL_ON BOOL:积分初值有效,I-ITLVAL(积分初值)变量和这个位对应,当此位ON时,则使用I-ITLVAL变量积分初值。

一般当发现PID功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;D_SEL :BOOL:微分选择位,该位ON时,选择D(微分)控制有效;一般的控制系统不用;CYCLE :TIME:PID采样周期,一般设为200MS;SP_INT:REAL:PID的给定值;PV_IN :REAL:PID的反馈值(也称过程变量);PV_PER:WORD:未经规格化的反馈值,由PEPER-ON选择有效;(不推荐)MAN :REAL:手动值,由MAN-ON选择有效;GAIN :REAL:比例增益;TI :TIME:积分时间;TD :TIME:微分时间;TM_LAG:TIME:我也不知道,没用过它,和微分有关;DEADB_W:REAL:死区宽度;如果输出在平衡点附近微小幅度振荡,可以考虑用死区来降低灵敏度;LMN_HLM:REAL:PID上极限,一般是100%;LMN_LLM:REAL:PID下极限;一般为0%,如果需要双极性调节,则需设置为-100%;(正负10V输出就是典型的双极性输出,此时需要设置-100%);PV_FAC:REAL:过程变量比例因子PV_OFF:REAL:过程变量偏置值(OFFSET)LMN_FAC:REAL:PID输出值比例因子;LMN_OFF:REAL:PID输出值偏置值(OFFSET);I_ITLVAL:REAL:PID的积分初值;有I-ITL-ON选择有效;DISV :REAL:允许的扰动量,前馈控制加入,一般不设置;B:部分输出参数说明:LMN :REAL:PID输出;LMN_P :REAL:PID输出中P的分量;(可用于在调试过程中观察效果)LMN_I :REAL:PID输出中I的分量;(可用于在调试过程中观察效果)LMN_D :REAL:PID输出中D的分量;(可用于在调试过程中观察效果)C:规格化概念及方法:PID参数中重要的几个变量,给定值,反馈值和输出值都是用0.0~1.0之间的实数表示,而这几个变量在实际中都是来自与模拟输入,或者输出控制模拟量的因此,需要将模拟输出转换为0.0~1.0的数据,或将0.0~1.0的数据转换为模拟输出,这个过程称为规格化规格化的方法:(即变量相对所占整个值域范围内的百分比对应与27648数字量范围内的量)对于输入和反馈,执行:变量*100/27648,然后将结果传送到PV-IN和SP-INT对于输出变量,执行:LMN*27648/100,然后将结果取整传送给PQW即可;D:PID的调整方法:一般不用D,除非一些大功率加热控制等惯大的系统;仅使用PI即可,一般先使I等于0,P从0开始往上加,直到系统出现等幅振荡为止,记下此时振荡的周期,然后设置I为振荡周期的0.48倍,应该就可以满足大多数的需求。

西门子PID模块的使用经验

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

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

一、在ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以二、大部分参数不要填,默认就行,下面是常用参数,用变量连接:1、MAN_ON:用一个bool量,如m0.0,为true则手动,为false则自动;2、cycle:T#100MS,这个值与ob35默认的100ms一致;3、SP_INT:MD2,是hmi发下来的设定值,0-100.0的范围,real型;4、PV_IN:md6,实际测量值,比如压力,要从piw×××转换为0-100.0的量程;5、MAN:MD10,op值,也就是手动状态下的阀门输出,real型,0-100.0的范围;6、GAIN:md14,Pid的P啊,默认写1-2吧(系统默认是2),调试的时候再改7、TI:MW20,pid的i啊.默认写T#30S吧,调试的时候改;8、DEAD_W:md22,死区,就是sp和pv的偏差死区,0-100.0的范围,默认0,调试的时候改;输出:9、LMN:MD26,0-100。

0,最终再用fc106转换为word型move到pqw×××,如果pid 运算结果不再有工艺条件其他限制可以用LMN_PER更简单就不用fc106了。

三、用plcsim模拟1、手动man_on=true,看输出是否等于man;2、自动man_on=false,调整pv或者sp,使得有偏差大于死区,看输出变化,这里的模拟只能说明pid工作了,不能测试实际调节效果啊。

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

自己总结:西门子功能块说明

没有什么实际意义,随便填一个.
写模块说明:
:格式必须这样写,是组态直流装置对应地转化来地进制数.
:表示从写入装置地控制,从开始,长度是个字节也就是个字.是第一个控制字(必须地(装置中设)),控制字第位是,第位是;是给定速度值(装置中设);给定转矩(装置中设).文档收集ቤተ መጻሕፍቲ ባይዱ网络,仅用于个人学习
没有什么实际意义,随便填一个.
读模块说明:
:格式必须这样写,是组态直流装置对应地转化来地进制数.
:表示从装置读地状态,从开始,长度是个字节也就是个字.是第一个状态字(必须地(装置中设[])),是读出地速度值(装置中设[]),读出地电流值(装置中设[]).当然后两个到第个字都可以自定义(设置参数就可).文档收集自网络,仅用于个人学习

西门子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"模拟量输入输出的比例和数据类型转换。

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