S7系统功能块总结

合集下载

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

step7PID功能块详解[详细讲解]

step7PID功能块详解[详细讲解]

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—SIMA TIC_Step 7—PID Control ParameterAssignment 在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。

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

S7-200 SMART PLC 系统功能说明(图文并茂)

S7-200 SMART PLC 系统功能说明(图文并茂)
存储卡
Page 1 of 58
存储卡
S 7 2 0 0S M A R TC P U支持商用M i c r o S D 卡(支持容量为4 G ,8 G ,1 6 G ):可用于程序传输,C P U 固件更新,恢复 C P U出厂设置。 打开C P U 本体数字量输出点上方的端子盖,可以看到右侧有一卡槽,将M i c r o S D 卡缺口向里插入,如图 1 所示:
S7-200 SMART 实时时钟
S 7 2 0 0S M A R T 的硬件实时时钟可以提供年、月、日、时、分、秒的日期/ 时间数据。 C P UC R 4 0A C / D C / R e l a y没有内置的实时时钟,C P US R 2 0 、C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 支持内置的实时时钟,C P U 断电 状态下可保持7 天。 S 7 2 0 0S M A R TC P US R 2 0 的时钟精度是± 1 2 0秒 /月,C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 的时钟精度是 1 2 0秒 /月。 S 7 2 0 0S M A R TC P U靠内置超级电容为实时时钟提供电源缓冲,保持时间为典型值7 天,最小值6 天。缓冲电源放电完毕后,再次上电后 时钟将停止在缺省值,并不开始走动。 注意:因为 C P UC R 4 0无内置超级电容,所以实时时钟无电源缓冲,尽管用户可以使用R E A D _ R T C和 S E T _ R T C指令设置日期/ 时间 数据,但是当 C P UC R 4 0断电并再次上电时,这些日期/ 时间数据会丢失,上电后日期时间数据会被初始化为2 0 0 0 年1 月1 日。 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1 秒,可每秒读取一次(使用S M 0 . 5 上 升沿触发读取指令)。 使用程序读取的实时时钟数据为B C D 格式,可在状态表中使用十六进制格式查看。 要设置日期、时间值,使之开始走动,可以:

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

SIMATIC S7 DP 诊断功能块介绍

SIMATIC S7 DP 诊断功能块介绍

SIMATIC S7 DP 诊断功能块介绍用户可以使用两种不同的功能块编程,并对PROFIBUS-DP 和 SIMATIC S7的分布式配置进行诊断评估:• 当需要有关总线节点失败或发生故障的具体信息时,如负荷电压断电,电线断开,模块从站的模块故障等等,FB99是适当选择。

• FC99是简化版本,只评估信息“哪个总线节点失败或发生故障”。

这一功能块不显示具体信息。

1. 诊断功能块FB99FB99 DP 诊断功能会执行DP主站的具体评估。

该功能块能确定有故障的DP从站,并能确定由于中断(包括故障引起的中断)而失败的DP从站。

当处理FB(故障块)时,所有中断都被延迟。

带有集成DP接口的S7 CPU (CPU 31x-2 DP 和所有的CPU 41x-2 DP,不包括CPU 417-H)可用作DP主站。

此外,集成在CPU上被系统作为DP接口处理的各种S7-CP (如 CP443-5)和各种S7-IM (如IM467)也可以作为DP主站。

因此,FB99不支持CP342-5。

1.1 诊断信息如果一个从站发生故障,可以通过评估从站诊断信息找出问题的原因。

在一个模块化从站中(如ET200M 或 ET200S),可能同时会有数个模块或卡发生故障。

从站的诊断信息可能由不同的诊断块组成,其中一些提供了冗余信息:• 模块诊断:哪个从站的模块发出故障信号? 模块诊断提供常规的与插槽相关的诊断信息。

某些DP从站只提供模块诊断。

插槽级的模块状态和通道级的通道诊断可提供ID诊断的更多细节。

