首页 » Web前端 » phpvariantbyte技巧_西门子SCL编程入门教程连载15Variant类型

phpvariantbyte技巧_西门子SCL编程入门教程连载15Variant类型

duote123 2024-12-02 0

扫一扫用手机浏览

文章目录 [+]

封面

1、认识Variant类型Variant是西门子S7-1200/1500系列PLC支持的一种新数据类型,它是一种可以指向基本数据类型、繁芜数据类型或者用户自定义类型的引用。
Variant的利用限于FB/FC/OB的形参,也便是说,只能在FB/FC/OB的参数列表中声明某个参数的类型为Variant,但FB的静态参数列表除外,也不能声明数据块(DB)的元素为Variant类型;可以给FB/FC的Variant形参赋任何类型的变量,调用该FB/FC时,不仅会通报变量的值,而且会通报变量的类型;可以利用SCL指令TypeOf识别变量的类型并做相应的处理;2、Variant与ANY类型的差异

phpvariantbyte技巧_西门子SCL编程入门教程连载15Variant类型

有两点:

phpvariantbyte技巧_西门子SCL编程入门教程连载15Variant类型
(图片来自网络侵删)
两者支持的数据类型不同ANY可以指向输入缓存区(I)、输出缓存区(Q)、外设(PI/PO)、位存储区(M)、数据块(DB)等存储区,支持基本数据类型、字符串等;但不支持数组、用户自定义类型等繁芜数据类型;Variant可以引用险些所有的数据类型(数组、构造、UDT)的变量,比ANY功能强大;注:S7-300/400/1500支持ANY类型占用空间大小不同ANY须要占用10个字节的存储空间,当把一个变量定义为ANY类型时,无论其是否指向目标变量,都要占用10个字节的存储空间;Variant不占用背景数据块或者事情存储器的空间。
Variant只是对另一个实例(可以理解为变量)的引用,相称于该实例的一个别名。
在利用Variant指向该实例时,该实例已经被创建了;

3、Variant类型利用示例

举个例子,创建一个功能,名称为FC_VariantDemo,参数如下:

输入:

oprand1,Variant类型;oprand2,Variant类型;

输出:

ouput1,INT类型;ouput2,TIME类型;

FC功能描述:

若oprand1和oprand2的类型为整数,将两者相加,并将结果输出到output1中;若oprand1和oprand2的类型为TIME,将两者相加,并将结果输出到output2中;

参数声明如下图:

参数声明

代码如下:

示例代码

上述代码中的TypeOf指令用来判断变量的类型,VariantGet指令可以访问一个Variant引用并获取其真实的数值及类型;这两个指令及其它与Variant操作的指令我们将不才一篇文章详细先容。

创建DB_VariantDemo,添加元素如下:

在OB1中调用FC_VariantDemo的示例如下图所示:

调用子程序

好了,关于Variant类型就先先容这么多。

我的新书《西门子S7-200 SMART PLC运用技能——编程、通信、装调、案例》出版了,欢迎点击下面的链接查看详细先容:

新书《西门子S7-200 SMART PLC运用技能》出版了!

标签:

相关文章

房山第一探寻历史文化名区的魅力与发展

房山区,位于北京市西南部,历史悠久,文化底蕴深厚。作为北京市的一个重要组成部分,房山区的发展始终与首都的发展紧密相连。房山区积极推...

Web前端 2025-02-18 阅读1 评论0

手机话费开钻代码数字时代的便捷生活

我们的生活越来越离不开手机。手机话费作为手机使用过程中的重要组成部分,其充值方式也在不断创新。手机话费开钻代码应运而生,为用户提供...

Web前端 2025-02-18 阅读1 评论0

探寻专业奥秘如何查询自己专业的代码

计算机科学已成为当今社会不可或缺的一部分。掌握一门专业代码对于个人发展具有重要意义。面对繁杂的学科体系,如何查询自己专业的代码成为...

Web前端 2025-02-18 阅读1 评论0