西门子功能块的调用与多重背景数据模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CALL FC10
On_1 := On_2 := Off :=
I 0.1 I 0.2 Q8.0
OB1
BLD = UC
BLD
1 L 20.0 FC 10 P#I 0.1 P#I 0.2 P#Q 8.0 2
功能FC10
输入 输入 输出
...
On_1 On_2 Off
BOOL BOOL BOOL
... A #On_1 A #On_2 = #Off ...
SITRAIN Training for
Automation and Drives
功能的属性
参数可分配的Βιβλιοθήκη : 具有足够多的输入,输出,输入/输 出参数
无存储区,也即只有临时变量
IEC 61131-3标准一致性要求:
足够多的输入参数 仅有一个输出参数RET_VAL 不允许访问全局变量和绝对地址 使用同一输入参数提供相同的结果
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2020/1/23 PRO2_06E.3
SITRAIN Training for
Automation and Drives
功能及功能块中的参数声明
参数是信息传递的通道
输入参数: Caller -> Block
地址 0.0 0.1 2.0 2.0 8.0
10.0 ... ...
声明 输入 输入 输入
输出 输出
名称 Start Stop Speed
Motor_on Setpoint
类型 BOOL BOOL INT
BOOL INT
输入/输出 EMER_OFF BOOL
静态 ...
...
临时 ..
...
初始化值 FALSE TRUE 0 FALSE 0
块调用与多重背景模型
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2020/1/23 PRO2_06E.1
SITRAIN Training for
Automation and Drives
用于结构化编程的块
整个任务的 模块化:
单个任务在各自块中 予以解决 参数分配法使得
块参数
实际参数
形式参数
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2020/1/23 PRO2_06E.6
SITRAIN Training for
Automation and Drives
复杂数据类型的功能调用
示例:向功能传递一个ARRAY
FALSE ... ...
EN
"Motor" ENO
输入 参数
输入/输出 参数
Start Stop Speed
Motor_on Setpoint
EMER_OFF
...
输出 参数
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2020/1/23 PRO2_06E.4
Automation and Drives
STEP 7 块概述
块的类型
组织块(OB) 功能块(FB)
属性
- 用户程序接口 - 优先级(0到27) - 在局部数据堆栈中指定开始信息
- 参数可分配(可以在调用时分配参数) - 具有(收回)存储空间(静态变量)
功能(FC)
- 参数可分配(必须在调用时分配参数) - 基本上没有存储空间(只有临时变量)
Motor_on :=Q12.0
Speed :=QW14
.
.
FB10 控制器
FC 5 限制 阀
... SFC
复制
FB 1
地址 0.0 0.1 2.0 4.0 6.0 0.0
DB 2
声明 名称 in Start in Stop out Motor_on out Speed stat Speed_old temp Calc_1
.
.
.
A
#Start
AN #Stop
=
#Motor_on
.
类型 BOOL BOOL BOOL INT INT INT
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2020/1/23 PRO2_06E.2
SITRAIN Training for
数据块(DB)
- 结构化的局部数据存储(背景数据块DB) - 结构化的全局数据存储(在整个程序中有效)
系统功能块(SFB) - FB(具有存储空间),存储在CPU的操作系统中并可由用户调用
系统功能(SFC)
- FB(无存储空间),存储在CPU的操作系统中并可由用户调用
系统数据块(SDB) - 用于配置数据和参数的数据块
使用更加灵活 • 示例:钻孔循环程序的钻孔深 度为可分配参数
块的可再利用性能:
块可以按需要随时 加以调用
限制因素: • 不允许访问 全局地址空间 • 只能通过参数列表 进行通信
OB 1
FB1 电机1
FB2 阀
OB 1
. .
CALL FB1, DB2
Start
:=I 0.0
Stop
:=I 0.1
FC21
DB5 "Temperature"
Date: File:
2020/1/23 PRO2_06E.5
SITRAIN Training for
Automation and Drives
基本数据类型传送机理
基本类型实际参数位于于:
位存储地址区域 过程映像 调用的局部堆栈
IB0 1 0 0 1 0 0 1 0 ...
OB1
程序 执行
输出参数: Block -> Caller
输入/输出参数: Caller <-> Block
参数形成了块的一个“shell”:
参数位于代码段 与“局部”变量类似
参数可以为任何数据类型 在调用期间进行数据类型检查 例外情况:POINTER,ANY
调用接口与编程语言无关 PLC编程语言可以混合使用
扩展了处理器的指令集
程序 执行
CALL FC
On_1 := On_2 := Off :=
10
I 0.1 I 0.2 Q8.0
功能FC10
输入 输入 输出
...
On_1 On_2 Off
BOOL BOOL BOOL
... A #On_1 A #On_2 = #Off ...
SIMATIC S7
Siemens AG 2001. All rights reserved.