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)程序时,可以用以下两种方式使 用局部变量:

西门子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为用户提供了多种功能块,用户可以在编程组态过程中调用来完成各种逻辑功能。

北京天拓四方科技有限公司。

西门子各个组织块OB块作用

西门子各个组织块OB块作用

1、自由循环组织块OB1S7CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。

在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。

除OB90以外,OB1优先级最低,可以被其他OB中断。

OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用OB80报错,如果程序中没有建立OB80,CPU进入停止模式。

2、日期中断组织块OB10~OB17在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB 只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。

在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。

3、时间延迟中断组织块OB20~OB23时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。

4、循环中断组织块OB30~OB38循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如OB35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。

OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。

S7-300 的功能模块

S7-300 的功能模块

S7-300的功能模块1.计数器模块模块的计数器均为0〜32位或土31位加减计数器,可以判断脉冲的方向,模块给编码器供电。

达到比较值时发出中断。

可以2倍频和4倍频计数。

有集成的DI/DO oFM350-1是单通道计数器模块,可以检测最高达500kHz的脉冲,有连续计数、单向计数、循环计数3种工作模式。

FM350-2和CM35都是8通道智能型计数器模块。

2.位置控制与位置检测模块FM351双通道定位模块用于控制变级调速电动机或变频器。

FM353是步进电机定位模块。

FM354伺服电机定位模块。

FM357可以用于最多4个插补轴的协同定位。

FM352高速电子凸轮控制器,它有32个凸轮轨迹,13个集成的DO,采用增量式编码器或绝对式编码器。

SM338超声波传感器检测位置,无磨损、保护等级高、精度稳定不变。

3.闭环控制模块FM355闭环控制模块有4个闭环控制通道,有自优化温度控制算法和PID算法。

4.称重模块SIWAREXU称重模块是紧凑型电子称,测定料仓和贮斗的料位,对吊车载荷进行监控,对传送带载荷进行测量或对工业提升机、轧机超载进行安全防护等。

SIWAREXM称重模块是有校验能力的电子称重和配料单元,可以组成多料称系统,安装在易爆区域。

5.电源模块PS307电源模块将120/230伏交流电压转换为24V直流电压,为S7-300/400、传感器和执行器供电。

输出电流有2A、5A或10A3种。

电源模块安装在DIN导轨上的插槽1o^□0丄匸H匸]祜图2-17S7-300的浮动参考电位某些大型工厂(例如化工厂和发电厂)为了监视对地的短路电流,可能采用浮动参考电位,可以将M点与接地点之间的短接片去掉。

2.S7-400系列PLC的硬件组成模块的尺寸为25(宽)X290(高)X210(深)mm。

图2-182-15S7-400PLCPLCccEUEU图2-HS7-400的參机頤连挂集中式扩展方式适用于小型配置或一个控制柜中的系统。

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中,给各个管脚输入地如下:。

s7-300功能组织块说明

s7-300功能组织块说明

组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。

OB用于执行特定的程序段:1)启动CPU时在循环或定时执行过程中2)出错时3)发生硬件中断时。

组织块按照已分配的优先级来执行。

哪些OB可用?并非所有的CPU均可处理STEP 7中可用的所有OB。

请参阅操作列表/72/和/102/以确定您CPU中所包含的OB。

在何处查找详细信息?请参阅在线帮助和下列手册以获取更多信息:1)/70/:此手册包含描述不同S7-300 CPU性能的技术数据。

2)/101/:此手册包含描述不同S7-400 CPU性能的技术数据。

下表中给出了属于每个OB的启动事件和默认优先级。

OB 启动事件默认优先级解释OB1 启动结束或OB1结束 1 空闲周期OB10 时间中断0 2 未指定默认时间OB11 时间中断1 2OB12 时间中断2 2OB13 时间中断3 2OB14 时间中断4 2OB15 时间中断5 2OB16 时间中断6 2OB17 时间中断7 2OB20 延时中断0 3 未指定默认时间OB21 延时中断1 4OB22 延时中断2 5OB23 延时中断3 6OB30 循环中断0 (默认时间间隔:5s) 7OB31 循环中断1 (默认时间间隔:2s) 8OB32 循环中断2 (默认时间间隔:1秒) 9OB33 循环中断3 (默认时间间隔:500sms) 10OB34 循环中断4 (默认时间间隔:200sms) 11OB35 循环中断5 (默认时间间隔:100sms) 12OB36 循环中断6 (默认时间间隔:50sms) 13OB37 循环中断7 (默认时间间隔:20sms) 14OB38 循环中断8 (默认时间间隔:10sms) 15OB40 硬件中断0 16 循环中断OB41 硬件中断 1 17OB42 硬件中断 2 18OB43 硬件中断 3 19OB44 硬件中断 4 20OB45 硬件中断 5 21OB46 硬件中断 6 22OB47 硬件中断7 23OB55 状态中断 2 DPV1中断OB56 更新中断 2OB57 制造商特定中断 2OB60 SFC35 "MP_ALM"调用25 多处理中断OB 61 同步循环中断1 25OB 62 同步循环中断2 25OB 63 同步循环中断3 25OB 64 同步循环中断4 25OB 65 技术同步中断25 技术OB70 I/O冗余错误(仅在H CPU中) 25 冗余错误中断OB72 CPU冗余错误(仅在H CPU中) 28OB 73 通讯冗余错误OB (仅在H CPU中) 25OB80 时间错误26、28 1) 异步错误中断OB81 电源故障26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB82 诊断中断26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB83 插入/删除模块中断26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB84 CPU硬件故障26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB85 编程错误26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB86 扩展机架、DP主站系统或用于分布式I/O的站故障26、28 1) (对于S7-300),25、28 1) (对于S7-400和CPU 318)OB87 通讯错误26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB 88 处理中断28OB90 暖重启或冷重启,或删除OB90中正在执行的块,或将在CPU上装载OB90或终止OB90 29 2) 背景周期OB100 暖启动27 1) 启动OB101 热启动27 1)OB102 冷启动27 1)OB121 编程错误导致错误的OB优先级同步错误中断导致错误的OB优先级OB122 I/O访问错误1) 优先级27和28在启动的优先级模型中有效。