•通道诊断:哪个通道,哪种类型的故障在哪个模块上发出诊断信号? 通道错误类型在从站或S7模块的相关产品手册中有具体描述。

• 模块状态:哪个模块有哪种状态?模块状态描述00 模块良好(有效并有用的数据)01 模块故障10 错误模块11 无模块• 设备诊断:由制造商定义的设备特性诊断数据,并在从站的产品手册中具体描述。

1.2 在S7用户程序中调用FB99 DP 诊断功能块用户程序使用如下语句调用DP诊断功能块:CALL FB99, Dbxy (xy 可以是任何实例数据块编号)现在显示的是带正式操作数的参数工具栏;此时必须在此输入实际操作数。

s7-300 sfc sfb功能块简单介绍

s7-300 sfc sfb功能块简单介绍
删除动态系统资源
SFC107
ALARM_DQ
生成可确认的块相关信息
SFC108
ALARM_D
生成恒定可确认的块相关信息
SFC126
SYNC_PI
同步刷新过程映像区输入表
SFC127
SYNC_PO
同步刷新过程映像区输出表
SFC63“AB_CALL”仅在CPU614中存在。详细说明可参考相应的手册
SFB块
读标准DP从站的连续数据
SFC15
DPWR_DAT
写标准DP从站的连续数据
SFC17
ALARM_SQ
生成可确认的块相关信息
SFC18
ALARM_S
生成恒定可确认的块相关信息
SFC19
ALARM_SC
查询最后的LAARM_SQ到来的事件信息的应答状态
SFC20
BLKMOV
拷贝变量
SFC21
FILL
初始化存储区
SFB44至49和60至65仅在S7-300CCPU中存在
H系统中的控制操作
SFC100
SET_CLKS
设日期时间和日期时间状态
SFC101
RTM
运行时间记时器
SFC102
RD_DPARA
读取预定义参数(重新定义参数)
SFC103
DP_TOPOL
识别DP主系统中总线的拓扑
SFC104
CiR
控制CiR
SFC105
READ_SI
读取动态系统资源
SFC106
DEL_SI
编号
名称缩写
功能
SFB0
CTU
加大记数
SFB1
CTD
减记数
SFB2

S7PLC的功能和功能块

S7PLC的功能和功能块

4. 结构化程序
所谓结构化程序,就是处理复杂自动化控制任务的过程 中,为了使任务更易于控制,常把过程要求类似或相关的功 能进行分类,分割为可用于几个任务的通用解决方案的小任 务,这些小任务以相应的程序段表示,称为块(FC或FB)。 OB1通过调用这些程序块来完成整个自动化控制任 务。
结构化程序的特点是每个块(FC或FB)在OB1中可能会 被多次调用,以完成具有相同过程工艺要求的不同控制对象。 这种结构可简化程序设计过程、减小代码长度、提高 编程效率,比较适合于较复杂自动化控制任务的设计。
例:正反转编程实例
(二)编辑并调用有参功能(FC)——结构化程序设计
所谓有参功能(FC),是指编辑功能(FC)时,在局部 变量声明表内定义了形式参数,在功能(FC)中使用了虚拟 的符号地址完成控制程序的编程,以便在其他块中能重复调 用有参功能(FC)。这种方式一般应用于结构化程序编写。
例:电机顺序启动编程实例
三、功能(FC)
(一)编辑并调用无参功能(FC)——模块化程序设计
所谓无参功能(FC),是指在编辑功能(FC)时,在局 部变量声明表不进行形式参数的定义,在功能(FC)中直接 使用绝对地址完成控制程序的编程。这种方式一般应用于分 部式结构的程序编写,每个功能(FC)实现整个控制任务的 一部分,不重复调用。
二、功能(FC)和功能块(FB)说明
功能块(FB)有一个数据结构与该功能块的参数完全相 同的数据块,称为背景数据块,背景数据块依附于功能块, 它随着功能块的调用而打开,随着功能块的结束而关闭。 存放在背景数据块中的数据在功能块结束时继续保持。而 功能(FC)则不需要背景数据块,功能调用结束后数据不 能保持。
3.编写控制程序
编写逻辑块(FC和FB)程序时,可以用以下两种方式使 用局部变量:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FC9 EQ_DT
描述
功能FC9比较两个DATE_AND_TIME数据类型格式变量的内容,检查它们是否相等,并将比较结果输出为返回值。

