1.基础环境
VS2019
TwinCAT3.4024.65
2.插件安装
2.1.TF2000安装
https://www.beckhoff.com.cn/zh-cn/products/automation/twincat/tfxxxx-twincat-3-functions/tf2xxx-hmi/tf2000.html?
我下载的:1.12.762.57
2.2.TE2000安装
https://www.beckhoff.com.cn/zh-cn/products/automation/twincat/texxxx-twincat-3-engineering/te2000.html
我下载的:1.12.762.57
3.VS中新建HMI项目
打开VS,选择TwinCAT HMI Project,新建项目
4.Server配置
4.1. Service Configuration
点击右下角,选择ServerConfiguration
4.2.配置页面设置
4.2.1.添加Server实例
选中要操作的Endpoints,然后点击Config,进入配置页面
4.2.2.输入本机的用户的登陆密码
弹出的对话框,输入本机登陆用户的登陆密码
4.2.3.设置项目信息
设置Project Name / Project version信息,点击Accept,上方出现Update successful。
4.2.4.配置完成
5.Publish界面
5.1.打开设置
右击项目,选择Pulish to TwinCAT HMI Server...
5.2.设置信息
5.2.1.点击New
在弹出的对话框中,输入名称
5.2.2.点击...
选择Server名称
5.2.3.设置Password
Password输入电脑登陆密码。
5.2.4.核实连接
点击Validate Connection,核实连接是否成功,如下弹窗就代表成功。
注:如果出现错误,可以尝试Delete,重新Pushlish。
6.多语言添加
6.1.添加文件
右击Localization,选择添加/新建项
在弹出的对话框中选择Localization类型文件
向导设置,在Locale中选择需要设置的语言
6.2.界面各部分说明
| 区域 / 控件名称 | 作用说明 |
|---|---|
| TwinCAT HMI Wizard | 这是倍福官方提供的快速配置向导,用来简化多语言、主题、控件模板等的创建流程,当前界面是「新建本地化语言」的步骤。 |
| Create a new Localization | 标题行,说明当前向导的目的:创建一个新的语言本地化文件。 |
| Locale 下拉框 | 核心设置项,用来选择你要创建的语言。比如你要做中文界面,就选zh-CN;英文选en;德语选de。当前界面显示--,说明还未选择语言。 |
| Base localizations | 基础本地化继承选项,用来决定是否复用官方控件 / 框架自带的多语言文本:•Control:勾选后,会自动继承 HMI 控件(如按钮、输入框)的官方翻译,比如按钮的 “OK / 取消” 会自动用你选的语言显示。•Framework:勾选后,会继承 HMI 框架(如弹窗、错误提示)的官方翻译。・两个都勾选:推荐做法,能避免手动翻译所有系统自带文本,减少工作量。 |
| filter 搜索框 | 用来快速筛选下方的基础本地化选项,当选项较多时可以直接输入关键词过滤。 |
| OK / Cancel 按钮 | 点击OK确认创建本地化文件;点击Cancel放弃操作,关闭向导。 |
6.3.标准操作流程
Locale 下拉框:选择zh-CN(简体中文)。
勾选基础本地化:把Control和Framework都勾上,这样系统控件和框架自带的文本会自动用中文显示。
点击OK:向导会自动生成一个.localization文件(比如ch.localization),并把基础翻译导入进去。
后续配置:生成文件后,你可以在 HMI 项目中打开这个文件,手动添加 / 修改项目中自定义文本的翻译,比如 “启动设备”“故障报警” 这类自定义内容。
绑定到配置文件:在你的TchmiConfig.json中,把这个语言文件配置进去,比如:
"languages": { "zh-CN": "Localization/ch.localization" }6.4.两个本地化文件类型详解
| 选项名称 | 核心用途 | 关键特性 | 适用场景 |
|---|---|---|---|
| Localization | 创建全新的本地化语言文件 | 会启动向导,让你选择语言、导入官方控件 / 框架的基础翻译文本 | 新项目首次添加语言,比如为项目添加中文、英文、德语等新语言 |
| Import Localization | 导入已有的本地化语言文件 | 用于把外部的.localization文件导入到当前项目中,支持从其他项目、官方模板导入 | 复用现有语言文件、从备份恢复、或导入别人做好的翻译文件 |
6.5.核心区别对比
| 对比维度 | Localization(新建) | Import Localization(导入) |
|---|---|---|
| 操作流程 | 启动向导 → 选择语言 → 勾选导入官方基础翻译 → 生成文件 | 直接选择已有的.localization文件 → 导入到项目中 |
| 文件来源 | 由向导自动生成,包含官方控件 / 框架的基础翻译 | 外部已存在的文件(其他项目、备份、模板) |
| 典型用途 | 为项目添加新的语言支持 | 复用现成的翻译文件、快速部署多语言 |
| 使用频率 | 新项目添加语言时用 | 已有翻译文件、或团队协作时用 |
6.6.实际操作说明
6.6.1. 使用「Localization」新建语言文件(推荐)
这是新项目添加多语言的标准流程:
选择
Localization,点击「添加」。在向导中选择目标语言(如
zh-CN简体中文)。勾选
Control和Framework,导入官方控件和框架的基础翻译(比如按钮的 “确定 / 取消” 会自动翻译)。向导会自动生成
.localization文件,后续你只需要补充自定义文本的翻译即可。
6.6.2. 使用「Import Localization」导入已有文件
当你已经有现成的.localization文件时,用这个选项:
选择
Import Localization,点击「添加」。选择你要导入的
.localization文件。文件会被复制到当前项目中,直接在
TchmiConfig.json中配置即可生效。
6.7.补充说明
两种方式生成 / 导入的文件都是
.localization格式,本质上是 XML 文件,存储了「文本键 - 对应语言翻译」的映射关系。配置多语言时,需要在
TchmiConfig.json的languages节点中添加对应的语言文件路径,例如:"languages": { "zh-CN": "Localization/ch.localization", "en": "Localization/en.localization" }后续可以使用
Localization Select控件,让用户在运行时一键切换语言。
7.多主题添加
7.1.添加文件
右击Themes,选择添加/新建项
在弹出的对话框中选择Theme类型文件
7.2.三个主题类型详解
| 选项名称 | 全称 | 核心用途 | 生成文件 | 适用场景 |
|---|---|---|---|---|
| Theme | Application Theme(应用主题) | 项目级自定义主题,定义整个 HMI 应用的全局样式和颜色变量 | 一个.theme主题变量文件 + 一个.css样式文件 | 90% 场景下用这个,用来做亮色 / 暗色主题、自定义品牌配色,对所有控件生效 |
| Control Theme | Control-Specific Theme(控件主题) | 仅针对单个控件类型的主题,用于覆盖特定控件的默认样式 | 一个仅作用于特定控件的.theme文件 | 当你只想修改某一类控件(比如所有按钮)的样式,而不影响其他控件时使用 |
| Package Theme | Package Component Theme(组件包主题) | 覆盖整个官方组件包(如 Beckhoff.TwinCAT.HMI.Controls)的默认主题 | 一个针对组件包的.theme文件 | 用于修改官方控件包中所有控件的默认样式,相当于全局替换控件的基础皮肤 |
7.3.关键区别对比
| 对比维度 | Theme(应用主题) | Control Theme(控件主题) | Package Theme(组件包主题) |
|---|---|---|---|
| 作用范围 | 整个 HMI 项目的所有控件 | 仅单个指定控件类型 | 整个组件包内的所有控件 |
| 优先级 | 中等 | 最高(会覆盖应用主题和包主题) | 中等(会被控件主题覆盖) |
| 典型用途 | 全局颜色方案(如亮 / 暗色切换) | 自定义按钮、输入框等单个控件的样式 | 批量修改所有官方控件的默认样式 |
| 使用频率 | ⭐⭐⭐⭐⭐(最常用) | ⭐⭐ | ⭐ |
7.4.实际操作建议
绝大多数场景,直接选「Theme」它会生成一个完整的主题文件夹,包含主题变量文件(.theme)和 CSS 文件(.css),可以统一设置背景色、文字颜色、控件默认样式,后续直接在TchmiConfig.json中引用即可。
"themes": { "MyCustomTheme": { "resources": [ { "name": "Themes/MyCustomTheme/MyCustomTheme.theme", "type": "ThemedValues" }, { "name": "Themes/MyCustomTheme/MyCustomThemeStyle.css", "type": "Stylesheet" } ] } }什么时候用 Control Theme?比如你想让项目里所有的Radial Gauge仪表盘都用你自定义的刻度样式,而其他控件保持默认,就用这个。创建时需要指定要覆盖的控件类型。
什么时候用 Package Theme?比如你想把整个Beckhoff.TwinCAT.HMI.Controls包里所有控件的默认字体改成微软雅黑,就用这个。它会修改控件包的全局默认样式,影响所有使用该包的控件。
7.5.补充说明
主题生效的优先级:
Control Theme>Theme>Package Theme> 控件默认样式。你可以创建多个
Theme,在项目中通过Theme Select控件实现一键切换亮 / 暗色模式。
8.界面说明
8.1.工具栏相关快捷设置
设置工具栏显示信息,方便进行界面编辑
视图 / 工具栏 / TwinCAT HMI
8.2.项目文件夹
8.2.1. TwinCAT HMI 项目文件夹详解
| 文件夹 / 节点 | 核心用途 | 详细说明 | 典型文件 / 内容 |
|---|---|---|---|
TcHmiProject_Test | 项目根节点 | 整个 TwinCAT HMI 项目的入口,包含所有配置、资源和页面 | TchmiConfig.json(HMI 核心配置文件) |
Server | HMI 服务器配置 | 管理 HMI 与 TwinCAT PLC 通信的服务端设置,是客户端与 PLC 数据交互的核心 | ADS 连接配置、变量映射、权限设置 |
Properties | 项目属性配置 | 存储项目级的元数据、编译设置、部署配置,定义项目的基本信息 | 版本号、部署路径、平台目标、依赖库配置 |
References | 组件引用管理 | 管理项目依赖的 TwinCAT HMI 官方组件包(控件、框架、函数库) | Beckhoff.TwinCAT.HMI.Controls等组件引用 |
Imports | 外部资源导入 | 存放从外部导入的文件(第三方控件、自定义脚本、资源文件),项目构建时会加载这些内容 | 自定义 JavaScript、外部样式、第三方组件包 |
Themes | 主题与样式资源 | 存放所有自定义主题文件,包括亮色 / 暗色主题、品牌配色、控件样式,用于统一界面外观 | .theme主题变量文件、.css样式文件 |
Fonts | 字体资源目录 | 存放项目使用的自定义字体文件,用于替换默认字体或添加特殊字体,保证不同设备上显示一致 | .ttf/.woff字体文件、Fonts.css字体配置 |
Images | 图片资源目录 | 存放项目中使用的所有图片、图标、背景图,支持静态图片和状态切换图片 | .png/.jpg/.svg格式的图标、背景、设备示意图 |
KeyboardLayouts | 软键盘布局配置 | 存放虚拟软键盘的布局文件,支持不同语言、场景的键盘(数字键盘、全键盘、符号键盘) | .keyboard.json键盘布局文件 |
Localization | 多语言本地化资源 | 存放所有语言的翻译文件,实现界面文本的多语言切换,支持中英文、德语等多种语言 | .localization语言文件,包含文本键与对应翻译 |
8.2.2. 关键补充说明
Themes文件夹你之前创建的自定义主题就存在这里,每个主题是一个独立文件夹,包含.theme(颜色 / 变量定义)和.css(样式定义)文件,在TchmiConfig.json中配置后即可生效。Localization文件夹你创建的.localization语言文件默认存放在这里,项目中所有绑定了多语言键的文本,会根据当前语言自动加载对应的翻译。Server节点这里配置的是 HMI 服务端与 PLC 的 ADS 通信,包括连接参数、变量访问权限、用户登录设置,是数据交互的核心。KeyboardLayouts文件夹存放不同语言和类型的软键盘布局文件,在TchmiConfig.json中可以为不同语言指定对应的键盘布局,适配触摸屏输入场景。
8.2.3. 操作建议
不要随意修改
References和Imports里的内容,否则可能导致项目编译失败或控件异常。自定义的图片、字体、主题文件,统一存放在对应文件夹中,方便管理和打包部署。
多语言文件建议都放在
Localization文件夹下,在TchmiConfig.json中统一配置路径。
8.3.设计器旁边快捷键说明
8.3.1.打开设计器
,打开设计器,切换切换回 HMI 设计器的可视化编辑界面(就是你拖控件、画界面的地方)
8.3.2.打开代码编辑窗口
,打开代码编辑窗口,配置控件与 PLC 变量的绑定、事件脚本
8.3.3.打开文档大纲
,打开Document Outline(文档大纲),就是你截图里左侧的控件层级树
8.3.4.打开HMI配置窗口
,打开TwinCAT HMI Configuration配置窗口,就是你截图里右侧的项目级配置面板。这是 TwinCAT HMI 的项目级核心配置中心,所有与服务器通信、变量、权限、事件相关的全局设置都在这里管理。下面我按截图里的节点顺序,给你逐个拆解说明:
8.3.4.1.Server Symbols(服务器符号 / PLC 变量管理)
这是 HMI 与 PLC 通信的核心配置节点,管理所有来自 TwinCAT PLC 的变量。
| 子节点 | 功能说明 | 用途 |
|---|---|---|
| All Symbols | 显示 ADS 路由连接的 PLC 中,所有可用的变量列表 | 浏览、搜索 PLC 变量,为控件绑定变量时可直接从这里拖拽选择 |
| Mapped Symbols | 显示已经被 HMI 映射 / 引用的 PLC 变量 | 查看项目中所有被使用的 PLC 变量,方便统一管理和排查 |
8.3.4.2.Internal Symbols(HMI 内部变量)
定义仅在 HMI 客户端内部使用的变量,不与 PLC 交互,用于存储界面逻辑数据。
用途:比如存储用户登录状态、界面临时参数、多语言切换状态等。
特点:支持自定义变量类型(bool、int、string 等),在 HMI 脚本中可直接读写。
8.3.4.3.Localizations(多语言本地化)
管理项目中所有的多语言翻译文件。
功能:在这里可以添加、编辑、删除
.localization语言文件,为界面文本配置多语言翻译。关联:你之前创建的
zh-CN、en等语言文件,都会在这里显示,可直接双击打开编辑翻译内容。
8.3.4.4.Themed Resources(主题资源)
管理项目中所有与主题相关的资源,比如颜色、字体、样式变量。
用途:定义全局主题变量(如主色调、文字颜色、按钮样式),所有引用这些变量的控件会随主题切换自动更新样式。
关联:和你项目中的
Themes文件夹一一对应,可在这里预览和修改主题变量。
8.3.4.5.System Keyboard(系统软键盘)
配置项目中使用的虚拟软键盘布局。
功能:管理不同语言、不同场景的键盘布局(如数字键盘、文本键盘、小数键盘),为输入框控件指定默认键盘。
关联:和
KeyboardLayouts文件夹里的.keyboard.json文件对应,可在这里为不同语言 / 输入类型配置键盘。
8.3.4.6.Data types(自定义数据类型)
管理 HMI 中使用的自定义数据类型,用于绑定 PLC 中的结构体变量。
用途:当你需要绑定 PLC 中的自定义结构体(如设备状态、配方参数)时,需要在这里定义对应的 HMI 数据类型,才能实现变量映射。
8.3.4.7.Global Events(全局事件)
配置项目级的全局事件,比如页面加载、连接断开、错误触发等。
常见事件:
OnLoaded(HMI 加载完成)、OnConnectionLost(PLC 连接断开)、OnError(系统错误)。用途:为这些事件绑定 JavaScript 脚本,实现全局逻辑(比如连接断开时弹出提示、记录错误日志)。
8.3.4.8.Functions(全局函数)
管理项目中所有可全局调用的 JavaScript 函数。
用途:编写通用逻辑(如格式化时间、计算参数、自定义弹窗),所有页面 / 控件都可以直接调用这些函数,避免重复代码。
示例:
formatDate(date)、showAlert(message)这类通用函数,都可以放在这里。
8.3.4.9.Users and Groups(用户与权限管理)
配置 HMI 的用户账号、用户组和权限控制。
| 子节点 | 功能说明 | 用途 |
|---|---|---|
| Users | 管理用户账号 | 添加、删除用户,设置用户名、密码、所属用户组 |
| Groups | 管理用户组与权限 | 创建用户组,为不同组分配权限(如管理员可修改参数,操作员仅可查看) |
| Client Certificates | 客户端证书认证 | 配置基于证书的安全认证,用于高安全性场景的客户端身份验证 |
8.3.4.10.Action Templates(动作模板)
管理项目中可复用的动作逻辑模板。
用途:创建通用的动作模板(如 “确认弹窗后写入变量”“页面跳转 + 变量置位”),在多个控件中直接调用,无需重复配置动作逻辑。
示例:为 “启动设备” 按钮创建动作模板,包含 “弹出确认框→用户确认→写入 PLC 变量→跳转到运行页面” 的完整流程。
8.4.1.11.核心操作场景说明
变量绑定:绑定 PLC 变量时,直接从
Server Symbols > All Symbols拖拽变量到控件的绑定属性中。多语言配置:双击
Localizations里的语言文件,直接编辑翻译内容,或通过界面上的文本控件一键绑定翻译键。权限控制:在
Users and Groups中创建用户组,为控件设置 “仅管理员可见 / 可操作” 的权限。全局逻辑复用:在
Functions中编写通用脚本,在按钮点击、事件触发中直接调用。
8.3.5.打开资源库浏览器
,资源库浏览器(Gallery Explorer),专门用来管理和插入项目资源
核心功能说明
这是一个图片 / 资源素材库,用来浏览和插入项目里的图片、图标、品牌 Logo、行业图标等资源。
你可以在这里找到:
TwinCAT HMI:倍福官方提供的通用控件图标、设备图标Beckhoff:倍福品牌相关的 Logo、素材Industries:不同行业的专用图标(比如机械、化工、汽车等)Logos:各种品牌 Logo 素材Samples:官方示例项目里的资源模板
使用方法:选中图片,直接拖到设计界面上,就会自动生成一个
Image控件,不用手动配置图片路径。
8.3.6.打开实时预览视图
,打开实时预览视图(Live-View),是一个所见即所得的运行时预览窗口
核心功能说明
它相当于一个内置的 HMI 浏览器,直接在 Visual Studio 里运行和预览你的 HMI 项目,不用单独打开浏览器或客户端。
你可以在这里实时看到:
界面布局、控件样式、主题效果的最终显示效果
变量绑定后的动态效果(比如按钮点击、数值变化)
多语言切换、主题切换的实际表现
顶部工具栏的功能:
刷新:重新加载 HMI 页面
设置:调整预览窗口的配置
缩放 / 全屏:调整预览视图的显示大小
8.4.设置startupView
新建文件夹View,将Desktop.view移动到View中。
点击Properties / tchmiconfig.json,设置startupView字段。
8.4.1. TwinCAT HMI TchmiConfig.json 完整字段解析表
| 完整字段路径 | 字段说明 |
|---|---|
| $schema | 字符串类型,指定 JSON Schema 校验文件路径,用于编辑器提供语法提示、格式校验,确保配置符合 Beckhoff TwinCAT HMI 官方规范,仅开发环境生效 |
| basePath | 字符串类型,定义 HMI 框架资源的基础根目录,指定框架核心文件的加载路径,默认值./framework |
| scaleMode | 字符串类型,设置 HMI 运行时的界面缩放模式:None不缩放(原始尺寸)、Uniform等比缩放(保持比例适配屏幕)、UniformToFill铺满缩放(拉伸填满屏幕,可能裁切) |
| startupView | 字符串类型,指定 HMI 启动后默认加载的初始视图页面路径,是项目的首页入口 |
| loginPage | 字符串类型,配置 HMI 登录页面路径,为空字符串表示项目无登录验证,直接进入首页 |
| tcHmiServer | 对象类型,HMI 客户端与 TwinCAT PLC 服务器通过 WebSocket 通信的核心配置节点 |
| tcHmiServer.websocketIntervalTime | 数字类型,单位毫秒,客户端向服务端轮询发送数据 / 心跳的时间间隔,默认 500ms,数值越小通信越频繁,PLC 负载越高 |
| tcHmiServer.websocketTimeout | 数字类型,单位毫秒,普通业务通信的超时时间,默认 20000ms(20 秒),超时未响应则判定通信异常 |
| tcHmiServer.websocketSystemTimeout | 数字类型,单位毫秒,系统级通信超时时间,默认 60000ms(60 秒),用于系统指令、重连等关键操作,优先级高于普通超时 |
| tcHmiServer.websocketSubscriptionMode | 字符串类型,PLC 变量数据推送模式:Change仅变量值发生变化时推送(默认,节省资源)、Periodic按固定时间间隔定时推送 |
| activeTheme | 字符串类型,指定 HMI 当前激活生效的主题名称,必须与下方themes中定义的主题键名一致 |
| themes | 对象类型,集中定义项目中所有可用的 HMI 主题,包含样式、主题变量等资源配置 |
| themes.Base-Dark | 对象类型,内置深色主题配置节点,包含主题资源和覆盖规则 |
| themes.Base-Dark.resources | 数组类型,定义深色主题依赖的资源文件:Stylesheet为 CSS 样式文件,ThemedValues为主题变量配置文件 |
| themes.Base-Dark.replacesThemeForControls | 数组类型,配置自定义主题覆盖官方控件默认主题的规则,为空则使用控件原生主题 |
| themes.Base-Dark.replacesThemeForPackageComponents | 数组类型,配置自定义主题覆盖组件包默认主题的规则,为空则使用组件包原生主题 |
| themes.Base | 对象类型,内置基础浅色主题配置节点,包含主题资源和覆盖规则 |
| themes.Base.resources | 数组类型,定义基础主题依赖的资源文件:ThemedValues为主题变量配置文件,Stylesheet为 CSS 样式文件 |
| themes.Base.replacesThemeForControls | 数组类型,配置自定义主题覆盖官方控件默认主题的规则,为空则使用控件原生主题 |
| themes.Base.replacesThemeForPackageComponents | 数组类型,配置自定义主题覆盖组件包默认主题的规则,为空则使用组件包原生主题 |
| dependencyFiles | 数组类型,配置 HMI 全局依赖文件,如全局字体样式、公共 CSS 等,项目启动时优先加载 |
| userControls | 数组类型,存储项目中自定义开发的用户控件列表,为空表示无自定义控件 |
| content | 数组类型,管理项目静态资源(图片、视频、图标等),为空表示无额外静态资源 |
| views | 数组类型,统一管理 HMI 所有视图页面的加载、缓存规则 |
| views[0].url | 字符串类型,当前视图页面的文件路径,本项目为启动页View/Desktop.view |
| views[0].preload | 布尔类型,是否在 HMI 启动时预加载该页面,false 表示按需加载,提升启动速度 |
| views[0].keepAlive | 布尔类型,切换页面后是否保留该页面的状态和数据,false 表示切换后销毁页面 |
| views[0].preloadBindings | 布尔类型,是否预加载页面的 PLC 变量绑定,false 表示加载页面时再绑定变量 |
| userFunctions | 数组类型,存储项目中自定义的 JavaScript 函数,为空表示无自定义函数 |
| symbols | 对象类型,HMI 变量 / 符号配置总节点,管理内部变量和主题关联变量 |
| symbols.internal | 对象类型,定义 HMI 客户端内部使用的全局变量,不与 PLC 交互 |
| symbols.themedResources | 对象类型,关联主题的变量配置,用于主题切换时动态更新变量样式 |
| trigger | 数组类型,全局事件触发器配置,用于监听事件并执行对应动作,为空表示无全局触发器 |
| actionTemplates | 数组类型,全局可复用的动作模板,可在多个页面 / 控件中调用,为空表示无复用模板 |
| languages | 对象类型,多语言国际化配置,键为语言代码(zh-CN 中文、de 德语、en 英文),值为对应语言文件路径 |
| languageFallback | 字符串类型,语言降级配置,当当前语言文件缺失时,自动使用该指定语言,为空则使用默认语言 |
| disableLoadingOptimization | 布尔类型,是否禁用 HMI 资源加载优化,false 表示开启优化(压缩、合并资源,提升加载速度) |
| creatorSettings | 对象类型,仅 TwinCAT HMI 设计器(开发环境)生效的配置节点 |
| creatorSettings.viewport.defaultWidth | 数字类型,设计器中 HMI 画布的默认宽度,默认 800px |
| creatorSettings.viewport.defaultHeight | 数字类型,设计器中 HMI 画布的默认高度,默认 600px |
| binding | 对象类型,HMI 与 PLC 变量绑定的全局配置节点 |
| binding.symbolError | 字符串类型,变量绑定错误处理策略,Ignore表示忽略变量绑定错误,不影响 HMI 运行 |
| packages | 数组类型,引入 Beckhoff 官方提供的 HMI 组件包,包含控件、框架、函数库 |
| packages[0].name | 字符串类型,官方控件组件包名称Beckhoff.TwinCAT.HMI.Controls |
| packages[0].basePath | 字符串类型,官方控件组件包的资源加载根路径 |
| packages[1].name | 字符串类型,HMI 核心框架组件包名称Beckhoff.TwinCAT.HMI.Framework |
| packages[1].basePath | 字符串类型,HMI 核心框架的资源加载根路径 |
| packages[2].name | 字符串类型,官方函数库组件包名称Beckhoff.TwinCAT.HMI.Functions |
| packages[2].basePath | 字符串类型,官方函数库的资源加载根路径 |
| keyboardLayouts | 数组类型,配置项目内置的虚拟软键盘布局文件 |
| keyboardLayouts[0].url | 字符串类型,德语紧凑型软键盘文件路径 |
| keyboardLayouts[1].url | 字符串类型,带正负号的数字小键盘文件路径 |
| keyboardLayouts[2].url | 字符串类型,美式英语紧凑型软键盘文件路径 |
| systemKeyboard | 对象类型,HMI 全局虚拟软键盘系统配置节点 |
| systemKeyboard.providerName | 字符串类型,软键盘服务提供方,为空表示使用 Beckhoff 默认软键盘 |
| systemKeyboard.projectKeyboardMapping | 对象类型,按语言匹配不同类型的软键盘(文本键盘、小数键盘、数字键盘) |
| systemKeyboard.projectKeyboardMapping.de | 对象类型,德语对应的软键盘配置 |
| systemKeyboard.projectKeyboardMapping.en | 对象类型,英语对应的软键盘配置 |
| systemKeyboard.projectKeyboardMapping.zh-CN | 对象类型,中文对应的软键盘配置,为空表示使用默认键盘 |
| systemPopups | 对象类型,HMI 系统弹窗(提示框、确认框、错误框)全局配置节点 |
| systemPopups.providerName | 字符串类型,系统弹窗服务提供方,Beckhoff.TcHmiPopups为官方默认弹窗组件 |