S7-300_400编程功能块图(FBD)参考手册

S7-300_400编程功能块图(FBD)参考手册

s附录 SIMATIC用于S7-300和S7-400的 功能块图(FBD)编程参考手册2007年8月版 A5E01112994-01版权所有 © Siemens AG 2004 保留所有权利未经明确的书面许可,不得复制、传播或使用本手册或所含内容。

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

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

Siemens AGBereich Automation and DrivesGeschaeftsgebiet Industrial Automation SystemsPostfach 4848, D- 90327 Nuernberg 免责声明我们已检查过本手册中的内容与所描述的硬件和软件相符。

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

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

欢迎提出改进意见。

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

安全指南本手册包括了保证人身安全与保护本产品及连接的设备所应遵守的注意事项。

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

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

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

当心表示如果不采取适当的预防措施,可能导致财产损失。

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

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

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

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

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

s7-300数据块的用法

s7-300数据块的用法

s7-300数据块的用法一、概述数据块(DataBlock)是S7-300系列PLC(可编程逻辑控制器)中的一个重要概念,用于存储和组织数据。

数据块可以包含不同类型的变量,如位变量、字符串、数值等,并且可以按照一定的规则进行命名和组织。

通过数据块,我们可以更有效地管理和使用PLC中的数据,提高程序的效率和可维护性。

二、数据块的类型和组成S7-300系列PLC中的数据块可以分为以下几种类型:1.静态数据块:由系统自动创建并分配内存空间的数据块,通常用于存储系统变量和系统配置信息。

2.用户定义数据块:由用户根据需要创建的数据块,可以包含用户自定义的数据类型和变量。

3.动态数据块:用于存储在程序执行过程中创建或修改的数据,可以在程序执行期间进行读写操作。

数据块通常由以下几部分组成:1.数据块名称:用于标识数据块的唯一标识符。

2.数据类型:指定数据块的变量类型,如位、字节、字、双字等。

3.变量列表:列出数据块中包含的变量及其对应的地址。

4.属性:如访问保护、写保护等,用于控制数据块的读写权限和保护措施。

三、数据块的创建和编辑创建和编辑数据块可以通过以下步骤完成:1.在编程软件中打开PLC项目,并找到相应的编辑界面。

2.选择创建新的数据块或打开已有的数据块。

3.根据需要定义数据块的类型、名称和变量列表。

4.编辑数据块的属性,如访问保护、写保护等。

5.保存数据块并返回程序编辑界面。

四、数据块的调用和使用创建和编辑完数据块后,可以在程序中使用数据块中的变量。

在程序中调用数据块的方式有以下几种:1.直接使用数据块的名称和变量名进行读写操作。

2.通过地址指针访问数据块中的变量。

3.使用寻址语句访问数据块中的特定位置或范围内的变量。

五、注意事项在使用数据块时,需要注意以下几点:1.数据块的命名和组织应遵循一定的规范和标准,以提高程序的易读性和可维护性。

2.确保对数据块的访问权限和控制措施正确无误,以避免意外修改或破坏数据。

