[西门子] 你真的会使用S7-1200 数据块吗?

[复制链接]
查看300 | 回复0 | 2024-5-26 12:23:04 | 显示全部楼层 |阅读模式
(一)软件和硬件环境

  • 硬件环境:S7-1200 CPU V4.4(6ES7 214-1AG40-0XB0)
  • 软件环境:Windows 10 Enterprise 64位和STEP7 Professional V16
(二)创建DB块
在项目中添加了S7-1200设备之后,在项目树中此PLC的"程序块"下即可以添加新的数据块。如下图所示:

在打开的"添加新块"窗口下选择数据块。以下是对此窗口下各项配置的说明:名称:此处可以键入DB块的符号名。如果不做更改,那么将保留系统分配的默认符号名。例如此处为DB块分配的符号名为“数据块_1”;类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块、背景数据块,或是基于UDT以及SDT的全局数据块(参见链接UDT、SDT)。如果要创建背景数据块,下拉菜单中列出了此项目中已有的FB供用户选择。语言:对于创建数据块,此处不可更改。编号:默认配置为“自动”,即系统自动为所生成的数据块配分块号。当然也可以选择“手动”,则“编号”处的下拉菜单变为高亮状态,以便用户自行分配DB块编号。当以上的数据块属性全部定义完成,点击“确定”按钮即创建完成一个数据块。用户可以在项目树中看到刚刚创建的数据块,如下图所示:

(三)为数据块定义变量
双击打开数据块即可逐行添加变量,如下图所示:

如果取消勾选数据块的属性对话框中的“优化的块访问”的复选框,则在数据块中可以看到“偏移量”列,并且系统在编译之后在该列生成每个变量的地址偏移量。设置成优化访问的数据块则无此列。默认情况下会有一些变量属性列未被显示出来,可以通过右键单击任意列标题,可在出现的菜单中选择显示被隐藏的列,如下图所示:

下表列出了各列的含义。可根据需要显示或隐藏各列。显示的列数取决于 CPU 类型。

定义变量的数据类型:可以为变量定义基本数据类型,复杂数据类型(时间与日期,字符串,结构体,数组等),PLC数据类型(如用户自定义数据类型),系统数据类型和硬件数据类型。可以直接键入数据类型标识符(例如:使用高速计数器功能时,调用指令CTRL_HSC_EXT指令,其中CTRL引脚填写的数据类型为“HSC_Count”,需要手动直接输入。),或者通过该列中的选择按钮选择。如下图所示:

DB块在线的状态下图所示,其中红色方框中是DB块中的按钮功能,具体介绍详见下表:


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


在程序中添加DB块中的变量,可以采用拖拽的方式,鼠标左键单击DB块,在“详细视图”中显示DB块中的所有变量,选中相应的变量(例如:变量D),按住鼠标左键,将变量D直接拖动到MOVE指令的OUT1引脚即可,如下图所示:

(四)数据块的访问
(1)符号访问:<DB块名>.<变量名>;例如:"Data_Block_1".A;(2)绝对地址访问:<DB块号>.<变量长度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。注意:复杂数据类型只能符号寻址。
(五)数据块的属性
(1)双击打开数据块,可以看到起始值列,点击“全部监视”按钮,可以看到监视值列:
起始值:在启动时变量采用的值。创建数据块时,代码块中中定义的默认值将用作起始值。之后,即可使用实例特定的起始值替换所用的默认值。可选择是否指定起始值。如果未指定任何值,则在启动时变量将采用默认值。如果也没有定义默认值,将使用相应数据类型的有效默认值。例如,将 BOOL 的默认值指定为"FALSE"。当CPU下载程序时,下载的是数据块的起始值。监视值:CPU 中的当前数据值。只有当在线连接可用并单击"全部监视"按钮时,此列才会出现。当CPU上传程序时,上传的是数据块的监视值。当执行下载并复位PLC程序时,下载的是数据块的起始值,并将监视值复制为起始值。(2)右键点击数据块,在"属性->属性"中,可以看到数据块的如下属性,如下图所示:仅存储在装载内存中:激活时,数据块仅存储在装载存储器中,不占用工作存储器的空间,且不链接到程序。处理数据块的指令位于"扩展指令 -> 数据块控制“中。在设备中写保护数据块:指示数据块在目标系统中是否为只读,且在程序运行期间是否无法将其覆盖。优化的块访问:在带有优化访问功能的块变量声明中,仅包含数据元素的符号名称。系统将自动优化并管理地址。这将提高 CPU 的性能并同时有效防止来自诸如  SIMATIC HMI 的访问错误。数据块从OPC UA可访问:如果选中该复选框,则该数据块可作为完整的对象从 OPC UA 进行访问。之后,可为 OPC UA 分别发布或锁定该数据块的各个变量。数据块可通过 Web 服务器访问:如果选中该复选框,则数据块可作为一个完整的对象从 Web 服务器进行访问。之后,可对该数据块的各变量进行分别发布或锁定。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则