封面
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类型的差异
有两点:

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运用技能》出版了!