技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 请教ANY与VARIANT数据类型的联系和区别?

请教ANY与VARIANT数据类型的联系和区别?

刘玉蓉 发布于2014-11-21 17:14 617 0 标签:

1、对ANY与VARIANT两个数据类型有点混淆,手册中ANY的示例:P#M20.0 BYTE 10,VARIANT的示例:P#DB10.DBX10.0 INT12,这两个示例从形式上是一样的。那么ANY与VARIANT数据类型有哪些异同呢?
2、手册中 VARIANT符号示例如截图所示MY.DB.STRUCT1.PRESSURE1,这种表示方式是不是只指明了起始地址而没有指明地址的长度?那么我应该何时用绝对表示方式?何时用符号表示方式?

问题补充:
我有个疑问,比如自由口发送指令SEND_PTP的BUFFER管脚是VARIANT数据类型,如果用符号寻址的话就指定了发送缓存区的首地址,那么发送长度从哪里指令呢?


图片说明: 1,ANY数据类型   2,VARIANT数据类型  

佳答案

1、ANY和VARIANT都是指针型数据类型,西门子300/400/1500支持ANY类型,1200/1500支持VARIANT类型,见图示
2、 ANY 类型的参数指向数据区的起始位置,并指定其长度。 ANY 指针使用存储器中的 10 个字节。
3、VARIANT 类型的参数是一个可以指向不同数据类型变量(而不是实例)的指针。 VARIANT 指针可以是一个元素数据类型的对象,例如 INT 或 REAL。 也可以是一个 STRING、DTL、STRUCT 数组、UDT 或 UDT 数组。 VARIANT 指针可以识别结构,并指向各个结构元素。 VARIANT 数据类型的操作数在背景 DB 或 L 堆栈中不占用任何空间。 但是,将占用 CPU 上的存储空间。

VARIANT 类型的变量不是一个对象,而是对另一个对象的引用。 VARIANT 类型的各元素只能在函数的块接口中声明。 因此,不能在数据块或函数块的块接口静态部分中声明,例如,因为各元素的大小未知。 所引用对象的大小可以更改。


图片说明:1,图1  

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签