0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

块接口中的有效数据类型和布局

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-06-10 11:33 次阅读

简介

接口中包含有块所用局部变量和局部常量的声明。这些变量可分为以下两组:

在程序中调用时构成块接口的块参数

用于存储中间结果的局部数据。

变量声明可用于定义程序中块的调用接口,以及块中需使用的变量/常量名称和数据类型。

函数块接口中还定义了分配给函数块的背景结构。

块参数

下表列出了块参数的类型:

类型 区域 功能 可用于
输入参数 Input 其值由块读取的参数。 函数、函数块和某些类型的组织块
输出参数 Output 其值由块写入的参数。 函数和函数块
输入/输出参数 InOut 调用时由块读取其值,执行后又由块写入其值的参数。 函数和函数块
返回值 返回 返回到调用块的值。 功能

根据打开块的类型不同,可能显示其它的区域。

局部数据

下表列出了局部数据的类型:

类型 区域 功能 可用于
临时局部数据 Temp 用于存储临时中间结果的变量。只保留一个周期的临时局部数据。如果使用临时局部数据,则必须确保在要读取这些值的周期内写入这些值。否则,这些值将为随机数。 函数、函数块和组织块

临时局部数据不显示在背景数据块中。
静态局部数据 Static 用于在背景数据块中存储静态中间结果的变量。静态数据会一直保留到被覆盖,这可能在几个周期之后。在此代码块中作为多重实例调用的块名称,也将存储在静态局部数据中。 函数块
常量 常量 在块中使用且带有声明符号名的常量。 函数、函数块和组织块

局部常量不显示在背景数据块中。

块接口中的有效数据类型

S7-1200 中块接口的有效数据类型

下表列出了接口各区域可分配的参数数据类型。

区域 标准
数据类型
ARRAY
STRUCT
STRING / WSTRING
DT
ARRAY [*] VOID VARIANT
组织块
Temp - -
常量 √ (1) (2) - - -
函数块
Input - -
Output - - -
InOut √ (1) √ (4) -
Static - - -
Temp - -
常量 √ (1) (2) - - -
函数
Input √ (1) √ (4) -
Output √ (1) √ (4) -
InOut √ (1) √ (4) -
Temp - -
返回 √ (3) - -
常量 √ (1) (2) - - -
(1) 不能在这些区域中声明 STRING 和 WSTRING 的长度。STRING 标准长度通常为 254;WSTRING 标准长度为 16832。不允许声明 MyString[3] 格式。在这些区域中,仅允许在具有优化访问权的块中声明 WSTRING。
(2) 不允许使用数据类型为 ARRAY 或 STRUCT 的常量。
(3) WSTRING 数据类型的函数值不得超过 1022 个字符。
(4) 固件版本 V4.2 及更高版本中,ARRAY[*] 可用于具有优化访问的块中。

S7-1500 中块接口的有效数据类型

下表列出了接口各区域可分配的参数数据类型。

区域 标准
数据类型
ARRAY
STRUCT
STRING / WSTRING
DT
ARRAY[*] 参数类型 VOID DB_ANY POINTER ANY VARIANT REF_TO
组织块
Temp - - (4) - - √ (3)
常量 √ (1) (5) - - - - - - - -
函数块
Input - - -
Output - - - - - - -
InOut √ (1) √(7)(8) - (4) - -
Static - - - - - - -
Temp - - (4) - - √ (3)
常量 √ (1)(5) - - - - - - - -
函数
Input √ (1) √ (7) -
Output √ (1) √ (7) - -
InOut √ (1) √ (7) - (4) - -
Temp - - (4) - - √ (3)
返回 √ (6) - - √(2) -
常量 √ (1) (5) - - - - - - - -
(1) 不能在这些区域中声明 STRING 和 WSTRING 的长度。STRING 标准长度通常为 254;WSTRING 标准长度为 16832。不允许声明 MyString[3] 格式。在这些区域中,仅允许在具有优化访问权的块中声明 WSTRING。
(2) 在 SCL 中,ANY 不允许作为函数值。
(3) ANY 只能用于“Temp”区域中的标准访问块。
(4) “INSTANCE”参数类型是“TEMP”和“InOut”区域中唯一允许出现的例外。
(5) 不允许使用数据类型为 ARRAY 或 STRUCT 的常量。
(6) WSTRING 数据类型的函数值不得超过 1022 个字符。
(7) 固件版本 V2.0 及更高版本中,ARRAY[*] 可用于具有优化访问的块中。
(8) 仅当未设置属性“在 IDB 中设置”(Set in IDB) 时,ARRAY[*] 才可用。

块接口的布局

块接口的布局

下图显示了块接口的结构。具体的列数和区域取决于块类型。

e50782bc-06bf-11ee-962d-dac502259ad0.png

各列的含义

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

