添加 UDT 脚本
- Last UpdatedJun 29, 2026
- 3 minute read
-
在用户定义类型窗格中,右键单击数据类型,从上下文菜单中选择新建,然后选择脚本。

或者
在工具栏中选择新建成员
。
或者
使用快捷键 Ctrl+Shift+R。
新脚本 Script001 将在脚本编辑器中创建并打开。要重命名脚本,右键单击脚本,然后选择重命名。在下面的示例中,脚本被重命名为 UpdateSetpoint。

该脚本方法的默认签名已创建。下图展示了 C# 脚本的默认签名。

下图展示了 Python 脚本的默认签名。

方法名称必须与脚本名称一致。如果不匹配,将显示错误消息。例如,如果名为“UpdateSetpoint”的脚本中不包含名为“UpdateSetpoint”的公共方法,则会显示以下消息。
-
在属性网格上,可以查看所选脚本的属性。它包括:
-
名称:脚本的名称。
-
注释:任何注释(如果要输入)。
-
语言:选择要编写脚本的语言。首次创建脚本时,默认选择 C#。如果您想使用 Python 脚本,则应手动将其更改为 Python。在创建新脚本时,系统将保留之前选定的脚本语言。例如,如果您创建并保存了一个 Python 脚本,任何新脚本都将默认使用 Python。若要使用 C#,必须手动更改脚本语言。
注意:开始编写脚本后,无法更改脚本语言。要选择其他语言,请删除现有脚本内容或创建新脚本。
示例:

注意:如果您的计算机上未安装 32 位 Python,但您将其选为语言,系统将显示一条错误消息,提示您安装 Python 以启用该功能。如需 Python 安装步骤,请参阅安装 Python。
-
-
以您在属性网格中选择的语言输入脚本。使用工具栏选项执行不同的编辑操作。您还可以在 UDT 脚本中使用本机 InTouch 标记。 使用以下语法:
-
对于独立 InTouch 应用程序:
<udtinstanceName>.<udtmembers>\ me.<udtmembers>\ <InTouch Tags>;
或者
InTouch.<udtinstanceName>.<udtmembers> \ InTouch.me.<udtmembers>\ <InTouch Tags>;
示例:
-
Furnace_1.TemperatureSetPoint = Furnace_1.TemperatureSetPoint + 5;
-
me.TemperatureSetPoint = me.TemperatureSetPoint + 5;
-
-
对于托管 InTouch 应用程序:
InTouch.<udtinstanceName>.<udtmembers> \ InTouch.me.<members>\ <InTouch Tags>;
示例:
-
InTouch.Furnace_1.TemperatureSetPoint = InTouch.Furnace_1.TemperatureSetPoint + 5;
-
InTouch.me.TemperatureSetPoint = InTouch.me.TemperatureSetPoint + 5;
-
-
-
使用验证
可验证脚本。
如果有任何错误,它将显示在脚本编辑器底部的错误列表部分中。
-
修复所有错误后,选择工具栏上的保存图标。
注意:UDT 脚本文件存储在应用程序文件夹下的 scripts 文件夹中。
重要信息
-
引用命名空间(例如 InTouch 或 Galaxy)时,请使用点符号 (.) 代替冒号 (:)。C# 和 Python 不支持基于冒号的引用。
-
Python UDT 脚本不支持调试。此外,Python 脚本的引用验证仅在运行时进行。因此,在编辑或保存脚本时,脚本编辑器不会提示被引用的对象或命名空间是否存在。只有在脚本运行时才会检测到无效或缺失的引用,编辑器在编写脚本期间不会对此类问题发出警告。
-
最多允许六个嵌套 UDT 级别。例如“Datatype1.Datatype2.Datatype3.Datatype4.Datatype5.Datatype6.String1”。如需详细信息请参阅 UDT 规范。
-
UDT Real 数据类型的成员在内部被保存为 Float 数据类型。
-
执行 UDT 脚本需要访问 Suite Link 与 WindowViewer 进程之间安全通信所使用的证书。出于安全考虑,默认情况下,交互式用户和低权限用户无法访问这些证书。因此,对于以下 WindowViewer 场景,管理员必须将启动 View 的用户显式添加到 ASB Web 托管组 (ArchestraWebHosting) 中。
-
无 Web 客户端的交互式 view.exe 会话(工作站模式)
-
带 Web 客户端的交互式 view.exe 会话(工作站模式)
若未授予此访问权限,当 UDT 脚本执行尝试通过 WindowViewer 读写标记时,将导致通信失败。
-
-
在 Configurator 中,在 InTouchHMI 插件下为脚本服务配置系统管理服务器和身份管理器注册管理器。配置成功完成后,请重启 InTouchServiceMgr 服务。如果 InTouchServiceMgr 处于已停止状态,则必须重启计算机。

工具栏选项
|
选项 |
名称 |
描述 |
|
|
保存 |
保存脚本 |
|
|
撤消 |
撤消先前在脚本编辑器中执行的操作。 |
|
|
恢复 |
在脚本编辑器中重做撤消操作。 |
|
|
全选 |
选择所有文本 |
|
|
剪切 |
剪切所选文本 |
|
|
复制 |
复制所选文本 |
|
|
粘贴 |
粘贴复制的文本 |
|
|
搜索 |
查找文档中的文本 |
|
|
替换 |
将文本替换为指定的文本。选择替换图标。在查找内容字段中,输入需要被替换的文本。在替换为字段中,输入要替换的文本。 |
|
|
转到 |
允许您跳转到特定行 |
|
|
放大 缩小 |
放大显示,以获得文本的特写视图。 缩小显示,以更小的尺寸查看更多页面内容。 |
多脚本标签页支持
-
用户可以在单独的标签页中创建和启动脚本,从而能够同时管理多个脚本,且在标签页之间切换时不会丢失数据或上下文。
-
在脚本标签页之间切换时,会保留每个脚本的当前状态和上下文,确保导航过程中不会丢失任何信息。
-
每个标签页都会显示 IRT(信息资源树)和工具提示详细信息,为用户提供所选脚本的相关信息。
-
当从注册级别的派生或成员模板启动脚本时,脚本将从其父模板打开,从而保持原始上下文。
-
关闭脚本标签页时,树视图中会突出显示先前处于活动状态的脚本,并显示其属性以便于参考。
示例
以下脚本通过向当前对象的 TemperatureSetPoint 添加给定值来更新该属性。例如,如果当前设定点为 100,且您传入 3,则新设定点变为 103。
使用 C# 的脚本
public async Task UpdateSetPoint1(float value)
{
me.TemperaturesetPoint = me.TemperaturesetPoint + value;
}

使用 Python 的脚本
def UpdateSetPoint(value):
me.TemperaturesetPoint = me.TemperaturesetPoint + value

在这两个脚本中,InTouch.me 是相对引用,TemperatureSetPoint 是 UDT 的成员。
此处的操作流程:
-
读取当前的 TemperatureSetPoint
-
将其与 value 相加
-
将更新后的结果写回 TemperatureSetPoint
您还可以在脚本中调用保存在 Credential Manager 中的凭据。
示例:
public async Task namedcrededential()
{
me.username = SecurityManager.GetUserName(me.CredentialName);
me.password = SecurityManager.GetPassword(me.CredentialName);
me.domain = SecurityManager.GetDomain(me.CredentialName);
me.accesstoken = SecurityManager.GetAccessToken();
}
此处 CredentialName 是保存在 CredentialManager 中的凭据名称。










