文本列表

提示!

此功能只在支持当前功能的使用集中可见。

一个文本列表是在POUs视图中作为全局管理或者在设备窗口中附属于一个应用。

这是以下的基础

1. 对于 静态编译 动态编译在可视化文本和工具提示以及报警中的多语言支持

2. 动态文本 变换。

文本列表可以进行 导出和重新导入导出是必要的,如果一个XML格式的文件,可以实现目标可视化,也可以作为语言转换的目的(参阅下位)。

文本列表允许的 形式是文本和XML。支持Unicode编码通过 激活

每个文本列表定义唯一的命名空间。他是在文本中引用的唯一的标识符(ID,包含任何的字符序列)和语言识别的字符串。文本列表将在用于可视化的文本时进行详细的说明。

根据可视化文本中设定的语言,当前的文本会在在线模式下进行显示。例如通过在可视化元素上进行适当的鼠标操作,可视化中应用的语言可以通过“改变语言”输入进行更改。每个文本至少包含当前“默认”的语言(默认语言取决于当前CoDeSys 环境)以及其他形式的语言。如果符合当前语言没有进行设置,默认的语言将会被使用。每个文本都包含 格式定义

文本列表的基本结构:

识别码(索引)

默认

<语言 1>

<语言 2>

.... <语言 n>

<唯一字符串>

<默认语言中的文本abc>

<语言1 中的abc>

<语言2 中的abc>

...

<唯一字符串>

<默认语言中的文本axyz>

<语言1 中的xyz>

<语言2 中的xyz>

...

文本列表类型

可视化文本中可使用的类型有两种,并且相应的列表有两种形式:

1. 静态文本的全局文本列表:

与动态文本不同,可视化中的静态文本不能通过变量进行在线修改。在任何可视化元素中,当通过在可视化元素上的“改变语言”输入进行更改时,只有语言版本会发生改变。一个静态文本通过属性“文本”中的‘文本’或者‘工具’添加到可视化元素中。只要第一个静态文本被定义在工程中,一个名为“全局文本列表”的文本列表会自动添加到POUs 窗口中。主要包含“默认”字符串以及文本标识自动分配的序号。对于静态变量在定义文本元素的属性之后会立即被添加。文本标识序号会自动进行添加。

如果一个静态文本被插入到可视化元素中(例如,在一个矩形框的属性类别中的“文本”属性,“文本”选项输入“示例”),这个文本将会在全局文本列表中看到。

  • 如果文本被找到(例如ID,4711,文本“示例”),元素中的文本序号4711将会被分配到一个内部变量。这就是一个可视化元素和全局文本列表对应过程的产生。
  • 否则,一个新行将插入到全局文本列表中(例如ID,4712,文本“示例”)。现在的元素将被分配给内部变量4712。

这意味着在可视化元素中每个文本的改变会导致全局文本列表同样发生改变。

注意-如果一个变量不存在-一个全局文本列表也可以显式的创建通过命令 创建全局文本列表实现。

全局文本列表是一个特殊的文本列表,其中包含对特定的文本条目的标识,以及隐式符的处理,并且在CoDeSys中不能被用户进行编辑。当然也不能被删除。然而,列表可以 导出,在外部进行编辑然后重新 导入。这种情况下,重新导入的标识符是否仍然符合可视化元素的既定配置。如果有必要,配置中的标识符更新是有可能的。

示例

 插图 26: 全局文本列表
2. 静态文本列表:

动态文本(参见上文)可以在线模式下动态修改。文本索引(ID),是一个字符形式的字符串,必须在文本列表中使用与全局文本列表不同,必须用户自己定义。同样的与全局文本列表不同,动态文本列表必须显式的进行创建通过命令 添加对象

目前所有可用的动态文本列表将会出现,当通过属性“动态文本” / “文本列表”进行可视化元素的配置时。如果指定一个名称包含文本索引(ID)-可以通过直接输入或者通过定义的ID字符串的变量的方式进行调用-当前文本可以在在线模式下进行修改。

一个动态文本列表可以导出作为一个语言文件应用到目标可视化系统中。文件的路径可以通过可视化选项进行选择。像全局文本列表一样,一个动态文本列表也可以 导出用于外部编辑并且重新 导入

小心!

