3. 语言环境与区域设置规划
WinCC 多语言项目能否稳定运行,很大程度上取决于运行 HMI 的 Windows 系统本身是否具备对应的语言能力。很多“画面文字变成方框”“中文显示为问号”“输入法打不出汉字”“日期格式与项目不一致”等问题,根源并不在 WinCC 工程,而在操作系统的区域、语言包、字体和输入法没有规划好。本节从工程实施角度,说明如何为多语言 HMI 规划一套可复现的 Windows 语言环境。
一、先理解乱码产生的三条链路
在 Windows 上显示一段文字,需要经过“字符编码 → 字体字形 → 区域格式”三个环节。任何一环缺失,都会表现为显示异常:
- 编码链路:文本以 Unicode(UTF-16)或本地代码页(如 GBK、Shift-JIS、Windows-1252)存储。若系统缺少对应代码页或“非 Unicode 程序语言”设置不匹配,就会出现乱码。
- 字体链路:字符编码正确,但当前字体不含该字符的字形(glyph),就会显示为方框(□)或替代符号。例如用只含拉丁字形的字体显示中文。
- 区域格式链路:日期、时间、小数分隔符、货币符号由“区域格式”决定。若 HMI 项目按德语习惯使用逗号作小数点,而系统区域是中文,数值显示就会与预期不符。
因此,规划语言环境不是“装个语言包”这么简单,而是要让这三条链路同时满足项目涉及的所有语言。
二、Windows 区域与语言包配置
以 Windows 10/11 专业版或 Windows Server 为例,配置路径为“设置 → 时间和语言 → 语言和区域”。关键动作包括:
- 添加显示语言:在“语言”中依次添加项目需要的语言,例如“中文(简体,中国)”“英语(美国)”“德语(德国)”。添加后系统会下载对应的语言包与基本字体。
- 设置 Windows 显示语言:决定操作系统界面语言。HMI 运行机通常建议设为现场操作员最熟悉的语言,但这与 WinCC 项目语言相互独立。
- 配置“管理语言设置”:在“区域”对话框的“管理”选项卡中,设置“非 Unicode 程序的语言”。这一项对老版本 WinCC 和部分第三方控件尤其重要。若项目主要使用中文,应设为“中文(简体,中国)”;若现场以德语为主,则设为“德语(德国)”。
- 复制设置到欢迎屏幕和新用户:勾选“欢迎屏幕和系统账户”与“新用户账户”,避免不同登录账户下区域设置不一致。
三、字体规划:让每种语言都有字形可用
WinCC 画面中的文本、按钮、报警消息最终都由字体渲染。多语言项目应遵循“一套字体覆盖多语言”或“按语言切换字体”两种策略之一。
常用字体覆盖情况如下:
| 字体 | 适用语言 | 说明 |
|---|---|---|
| Microsoft YaHei(微软雅黑) | 中文简体、英文 | 中文项目常用,字形清晰 |
| SimSun(宋体) | 中文简体 | 兼容性好,但小字号发虚 |
| Arial / Segoe UI | 英文、德文等拉丁语言 | 不含中文字形 |
| Microsoft JhengHei | 中文繁体 | 繁体项目使用 |
| Meiryo / MS Gothic | 日文 | 日文项目使用 |
| Arial Unicode MS | 多语言覆盖 | 字形全但体积大,需确认授权 |
在 WinCC 中,字体设置位于画面对象的“属性 → 字体”,以及“图形编辑器 → 选项 → 设置 → 字体”中。建议为每种项目语言定义统一的字体方案,例如中文用“微软雅黑 12pt”,英文用“Segoe UI 12pt”,并在项目文档中记录,避免不同工程师各自为政。
需要特别注意的是:如果画面中使用了自定义字体或第三方字体,必须确认该字体已安装到所有 HMI 运行机,否则运行时会回退到默认字体,导致布局错位或方框。
四、输入法配置
多语言 HMI 往往需要操作员输入不同语言的文本,例如中文注释、英文设备名。输入法规划包括:
- 为每种需要输入的语言安装对应输入法,如中文拼音、英文键盘、德文键盘布局。
- 在“语言和区域”中设置默认输入法,并配置“允许我为每个应用窗口使用不同的输入法”选项,避免切换混乱。
- 若 HMI 运行在触摸屏上,应测试软键盘是否支持目标语言,必要时安装第三方触摸键盘。
- 对于只读画面,可禁用输入法切换,减少误操作。
五、配置流程与验证
下面用一张图概括从系统区域到 WinCC 项目验证的完整关系。图中左侧是 Windows 系统层,右侧是 WinCC 项目层,中间通过字体、代码页和区域格式连接。
验证时,建议按以下顺序检查:
- 在 Windows 中切换到每种项目语言,确认系统界面和输入法正常。
- 打开 WinCC 项目,切换运行时语言,逐屏检查文本是否显示为方框或问号。
- 检查数值显示:例如设定值 1234.56,在中文区域应显示为“1234.56”,在德语区域应显示为“1234,56”。
- 检查日期时间:中文区域常用“2025-01-15”,德语区域常用“15.01.2025”。
- 在触摸屏上测试软键盘输入,确认能输入目标语言字符。
六、工程实施建议
为了让多语言 HMI 项目可维护,建议在项目初期建立一份“语言环境配置表”,记录每台 HMI 运行机的操作系统版本、已安装语言包、非 Unicode 程序语言、默认字体方案和输入法。示例字段如下:
| 设备编号 | 操作系统 | 显示语言 | 非 Unicode 程序语言 | 默认字体 | 输入法 |
|---|---|---|---|---|---|
| HMI-01 | Windows 10 LTSC | 中文(简体) | 中文(简体,中国) | 微软雅黑 12pt | 中文拼音 |
| HMI-02 | Windows 10 LTSC | 德语(德国) | 德语(德国) | Segoe UI 12pt | 德文键盘 |
此外,若项目需要在中、英、德三种语言间切换,建议统一使用 Unicode 字体(如 Arial Unicode MS 或微软雅黑),避免为每种语言单独指定字体导致布局差异。对于报警消息,应在 WinCC 报警记录中为每条消息填写所有项目语言的文本,而不是只填默认语言。
最后,语言环境规划不是一次性工作。操作系统更新、语言包升级、字体替换都可能影响显示效果。建议在项目交付前,用一台“干净”的运行机完整走一遍语言切换测试,把结果记录到验收文档中,作为后续维护的基线。