TIA博途SCL编程学习45_用VARIANT指针求面积

标签:
variant指针引用ref_to |
1. VARIANT数据类型是个什么鬼?
它是一个指向PLC控制器数据区域的一个指针,类似于老指针类型POINTER和ANY,是西门子新型PLC
S7-1200和S7-1500主打的指针类型,更接近于符号寻址的形式。它可以指向PLC预定义的数据类型、自定义的数据类型和数据块。TIA提供了很多丰富的和VARIANT相关的指令,使得该指针更容易理解和使用,也更符合结构化编程的思路。
2.
设计一个简单的计算不同形状的面积的FC函数来学习VARIANT数据类型,FC函数中将使用VARIANT数据类型来寻址三种形状,分别是:圆、长方形、三角形。
3. 首先,定义三种形状的PLC数据类型。如下图:
数据类型TypeCircle(圆)
数据类型TypeRectangel(长方形)
数据类型TypeTriangle(三角形)
4. 编写FC函数来计算任意形状(此处只支持圆、长方形和三角形)的面积。如下图:
注意函数中,在FC函数的形参接口IN/OUT处定义了VARIANT变量,用来指向需要计算面积的任意形状,FC函数将返回计算结果。另外,定义了三个TEMP变量作为三个形状的PLC变量的参考。因为要对三种任意形状进行赋值尝试,所以需要定义成变量参考。
5. 为FC函数创建一个全局DB块用来测试。如下图:
6. 调用该函数并测试。如下图:

上图中的area为计算结果。
7. 小结:
本例练习VARIANT数据类型的使用;
尝试赋值指令?=的使用;
变量参考引用tag^.variable的使用;
平方运算符的另外一种表述**的使用;
您要是觉得对自己学习有帮助,加微信发红包给我,谢谢!