与全局文本变量不同,重新导入的动态文本列表不具有变量自动检测和更新的标识。因此,当进行导出文件编辑时要确保标识符不会发生改变。

名为‘错误列表’的动态文本示例

插图 27: 错误列表示例
 详细示例
产生一个文本列表
  • 为了产生一个 动态文本列表,首先通过命令‘ 添加对象’ / 文本列表"将‘文本列表’添加到工程中。当指定一个列表名称并且确认‘添加文本列表’对话框,新的列表将会被插入到POUs视图中或者-如果当前选择一个应用-在应用对象的设备窗口-自动在文本编辑窗口打开。
  • 为了产生 动态文本列表,或者通过可视化对象文本属性中“文本”类别中的‘文本’自动产生‘全局文本列表’,或者通过命令 '添加全局文本列表'
  • 打开一个外部文本列表进行编辑,利用命令‘编辑对象’或者双击选择的对象。参阅 以上说明中关于文本列表的结构。
  • 要编辑列表中的字段,首先通过鼠标点击选中然后再次通过鼠标点击或者使用[ 空格 ] 得到一个编辑框。输入关键字并且通过[ 回车 ] 键关闭条目。可以使用方向键选择上一个/或者下一个区域。
Unicode格式支持

如果要使用 Unicode 编码格式,在可视化管理中必须激活相应的选项。进一步,一个应用程序的特殊编译指令必须被设置:选择应用树中的“设备”,打开“属性”对话框, 类别“编译”:在“编译器中定义”区域入口"VISU_USEWSTRING"。也要注意导出的任何语言文件,说明如下。

 插图 30: 编译器定义对话框
导出和导入的文本列表

静态或者动态文本列表可以以文本或者xml格式导出。如果一个语言文件对目标可视化是必须的,那么他必须以文本形式导出。导出的文件也可以被用作添加外部文本,例如一个外部翻译。然而要注意文件只有在文本形式(*.txt, *.csv)才能被重新导入。

参阅文档 相应命令

导出文件的文件夹应该保存在 可视化工程设置中的指定路径下。

文本的格式

文本中可以包含格式定义(%s,%d,…),允许包含在文本变量中。对于可能的文本设置,参阅帮助文档“可视化中的文本”。

当以后使用文本时,需根据以下步骤进行文本替换:

1.通过列表名称和ID找到实际使用的文本。

2. 如果文本中包含格式定义,将会被程序中当前变量的值进行替换。

翻译文本的传递过程

通过到指定路径中加载 GlobalTextList.csv (之后的传递文件)文件,进行翻译文本的随后整合是可能的。在启动脚本工程的时候,会启动一个外部文件并将文本列表中的语言进行替换。新的合适的翻译文件将被添加到文本列表文件中。

之后文件 GlobalTextList.csv 将会被标记为“已加载”。基于这种情况,外部文本只有在第一次启动引导程序的时候有效。

文本输入的"列表组件"

通过对话框 工具 ➔  选项 ➔  可视化 可以指定一个文本的模板。文件“默认”的所有列文本将会被复制到一个列表中,将用于“列表组件”功能。作为模板文件,可以在通过导出命令之前产生。

多用户操作

通过使用CoDeSys中的源代码控制,可以实现多个用户同时工作同一个项目,但是必须遵守下列规则:

  • 如果要修改一个静态文本的可视化元素,可视化和最后的编程人员必须具有权限(参阅 全局文本列表)。如果全局文本列表不能被写入,可视化中的文本就不能够被修改。否则可能发生之前的文本不能适合当前的可视化元素的现象。
  • 通过使用命令 查看可视化文本拥有者这样的错误可以在可视化中进行检测。
  • 通过使用命令 更新可视化拥有者这个错误将会自动解决。因此所有要进行更改的可视化以及全局文本列表必须具有写权限。

检测到的错误可能会导致可视化中的错位。如果编译器没有报错,文本文件可以在之后自动进行转化。

使用文本列表改变可视化语言

对于一个文本清单,如果定义了多个语言版本,那么可以在在线模式下通过可视化输入对文本进行语言的选择。用于此目的的“动态文本”的元素属性必须要制定使用的文本清单,以及一个鼠标点击操作处理,执行动作改变语言。确认鼠标动作之后执行相应的动作。显示指定的语言或者列表中定义的语言。