说明
单击该符号,可将元素拖放到程序中作为操作数。
名称 元素的名称。
数据类型 元素的数据类型。
偏移 块中变量的相对地址。仅标准访问的块中,才显示该列。
注:
SIMATIC 系统库中的许多指令都具有“优化块访问”属性,因此不占用任何固定存储器地址。即使将这些指令用作标准访问块中的多重实例,这些指令也不显示偏移量。
默认值 代码块接口中可预分配给特定变量的值,或局部常量的值。
对于变量,可选择是否指定默认值。如果未指定任何值,则使用指定数据类型的预定义值。例如,BOOL 类型的预定义值为“false”。
在相应的背景数据块中,将变量的默认值应用为初始值。在背景数据块中,可使用实例特定的起始值对这些值进行替换。
而在块接口中常量通常为声明的默认值。这些常量不显示在背景数据块中,也无法在此指定实例特定的值。
保持性 将变量标记为具有保持性。
即使在关断电源后,保持性变量的值也将保留不变。
该列仅在具有优化访问特性的函数块接口中显示。
在 HMI 工程组态中可见 指示 HMI 选择列表中是否默认显示变量。
从 HMI/OPC UA 可访问 指示在运行过程中,HMI/OPC UA 是否可访问该变量。
从 HMI/OPC UA 可写 指示在运行过程中,是否可从 HMI/OPC UA 写入变量。
设定值 将变量标记为设定值。设定值是指调试过程中可能需要微调的值。
该列仅适用于函数块的接口中。
监控 指示是否已为该变量的过程诊断创建有监视。
注释 说明元素的注释信息

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7648

    浏览量

    148533
  • 函数
    +关注

    关注

    3

    文章

    3904

    浏览量

    61311
  • 数据类型
    +关注

    关注

    0

    文章

    228

    浏览量

    13499
  • Inout
    +关注

    关注

    0

    文章

    4

    浏览量

    6152
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5850

原文标题:博途:块接口概述

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GaussDB 数据类型介绍

    GaussDB 数据库 GaussDB 是华为基于 openGauss 自研生态推出的云化企业级分布式关系型数据库,它支持多种数据类型,包括数值、字符、日期等。在使用 GaussDB 时,可能需要
    的头像 发表于 06-05 16:40 1280次阅读
    GaussDB <b class='flag-5'>数据类型</b>介绍

    数据类型不一样和接口 怎么解决

    要怎么解决接口和产生的数据类型不一样的问题,然后利用MYRIO的模拟输出通道接到示波器里面为什么没有波形啊,数据类型应该是不一样,要怎么解决这个问题呢?
    发表于 05-09 01:00

    【求助】.net数据类型-labview如何实现IEnumerable接口

    .net数据类型-labview如何实现IEnumerable接口,不知道要怎么接了,求救。
    发表于 10-06 16:36

    vhdl数据类型

    VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。VHDL中的数据类型可以分成四大类: 标量型(SCALAR TYPE):属单元素的最基本的数据类型,通常用于描述一个单值数据对象
    发表于 03-30 15:59 11次下载

    51单片机学习笔记(9)——C51的基本数据类型和扩充数据类型

    基本数据类型:扩充数据类型
    发表于 11-14 13:36 1次下载
    51单片机学习笔记(9)——C51的基本<b class='flag-5'>数据类型</b>和扩充<b class='flag-5'>数据类型</b>

    Struct结构数据类型

    Struct类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据类型以及PLC
    的头像 发表于 07-25 17:02 2442次阅读

    结构数据类型(Struct)及应用案例

    Struct数据类型使用非常灵活,随时可以使用,但是相对于PLC数据类型 (UDT) 有以下缺点,所以建议需要使用Struct类型时,可以使用PLC数据类型(UDT)代替。
    的头像 发表于 07-27 16:10 1350次阅读

    什么是数据类型转换

    常用的3种数据类型:1、Python数据类型第一种:字符串(str)。 2、Python数据类型第二种:整数(int)。 3、Python数据类型第三种:浮点数(float)。
    的头像 发表于 02-23 15:21 583次阅读

    定义数据类型

    在运算之前我们必须首先定义出数据类型,定义出脚本支持的数据类型,这是运算的基础。 这一小节我们将定义出数据类型,在这里我们暂时定义四个数据类型:
    的头像 发表于 03-03 10:10 633次阅读

    基本数据类型分享

    基本数据类型 基本数据类型:包括位、位序列、整数、浮点数、日期时间。此外字符也属于基本数据类型,请参见文档String与WString。 1.位和位序列 2.整数数据类型 3.浮点型实
    的头像 发表于 06-13 14:14 5951次阅读
    基本<b class='flag-5'>数据类型</b>分享

    西门子博途中DB_ANY数据类型的使用

    DB_ANY 数据类型用来标识任意数据块。对于 S7-1200/1500 系列的 CPU,可以选择访问编程期间尚不可用的数据块。为此,请在访问块的块接口中创建一个 DB_ANY
    的头像 发表于 07-04 10:17 5448次阅读
    西门子博途中DB_ANY<b class='flag-5'>数据类型</b>的使用

    PLC 数据类型 (UDT) 的基本知识

    ,也可直接使用关键字 STRUCT 声明为一个结构。因此,嵌套深度限制为 8 级。 PLC 数据类型 (UDT) 可在程序代码中统一更改和重复使用。系统自动更新该数据类型的所用使用位置。 PLC 数据类型的优势: 通过块
    的头像 发表于 09-10 09:46 2340次阅读
    PLC <b class='flag-5'>数据类型</b> (UDT) 的基本知识

    Redis的数据类型有哪些

    Redis的数据类型有哪些?有五种常用数据类型:String、Hash、Set、List、SortedSet。以及三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial
    的头像 发表于 10-09 10:51 410次阅读

    oracle的数据类型有哪些

    Oracle数据库中有许多数据类型可供选择,每种数据类型都有其各自的特点和适用场景。下面是对Oracle数据库中最常用的数据类型的详尽说明,
    的头像 发表于 12-05 16:45 663次阅读

    plc数据类型怎么理解和应用

    PLC(可编程逻辑控制器)是一种工业自动化设备,用于控制机械和工业过程。在PLC编程中,数据类型是非常重要的概念,因为它决定了程序中数据的存储和处理方式。正确理解和应用PLC数据类型是编写有效
    的头像 发表于 12-19 11:39 1460次阅读