西门子STEP7编程中sfb4的用法

合集下载

西门子PLC中OB、FC、FB、SFC、SFB的区别是什么?

西门子PLC中OB、FC、FB、SFC、SFB的区别是什么?

西门⼦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,要看实际的需要决定。

用Step7中SFB4实现PID控制

用Step7中SFB4实现PID控制
2 PID 系统控制器的选择 ......................................................................................... 7 2.1 连续控制器、开关控制器 ............................................................................... 7 2.2 固定值控制器................................................................................................. 8 2.3 级联控制器 .................................................................................................... 8 2.4 混合控制器 .................................................................................................... 8 2.5 比例控制器 .................................................................................................... 9 2.5.1 单循环比例控制器 ................................................................................... 9 2.5.2 多循环比例控制器 ................................................................................... 9 2.6 二级控制器 .................................................................................................. 10 2.7 三级控制器 .................................................................................................. 10

西门子 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就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。

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控制器,以此来控制系统。

西门子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的使用方法

LOGO
基本数据类型(二)
S5TIME(SIMATIC时间) IEC时间(TIME) IEC日期(date) 日计时(TIME_OF_DAY) 字符(CHAR)
Page 20
LOGO
3.3.2复杂数据类型
日期时间数据类型( Data_And_Time ) 字符串类型(String) 数组类型Array 结构(STRUCT) 用户定义类型(UDT)
Page 10
LOGO
同步错误组织块
OB121、OB122:同步错误中断。如果在某特定的语 句执行时出现错误,CPU可以跟踪到程序中某一具体的 位置。由同步错误所触发的错误处理组织块,将作为程 序的一部分来执行,与错误出现时正在执行的块具有相 同的优先级。
编程错误,例如在程序中调用一个不存在的块,将调用 OB121。
使用S7-300PLC实现一台电动机的正反转控制。控制要求如下:要求 能实现电机的正转和反转控制,并能进行正反转的直接切换。另外 ,还可进行正反向的点动控制,当电机处于正常运行时,点动按钮 不起作用。
Page 46
(2) OB101为再启动类型(热启动)。启动时,所有数据(无论是 保持型和非保持型)都将保持原状态,并且将OB101中的程序执行一次 。然后程序从断点处开始执行。剩余循环执行完以后,开始执行循环程 序。热启动一般只有S7-400具有此功能。
(3) OB102为冷启动方式。CPU318-2和CPU417-4具有冷启动型的 启动方式,冷启动时,所有过程映像区和标志存储器、定时器和计数器 (无论是保持型还是非保持型)都将被清零,而且数据块的当前值被装 载存储器的原始值覆盖。然后将OB102中的程序执行一次后执行循环程 序。
访问错误,例如程序中访问了一个有故障或不存在的模 块,将调用OB122。

s7300FB41功能块简介及使用方法

s7300FB41功能块简介及使用方法

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程序块的类型及区别(总结转)_天外小屋

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那样必须赋值,可以通过背景数据块直接赋值。

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

西门子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定时器在定时器指令被执行时刷新。

相关文档
最新文档