‘壹’ 西门子300中的共享数据块如何使用
共享数据块是全局块,就像M点一样常规使用,
如果DB点不予IO连接,与硬件点毛关系也没有,就是个哑点。必须有一行I0.0赋值DB1.BDX0.0才可以。
‘贰’ 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块可以说的知识点还有很多,希望对你有点帮助吧,谢谢!
如果有问题,请关注+留言,我会及时回复,谢谢!
控制研究控
优质科技领域创作者
1.4万粉丝 · 1.1万赞
搜索
存储区基础知识西门子
plc编程必背50个程序
西门子售后服务官网
三菱和西门子plc哪个难
德国西门子公司有多强
西门子为什么那么厉害
‘叁’ 背景数据块和共享数据块如何从程序中看出区别
程序中就是直接用指针读取的,方法和正常的一样。DBX[AR2,P#0.0]和DIX[AR2,P#0.0]所以我想这两个数据块都应该打开了
‘肆’ 怎样理解共享数据块DB和背景数据块DI,区别
共享数据块可以把他里面定义变量当中间量用 用法和M差不多 背景数据块对应相应的功能块FB只能对应的FB用
使用绝对地址时必须用DB,当用OPN打开时,可以用DI,也可以用DB。
‘伍’ 西门子中DB1.DBX0.0是什么
Db1是编号为1的数据块(包括后台数据块或共享数据块,由程序员在创建数据块时指定,所以直接在一楼说共享数据块是个问题)
Dbx0.0是数据块中0字节偏移地址的第0位(0-7,大于7是下一个字节)
你也可以使用
Dbbn:地址偏移量为n的字节
DBWn:地址偏移量为n的字
Dbdn:地址偏移量为n的双字
如果使用OPN打开块,则不能在块中显式指定块。
还要注意每个数据类型的大小。例如,如果在地址0中存储实数(4字节),则按如下方式写入:
L数据库1.dbd0
L数据库1.dbw 0
您可以看到地址重叠,但STEP7没有报告错误。
(5)哪个是共享数据块扩展阅读:
处理图像寄存器确定输出信号波形的初始和最终状态,并使信号波形在高或低位置开始和结束。脉冲串(动力输出)功能提供方波(50%占空比)输出或指定数量的脉冲和指定周期。脉冲宽度调制(PWM)功能提供具有可变占空比的固定循环输出。
‘陆’ 西门子DB共享数据块如何编写及如何使用 第1页
DB块分为两类,一类为共享数据块,还有一类为背景数据块,共享数据块没什么好编写的,只要新建一个数据块,类型改为共享数据块,建立完成之后,就可以在这个共享数据块里添加变量了,BOOL REAL INT DINT 自定义结构 等等,这个db块就好比M存储区一样,但是他有别于M存储区的地方是他带断电保持的,M存储区没有带点保持功能。另外一个背景数据块是建立过程中会要求输入属于哪个FB块,这个背景数据块的结构是固定的,和关联的FB块的结构有关。
‘柒’ 在西门子PLC300/400程序中,共享数据块和背景数据块中的变量怎样来识别,有什么规律吗这些变量是怎样得到的
共享数据块中定义的变量和全局变量差不多吧,而背景数据块必须有个归属,,即一定是属于一个功能块的!!!至于怎么识别,,那应该是看在哪个数据块中吧。。共享数据块在定义完成后可以定义,而背景数据块则是在功能块中定义的输入输出参数!!建议自己看看书,应该还是比较容易看明白的。。
这个是正解,在你使用FB调用的时候,系统根据你的输入,自动识别为背景数据块
‘捌’ 西门子PLC300中的DB DI 的英文名称是什么,看见缩写总是分不清是共享数据块还是背景数据块
共享数据块DB: Data Block
背景数据块DI: Data Instance
‘玖’ S7 300/400的OB、FB、FC、DB块 分别代表什么
OB是组织块,有中断组织块,启动组织块,各种错误组织块等,OB1是主程序,是用来存放用户编写的主程序然后循环扫描。FC是功能FB是功能块,FB有自己的DBFC没有,他们相当于子程序或者是某个定义了形参的功能模板。DB是数据块,分为背景数据块,共享数据块和用户定义数据块,背景数据块相当于FB的存储区,共享数据块里定义的数据所有逻辑块都可以访问,用户定义数据块是以UDT为模板创建的,需先定义数据类型UDT。
‘拾’ S7程序里如何区分共享数据块和背景数据块
右键,块属性,CALLS,看他有没有被哪个FB调用。