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
    +关注

    关注

    4976

    文章

    12267

    浏览量

    455129
  • 存储器
    +关注

    关注

    38

    文章

    7154

    浏览量

    162041
  • 编程语言
    +关注

    关注

    9

    文章

    1879

    浏览量

    33229
  • 数据类型
    +关注

    关注

    0

    文章

    229

    浏览量

    13512
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    16886

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    浅谈西门子SCL编程

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

    编程语言SCLANY数据类型

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

    SCL语言:ANY数据类型

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

    C#使用西门子S7协议读写PLC DB块

    是我们上位机要读写的DB  3. 根据西门子S7 协议文档读取DB块的方式有很多种,直接根据该DB的偏移量进行读写也行,但读或写数据都需要进行对应的数据类型转换才能最终拿到值或写进去,个人觉得太麻烦了。
    发表于 04-19 10:05 15次下载
    C#使用<b class='flag-5'>西门子</b>S7协议读写PLC DB块

    西门子S7 SCL编程知识

    本文可以作为 S7-SCL 编程语言的使用参考资料,希望读者通过对本章的阅读,能够更快更好 地学习 S7-SCL 编程语言。西门子ᨀ供了 S7-SCL 编程语言的详尽手册,在安装 S
    发表于 04-19 17:54 7次下载

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

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

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

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