西门子STEP7编程中sfb4的用法
- 格式:doc
- 大小:31.00 KB
- 文档页数:2
西门⼦PLC中OB、FC、FB、SFC、SFB的区别是什么?导读:程序采⽤结构化程序,把程序分成多个模块,各模块完成相应的功能。
结合起来就能实现⼀个复杂的控制系统。
就像⾼级语⾔⼀样,⽤⼦程序实现特定的功能,再通过主程序调⽤各⼦程序,从⽽能实现复杂的程序。
在S7-300/400PLC中写在OB1模块⾥和程序就是主程序,⼦程序写在功能(FC),功能块(FB)。
① FC运⾏是产⽣临时变量执⾏结束后数据就丢失-----不具有储存功能② FB运⾏时需要调⽤各种参数,于是就产⽣了背景数据块DB。
例如⽤FB41来作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中保存着FB使⽤的数据,即使FB退出后也会⼀直保留。
FC就没有⼀个永久的数据块来存放数据,只在运⾏期间会被分配⼀个临时的数据区。
在实际编程中,是使⽤FB还是FC,要看实际的需要决定。
西门子 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就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。
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控制器,以此来控制系统。
FB41功能块简介SFB/FB "CONT_C" (连续控制器)在SIMATIC S7可编程逻辑控制器上使用,通过持续的输入和输出变量来控制工艺过程。
在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应过程的需要。
使用参数分配工具可以轻松完成分配(菜单路径:开始 > Simatic > Step7 > 分配PID控制参数)。
开始 > Simatic > Step7 > 分配PID控制(英文)中提供了在线电子手册。
应用介绍:可以使用该控制器作为PID固定设定值控制器或在多循环控制中作为层叠、混料或比率控制器。
该控制器的功能基于使用模拟信号的采样控制器的PID控制算法,必要时可以通过加入脉冲发生器阶段进行扩展,为使用成比例执行机构的两个或三个步骤控制器生成脉冲持续时间调制输出信号。
注意只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。
为此,应该在周期性中断OB (OB30至OB38)中调用控制块。
在CYCLE参数中输入采样时间。
描述。
除了设定值和过程值分支中的功能,SFB/FB还通过持续操作变量输出和手动影响操作值的选项实现了完整的PID控制器。
下文提供了对这些子功能的详细说明:(1):设定值分支以浮点格式在SP_INT输入键入设定值。
(2):过程变量分支可以外设(I/O)或以浮点格式输入过程变量。
CRP_IN功能根据以下公式将PV_PER外设值转换为介于 -100和 +100 %间的浮点格式值:PV_NORM功能根据以下公式统一CRP_IN输出的格式:PV_NORM的输出 = (CPR_IN的输出) * PV_FAC + PV_OFFPV_FAC的默认值为1,PV_OFF的默认值为0。
(3)出错信号设定值和过程变量间的差异就是出错信号。
为消除由于操作变量量化导致的小幅恒定振荡(例如,在使用PULSEGEN进行脉宽调制时),将死区应用于出错信号(DEADBAND)。
STEP7程序块的类型及区别(总结转)_天外小屋STEP7 程序块的类型及区别(总结)在SIEMENS S7-300/400系列PLC中有多种程序块,如下图(在管理器右边的空白区域点击右键),主要有:组织块(OB),功能块(FB),功能(FC),数据块(DB)及系统功能(SFC)和系统功能块(SFB)等。
注:快捷菜单中的其它两项:数据类型和变量表。
数据类型(UDT)用于指定程序中数据元素的大小与格式;变量表(VAT)用来在程序调试和运行时修改和监视变量的内容(在地址栏中输入地址后,符号栏中会自动显示在符号表中定义的符号)。
这几种程序块的功能简要说明如下:说明:调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块);被调用程序块:FB,FC,SFB,SFC。
1、组织块OBOB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。
在OB块中编写程序的最大容量,S7-300是16KB,S7-400是64KB。
除主程序循环OB1外,其它OB均是由事件触发的中断。
2、函数FC函数FC有两个作用:(1)作为子程序用;(2)作为函数用,函数中通常带形参。
函数中程序的最大容量,S7-300是16KB,S7-400是64KB。
F C的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。
在编写函数FC的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。
可以在函数的开始,将字输出参数清0,位输出参数复位。
3、函数块FBFB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP类型除外)和运算的中间数据。
其它程序可以直接使用背景数据区中的数据。
FB中程序的最大容量,S7-300是16KB,S7-400是64KB。
FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。
程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。
FB 41 /FB 42/FB 43PID参数设置中文说明1、FB 41SFB/FB "CONT_C" (连续控制器)在SIMATIC S7可编程逻辑控制器上使用,通过持续的输入和输出变量来控制工艺过程。
在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应过程的需要。
使用参数分配工具可以轻松完成分配(菜单路径:开始 > Simatic > Step7 > 分配PID控制参数)。
开始 > Simatic > Step7 > 分配PID控制(英文)中提供了在线电子手册。
应用可以使用该控制器作为PID固定设定值控制器或在多循环控制中作为层叠、混料或比率控制器。
该控制器的功能基于使用模拟信号的采样控制器的PID控制算法,必要时可以通过加入脉冲发生器阶段进行扩展,为使用成比例执行机构的两个或三个步骤控制器生成脉冲持续时间调制输出信号。
注意只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。
为此,应该在周期性中断OB (OB30至OB38)中调用控制块。
在CYCLE参数中输入采样时间。
说明除了设定值和过程值分支中的功能,SFB/FB还通过持续操作变量输出和手动影响操作值的选项实现了完整的PID控制器。
下文提供了对这些子功能的详细说明:设定值分支以浮点格式在SP_INT输入键入设定值。
过程变量分支可以外设(I/O)或以浮点格式输入过程变量。
CRP_IN功能根据以下公式将PV_PER外设值转换为介于 -100和 +100 %间的浮点格式值:此主题相关图片PV_NORM功能根据以下公式统一CRP_IN输出的格式:PV_NORM的输出 = (CPR_IN的输出) * PV_FAC + PV_OFFPV_FAC的缺省值为1,PV_OFF的缺省值为0。
出错信号设定值和过程变量间的差异就是出错信号。
为消除由于操作变量量化导致的小幅恒定振荡(例如,在使用PULSEGEN进行脉宽调制时),将死区应用于出错信号(DEADBAND)。
S T E P7?常用功能块说明1. SFB0"CTU" SFB1"CTD" SFB2"CTUD" SFB4"TON" SFB5TOF兼容IEC61131-3的计数和计时功能块2.SFB41"CONT_C" SFB42"CONT_S" SFB43"PULSEGEN"用于PID控制41---连续42---离散10.Ti-S7ConvertingBlocksFC105"SCALE"FC106"UNSCALE"模拟量输入输出的比例和数据类型转换11、SFC1 读取系统时钟12、SFC3 启动/停止运行时间定时器13、OB1:主程序循环14、OB10--OB17:在设置的日期和时间启动15、OB20--OB23:延时后启动16、OB30--OB38:以设定的时间为周期17、OB40--OB47:检测到来自外部模块的中断请求时启动18、1、等常规信号)输入的功能块,在中,打开MD200;模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在4PIDControlblock\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:将程序下载调试,看PID的温度调节作用如何?如果控制的不好,改变P、I参数!5、果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:6、如果单独控制变量输出通道,可使用FC106模块,FC106是处理模拟量(1~5V、4~20MA等常规信号)输出的功能块,在中,打开Libraries\standardlibrary\Ti-S7ConvertingBlocks\fc106,将其调入OB1中,给各个管脚输入地址;如下:。
用Step7 中SFB41/FB 41,SFB42/FB42,SFB43/FB43实现PID控制SLC A&D CSMay 2004目录1 概述 (4)1.1 应用 (4)1.2 控制系统分析 (5)2 PID系统控制器的选择 (8)2.1 连续控制器、开关控制器 (9)2.2 固定值控制器 (9)2.3 级联控制器 (9)2.4 混合控制器 (10)2.5 比例控制器 (10)2.5.1 单循环比例控制器 (10)2.5.2 多循环比例控制器 (10)2.6 二级控制器 (11)2.7 三级控制器 (11)3 布线 (11)3.1 布线规则 (11)3.1.1 连接电缆 (11)3.1.2 屏蔽端接元件 (12)3.1.3 警告 (12)3.1.4 其它信息 (12)4 参数赋值工具介绍 (12)4.1 调试PID参数的用户界面 (12)4.2 获取在线帮助的途径 (14)5 在用户程序中实现 (14)5.1 调用功能块 (15)5.2 背景数据块 (15)5.3 程序结构 (15)6 功能块介绍 (15)6.1 连续调节功能SFB 41/FB 41 “CONT_C” (15)6.1.1 简介 (15)6.1.2 应用程序 (16)6.1.3 说明 (16)6.2 步进控制功能SFB 42/FB 42“CONT_S” (30)6.2.1 简介 (30)6.2.2 应用程序 (30)6.2.3 说明 (31)6.3 脉冲宽度调制器SFB 43/FB 43“PULSEGEN” (43)6.3.1 简介 (43)6.3.2 应用程序 (43)6.3.3 说明 (43)7 功能块举例 (58)1概述本文中所讨论的功能块(SFB41/FB41,SFB42/FB42,SFB43/FB43)仅仅是使用于S7和C7的CPU中的循环中断程序中。
该功能块,定期计算所需要的数据,保存在指定的DB中(背景数据块)。
西门子STEP7编程—IEC定时器的使用2010年03月03日星期三 08:59西门子STEP7提供了10种定时器指令,用户可以根据不同的情况,很方便的选择一种适合自己的要求。
可是STEP7的定时器的时间值用了一种西门子独有的S5TIME的数据类型来表示。
某些时候使得定时器用起来不那么顺手,例如,在上位机监控软件画面上显示计时器的当前值或者需要在运行时在监控画面上修改预设值。
对此STEP7提供了FC33(S5TI_TIM)和FC40(TIM_S5TI)来实现S5TIME数据类型与TIME数据类型之间的相互转换,但是换来换去的还是很麻烦。
笔者认为在这种情况下不如直接使用STEP7的IEC 定时器。
STEP7的IEC定时器是个什么东西呢?其实就是STEP7提供的一系列系统功能块,能实现定时器同样的功能,和STEP7定时器指令不同的是它们是符合IEC1131-3标准的定时器。
具体地说就是SFB3(TP)脉冲定时器、SFB4(TON)接通延迟定时器和SFB5(TOF)关闭延迟定时器。
功能块参数说明STEP7的TIME数据类型在上位机上读写就很方便了,根据它的定义,实际上它就是一个有符号双整数,每一步长表示为1毫秒。
定时器的类型就三种。
1、接通延时定时器TON 2、记忆接通延时定时器TONR 3、断开延时定时器 TOF计时器总共有256个,其中1ms定时器4个(T0,T32,T64,T96),其中10ms 定时器16个(T1~T4,T33~T36,T65~T68,T97~T100),其余的都是100ms定时器。
1ms定时器的刷新周期为1ms,与扫描周期和程序处理无关;10ms定时器在每个扫描周期开始时进行刷新;100ms定时器在定时器指令被执行时刷新。
如有侵权请联系告知删除,感谢你们的配合!。
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编程—IEC定时器的使用
2010年03月03日星期三 08:59
西门子STEP7提供了10种定时器指令,用户可以根据不同的情况,很方便的选择一种适合自己的要求。
可是STEP7的定时器的时间值用了一种西门子独有的S5TIME的数据类型来表示。
某些时候使得定时器用起来不那么顺手,例如,在上位机监控软件画面上显示计时器的当前值或者需要在运行时在监控画面上修改预设值。
对此STEP7提供了FC33(S5TI_TIM)和FC40(TIM_S5TI)来实现S5TIME数据类型与TIME数据类型之间的相互转换,但是换来换去的还是很麻烦。
笔者认为在这种情况下不如直接使用STEP7的IEC 定时器。
STEP7的IEC定时器是个什么东西呢?其实就是STEP7提供的一系列系统功能块,能实现定时器同样的功能,和STEP7定时器指令不同的是它们是符合IEC1131-3标准的定时器。
具体地说就是SFB3(TP)脉冲定时器、SFB4(TON)接通延迟定时器和SFB5(TOF)关闭延迟定时器。
功能块参数说明
STEP7的TIME数据类型在上位机上读写就很方便了,根据它的定义,实际上它就是一个有符号双整数,每一步长表示为1毫秒。
定时器的类型就三种。
1、接通延时定时器TON 2、记忆接通延时定时器TONR 3、断开延时定时器 TOF
计时器总共有256个,其中1ms定时器4个(T0,T32,T64,T96),其中10ms 定时器16个(T1~T4,T33~T36,T65~T68,T97~T100),其余的都是100ms定时
器。
1ms定时器的刷新周期为1ms,与扫描周期和程序处理无关;10ms定时器在每个扫描周期开始时进行刷新;100ms定时器在定时器指令被执行时刷新。