西门子功能块
西门子 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功能块介绍

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功能块图程序示例

西门子plc功能块图程序示例
功能块图( FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,功能框图类似于与门、或门的方框,来表示逻辑关系。
一般用一个指令框表示一种功能,框图内的符号表达了该框图的运算功能,框的左侧为逻辑运算的输入变量,右侧为输出变量,框左侧的小圆圈表示对输入变量取反(“非”运算),框右侧的小圆圈表示对运算结果再进行“非”运算。
方框被“导线”连接在一起,信号自左向右流动。
FBD比较适合于有数字电路基础的编程人员使用。
图功能块图程序示例
利用功能块图( FBD)可以查看到像普通逻辑门图形的逻辑盒指令。
它没有梯形图编程器中的触点和线圈,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑是由这些盒指令之间的连接决定的。
也就是说,一个指令(如AND盒)的输出可以用来允许启动另一条指令(如定时器),这样可以建立所需要的控制逻辑。
这样的连接思想可以解决范围广泛的逻辑问题。
功能块图( FBD)编程语言有利于程序流的跟踪,但在目前使用较少。
西门子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: ...
西门子300创建fb

西门子S7-300 中FB功能块的使用方法:1.创建功能块FB1准备完成如下功能:将“整型”变量转换成“实型”变量2.打开功能块FB13.在功能块FB1中添加入口参数、出口参数、静态变量入口参数=IN0 ---> 整型(INT)出口参数=OUT1 ---> 实型(REAL)静态变量=STAT2 ---> 整型(INT)局部变量=TEMP3 ---> 长整型(DINT)4.创建背景数据块DB25.打开DB2背景数据块,可以看到系统默认建立了三个数据IN0 ---> 入口参数(整型)OUT1 ---> 出口参数(实型)STAT2---> 静态变量(整型)6.打开FB1功能块,编写如下代码,实现将“整型”变量转换成“实型”变量同时再编写一段静态变量自加1代码7.打开OB1主程序,添加FB1功能块如何确定程序参数类型的块编号并传送给FC ?介绍使用以下程序代码可确定参数类型(BLOCK_FC, BLOCK_FB, TIMER or COUNTER)的编号。
例1 :FB 块FB1 变量声明中定义了“Timer”类型的变量“Time_1”,在FB2 中调用FB1,将定时器“T5”传递给变量“Time_1”。
如图01 所示程序代码中数值5 表示“T5”。
图. 01例2 FCFC1 变量声明中定义了“Timer”类型的变量“Time_1”,在FC2 中调用FC1,将定时器“T8”传递给变量“Time_1”。
如图02 所示程序代码中数值8 表示“T8”。
图. 02在使用多重实例时,需要在图01 所示程序中增加以下代码:TAR2 //多重实例偏移地址LAR1 P##Time_1+AR1 //多重实例偏移地址与当前地址相加L W[AR1,P#0.0]T MW00“BLOCK_DB”类型参数在调用FC 时不可以直接传送给FC 。
如果在调用功能时试图使用此参数类型,将产生如下的错误消息:“非法的参数传输<参数名>”“BLOCK_DB”类型参数仅在FB 被调用(从一个FB 或FC 中)时可被传送。
西门子OB,FB,FC模块

OB、FC、FB、SFC、SFB的区别
S7-300/400PLC程序采用结构化程序,把程序分成多个模块,各模块完成相应的功能。
结合起来就能实现一个复杂的控制系统。
就像高级语言一样,用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的程序。
在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就可以实现。
FB中可以定义静态变量,每个FB可以定义多个背景数据块,来代表同种类型的不同设备。
这样只通过一个功能块就可以完成多个设备的变程。
而FC中不可以定义背景数据块,一般情况下只能使用共享数据块中的数据,但同时也可以通过全局变量定义方式来访问其他背景数据块。
我个人的经验:在有多个类似的设备的时候,尽量抽象出这些设备的共同点,编写一个FB,然后通过FC来挂点或处理一些不同点。
自己总结:西门子功能块说明

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。
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程序,并使其易于修改和维护。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TEP7 常用功能块说明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"模拟量输入输出的比例和数据类型转换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-61.4 时间延迟中断组织块(OB20到OB23)..............................................................1-101.5 周期性中断组织块(OB30 到OB38) .................................................................1-121.6 硬件中断组织块(OB40到OB47) .....................................................................1-141.7 状态中断OB(OB 55)........................................................................................1-161.8 更新中断OB(OB 56)........................................................................................1-171.9制造商特定中断OB(OB57)..............................................................................1-181.10多值计算中断组织块(OB60)............................................................................1-191.11 同步周期性中断OB(OB 61 到OB 64)...............................................................1-211.12I/O冗余出错OB(OB70)....................................................................................1-221.13CPU冗余出错OB(OB72).................................................................................1-241.14 通讯冗余出错OB(OB73) .................................................................................1-271.15时间出错组织块(OB80)...................................................................................1-281.16电源出错组织块(OB81)...................................................................................1-301.17诊断中断组织块(OB82)...................................................................................1-321.18 插入/删除模块中断组织块(OB83) ...................................................................1-341.19 CPU硬件故障组织块(OB84) ...........................................................................1-371.20 优先级出错组织块(OB85) ...............................................................................1-381.21机架故障组织块(OB86)...................................................................................1-421.22通讯出错组织块(OB87)...................................................................................1-451.23 处理中断OB(OB 88)........................................................................................1-471.24 后台组织块(OB90) ..........................................................................................1-481.25 启动组织块(OB100、OB101和OB102).......................................................... 1-501.26编程出错组织块(OB121).................................................................................1-551.27 I/O访问出错组织块(OB122) ............................................................................1-572 SFC的公共参数2-12.1通过输出参数RET_VAL判断出错......................................................................2-12.2异步SFC的REQ、RET_VAL和BUSY参数的含义............................................. 2-4目录用于S7-300/400系统和标准功能的系统软件x A5E00446508-013 复制功能和块功能3-13.1 使用SFC20“BLKMOV”复制存储区域...............................................................3-13.2 使用SFC81“UBLKMOV”不间断地复制变量.....................................................3-43.3 使用SFC21“FILL”初始化存储区.......................................................................3-63.4 使用SFC22“CREAT_DB”创建数据块...............................................................3-83.5 使用SFC23“DEL_DB”删除数据块..................................................................3-103.6 使用SFC24“TEST_DB”测试数据块................................................................3-123.7 使用SFC25“COMPRESS”压缩用户存储器....................................................3-133.8 使用SFC44“REPL_VAL”传送一个替换值到累加器1...................................... 3-153.9 使用SFC82“CREA_DBL”在装载存储器中生成数据块................................... 3-163.10 使用SFC83 “READ_DBL”从装载存储器的数据块中读取数据........................ 3-193.11 使用SFC84“WRIT_DBL”在装载存储器中写入数据块.................................... 3-213.12 使用SFC85“CREA_DB”创建数据块...............................................................3-234 用于控制程序执行的SFC 4-14.1 使用SFC43“RE_TRIGR”重新触发循环时间监视.............................................4-14.2 使用SFC46“STP”将CPU切换为STOP.............................................................4-14.3 使用SFC47“WAIT”延时用户程序执行..............................................................4-24.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-26.3 使用SFC2“SET_RTM”设置运行时间定时器.....................................................6-46.4 使用SFC3“CTRL_RTM”启动和停止运行时间定时器....................................... 6-56.5 使用SFC4“READ_RTM”读取运行时间定时器..................................................6-66.6 使用SFC64“TIME_TCK”读取系统时间............................................................6-77 用于传送数据记录的SFC 7-17.1读写一条数据记录.............................................................................................7-17.2 使用SFC54“RD_DPARM”读取定义的参数......................................................7-37.3 使用SFC102“RD_DPARA”读取预定义参数.....................................................7-47.4 使用SFC55“WR_PARM”写动态参数...............................................................7-57.5 使用SFC56“WR_DPARM”写一条数据记录......................................................7-77.6 用SFC57 “PARM_MOD”将参数分配给模块..................................................... 7-87.7 使用SFC58“WR_REC”写入数据记录.............................................................7-117.8 使用SFC59“RD_REC”读一个数据记录..........................................................7-137.9 SFC55到59的进一步出错信息....................................................................... 7-18目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xi8 符合PNO AK 1131的DPV1 SFB 8-18.1 使用SFB“RDREC”从DP从站读一个数据记录..................................................8-18.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 SFC28到31的特征...........................................................................................9-29.3 使用SFC28“SET_TINT”设置日时钟中断..........................................................9-49.4 使用SFC29“CAN_TINT”取消时钟中断.............................................................9-59.5 使用SFC30“ACT_TINT”激活时钟中断.............................................................9-69.6 使用SFC31“QRY_TINT”查询日时钟中断.........................................................9-710 用于处理延时中断的SFC 10-110.1处理延时中断..................................................................................................10-110.2 使用SFC32“SRT_DINT”启动延时中断...........................................................10-310.3 使用SFC34“QRY_DINT”查询日时钟中断......................................................10-410.4 使用SFC33“CAN_DINT”取消延时中断..........................................................10-511 用于处理同步出错的SFC 11-111.1屏蔽同步出错..................................................................................................11-111.2 使用SFC36“MSK_FLT”屏蔽同步出错..........................................................11-1011.3 使用SFC37“DMSK_FLT”解除屏蔽同步出错................................................11-1111.4 使用SFC38“READ_ERR”读取出错寄存器...................................................11-1212 用于处理中断和异步出错的SFC 12-112.1延迟和禁用中断和异步出错.............................................................................12-112.2 使用SFC39“DIS_IRT”禁用新中断和异步出错的处理..................................... 12-312.3 使用SFC40“EN_IRT”启用新中断和异步出错的处理...................................... 12-512.4 使用SFC41 “DIS_AIRT”延迟更高优先级中断和异步出错的处理.................... 12-712.5 使用SFC42 “EN_AIRT”启用处理较高优先级的中断和异步出错..................... 12-813 用于诊断的SFC 13-113.1系统诊断......................................................................................................... 13-113.2 使用SFC6“RD_SINFO”读取OB启动信息.......................................................13-113.3 使用SFC51“RDSYSST”读取系统状态列表或部分列表.................................. 13-413.4 使用SFC52 “WR_USMSG”将自定义诊断事件写入诊断缓冲区................... 13-1013.5 使用SFC78“OB_RT”确定OB程序运行时间..................................................13-1413.6 使用SFC87“C_DIAG”诊断当前连接状态......................................................13-1813.7 使用SFC103 “DP_TOPOL”识别DP主站系统的总线拓扑.............................. 13-2314 用于更新过程映像和处理位域的SFC和SFB 14-114.1 使用SFC26“UPDAT_PI”更新过程映像输入表................................................14-114.2 使用SFC27“UPDAT_PO”更新过程映像输出表..............................................14-314.3 使用SFC79“SET”在I/O区域中设置位域.........................................................14-514.4 使用SFC 126 “SYNC_PI”在同步循环中更新过程映像分区输入表................. 14-614.5 使用SFC 127 “ISO_PO”在同步循环中更新过程映像分区输出表.................... 14-814.6 使用SFC80“RSET”复位I/O区域中的位域.....................................................14-1014.7 使用SFB 32“DRUM”实现一个操作序列.......................................................14-11目录用于S7-300/400系统和标准功能的系统软件xii A5E00446508-0115 用于寻址模块的系统功能15-115.1 使用SFC5“GADR_LGC”查询模块的逻辑基址................................................15-115.2 使用SFC49 “LGC_GADR”查询属于一个逻辑地址的模块插槽....................... 15-315.3 使用SFC50“RD_LGADR”查询模块的所有逻辑地址...................................... 15-516 用于分布式I/O的SFC 16-116.1 使用SFC7“DP_PRAL”在DP主站上触发硬件中断.......................................... 16-116.2 用SFC11“DPSYC_FR”同步DP从站组...........................................................16-416.3 用SFC12“D_ACT_DP”激活和取消激活DP从站...........................................16-1016.4 用SFC13 “DPNRM_DG”读取DP从站的诊断数据(从站诊断) ........................ 16-1416.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.1S7通讯块和S7基本通讯块之间的差别............................................................ 18-118.2数据的一致性..................................................................................................18-418.3S7通讯块概述.................................................................................................18-618.4用于S7基本通讯的功能块总览........................................................................ 18-819 S7通讯19-119.1用于S7通讯的SFB/FB和SFC/FC的公用参数.................................................. 19-119.2用于组态的S7连接的SFB启动例行程序.......................................................... 19-519.3SFB对故障如何反应........................................................................................19-719.4通过SFB8/FB8“USEND”进行无协调的数据发送.............................................19-919.5通过SFB/FB9“URCV”进行无协调的数据接收...............................................19-1219.6 通过SFB/FB12“BSEND”发送分段数据........................................................19-1519.7 通过SFB/FB13“BRCV”接收分段数据...........................................................19-1819.8通过SFB/FB15“PUT”向远程CPU写入数据................................................... 19-2119.9通过SFB/FB14GET”从远程CPU中读取数据................................................. 19-2419.10使用SFB16“PRINT”将数据发送到打印机...................................................... 19-2719.11 通过SFB 19“START”在远程设备上开始一个暖重启或冷重启...................... 19-3319.12 通过SFB20“STOP”将远程设备切换到STOP状态........................................ 19-3619.13 通过SFB21“RESUME”在远程设备上开始一个热重启.................................. 19-3819.14 使用SFB22“STATUS”查询远程伙伴的状态.................................................19-4019.15 通过SFB23“USTATUS”接收远程设备的状态改变....................................... 19-4219.16 通过SFC62 “CONTROL”查询属于SFB实例的连接状态............................... 19-4419.17 通过FC62“C_CNTRL”查询连接状态............................................................19-4619.18S7通讯SFB/FB的工作存储器要求................................................................. 19-48目录用于S7-300/400系统和标准功能的系统软件A5E00446508-01 xiii20 用于未组态S7连接的通讯SFC 20-120.1通讯SFC的公用参数.......................................................................................20-120.2用于未组态S7连接的通讯SFC的出错信息......................................................20.3 使用SFC65 “X_SEND”将数据发送给在本地S7站外的一个通讯伙伴.............. 20-720.4 通过SFC66 “X_RCV”从本地S7站以外的通讯伙伴中接收数据....................... 20-820.5 通过SFC68 “X_PUT”将数据写入本地S7站以外的通讯伙伴.......................... 20-1120.6 通过SFC67 “X_GET”从本地S7站以外的通讯伙伴中读取数据..................... 20-1320.7 通过SFC69 “X_ABORT”中止已存在的、到本地S7站以外的通讯伙伴的连接20-15 20.8 使用SFC72 “I_GET”从本地S7站内的一个通讯伙伴上读取数据.................... 20-1620.9 使用SFC73 “I_PUT”将数据写入到本地S7站内的一个通讯伙伴.................... 20-1820.10 通过SFC74 “I_ABORT”中止已存在的、到本地S7站内的通讯伙伴的连接.... 20-2021 PROFInet 21-121.1SFC112、113和114背景信息.........................................................................21-121.2 使用SFC112 “PN_IN”更新用于PROFInet组件的用户程序接口的输入........... 21-421.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-522.3 使用SFB31 “NOTIFY_8P”生成无确认显示的块相关消息............................... 22-722.4 使用SFB 33“ALARM”生成需要确认的块相关消息....................................... 22-1022.5 使用SFB35 “ALARM_8P”生成针对八个信号的带有关联值的块相关消息..... 22-1322.6 使用SFB34 “ALARM_8”生成针对八个信号的不附带关联值的块相关消息.... 22-1622.7 使用SFB37“AR_SEND”发送归档数据.........................................................22.8 使用SFC10 “DIS_MSG”禁止与块相关的消息、与符号相关的消息以及组状态消息................................................................ 22-2022.9 使用SFC9 “EN_MSG”启用块相关、符号相关和组状态消息......................... 22-2222.10用于生成与块相关的消息的SFB的启动特性.................................................22-2422.11用于生成与块相关的消息的SFB如何响应故障..............................................22-2522.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 使用SFB3“TP”生成一个脉冲..........................................................................23-123.2 使用SFB4“TON”生成一个接通延迟................................................................23-323.3 使用SFB5“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.2IEC功能的技术数据.........................................................................................24-324.3日期和时间作为复杂数据类型......................................................................... 24-524.4时间功能......................................................................................................... 24-624.5比较DATE_AND_TIME变量......................................................................... 24-1024.6比较STRING变量..........................................................................................24-1324.7编辑数值....................................................................................................... 24-1624.8STL示例........................................................................................................ 24-1724.9STL示例........................................................................................................ 24-1824.10编辑STRING变量..........................................................................................24-1924.11转换数据类型格式.........................................................................................24-2425 用于集成控制的SFB 25-125.1 使用SFB41/FB41“CONT_C”实现连续控制....................................................25-125.2 使用SFB42/FB42“CONT_S”进行步控制........................................................25-825.3 使用SFB43/FB43“PULSEGEN”生成脉冲....................................................25-1425.4PULSEGEN块的实例....................................................................................25-2526 用于紧凑型CPU的SFB 26-126.1 通过SFB44“Analog”使用模拟量输出进行定位...............................................26-126.2 通过SFB46“DIGITAL”使用数字量输出进行定位.......................................... 26-1326.3 使用SFB47“COUNT”控制计数器.................................................................26-2326.4 使用SFB48“FREQUENC”控制频率测量......................................................26-2826.5 使用SFB49“PULSE”控制脉宽调制...............................................................26-3226.6 使用SFB60 “SEND_PTP”发送数据(ASCII,3964(R)) .................................. 26-3526.7 使用SFB61 “RCV_PTP”接收数据(ASCII,3964(R)) .................................... 26-3826.8 使用SFB62 “RES_RCVB”删除接收缓冲区(ASCII,3964(R))...................... 26-4126.9 使用SFB63 “SEND_RK”发送数据(512(R))................................................... 26-4326.10 使用SFB64 “FETCH RK”获取数据(RK 512) ................................................. 26-4726.11 使用SFB65 “SERVE_RK”接收和提供数据(RK 512) ..................................... 26-5226.12 SFB60至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-131.2部分SSL列表的结构........................................................................................31-331.3 SSL-ID ............................................................................................................ 31-431.4可能的部分系统状态列表................................................................................31-531.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-1331.11 SSL-ID W#16#xy1C -组件标识....................................................................31-1531.12 SSL ID W#16#xy25 -将过程映像分区分配到OB.......................................... 31-1831.13 SSL-ID W#16#xy32 -通讯状态数据.............................................................31-2131.14 SSL-ID W#16#0132,索引为W#16#0005的部分列表的数据记录摘录....... 31-2231.15 SSL-ID W#16#0132,索引为W#16#0008的部分列表的数据记录摘录....... 31-2331.16 SSL-ID为W#16#0132、索引为W#16#000B的部分列表摘录的数据记录.... 31-2531.17 SSL-ID为W#16#0132、索引为W#16#000C的部分列表摘录的数据记录.... 31-2631.18 SSL-ID W#16#0232,索引为W#16#0004的部分列表的数据记录摘录....... 31-2731.19 SSL-ID W#16#xy71 - HCPU的组信息.........................................................31-2831.20 SSL-ID W#16#xy74 -模块LED的状态..........................................................31-3131.21 SSL-ID W#16#xy75 -H系统中切换的DP从站.............................................. 31-3331.22 SSL-ID W#16#xy90 -DP主站系统信息........................................................31-3531.23 SSL-ID W#16#xy91 -模块的状态信息..........................................................31-3731.24 SSL-ID W#16#xy92 -机架/站的状态信息..................................................... 31-4131.25 SSL-ID W#16#xy95 -扩展DP主站系统信息................................................. 31-4431.26 SSL-ID W#16#xyA0 -诊断缓冲区................................................................31-4631.27 SSL-ID W#16#00B1 -模块的诊断信息.........................................................31-4731.28 SSL-ID W#16#00B2 -对应物理地址的诊断数据记录1................................. 31-4931.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-332.3 事件等级2 -异步出错......................................................................................32-332.4 事件等级3 -异步出错......................................................................................32-432.5 事件等级4 -停止事件和其它模式改变............................................................32-732.6 事件等级5 -模式运行期事件.........................................................................32-1032.7 事件等级6 -通讯事件....................................................................................32-1132.8 事件等级7 -H/F事件.....................................................................................32-1232.9 事件等级8 -模块的诊断事件.........................................................................32-1432.10 事件等级9 -标准用户事件.............................................................................32-1632.11 事件等级A和B -自由用户事件......................................................................32-1732.12保留的事件等级.............................................................................................32-18目录用于S7-300/400系统和标准功能的系统软件xvi A5E00446508-0133 SFC和SFB列表33-133.1按编号排序的SFC列表....................................................................................33-133.2按字母排序的SFC列表....................................................................................33-433.3按编号排序的SFB列表....................................................................................33-733.4按字母排序的SFB列表....................................................................................33-9参考书目词汇表索引用于S7-300/400系统和标准功能的系统软件A5E00446508-01 1-11 组织块1.1 组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。