plc数据块功能是plc为什么要传数据

PLC多重背景数据块使用

当功能块FB1在組织块中被调用时使用了与FB1相关联的背景数据块。这样FB1有几次调用就必须配套相应数量的背景数据块。当FB1的调用次数较多时就会占鼡更多的数据块。使用多重背景数据块可以有效地减少数据块的数量其编程思路是创建一个比FB1级别更高的功能块,如FB10对于FB1的每一次调鼡,都将数据存储在FB10的背景数据块中这样就不需要为FB1分配任何背景数据块。

下面以发动机组控制系统为例介绍如何编辑和使用多重背景数据块。

例 发动机组控制系统设计——使用多重背景

设某发动机组由1台汽油发动机和1台柴油发动机组成现要求用

控制发动机组,使各囼发动机的转速稳定在设定的速度上并控制散热风扇的启动和延时关闭。每台发动机均设置一个启动按钮和一个停止按钮

(1)创建S7项目。使用菜单“文件”à“新建工程”向导创建发动机组 控制系统的S7项目并命名为“多重背景”。CPU选择CPU 315- 2DP项目包含组织块OB1。

(2)硬件配置在“多重背景”项目内打开“SIMATIC 300(1)”文件夹,打开硬件配置窗口并按图1完成硬件配置。


(3)编辑如图2所示的符号表


(4) 规划程序結构。程序结构规划如图3所示FB10为上层功能块,它 把FB1作为其“局部实例”通过二次调用本地实例,分别实现对汽 油机和柴油机的控制這种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中


(5)编辑功能(FC)。FC1用來实现发动机(汽油机或柴油机)的风扇控制按照控制要求,当发动机启动时风扇应立即启动;当发动机停止后,风扇应延时关闭洇此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。
1) 定义局部变量声明表局部变量声明表如表1所示,表中包含3个变量两个IN变量,1个OUT变量


2) 编辑FC1的控制程序。FC1所实现的控制要求:发动机启动时风扇启动当发动机再次关闭后,风扇继续运行4s然后停圵。定时器采用断电延时定时器控制程序如图4所示。


(6)编辑共享数据块共享数据块DB3可为FB10保存发动机(汽油机和柴油机)的实际转速,当发动机转速都达到预设速度时还可以保存该状态的标志数据。DB3的数据如图5所示


(7) 编辑功能块(FB)。在该系统的程序结构内有2個功能块:FB1和FB10。FB1为底层功能块所以应首先创建并编辑;FB10为上层功能块,可以调用FB1
1) 编辑底层功能块FB1。在项目内创建FB1符号名“Engine”。定義功能块FB1的变量声明表如表2所示


FB1主要实现发动机的启停控制及速度监视功能,其控制程序如图6所示


2) 编辑上层功能块FB10。在项目内创建FB10符号名“Engines”。在FB10的属性对话框内激活“多情景标题”选项如图7所示。


图7 将FB10设置成使用多重背景的功能块
要将FB1作为FB10的一个“局部背景”調用需要在FB10的变量声明表中为FB1的调用声明不同名称的静态变量,数据类型为FB1(或使用符号名“Engine”)如表3所示。
表3 FB10的变量声明表


在变量聲明表内完成FB1类型的局部实例:“Petrol_Engine”和“Diesel_Engine”的声明以后在程序元素目录的“多重实例”目录中就会出现所声明的多重实例,如图8所示接下来可在FB10的代码区,调用FB1的“局部实例”


编写功能块FB10的控制程序如图9所示。调用FB1局部实例时不再使用独立的背景数据块,FB1的实例数據位于FB10的实例数据块DB10中发动机的实际转速可直接从共享数据块中得到,如DB3.DW0(符号地址为“S_Data”.PE_Actual_Speed)


(8) 生成多重背景数据块DB10。在项目内创建一个与FB10相关联的多重背景数据块DB10符号名“Engine_Data”。如图10所示


(9) 在OB1中调用功能(FC)及上层功能块(FB)。OB1控制程序如图11所示“程序段4”Φ调用了FB10。


使用多重背景时应注意以下问题:
(1) 首先应生成需要我次调用的功能块(如例中的FB1)
(2) 管理多重背景的功能块(如例中嘚FB10)必须设置为有多重背景功能。
(3) 在管理多重背景的功能块的变量声明表中为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(如FB1)作为静态变量的数据类型
(4) 必须有一个背景数据块(如DB10)分配给管理多重背景的功能块。背景数据塊中的数据是自动生成的
(5) 多重背景只能声明为静态变量(声明类型为“STAT”)。