如果参数DT1的时间与参数DT2的时间相等,则返回值的信号状态为"1"。

此功能不报告任何错误。

参数声明数据类型存储区描述
DT1 INPUT DATE_AND_TIME D、L 输入变量,格式为DT
DT2 INPUT DATE_AND_TIME D、L 输入变量,格式为DT
RET_VAL OUTPUT BOOL I、Q、M、D、L 比较结果
只能为输入参数分配一个符号定义的变量。

SFC 1 "READ_CLK"读取时间
描述
使用SFC 1 "READ_CLK" (读取系统时钟),可以读取当前CPU系统时钟的日期和时间。

参数声明数据类型存储区描述
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能执行
期间出错,返回值会包含故障
代码。

CDT OUTPUT DT D、L CDT输出当前日期和时间值。

故障信息
请参见使用输出参数RET_VAL判断故障
FC3 D_TOD_DT
描述
功能FC3将数据格式DATE和TIME_OF_DAY (TOD)组合在一起,并将这些格式转换为数据类型格式DATE_AND_TIME (DT)。

输入值IN1必须在限定值DATE#1990-01-01和DATE#2089-12-31之间。

(不检查此值。

此功能不报告任何错误。

参数声明数据类型存储区描述
IN1 INPUT DATE I、Q、M、D、L、常数输入变量,格式为DATE
IN2 INPUT TIME_OF_DAY I、Q、M、D、L、常数输入变量,格式为TOD
RET_VAL OUTPUT DATE_AND_TIME D、L DT格式的返回值
只能为返回值分配一个符号定义的变量。

数值转换:FC105
数值转换:FC105
描述
SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。

将结果写入OUT。

SCALE功能使用以下等式:
OUT = [ ((FLOAT (IN) ?K1)/(K2朘1)) * (HI_LIM朙O_LIM)] + LO_LIM
常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。

?BIPOLAR:假定输入整型值介于?7648与27648之间,因此K1 = ?7648.0,K2 = +27648.0
?UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0
如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。

如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。

通过设置LO_LIM > HI_LIM可获得反向标定。

使用反向转换时,输出值将随输入值的增加而减小。

SFC 68 "X_PUT"将数据写入本地S7站以外的通信伙伴
描述
通过SFC 68"X_PUT",将数据写入不在同一个本地S7站中的通信伙伴。

在通信伙伴上没有相应SFC。

在通过REQ=1调用SFC之后,激活写作业。

此后,可以继续调用SFC,直到BUSY=0指示接收到确认为止。

必须要确保由SD参数(在发送CPU上)定义的发送区和由VAR_ADDR参数(在通信伙伴上)定义的接收区长度相同。

SD的数据类型还必须和VAR_ADDR的数据类型相匹配。

SFC 67 "X_GET"从本地S7站以外的通信伙伴中读取数据
描述
通过SFC 67"X_GET",可以从本地S7站以外的通信伙伴中读取数据。

在通信伙伴上没有相应SFC。

在通过REQ=1调用SFC之后,激活读作业。

此后,可以继续调用SFC,直到BUSY=0指示数据接收为止。

然后,RET_VAL便包含了以字节为单位的、已接收的数据块的长度。

必须要确保由RD参数定义的接收区(在接收CPU上)至少和由VAR_ADDR参数定义的要读取的区域(在通信伙伴上)一样大。

RD的数据类型还必须和VAR_ADDR的数据类型相匹配。

相关文档
最新文档