对远程引用使用间接标记
- Last UpdatedSep 24, 2024
- 1 minute read
远程间接标记引用与本地标记引用不同。远程引用的语法是:
AccessName:Item
其中
-
AccessName 是任何有效的 InTouch“访问名”。
-
Item 是任何有效的“项目名”,此“项目名”受“访问名”定义中指定的“I/O 服务器”支持。
使用远程引用时,服务器给客户端返回一个值,而不是一个标记结构。该值包含时间标签与质量标签。因此,除与值、时间以及质量相关的标记点域之外,指定给远程引用的间接标记无法访问任何其它标记点域。例如,间接标记无法通过远程引用来访问标记属性以指定报警限。
一个可能的解决方案是创建包含一组间接标记的面板。下图显示一个可修改泵的报警限的面板。

在本例中,面板使用 10 个间接标记,这些标记都与隐式 .Value 点域关联。报警面板重定向到远程 InTouch 节点 TagServer1 上的远程引用标记 IndPumpRPM。InTouch“访问名”配置如下:
|
访问名: |
TagSource1 |
|
节点名: |
TagServer1 |
|
应用程序名称: |
查看 |
|
主题名: |
标记名 |
要将该面板重定向到远程引用标记 PumpRPM,请运行以下 QuickScript:
IndPumpRPMName.Name = "TagSource1:PumpRPM.Name";
IndPumpRPMValue.Name = "TagSource1:PumpRPM";
IndPumpRPMHiHiLimit.Name = "TagSource1:PumpRPM.HiHiLimit";
IndPumpRPMHiLimit.Name = "TagSource1:PumpRPM.HiLimit";
IndPumpRPMLoLimit.Name = "TagSource1:PumpRPM.LoLimit";
IndPumpRPMLoLoLimit.Name = "TagSource1:PumpRPM.LoLoLimit";
IndPumpRPMHiHiStatus.Name = "TagSource1:PumpRPM.HiHiStatus";
IndPumpRPMHiStatus.Name = "TagSource1:PumpRPM.HiStatus";
IndPumpRPMLoStatus.Name = "TagSource1:PumpRPM.LoStatus";
IndPumpRPMLoLoStatus.Name = "TagSource1:PumpRPM.LoLoStatus";
每次重定向面板时都必须运行此脚本。另一个解决方案是创建一个 InTouch QuickFunction,允许您编写单个脚本并将远程引用的名称传递给它。通过使用调用相同 QuickFunction 的多个面板,可以减少脚本的编码量。
例如,通过使用一组类似的脚本命令,可以定义一个 QuickFunction RedirectAlarmFacePlate:

您可以调用 RedirectAlarmFacePlate 函数来处理整个重定向过程。要完成这项工作,必须使用另一个 InTouch QuickScript 来调用该函数。例如:
CALL RedirectAlarmFacePlate ("TagSource1:PumpRPM");