STEP7常用功能块说明

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-6 1.4 时间延迟中断组织块(OB20 到OB23).............................................................. 1-10 1.5 周期性中断组织块(OB30 到OB38) ................................................................. 1-12 1.6 硬件中断组织块(OB40到OB47) ..................................................................... 1-14 1.7 状态中断OB(OB 55)........................................................................................ 1-161.8 更新中断OB(OB 56)........................................................................................ 1-171.9 制造商特定中断1.10 多值计算中断组织块(OB60)............................................................................ 1-19 1.11 同步周期性中断OB(OB 61 到OB 64)............................................................... 1-21 1.12 I/O冗余出错OB(OB70).................................................................................... 1-22 1.13 CPU冗余出错OB(OB72)................................................................................. 1-241.14 通讯冗余出错OB(OB73) ................................................................................. 1-27 1.15 时间出错组织块(OB80)................................................................................... 1-281.16 电源出错组织块(OB81)................................................................................... 1-301.17 诊断中断组织块(OB82)................................................................................... 1-321.18 插入/删除模块中断组织块(OB83) ................................................................... 1-34 1.19 CPU硬件故障组织块(OB84) ........................................................................... 1-37 1.20 优先级出错组织块(OB85) ............................................................................... 1-38 1.21 机架故障组织块(OB86)................................................................................... 1-421.22 通讯出错组织块(OB87)................................................................................... 1-451.23 处理中断OB(OB 88)........................................................................................ 1-471.24 后台组织块(OB90) .......................................................................................... 1-481.25 启动组织块(OB100、OB101和OB102) .......................................................... 1-50 1.26 编程出错组织块1.27 I/O访问出错组织块(OB122) ............................................................................ 1-572 SFC的公共参数2-12.1 通过输出参数RET_V AL判断出错...................................................................... 2-1 2.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-43.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-15.2 使用SFC1 “READ_CLK”读取时间.................................................................... 5-25.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-57.5 使用SFC56 “WR_DPARM”写一条数据记录...................................................... 7-7 7.6 用SFC57 “PARM_MOD”将参数分配给模块..................................................... 7-8 7.7 使用SFC58 “WR_REC”写入数据记录............................................................. 7-117.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-38.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-69.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-14 16.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-1 19.2 用于组态的S7连接的SFB启动例行程序.......................................................... 19-5 19.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-24 19.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-2422.11 用于生成与块相关的消息的SFB如何响应故障.............................................. 22-25 22.12 使用SFC生成与块相关的消息简介................................................................ 22-2622.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-123.2 使用SFB 4“TON”生成一个接通延迟................................................................ 23-3 23.3 使用S FB 5“TOF”生成一个关闭延迟................................................................ 23-523.4 使用SFB 0 “CTU”递增计数............................................................................. 23-723.5 使用SFB 1 “CTD”递减计数............................................................................. 23-823.6 使用SFB2 “CTUD”递增/递减计数................................................................... 23-9目录用于S7-300/400系统和标准功能的系统软件xiv A5E00446508-0124 IEC功能24-124.1 概述................................................................................................................. 24-124.2 IEC功能的技术数据......................................................................................... 24-324.3 日期和时间作为复杂数据类型......................................................................... 24-5 24.4 时间功能......................................................................................................... 24-624.5 比较DATE_AND_TIME变量......................................................................... 24-10 24.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.1SFB29(HS_COUNT)....................................................................................... 28-128.2SFB30(FREQ_MES)....................................................................................... 28-328.3SFB38(HSC_A_B).......................................................................................... 28-428.4SFB39(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-1 31.2 部分SSL列表的结构........................................................................................ 31-3 31.3 SSL-ID ............................................................................................................ 31-431.4 可能的部分系统状态列表................................................................................ 31-5 31.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-1432.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-4 33.3 按编号排序的SFB列表.................................................................................... 33-7 33.4 按字母排序的SFB列表.................................................................................... 33-9 参考书目词汇表索引用于S7-300/400系统和标准功能的系统软件A5E00446508-01 1-11 组织块1.1 组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。

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中的FB和FC的区别还有点模糊,故查了些资料并做了些补充如下:
1)FC运行时的临时变量在执行结束后数据会丢失,不具有存储功能。

2)FB要和数据块(DB)联系起来使用具有存储功能。

由于在做系统时往往需要存储的变量较多,因此FB块使用的数量肯定要比FC多。

在工程中往往控制多个相同的设备,这时只要做一个FB或一个FC(如果中间数据不要保存的话),如果你使用FB块(不是FC)只要和相应数量的的DB块(数据块)联系起来就可以,比如要控制3台电机,只要做一个FB1块控制程序,在OB1中调用FB1时分别于3个电机的数据块DB1,DB2,DB3联系起来就可以。

如果3台电机的程序都用FB1来做,且把FB1放在同一个FB块中如(FB10)中,然后OB1调用FB10时,则只要FB10的数据块DB10,而FB1可不直接联系DB块,因为DB10已经包含了FB1的数据。

实例:
1)如下图是在FB10中的一段程序,图中#shuju是FB3 ,#shuju_1也是FB3。

FB10对应了DB10数据块
2)再来看看FB3的程序吧:
看看定义的变量和程序,FB3可没有联系到DB块哦。

3)在看看交叉参考图来说明FB10联系到了DB10,而FB3却没有直接联系到DB块,因为DB10的数据已经包含了FB3的数据:
4)这时再看看DB10的数据寻址的表达方式:
FC块编程和FB块很相似,就是不链接到DB快,如下图也能看出。

  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的数据类型相匹配。

相关文档
最新文档