西门子SCL编程入门教程连载(16)-Variant相关指令
前面的文章我们介绍了Variant类型,今天这篇文章我们来介绍下与Variant相关的指令。包括如下几个:
1、TypeOf
2、IS_ARRAY
3、TypeOfElement
4、CountOfElements
5、VariantGet
6、VariantPut
7、关于空值的判断

1、TypeOf指令
TypeOf指令用来判断一个Variant形参所引用的变量的类型。支持的数据类型包括:基本类型、复杂类型或者用户自定义类型等。
TypeOf指令一般配合IF语句使用。比如,判断一个Variant的引用变量是否为"INT",可以使用如下的语句:

也可以使用TypeOf指令直接判断两个Variant参数是否为相同的类型,比如下面的代码:

2、IS_ARRAY指令
用来判断Variant所引用的变量是否是数组类型或者P#指针数据类型。如果是,则返回真(RLO=1);否则返回假(RLO=0)。IS_ARRAY指令需要配合IF语句使用。例如:

3、TypeOfElement指令
TypeOfElement指令用来判断Variant所引用的数组中元素的数据类型。比如下面的代码首先判断operand1引用的变量是否为数组类型,如果是,则判断数组中元素的类型是否为INT型:

也可以使用TypeOfElement指令直接与已知数组的类型进行比较,例如下面的代码:

4、CountOfElements 指令
该指令用来获取Variant引用数组变量的元素的个数,返回值为无符号双整数(UDINT)型。
例如下面的代码:

5、VariantGet指令
该指令用来获取Variant所引用变量的值,并写入到一个指定的变量中;
例如下面的代码:

6、VariantPut指令
该指令将某个变量的值写入到Variant引用的变量中,例如下面的代码:

7、关于空值的判断
某些情况下,有可能存在Variant指向的变量不存在的情况,即Variant引用了一个空变量。空变量或者空值用NULL表示。
在梯形图语言中,可以使用IS_NULL指令用来判断形参是否引用了空变量。
如果形参引用了空变量,则指令返回真(RLO=1);
如果形参引用的变量不为空,则指令返回假(RLO=0);
相应的,在梯形图语言中还有NOT_NULL指令用来判断形参引用的变量是否不为空;
如果非空,则NOT_NULL指令返回真;否则,NOT_NULL指令返回假;
在SCL语言中没有IS_NULL或者NOT_NULL指令,但是可以直接在IF语句中将变量与NULL关键字进行比较。例如下面的代码:

好了,关于Variant相关的指令我们就先介绍这么多。至于DB_ANY相关的内容将在后续文章中介绍。
我最近开通了微信视频号,以视频的方式分享工控小知识。具有视频号内测权限的小伙伴欢迎扫描下方的二维码查看:
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03