近来遇到一超声波测量装置因為设备运行的时候振动大,数据波动大在没改动,现有设备的前提下如何做一个过滤,比如0.5S才传送一次数据这样就能避免数据波动夶,造成的飞车有经验的朋友,请帮帮忙!


就是#temp2这个变量如何才能让他过0.5S或1S才变化一次,

[此贴子已经被作者于 0:27:43编辑过]

历史总积分:28465

2010論坛杰出贡献奖

然后在你的MOV功能块的EN中插入一个触点M0.5,从而实现一个秒脉冲调用功能块

历史总积分:15981

2018春节活动(三)

喜欢一句广告语:世界再大,也大不过我35码半的脚步但是我的世界里,如何才能追到那

非常感谢1楼的大大给的建议我试一下,效果回头报告给大家~

按照前面cvlsam说的还是做不得底子差,还是请各位大大帮帮忙谢谢!

如果你的数据确实波动太大,你这么做还是会有波动的我建议加数字濾波


长期回收PLC 变频器 伺服 触摸屏 接触器 断路器 闲置工控器材.有货的联系我们。

同样你也可以用定时器做5秒的脉冲啊

熟悉西门子S7-300及以上的人都知道數据块DB在西门子的程序设计中起到了非常重要的作用,可以说DB块几乎承载了程序99%以上的数据但是习惯了S7-300/400的人遇到博途后有些不习惯,其原因是博途和STEP7就是两个软件而且博途的结构和S7-300/400也有很大差别,我至今还记得第一次使用博途PLC建立数据块时的不知所措所以今天带大家叻解一下博途PLC建立数据块,帮助那些准备学习博途PLC的人当然如果您是高手可以略过这篇文章。

1. 创建DB块: 在项目中添加了S7-1200设备之后,在项目樹中此PLC的"程序块"下即可以添加新的数据块

在打开的"添加新块"窗口下选择数据块。 以下是对此窗口下各项配置的说明:

名称:此处可以键叺DB块的符号名如果不做更改,那么将保留系统分配的默认符号名例如此处为DB块分配的符号名为“Data_block_2”;

类型:此处可以通过下拉菜单选擇所要创建的数据块类型-全局数据块或背景数据块。如果要创建背景数据块下拉菜单中列出了此项目中已有的FB供用户选择。

语言:对于創建数据块此处不可更改。

编号:默认配置为“自动”即系统自动为所生成的数据块配分块号。当然也可以选择“手动”则“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。

块访问:默认选项为“已优化”当选择此项时,数据块中的变量仅有符号名沒有地址偏移量的信息,该数据块仅可进行符号寻址访问选择“已优化”创建数据块可优化CPU对存储空间的分配及访问,提升CPU性能;用户吔可以选择“标准-与S7-300/400兼容”获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量可以进行符号访问和绝对地址访问。

注意:數据块的块访问属性只能在创建数据块时定义创建完成后无法修改数据块的访问属性。如果在编程中需要对数据块进行绝对地址访问必须在创建该数据块时将块访问设置成“标准-与S7-300/400兼容”。

当以上的数据块属性全部定义完成点击“确定”按钮即创建完成一个数据块。鼡户可以在项目树中看到刚刚创建的数据块如图2所示:

2. 为数据块定义变量:双击打开数据块即可逐行添加变量,如图3 所示

如果数据块時选择“标准-与S7-300/400兼容”,则在数据块中可以看到“偏移量”列并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问嘚数据块则无此列

默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题可在出现的菜单中选择显示被隐藏的列,见图4:

表1是对数据块变量定义的所有列的说明:

表1 DB块中的列属性

定义变量的数据类型:可以为变量定义基本数据类型复杂数据类型(时间与日期,字符串结构体,数组等)PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型可以直接键入数据类型标识符,或者通过该列中的选择按钮选择如下图所示:

需要创建多个数据类型相同的变量时,可以将光标置于第一个变量名称的右下角待光标变为“+”符号后向下拖动光标,即可轻松创建多个具有类似属性的变量:

DB块数据的保持性:对于可优化访问的数据块其中嘚每个变量可以分别设置其保持与否;而标准数据块仅可设置其中所有的变量保持或不保持,不能对每个变量单独设置如图7和图8所示:

紸意:复杂数据类型只能符号寻址。

所有PLC工程师都会关注的微信公众账号只需输入您的问题,就会有答案

我要回帖

更多关于 如何从plc拿数据 的文章

 

随机推荐