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

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

3天内不再提示

西门子SCL-ANY数据类型

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

ANY数据类型

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

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

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

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

eee99b6c-034a-11ee-90ce-dac502259ad0.png 

eefe967a-034a-11ee-90ce-dac502259ad0.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;

审核编辑:汤梓红

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

    关注

    5010

    文章

    13271

    浏览量

    463059
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163763
  • 编程语言
    +关注

    关注

    10

    文章

    1942

    浏览量

    34707
  • 数据类型
    +关注

    关注

    0

    文章

    236

    浏览量

    13618
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17057

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

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

收藏 人收藏

    评论

    相关推荐

    浅谈西门子PLC的“SCL语言”编程

    介绍西门子PLC的“SCL语言”编程,相关编程代码
    发表于 01-22 17:25 0次下载

    西门子plc数据类型_西门子plc通讯方式

    西门子PLC的品质非常好,其网络稳定性、开放性深受工控人员的喜爱,而且编程软件分类多,使用方便。在国内工控界具有显著地位。虽然大家对西门子PLC都有一定的了解,但要你说出西门子PLC各种通信方式的特点,相信很多人都不能完整答出。
    发表于 07-25 10:57 1.5w次阅读
    <b class='flag-5'>西门子</b>plc<b class='flag-5'>数据类型</b>_<b class='flag-5'>西门子</b>plc通讯方式

    西门子PLC模拟量输入输出相关数据类型转换

    plc模拟量输入输出都会涉及到数据类型的互转问题,然而西门子300系统对于数据格式有着明确的规定,一般的四则运算都是在同一数据类型下才能进行的,这也是一直以来困扰初学者的一个问题。
    发表于 03-19 08:42 1.6w次阅读
    <b class='flag-5'>西门子</b>PLC模拟量输入输出相关<b class='flag-5'>数据类型</b>转换

    对于ANY数据类型及参数传递的详细解析

    ANY是一种用于传递指针的形参数据类型,可视为POINTE R 类型的扩展,较POINTER 类型为复杂,长度为10个字节,增加的4 字节,最高字节 (Byte 0) 固定为B#16#
    的头像 发表于 04-12 10:28 9286次阅读
    对于<b class='flag-5'>ANY</b><b class='flag-5'>数据类型</b>及参数传递的详细解析

    西门子PLC中使用SCL语言编程的技巧

    西门子PLC中使用SCL语言编程的技巧说明。
    发表于 04-22 11:15 65次下载

    浅谈西门子PLC的SCL语言编程

    西门子PLC的SCL语言编程说明。
    发表于 04-22 14:39 47次下载

    浅谈西门子SCL编程

    浅谈西门子SCL编程资料免费下载。
    发表于 04-23 10:44 27次下载

    编程语言SCLANY数据类型

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

    SCL语言:ANY数据类型

    作为块的形式参数;当块被调用时,这些参数能用任意数据类型的实际参数提供。
    的头像 发表于 12-22 09:24 1258次阅读

    西门子SCL语言编程系列-写立方根FB块

    由于西门子PLC本身并没有带求立方根的指令,我们用SCL来写一个求立方根的FB块
    的头像 发表于 02-06 15:17 1928次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>SCL</b>语言编程系列-写立方根FB块

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

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

    西门子博途:使用PLC数据类型 (UDT)

    PLC 数据类型 (UDT) 是可自行定义且在程序中可以多次使用的数据结构。 此结构可包含不同数据类型的多个元素。 声明 PLC 数据类型期间,可以定义各个元素的
    的头像 发表于 07-12 17:36 8053次阅读
    <b class='flag-5'>西门子</b>博途:使用PLC<b class='flag-5'>数据类型</b> (UDT)

    西门子PLC UDT数据类型的使用方法

    西门子PLC(Programmable Logic Controller)的自定义数据类型(User Defined Type,简称UDT)是一种自定义的数据结构,可以根据具体需求定义一种包含多个不同
    的头像 发表于 07-19 15:01 3922次阅读
    <b class='flag-5'>西门子</b>PLC UDT<b class='flag-5'>数据类型</b>的使用方法

    西门子SCL编程实例——周期性运行(更新版)

    我之前写的一篇文章《西门子SCL编程实例——(电机)周期性运行》收到小伙伴反馈。
    的头像 发表于 11-07 09:05 959次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>SCL</b>编程实例——周期性运行(更新版)

    西门子博图SCL练习1:使用FC计算平均值

    西门子博图SCL练习1:使用FC计算平均值
    的头像 发表于 01-02 10:25 2770次阅读
    <b class='flag-5'>西门子</b>博图<b class='flag-5'>SCL</b>练习1:使用FC计算平均值