云端配置(西门子S7-300/400) DB1.DBX0.0是什么意思?DB78.DBX33.3是什么意思?西门子S7-300PLC的DB数据存储器

作者:领祺@马斯克 日期:2023-02-04 阅读量:

DB78.DBX33.0是:DB78这个数据块里面的33号字节(第34个字节)的第1个位。

DB78.DBX33.1是:DB78这个数据块里面的33号字节(第34个字节)的第2个位。

DB78.DBX33.2是:DB78这个数据块里面的33号字节(第34个字节)的第3个位。

DB78.DBX33.3是:DB78这个数据块里面的33号字节(第34个字节)的第4个位。

就是你定义的共享数据区:DB78的第33个字节的第四个位。


在西门子PLC中,VD是双字(32位),VW是字(16位),VB是字节(8位),VD0包含了VW0和VW2,包含了VB0、VB1、VB2、VB3,以此类推,它们在PLC中使用的是同一片内存;所以它们的功能码都选择DB寄存器,数据类型上VD选32位有/无符号或单精度浮点数,VW选16位有/无符号,VB选8位有/无符号,数据格式根据实际情况选择,寄存器地址则按照原样填写。

https://dingiiot.com/help-doc/drive_page/S7-300/#db

数据块(DB)定义在S7-CPU的存储器中,用户可在存储器中建立一个或多个数据块。每个数据块可大可小,但CPU对数据块数量和数据总量有限制,对于CPU314,用作数据块的存储器最多为8KB,用户定义的数据总量不能超过这个限量。数据块必须遵循先定义后使用的原则,否则,将造成系统错误。
数据块(DB)可用来存储用户程序中逻辑块的变量数据(如数值)。逻辑块执行结束或数据块关闭时,数据块中的数据保持不变。
用户程序可以使用位、字节、字或双字操作方式访问数据块,也可以使用符号或绝对地址访问。

数据块的分类
数据块有三种类型:共享数据块、背景数据块和用户定义数据块。
共享数据块又称全局数据块。用于存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块存储的信息。
背景数据块用作“私有存储区”即用作功能块(FB)的“存储器”。FB的参数和静态变量安排在它的背景数据块中。背景数据块不是由用户编辑的,而是由编辑器生成的。
背景数据块和共享数据块有不同的用途。任何FB、FC、或OB均可读写存放在共享数据块中的数据。背景数据块是FB运行时的工作存储区,它存放FB的部分运行变量,调用FB时,必须指定一个相关的背景数据块。作为规则,只有FB才能访问存放在背景数据块中的数据。如果CPU中没有足够的内部存储位来保存所有数据,可将一些指定的数据存储到一个共享数据块中。存储在共享数据块中的数据可以被其他的任意一个块使用。而一个背景数据块被指定给一个特定的功能块,它的数据只在这个功能块中有效。与背景数据块相反,在符号表*享数据块的数据类型总是绝对地址。对于背景数据块,相应的功能块总是指定的数据类型。

CPU有两个数据块寄存器:DB(存放共享数据)和DI(存放背景数据)寄存器。这样,可以同时打开两个数据块。

“程序里,好多点都是类似DB1.DBX2.1,进入一些调用块里,里面的设置的参数,再用参数在下面编程,那些参数的输入输出点在实际接线中也是找不到。”
这很正常,在程序中你用交叉索引或go to location 是有的点是很难找到这此对应信号点的,这些点都是远程信号点,是其它站点通过总线传过来的,在主站点的PLC程序中只是读取R,并不进行写W操作。


这 种方法你可以通过程序的注释来知道其对应什么输入信号,这种这比较简单,但象你所说要精确找到对应哪个信号出错需花一点时间。
第二种方法,你可以找到DB1是哪个FB的背景数据块,进到相应的FB或FC还是可以找到对应信号的。
另外一种是操作屏上的操作信号,通过总线传到PLC的,那你就要到操作屏的组态程序中去查找其对应点。

分享到: