博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址

西门子博图软件在DB数据块的属性中默认数据块为“优化访问的数据块”,数据块中可以看到变量名称符号,而看不到分配在块中的固定地址,如下图所示:

如何查看西门子博图软件DB数据块中的变量地址

官方的解释是:针对优化访问块的变量声明只包含数据元素的符号名称,系统将自动优化并管理地址,这将提高CPU的性能并同时有效防止来自诸如SIMATIC HMI的访问错误。

可优化访问的数据块没有固定的定义结构。 在声明中,仅为数据元素分配一个符号名称,而不分配在块中的固定地址。 这些元素将自动保存在块的空闲内存区域中,从而在内存中不留存储间隙。 这样,可以提高内存空间的应用率。

在这些数据块中,变量使用符号名称进行标识。 要寻址该变量,则需输入该变量的符号名。

例如,可通过以下方式访问“manu_data”数据块中的“Temp1”变量:

" manu_data ".Temp1

符号寻址,在程序编辑中还是挺方便的,不需要记忆和查询那些固定地址。(这个适用于符号变量和程序编辑为同一人所写)如果不是同一人所写,他是不熟悉符号定义规律,还是需要反复查看的。

但是在有些场合,如果想使用数据块中其中一个32位数据的高16位和低16位存储数据值,这种情况就不太方便,因为这个变量的起始位地址不知道是什么,不容易识别(在数据块中不能一眼就识别出来,如果将符号变量放到强制监控表中,或者在FC程序块中都能显示出地址)。因为我个人习惯用地址寻址,例如DB23.DBD20就可以方便拆分DB23.DBW20和DB23.DBW22。

查看“manu_data”[DB23]内数据分配地址方法:

一、点击“manu_data”[DB23]右键――属性――常规界面――属性――取消选中“优化的块访问”,点击后出现选项框选择“确定”按钮即可,如下图所示:

如何查看西门子博图软件DB数据块中的变量地址

返回“manu_data”[DB23]数据观察界面,双击打开后,会多出一列“偏移量”,但偏移量数值没有显示,而显示“…”,如下图所示:

如何查看西门子博图软件DB数据块中的变量地址

二、点击工具栏“编译”按钮,对数据块进行编译,当出现数据块已成功编译后,偏移量的数值就显示出来了,如下图所示:

如何查看西门子博图软件DB数据块中的变量地址

这样,就比较直观的看到数据块中各变量的地址分配,

例如:“Pulse1”地址DB23.DBX5.0;

“Temp1”地址DB23.DBW2.

你可能感兴趣的:(博图db块变量导出)