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

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

3天内不再提示

编程语言SCL中ANY数据类型

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-05-25 11:02 次阅读

ANY数据类型

编程语言 SCL 和 STL 中,如果在块参数中设定了一个 ANY 指针,则任意类型的存储器都可以在块调用时传递。

但是,ANY 指针不能存储有关存储器结构的任何信息。例如,ANY 指针不能保存指向 PLC数据类型变量的信息。ANY 指针将其作为 BYTE 类型的 ARRAY。

ANY 数据类型的参数可以被传递到系统函数块 (SFB) 或系统函数 (SFC)。

下图给出了 ANY 指针的结构:

4d18cad2-bc3f-11eb-bf61-12bb97331649.png

在SCL中,能够声明ANY数据类型的变量如下:

作为块的形式参数;当块被调用时,这些参数能用任意数据类型的实际参数提供。

作为临时变量;能够指定任意数据类型的值给这些变量。

能够用下列数据作为实际参数或作为赋值语句的右边部分:

本地和共享变量

在DB中的变量(绝对地址或称号地址)

在本地实例中的变量(绝对地址或称号地址)

NIL常量

指定一个空指针。

ANY数据类型

定时器、计数器和块

指定标识符(如:T1, C20或FB6)。

限制(Restrictions)

ANY数据类型允许用作FB和FC的形式输入参数、输入/输出参数,及FC的输出参数。常量不允许用作其实际参数或用在其赋值语句的右边,除NIL常量外。

当调用FB或FC时,如果将临时变量用作ANY类型的形式参数,不能传递参数到远程块,传递他们时临时变量将失效。

这种类型变量不能用作结构类型的组件类型或作为数组的元素类型。

当调用FC或FB时,如果形式参数作为输入参数声明,只能指定过程输入(%PEW)给ANY类型的形式参数。

当调用FB时,如果形式参数作为输出参数声明,只能指定过程输出(%PAW)给ANY类型的形式参数。

B#16#80 P I/O

B#16#81 I 输入存储区

B#16#82 Q 输出存储区

B#16#83 M 位存储的存储区

B#16#84 DBX 数据块

B#16#85 DIX 背景数据块

B#16#86 L 本地数据

B#16#87 V 先前的本地数据

ANY数据类型举例

Example of the ANY Data Type

VAR_INPUT

iANY : ANY;

END_VAR

VAR_TEMP

pANY : ANY;

END_VAR

CASE ii OF

1:

pANY := MW4; // pANY包含MW4的地址

3..5:

pANY := aINT[ii]; // pANY包含aINT中的第ii个元素的地址;

100:

pANY := iANY; // pANY contains the value of the iANY input variable

ELSE

pANY := NIL; // pANY包含NIL指针的值

END_CASE;

SFCxxx(IN := pANY);

在VASS标准中的应用:

AnyRob_A :ANY;// ANY变量获得机器的发出给PLC的输出地址

pRob_A AT AnyRob_A: STRUCT 扩展分解建立结构体

SyntaxId :BYTE; // Byte 0

DataType :BYTE; // Byte 1 数据/参数类型

DataCount:WORD; // Byte 2+3 变量长度

DBNR :WORD; // Byte 4+5 数据库编号

BZ :DWORD; // Byte 6 bis 10 区域指针

END_STRUCT;

原文标题:西门子SCL -ANY数据类型

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

责任编辑:haq

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

    关注

    8

    文章

    6511

    浏览量

    87600
  • 西门子
    +关注

    关注

    91

    文章

    2849

    浏览量

    113770
  • SCL
    SCL
    +关注

    关注

    1

    文章

    238

    浏览量

    16875

原文标题:西门子SCL -ANY数据类型

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

收藏 人收藏

    评论

    相关推荐

    C语言数据类型有哪些

    在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
    发表于 03-20 10:56 160次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>数据类型</b>有哪些

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

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

    详解C语言变量和数据类型

    C语言大家都不陌生吧,计算机、电子信息、通信工程、自动化等专业的必学课程,前面和大家介绍过C语言的历史和编程环境,今天再来介绍一下变量和数据类型
    的头像 发表于 12-11 10:40 437次阅读
    详解C<b class='flag-5'>语言</b>变量和<b class='flag-5'>数据类型</b>

    oracle的数据类型有哪些

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

    javascript的基本数据类型有哪些

    JavaScript 是一种动态的、面向对象的编程语言,广泛应用于 Web 开发中。在 JavaScript 中,有七种基本数据类型(Primitive Types),它们分别是 Undefined
    的头像 发表于 12-03 11:17 361次阅读

    C语言里的整数数据类型

    1. 整型数据类型 C语言里面的整数数据类型 类型名称 C语言中的关键字 注释 字符型 char 表示一个很小的整数 短整型 short 表
    的头像 发表于 11-24 16:09 410次阅读
    C<b class='flag-5'>语言</b>里的整数<b class='flag-5'>数据类型</b>

    数据的位是什么?C语言中常见的数据类型有哪些?

    本文介绍关于C语言数据类型的相关知识,比如常见的数据类型有哪些,怎么定义和使用数据类型等。 1 、数据的位是什么? 计算机系统的存储最小单
    的头像 发表于 11-08 15:55 555次阅读
    <b class='flag-5'>数据</b>的位是什么?C<b class='flag-5'>语言</b>中常见的<b class='flag-5'>数据类型</b>有哪些?

    C语言数据类型详解

    计算机编程语言是用来控制计算机的行为及操作,协助人们解决现实中的问题,其能表达的数据类型也是从实际中提取并抽象出来形成的数据结构描述。
    发表于 11-02 11:32 471次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>数据类型</b>详解

    Redis的数据类型有哪些

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

    C语言中基本数据类型、变量和常量的使用

    C语言中基本数据类型、变量和常量的使用
    发表于 08-18 16:42 591次阅读
    C<b class='flag-5'>语言</b>中基本<b class='flag-5'>数据类型</b>、变量和常量的使用

    ARRAY 数据类型的变量

    要求 全局数据块已打开。 操作步骤 要声明一个 ARRAY 数据类型的变量,请按以下步骤操作: 在“名称”(Name) 列中,输入变量的名称。 在“数据类型”列中输入“Array”数据类型
    的头像 发表于 07-06 11:08 650次阅读

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

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

    基于PASCAL的高级编程语言——SCL编程语言

    根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的
    发表于 06-20 10:20 1066次阅读
    基于PASCAL的高级<b class='flag-5'>编程</b><b class='flag-5'>语言</b>——<b class='flag-5'>SCL</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>

    GaussDB 数据类型介绍

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

    西门子SCL-ANY数据类型

    编程语言 SCL 和 STL 中,如果在块参数中设定了一个 ANY 指针,则任意类型的存储器都可以在块调用时传递。
    的头像 发表于 06-05 10:50 1262次阅读
    西门子<b class='flag-5'>SCL-ANY</b><b class='flag-5'>数据类型</b>