S7-300多重背景调用实例复习课程
西门子S7300学习教程6共79页
PLC是运行在工业环境中的控制器,一般而言可靠性比较高, 出现故障的概率较低,但是,出现故障也是难以避免的。一 般引发故障的原因有很多,故障的后果也有很多种。
引发故障的原因虽然我们不能完全控制,但是我们可以通过 日常的检查和定期的维护来消除多种隐患,把故障率降到最 低。故障的后果轻的可能造成设备的停机,影响生产的数量; 重的可能造成财产损失和人员伤亡,如果是一些特殊的控制 对象,一旦出现故障可能会引发更严重的后果。
使用寿命
锂电池电压是否降低? 继电器输出触点
锂电池工作5年左右
继电器输出触点寿命300万次 (35V以上)
二、日常维护
PLC除了锂电池和继电器输出触点外,基本 上没有其它易损元器件。由于存放用户程 序的随机内存(RAM),计数器和具有保 持功能的辅助继电器等均用锂电池保护, 锂电池的寿命大约5年,当锂电池的电压逐 渐降低达一定程度时,PLC基本单元上的电 池电压跌落指示灯会亮。提示用户注意, 有锂电池所支持的程序还可以保持一周左 右,必须更换电池,这是日常维护的主要 内容。
调换锂电池的步骤:
1、在拆装之前,应先让PLC通电15S以上,这样可 使作为内存备用电源的电容器充电,在锂电池断 开后,该电容可对PLC作短暂供电,以保护RAM 中的信息不丢失。
2、断开PLC的交流电源。 3、打开基本单元的电池盖板。 4、取下旧电池,装上新电池。 5、盖上电池盖板。 更换电池的时间要尽量短,一般不允许超过3min。
更换继电器
更换负载或加假负载电 阻
6
特定继电器编号的 输出不关断(动作
1、程序OUT指令的继 电器编号重复
修改程序
指示灯亮)
2、输出回路不良
更换单元
s7-300软冗余手册讲解学习
s7-300软冗余手册S7-300的软冗余要求从站必须通过有源底板连接。
从站的所有模块需要确保没有故障,即SF灯不亮尤其是通讯模块。
S7-300的软冗余分为三种方式:MPI ,DP ,以太网。
三种冗余方式的通讯速度不同,以太网通讯速度最快,DP通讯速度次之,MPI通讯速度最慢。
不同的通讯方式选择的功能块不相同,具体功能块的选择如图1所示:图1下面以以太网冗余为例,简述冗余过程:(一)插入两个S7-300的站,SIMATIC 300(A) 和SIMATIC 300(B)。
(二)设置A站的IP地址为192.168.0.10 ,B站的地址为192.168.0.20 。
(三) 在A站的块中插入OB100、OB35、OB86组织块,并对其中的OB100、OB35、OB86进行编程。
(四) 在组态网络中新建ISO-ON-TCP 链接。
要求ID 号要大于2且主从站的ID 号一致。
上图为最终效果图,下图为过程(五)在OB100中我们调用FC100’SWR_START ’进行软冗余的初始化。
FC100’SWR_START 的各个引脚的注释请参照最后的附录调用FC100的位置如图主站设置如左图所示步骤,从站不需要再次设定但需要在从站中给该从站的通讯ID 号与主站相同且大于2。
,图12345图中1表示为当前CPU的站号,A站写A,B站写B。
图中2填写对方的地址,MPI_ADR表示对方的MPI地址,LADDR表示CP通讯处理器组态的硬件地址,采用PROFIBUS或Ethernet网络进行数据同步时才有意义,默认值为256不需要更改。
VERB_ID表示网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDL Connection、ISO Connection或S7 Connection。
数值要大于2。
DP_MASTER_SYS_ID表示DP主站网络的ID号,你可以在硬件组态中双击链接ET200M从站紫色的PROFIBUS主从网络,获取该ID值双击。
西门子S7-300教程
02
西门子s7-300编程
s7-300编程语言介绍
S7-300编程语言
LAD
STL
FBD
西门子的S7-300系列PLC主要 使用STEP 7编程软件进行编程, 支持多种编程语言,包括LAD (梯形图)、STL(语句表)和 FBD(功能块图)。这些语言各 有特点,适合不同的应用场景 和编程习惯。
LAD是最常见的PLC编程语言 ,它使用图形化方式表示逻辑 控制,直观易懂,适合初学者 使用。
在故障。
听诊法
通过听设备运行时的声音,判 断是否存在异常响动或杂音, 从而判断故障部位。
触摸法
通过触摸设备的表面、温度等 ,判断设备是否过热、振动等 异常现象。
测试法
通过使用专业的测试工具和软 件,对设备的各项性能进行测 试,从而确定故障的原因和部
位。
s7-300的日常维护
定期检查
定期对设备进行外观、电源、电缆等检查, 确保设备正常运行。
02
它具有强大的指令集和数据处理能力,能够处理复 杂的逻辑和控制任务。
03
S7-300具有高可靠性和长寿命,能够在恶劣的工业 环境中稳定运行。
s7-300的硬件组成
在此添加您的文本17字
S7-300的硬件组成包括中央处理单元(CPU)、信号模块、 通讯模块、功能模块和接口模块等。
在此添加您的文本16字
PLC与HMI的通讯
02
通过以太网协议,实现S7-300 PLC与HMI设备的实时数据交换
和监控。
PLC与上位机的通讯
03
通过以太网协议,实现S7-300 PLC与上位机的数据交换和远程
监控。
04
西门子s7-300故障诊断与维护
PLC-S7-300具体应用举例ppt课件
程序块类型
操作系统
循环 定时 过程
OB
组织块
故障
OB = 组织块 FB = 功能块 FC = 功能 SFB = 系统功能块 SFC = 系统功能
FB FB
精品课件
FC
SFB
FB
SFC
阴影:
FB 带背景数据块 4
用户定义的块
块类型 组织块 (OB) 功能块 (FB)
功能 (FC)
数据块 (DB)
特性
精品课件
22
FC1 功能块(手动/前后)
全局变量: MoveForward:点动向前(I0.2); MoveBackward:点动向后(I0.3);
Manual:手动模式显示( Q0.1 ); Auto:自动模式显示( Q0.2 ) ManualAuto:手动/自动 选择(I0.4) Forward:电机前转(Q0.5) Backward:电机后转(Q0.6)
- 操作系统和用户程序的接口 - 各层次的优先级 (1 ~ 26) - 局部数据堆栈中的特殊启动信息
- 带参数 / 数据保持 - 不带参数 / 数据保持 - 不带参数 / 数据不保持
- 只传递一个返回值 (调用时必须分配参数)
- 数据不保持 - 可带参数
- 结构化,局部存储 (背景 DB) - 结构化,全局数据存储
Manual:2#手动( Q1.1 ); Auto:2#自动( Q1.2 ) Forward:2#电机向前转(Q1.3) Backward:2#电机向后转(Q1.4)
精品课件
16
精品课件
17
应用实例
线性编程实例3 – 单生产线传送控制
用户需求: 1、能够实现手动/自动控制。 2、灌装时间3s,自动计数。 3、生产线能正反转。
S7-300学习资料
3.编辑符号表
4.规划程序结构
操作系统
FC1,汽油发动机风扇控制 OB1 主 循 环 FC1,柴油发动机风扇控制
FB10
DB3,共享数据
FB10为上层功能块, 它把 FB1 作为其“局部实 例”,通过二次调用本地 实例,分别实现对汽油机 和柴油机的控制。这种调 用不占用数据块DB1和DB2, 它将每次调用(对于每个 调用实例)的数据存储到 体系的上层功能块FB10的 背 景 数 据 块 D B 1 0 中。
1. 基本算数运算指令(整数运算)
1. 基本算数运算指令(长整数运算)
1. 基本算数运算指令(实数运算)
【例4-6-1】 16位整数的算术运算指令应用。
【例4-6-1】 16位整数的算术运算指令应用。
【例4-6-2】求输入双字ID10的内容与常数32 相除的余数,结果保存到MD20中。
§5.8 使用多重背景——结构化程序设计
§4.6.2 转换指令
转换指令是将累加器 1 中的数据进行数据类型转换, 转换结果仍放在累加器1中。在STEP 7中,可以实现BCD码 与整数、整数与长整数、长整数与实数、整数的反码、整 数的补码、实数求反等数据转换操作。
BCD码和整数到其他类型转换指令 整数和实数的码型变换指令 实数取整指令 累加器1调整指令
§5.8.3 §5.8.4 §5.8.5 §5.8.6
编辑功能(FC)
编辑共享数据块 编辑功能块(FB) 生成多重背景数据块DB10 在OB1中调用功能(FC)及上层功能块(FB)
§5.8.1
创建多重背景的S7项目
【例5-8-1】 发动机组控制系统设计——使用多重背景。 设某发动机组由1台汽油发动机和1台柴油发动机组成, 现要求用 PLC 控制发动机组,使各台发动机的转速稳定在设 定的速度上,并控制散热风扇的起动和延时关闭。每台发动 机均设置一个起动按钮和一个停止按钮。 创建S7项目 硬件配置 编写符号表 规划程序结构
实例解析西门子S7-300的多重背景数据块使用,教你事半功倍!
实例解析西门子S7-300的多重背景数据块使用,教你事半功倍!BFH当功能块FB1在组织块中被调用时,使用了与FB1相关联的背景数据块。
这样FB1有几次调用,就必须配套相应数量的背景数据块。
当FB1的调用次数较多时,就会占用更多的数据块。
使用多重背景数据块可以有效地减少数据块的数量,其编程思路是创建一个比FB1级别更高的功能块,如FB10,对于FB1的每一次调用,都将数据存储在FB10的背景数据块中。
这样就不需要为FB1分配任何背景数据块。
下面以发动机组控制系统为例,介绍如何编辑和使用多重背景数据块。
例发动机组控制系统设计——使用多重背景设某发动机组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的启动和延时关闭。
每台发动机均设置一个启动按钮和一个停止按钮。
项目的编程步骤如下:(1)创建S7项目。
使用菜单“文件”à“新建工程”向导创建发动机组控制系统的S7项目,并命名为“多重背景”。
CPU选择CPU 315- 2DP,项目包含组织块OB1。
(2)硬件配置。
在“多重背景”项目内打开“SIMATIC 300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。
图1 硬件配置(3)编辑如图2所示的符号表。
(4)规划程序结构。
程序结构规划如图3所示。
FB10为上层功能块,它把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽油机和柴油机的控制。
这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。
(5)编辑功能(FC)。
FC1用来实现发动机(汽油机或柴油机)的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。
因此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。
1)定义局部变量声明表。
局部变量声明表如表1所示,表中包含3个变量,两个IN变量,1个OUT变量。
s7-300 sfc sfb功能块简单介绍复习课程
编号
名称缩写
功能
SFB0
CTU
加大记数
SFB1
CTD
减记数
SFB2
CTUD
加/减记数
SFB3
TP
定时脉冲
SFB4
TON
延时接通
SFB5
TOF
延时断开
SFB8
USEND
非协调数据发送
SFB9
URCV
非协调数据接收
SFB12
BSEND
段数据发送
SFB13
BRCV
段数据接收
SFB14
GET
向远程CPU写数据
SFB61
RCV_PTP
接收数据(ASCⅡ,3964(R))
SFB62
RES_RECV
清除接收缓冲区(ASCⅡ,3964(R))
SFB63
SEND_RK
发送数据(RK512)
SFB64
FETCH_RK
获取数据(RK512)
SFB65
SERVE_RK
接收和提供数据数据(RK512)
SFB75
SALRM
SFB15
PUT
从远程CPU读数据
SFB16
向打印机发送数据
SFB19
START
在远程装置上实施暖启动或冷启动
SFB20
STOP
将远程装置变为停止状态
SFB21
RESUME
在远程装置上实施暖启动
SFB22
STATUS
查询远程装置的状态
SFB23
USTATUS
接收远程装置的状态
SFB29
HS_COUNT
RD_SINFO
读OB启动信息
西门子S7-300高级编程培训教材,内部教材_6、块调用和多重背景模型
系统功能块(SFB) - FB(具有存储空间),存储在CPU的操作系统中并可由用户调用
系统功能(SFC)
- FB(无存储空间),存储在CPU的操作系统中并可由用户调用
系统数据块(SDB) - 用于配置数据和参数的数据块
SIMATIC S7
Siemens AG 2001. All rights reserved.
编程人员将用于进行数据处理或过程控制的程序指令,存储在这些块(OB, FB和FC)中。 数据块(DB)中,程序员可以将程序执行期间产生的数据保存起来,以备后 来使用。
用户块是在编程设备中创建的,并从编程设备中下载到CPU中去。 • 系统块:系统块包括系统功能块(SFB),系统功能(SFC),以及系统数 据块(SDB) 。
功能的属性
…………......................................................................................................... 5
基本数据类型传送机理
…..................................................................... 6
OOBB 11
FFBB11 电电电电机机机机1111
FFBB22 阀阀 阀阀
FFBB1100 控控制制器器 控控制制器器
FFCC 55 限限制制 阀阀
.. .. .. SSFFCC
复复制制
OOBB 11
.. ..
CCAALLLL FFBB11,,DDBB22 SSttaarrtt ::==II00..00 SSttoopp ::==II00..11 MMoottoorr__oonn ::==QQ1122..00 SSppeeeedd ::==QQWW1144
S7-300的功能块忘记选择多重实例背景功能,如何修改
S7-300的功能块忘记选择多重实例背景功能,如何修改?
难道必须要删掉重新建立吗?
还有我建立好的FB FC在主程序已经调用了,
之后我又修改了调用的地方就是红的必须要重新调用吗?没有什么简单的方法可以更新吗?
Step1:在LAD编辑器开启你需要修改的FB.
Step2:执行菜单File——Generate Sourece(中文版可能译为文件——生成源文件),给Object Name文件名,单击OK。
Step3:将需要生成.源.代.码的FB拖入右边的框中,确认。
Step4:在Step7的项目树中的Source源文件夹中你能看到刚才转换的文件。
Step5:双击打开刚才的文件,然后删除CODE_VERSION1行。
Step6:执行File——Compile(文件——编译),编译前应确保先前开启的FB编辑器关闭,否则将提示错误。
经过上述过程,你可以为没有多背景的FB添加该功能,反之,可以为FB的多背景属性取消,如果你的FB不需要多背景功能,建议不要选择多背景选项,因为多背景选项会限制STL的编程。
PLC讲课资料
104 16 720
120 736
124 752
怎样确定信号模板的地址?
1.确定数字量模板的地址 一个数字量模板的输入或输出地址由字节地址和位地址 组成。字节地址取决于其模板起始地址。 例如:如果一块数字量模板插在第4槽里,其地址分配如 下
(二)PLC工作过程 1、公共操作 公共操作是在每次扫描程序前进行的自检。 2、数据I/O操作 数据I/O操作也称为I/O状态刷新。它包括两种操作: ①采样输入信号,即刷新输入状态表的内容 ②送出处理结果,即用输出状态表的内容刷新输出电路 3、执行用户程序操作 4、处理外设请求操作 外设的请求命令包括操作人员的介入和硬件设备的中断
S7-300PLC应用及编程举例
讲课人:郭泉成
山东寿光巨能金玉米股份有限公司
自控室
S7-300 PLC概述
S7-300 PLC系统结构
CPU
IM (可选)
SM: DI
SM: DO
SM: AI
SM: AO
CP: - 点-到-点 - PROFIBUS - 工业以太网
S7-300 PLC的组成
主要组成部分有导轨(RACK)、电源模块(PS)、中央处理单元CPU模块、
1Y2输出。系统上电之后,当1S1闭合时,继电器 梯形图中的1Y1、1Y2会同时得电,若不考虑继电 器触点的延时,则1Y1、1Y2会同时输出。但在 PLC梯形图中,因为PLC的程序是顺序扫描执行 的,PLC的指令按从上向下,从左向右的扫描顺 序执行,整个PLC的程序不断循环往复。PLC的 “继电器”的动作顺序由PLC的扫描顺序和在梯 形图中的位置决定,因此,当1S1闭合时,1Y1先 输出而1Y2后输出。即继电器采用并行的执行方 式,而PLC则采用串行的执行方式。
西门子PLCS7-300培训教材ppt课件
网络详细信息
西门子 PLC教程S7-300
块结构和块编辑
OB 1
FB
FB
FC
FB
FB
FB
FB
FC
FC
西门子 PLC教程S7-300
操作系统
循环
定时
过程
故障
图例:
OB = 组织块 FB = 功能块 FC = 功能 SFB = 系统功能块 SFC = 系统功能 DB = 数据块
DB OB
用OPN DI打开 位, 字节, 字, 双字
缩写
I/Q I / QB IW / QW ID / QD
M MB MW MD PIB / PQB PIW/PQW PID/PQD T C DB
加在一起的最大区域
0.0 --- 65,535.7 0 --- 65,535 0 --- 65,534 0 --- 65,532
- 带参数 / 数据保持 - 不带参数 / 数据保持
功能 (FC) 数据块 (DB)
- 只传递一个返回值 (调用时必须分配参数)
- 数据不保持 - 可带参数
- 结构化,局部存储 (背景 DB) - 结构化,全局数据存储
(在整个程序中均有效)
西门子 PLC教程S7-300
系统块
块类型
特点
系统功能 (SFC)
使用格式 十进制数值 十六进制值
二进制值 ‘ASCII码文本’
举例 20 16#4E4F 2#100 1110 0100 1111 ‘How are you?’
无符号整数 十进制 0或1 0~255 0~65535
0~ 4 294 967 295
十六进制
0~FF 0~FFFF 0~FFFFFFFF
S7-300学习资料(视频祥解)
S7-300学习笔记第一讲:S7-300简介一、标准型S7-300的硬件结构1.S7-300为标准模块式结构,各种模块相互独立,并安装在固定的机架(导轨)上,构成一个完整的PLC应用系统。
2.第一槽为电源模块,第二槽为CPU模块,第三槽为通信模。
3.300电源模块(PS)可用其它开关电源代替,而400必须选用原装模块二、S7-300 CPU模块1.CPU模块分类1)300PLC可分为紧凑型.标准型.革新型.户外型.故障安全型和特种型CPU2)C表示紧凑型.F故障安全型T表示特种型2.S7-300 CPU的主要特点3.S7-300 CPU状态故障显示1)SF(红色):系统出错/故障指示灯,硬件或软件出错时亮2)BATF(红色) :电池故障指示灯,没电或没有装入电池时亮.314和316有.故障时不影响CPU工作3)DC5V(绿色) :5V电源指示灯,总线5V电源正常时常亮4)FRCE(黄色) :强制作业有效指示灯,有强制时亮5)RUN(绿色) :运行指示灯.处于RUN时亮,在STARTUP(启动)时以2HZ闪烁,在HOLD(暂停)时0.5HZ闪烁6)STOP(黄色) :CPU处于STARTUP. HOLD.时常亮,在存储器复位时0.5HZ闪.在存储器置位时以2HZ闪烁.7)BUS DF(BF)(红色) :总线出错时亮,(只适用于带有DP接口的CPU).8)SF DP:接口错误指示灯,DP接口故障时亮三、S7-300 PLC功能1.高速的指令处理:0.1-0.6us的指令处理时间2.人机界面(HMI):人机界面集成在S7-300操作系统内3.诊断功能:CPU的智能化的诊断系统可连续监控系统的功能是否正常,记录错误和特殊的系统事件4.口令保护:多级口令保护可以使用户高度、有效的保护其技术机密,防止未经允许的复制和修改四、S7-300 模块PS电源模块、IM接口模块(360发送361接收)、FM功能模块、SM信号模块。
西门子S7-300 400高级编程培训教材-PPT文档资料27页
Date: File:
2019/11/26 PRO2_06E.7
SITRAIN Training for
Automation and Drives
调用(主调)功能的特点
CALL指令
指令为宏指令
寄存器内容可能会被覆盖掉,甚至是DB寄存器
请注意B堆栈中内容的解释
调用之后,可能会打开另一个DB
数据块(DB)
- 结构化的局部数据存储(背景数据块DB) - 结构化的全局数据存储(在整个程序中有效)
系统功能块(SFB) - FB(具有存储空间),存储在CPU的操作系统中并可由用户调用
系统功能(SFC)
- FB(无存储空间),存储在CPU的操作系统中并可由用户调用
系统数据块(SDB) - 用于配置数据和参数的数据块
在一个FB调用过程中的参数传递
IB0 1 0 0 1 0 0 1 0
1
QB8 1 0 0 1 0 0 1 0 ...
OB1 程序执行
CALL FB10, DB16
Start Stop Motor_on Speed :
:=I 0.4 :=I 0.0 :=Q8.1 =QW12
块参数
实际参数
3
BLD = TDB OPN TAR2 A = A = LAR2 UC LAR2 A = L T TDB BLD
3 L 24.0
DI 16 LD 20 I 0.4 DIX 0.0 I 0.0 DIX 0.1 P#DBX 0.0 FB 10 LD 20 DIX 2.0 Q 8.1 DIW 4 QW 12
4
DB16 .. .. .. .. .. .. 0 1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1
(整理)PLC300多重背景数据块的使用.
多重数据块是数据块的一种特殊形式,如在OB1中调用FB10,在FB10中又调用FB1和FB2,则只要FB10的背景数据块选择为多重背景数据块就可以了,FB1和FB2不需要建立背景数据块,其接口参数都保存在FB10的多重背景数据块中。
建立多重背景数据块的方法是:在建立数据块只要在数据类型选项中选择“实例的DB”就可以了,见下例。
下面通过一例简单介绍一下多重背景数据块使用的一些注意事项和方法。
例如,PLC控制两台电机,且控制两台电机的接口参数均相同。
一般的作法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如第一台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制第一台电机调用FB1时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。
这样就需要使用两个背景数据,如果控制的电机台数更多,则会使用更多的数据块。
使用多重背景数据块就是为了减少数据块的数量。
像这种情况,我们就可以利用多重背景数据块来减少数据块的使用量。
拿本例来说,我们就可以在OB1中调用FB10,再在FB10中分别调用(每台电机各调用一次)FB1来控制两台电机的运转。
对于每次调用,FB1都将它的数据存储在FB1的背景数据块DB1中。
这样就无需再为FB1分配数据块,所有的功能块都指向FB10的数据块DB10。
原理图如下:首先,我们需要先后插入一个功能块FB10和数据块DB10,DB10就为FB10的多重背景多重数据块。
如下图:其次,需要在FB10中指定其所包含的背景数据块。
方法如下:在FB10局部变量定义窗口中,在“STAT”变量区中(必须在此变量区中)为每台电机的控制取好名称后,数据类型选择FB <nr>,确认后,再把<nr>改为1,即功能块FB1。
如果你在变量表中已经定义了FB1的符号,则会自动出现其符号名。
地址一般由CPU根据FB1的接口参数数量自动计算得到,采用默认值就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-300多重背景调用
实例
多重背景数据块
如果在结构化编程时经常使用功能块,那么在每次调用FB时都要为其指定一个单独的背景数据块。
对于非常小的FB,它的背景数据块经常由很少的几个字组成,则会浪费大量没有使用的背景数据块空间。
当频繁调用和指定背景数据块给这些小的FB时,程序会变得非常不清晰,或者DB块的数量会达到CPU 所支持的最大数量。
由于一个背景数据块可以长于FB实际需要的长度,因此多个背景数据块可以合并成一个多重背景。
但是,这种合并必须在一个FB中通过编程完成。
多重背景调用等同于FC的调用,在多重背景下调用的参数填写一定不能空着,必须有实际地址,否则用 DB10的数据程序会混乱
具体步骤:
1.先建立一个FB1。
符号名:三数相加。
完成内容a*b*c=outcome
2.定义形式参数
3.IN:a, b, c
4.OUT:outcome
5.temp:temp_out
6.在 SIMATIC Manager 中,打开你希望生成多重背景的 FB2。
在静态变量STAT定义部
分,输入多重背景的名字,数据类型为 FB,选择后要注意改成FB1。
然后将左侧多重背景的数据模块拖入编程框内。
3.建立FB2的多重背景数据块
4.在主程序OB1里调用FB2
5.如果需要可以在主程序里用mov指令给相应的变量例如DB1.DBW2等赋值,或直接在DB2数据库里改变当前值。
6.仿真运行
多重背景刷新补充内容
7.一旦修改过了多重背景,并打开调用它的功能块。
当功能块被打开时,会出现一个消
息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。
确认此信息,修改过的背景调用在 LAD/STL/FBD 编辑器中将会以亮红色显示。
为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。
8. 在后续的对话框中,点击 OK 来执行接口更新
当尝试通过“File > Check and Update Accesses”来更新程序块调用时,STEP7 V5.3 不能发现变量间的唯一分配,调用还是保持红颜色,也无法通过“Edit > Call > Update”改正调用错误。
更新调用的唯一办法是删除调用,在声明中更新接口,然后再以多重背景方式调用功能块。
如果已经删除了 FB 接口中的变量,应该通过“Edit > Call > Update”来改正所有的多重背景调用,而不需使用前面的“Check and Update Accesses”功能。
一旦已经更新了这些多重背景,就又可以与平时一样使用“Check and Update Accesses”功能了。
9.推荐在更新功能块调用后进行一致性检查。
在 SIMATIC Manager 中,右击 S7 program 文件夹,选择“Check block consistency...”功能,系统会显示S7程序的结构。
通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程序。
在编译后,STEP 7程序一致性将统一。
10. 当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。
也可以改变此设置。