西门子S7-1200S7-1500中FB、FC、DB功能介绍

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第1张

  

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第2张

  

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第3张

1、块接口由形式参数和本地数据两部分组成:

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第4张

  参数解析: 输入参数:为调用模块提供数据,输入给逻辑模块 输出参数:从逻辑模块输出数据结果 输入/输出参数:参数值既可以输入,也可以输出

  

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第5张

  变量解析: 临时变量:存储在L堆栈中,块执行结束后,变量消失; 静态变量:存储在背景数据块中,块调用结束后,变量被保留;

  (1)函数(FC)简介

  ① 、函数(FC)是用户编写的程序块,是不带存储器的代码块。由于没有可以存储块参数值的数据存储器,因此,调用函数时,必须给所有形参分配实参。

  ②、FC 里有一个局域变量表和块参数。局域变量表里有:Input(输入参数)、Output(输出参数)、InOut (输入/输出参数)、Temp(临时数据)、Return(返回值 RET_VAL)。 Input(输入参数)将数据传递到被调用的块中进行处理。

  Output(输出参数)是将结果传递到调用的块中。 InOut(输入/输出参数)将数据传递到被调用的块中,在被调用的块中处理数据后,再将被调用的块中发送的结果存储在相同的变量中。 Temp(临时数据)是块的本地数据,并且在处理块时将其存储在本地数据堆栈。关闭并完成处理后,临时数据就变得不再可访问。Return 包含返回值 RET_VAL。

  (2)函数块(FB)的简介 函数块(FB)属于编程者自己编程的块。函数块是一种“带内存”的块。分配数据块作为其内存(背景数据块)。传送到 FB 的参数和静态变量保存在实例 DB 中。临时变量则保存在本地数据堆栈中。执行完FB 时,不会丢失DB 中保存的数据。但执行完 FB 时,会丢失保存在本地数据堆栈中的数据。

  (3)数据块(DB)简介

  ①、数据块用于存储用户数据及程序中间变量。新建数据块时,默认状态是优化的存储方式,且数据块中存储的变量是非保持的。数据块占用 CPU 的装载存储区和工作存储区,与标识存储器的功能类似,都是全局变量,不同的是,M 数据区的大小在 CPU 技术规范中已经定义且不可扩展,而数据块存储区由用户定义,最大不能超过工作存储区或装载存储区。SIMATIC S7-1500 PLC 的非优化数据最大数据空间为 64KB。而优化的数据块的存储空间要大得多,但其存储空间与 CPU 的类型有关。

  ②、按照功能分,数据块 DB 可以分为:全局数据块、背景数据块和基于数据类型(用户定义数据类型、系统数据类型和数组类型)的数据块。

  S7-1200:优化的块结构

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第6张

备注: 1、对于优化的数据块,大的数据类型在块的开始,小的数据类型在块的末端,因此在块中不会形成数据块间隙; 2、对于优化的数据块,只能采用符号访问的方式。 S7-1500 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图方式存储:

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第7张
 

          在 S7-1500 CPU 中,相比于标准的 DB 块,优化的 DB 块提供更快的访问速度,其根本原因与 CPU 的编码方式有关:

西门子S7-1200S7-1500中FB、FC、DB功能介绍,第8张

      与标准的 DB 块相比,优化的 DB 块有以下优势:

  1. 提供更快的访问速度;

  2. 以符号寻址,编程者无需考虑 DB 块中每个变量存储的具体地址,每个变量在 CPU 中存储的位置由 PLC 的系统自动进行分配;

  3.CPU 与 HMI (如 Panel)连接时,由于优化的 DB 是靠符号寻址,所以当 PLC 变量连接到 HMI 后,PLC 侧对变量做的修改,HMI 无需重新下载; 4.对 DB 块内的任意位置对变量进行添加及删除,或对变量的类型进行修改(如将Tag_1的属性由 byte 修改为Word),不会引起该 DB 块其它变量的使用;

  S7-1200/S7-1500中如有以下应用,必须使用标准 DB 块:

  1.与其它 CPU 建立 S7 单边通信时(PUT/GET),用于存储发送区数据和接收区数据的 DB 块;

  2.与 Wincc V7.2 进行 HMI 连接时,Wincc V7.2 访问的 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块;

  3. 使用SimaTIc Net V8.2 与S7-1200/S7-1500 PLC进行 OPC 连接时,OPC 服务器访问 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块。

  编辑:黄飞

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2999570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-26
下一篇 2022-09-26

发表评论

登录后才能评论

评论列表(0条)

保存