恭喜,你发布的帖子
发布于 2018-07-30 09:51:50
1楼
1.Variant类型是一个参数数据类型,只能出现在除FB的静态变量以外的OB/FC/FB接口区。
Variant类型的实参是一个可以指向不同数据类型变量的指针。它可以指向基本数据类型,也可以指向复杂数据类型、UDT等。
调用某个块时,可以将该块的Variant参数连接任何数据类型的变量。除了传递变量的指针外,还会传递变量的类型信息。该块中可以利用Variant的相关指令,将其识别出并进行处理。
Variant指向的实参,可以是符号寻址,也可以是绝对地址寻址,还可以是形如P#DB1.DBX0.0 BYTE
10这种指针形式的寻址。
当Variant类型的实参指向形如P#DB1.DBX0.0 BYTE 10,指令内部将判断该形参为一个10字节的数组。
以上是Variant 数据类型的基本信息。常见的Variant类型处理指令有TypeOf,TypeOfElements,VariantGet,MOVE_BLK_VARIANT。
问:那么可以在此数据类型中处理模拟量数据嘛?最后通过MOVE指令读出,不知道可不可以,想法不是很成熟?
答:不是不可以,但是觉得有点杀鸡用牛刀了,直接处理INT类型的数据就OK了。
2.问:Struct数据类型和地址映射/Struct数据类型中在一段程序中可指定不同的数据类型吗?如果不一样那么PLC又是如何将它映射过来的,很是看不明白?
答:有点没太明白您的问题,跟截图也没对上,您能再详细描述下吗。
ps:S7-1200支持隐式转换,当指令形参与实参数据类型不同时,程序自动转换。具体信息参考教材4.2.7章节。
请填写推广理由:
分享
只看
楼主