西门子db数据块的使用
问题描述
- 精选答案
-
你这个问题有点大,因为西门子PLC中的DB数据块可以分为背景数据块和共享数据块,每种都很有一些内容可说的。
西门子PLC从300/400系列开始STEP7软件引入了DB块的概念,DB就是数据块,这个DB区有点象西门子200PLC中的V变量数据区,200中编程使用V区的点,300中就可以使用DB区来存储数据,以及触摸屏上位机这些的通讯也都主要使用DB变量,所以DB块是西门子PLC中一个非常重要的项目。
我还是简单来说一些吧。
先说两种数据块创建时的不同
当你新建一个项目没有一个FB块的时候,你在项目中插入一个DB块,就只有共享的DB这个选项。意思是,此时你就只能建立一个共享的数据块。当你插入一个FB块之后,你再次新建一个DB块的时候,就可以选择你共享还是背景,如图:
这个图片上DB2就成为了FB1的专属DB块了。是因为FB块在使用中规定必须有一个背景数据块,所以建立一个FB就必须要有DB块,而FC则不需要!在FB的调用中如果你没有事先建立DB块,那么调用的时候系统会要求你输入一个DB块,这个DB块会自然成为这个FB的背景数据块。
再来说一下使用中的不同点
DB块的使用详细说的话,可以说的太多了,所以这里我就举例来主要说明一下2种数据块的不同吧:
该图片上这个程序就是主程序OB1中调用FB1,DB2就是FB1的背景数据块,这里DB1就是共享数据块。可以看到FB1的实参输入点我是用的DB1块中的,输出是用的DB2中的一个点。
我们就来看一下这个程序中DB2和DB1中有什么不同,先要看一下FB1中的地址规划!
这个图片是我将FB1做成一个可以启动并自锁以及包含2个停止的通用程序块,方便在调用的时候赋予实参。in1,in2,in3还有out1,都是形参,是占用的FB块中的L区。
FB说完了,就该来看看DB1和DB2块中的内容:
从这个图片可以看到,DB1中只有1个地址就0.0这个是默认的声明内容,我只是创建了一个共享的数据块DB1,但是对DB1中的具体内容没有做声明,所以打开DB1显示就是这样。
DB2中可以看到有4个bool变量,这个和FB1中的4个变量是对应的,且这4个bool变量是被自动创建的。
还可以看到的信息是DB2中监控不上上边我程程序中使用的DB2.DBX0.6,原因也是因为我没有在DB2中事先把DB2.DBX0.6做规划!系统只生成了in1,in2,in3,out1这个几个和FB中对照的规划!这里说明了DB2虽然是FB2的背景数据块,但是不代表DB2中的其他变量是不能使用的,只不过一般编程的时候,为了不混乱,就不使用!
还值得说的是DB2中的in1的地址DB2.DBX0.0和DB1.DBX0.0的状态是对用的,换句话说,DB2就可以用来记录FB2外部实参的状态,这也是FB块引入DB块的一个初衷!
最后还强调一点:
如果你事先是先建立了空白的FB1,也建立了DB2去关联到FB1,那么你的FB1中被规划入内容后,FB1再去关联DB2的时候,系统会提示内容不一致了,让你更新关联的DB块,则DB2就会被自动更新,也会自动创建FB1中的变量。看下图:
这个图是我FB2关联到DB10,开始FB2和DB2都的空的,当我在FB2中建立数据后,再次关联DB10时候就弹出如上的对话框,询问是否要再次生成实例数据块,选择是就会自动更新DB10。
好吧,就简单说这么多了,因为关于DB块可以说的知识点还有很多,希望对你有点帮助吧,谢谢!
如果有问题,请关注+留言,我会及时回复,谢谢!
- 其他回答
-
定义好后直接用,在对应的位置输入。
如建的DB5,那就从DB5.DBX0.0(开关量)开始,DB5.DBB0,DB5.DBW0,DB5.DBD0,根据不同的数据类型选
- 其他回答
-
一般背景数据块才自动生成变量,是否可以改动或删除要看程序怎样写,如果程序没使用就可以删除,可以在原来基础上添加定义变量。
2
属于背景数据块 作为FB块的背景数据块,使用就行功能接口信号 我们就要根据具体的机床和要求灵活应用西门子包含的东西太多。
3
先创建一DB块,在此数据块中建一实数数组(数组长度不得低于数据个数),再把这一系列的数据(REAL)存入此数组中;至于提取出来进行运算就直接读取数组中值就行了。
4
数据块就相当于其他的变量地址,访问方式分为直接和间接寻址方式。在创建db块时,如果需要可以插入建好的。
5
有时需要建立多个数据块,但数据块的结构,数据类型都是一样的,但又不能在同一个数据块中保存。
6
需要自己来创建,如果用不到用户数据类型,可以不用理会这个UDT。这时可以先建一个UDT,通过UDT再创建其余的几个块。
- 其他回答
-
一般背景数据块才自动生成变量,是否可以改动或删除要看程序怎样写,如果程序没使用就可以删除,可以在原来基础上添加定义变量。
属于背景数据块 作为FB块的背景数据块,使用就行功能接口信号 我们就要根据具体的机床和要求灵活应用西门子包含的东西太多。
3
先创建一DB块,在此数据块中建一实数数组(数组长度不得低于数据个数),再把这一系列的数据(REAL)存入此数组中;至于提取出来进行运算就直接读取数组中值就行了。
4
数据块就相当于其他的变量地址,访问方式分为直接和间接寻址方式。在创建db块时,如果需要可以插入建好的。
5
有时需要建立多个数据块,但数据块的结构,数据类型都是一样的,但又不能在同一个数据块中保存。
6
需要自己来创建,如果用不到用户数据类型,可以不用理会这个UDT。这时可以先建一个UDT,通过UDT再创建其余的几个块。
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















