配色: 字号:
示例:使用引用传递不同数据类型的变量
2022-03-16 | 阅:  转:  |  分享 
  
示例:使用引用传递不同数据类型的变量(S7-1500)
由于两个块应该都能够处理不同的消息帧格式,所以它们的输入输出参数(InOut)
的数据类型为“VARIANT”,其中消息帧以结构化变量的形式传送。由于创建程序时
数据类型为VARIANT的参数未知,因此不能直接访问该参数。因此,在两个示例
中均使用“TypeOf”来确定调用时可用的数据类型。
在左侧块中,现使用“VariantGet”指令将运行期间的待决变量复制到相应数据类型的
临时变量中,并在其中描述了相应的值。随后使用“VariantPut”指令将该结构复制回
“telegram”参数。复制操作对程序运行具有不利影响,并且耗费内存空间。
在右侧块中,使用引用来解决任务:该接口包含可用于两种可用数据结构的引用
参数。根据当前的待决变量,使用“AssignmentAttempt”对匹配引用进行初始化,且
该引用现指向数据块中的变量内存位置。这些值现在可直接写入数据块中。
这样程序代码将更加清晰并更易于维护。由于不需要复制结构化变量,因此程序
运行和内存要求都不会受影响。
-2-
献花(0)
+1
(本文系南山卧龙原创)