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