跳转到内容

创建脚本集合(脚本库)#

VisualApplets 提供脚本集合功能,您可以直接通过该功能最方便地使用脚本中的程序。 VisualApplets 图形用户界面。 VisualApplets 支持脚本集合中的 Tcl 脚本和 Python 脚本。

第一步是创建一个包含各个命令的脚本集合。您可以定义每个命令以调用指定 Tcl 或 Python 脚本中的特定程序。

之后,各个命令将以图形方式直接显示在屏幕上。 VisualApplets 通过图形用户界面 (GUI),您可以通过鼠标点击或拖放来启动它们。这样,您就可以将 Tcl 或 Python 程序作为库元素使用。调用时,命令会在脚本控制台中执行。打开脚本控制台,即可查看命令的执行过程。

在“脚本集合”窗格中,您可以查看哪些脚本集合已在您的系统中可用。 VisualApplets 安装方法以及每个集合中包含的命令。

要打开脚本集合窗格,请打开“窗口”菜单,选择“停靠Windows ,然后选择“脚本集合” :

VA 打开脚本集合窗格

脚本收藏面板在右侧打开。 VisualApplets 主窗口:

主窗口中的 VA 脚本收集窗口

您可以通过以下方式定义脚本集合:

信息

VisualApplets 支持使用 Python 和 Tcl 编写的脚本集合。当使用 Python 脚本集合元素时,脚本控制台会自动切换到 Python;当控制台设置为 Tcl 时,则会自动切换回 Tcl。Python 脚本集合在“Python 版本设置”对话框中选择为“活动版本”的Python 环境中运行。有关详细信息,请参阅“管理 Python 版本” 。

信息

将所有集合信息存储在 XML 文件中,使您不仅可以将版本控制系统用于单个脚本,还可以用于脚本集合的结构和内容定义。

脚本集合的结构#

每个脚本集合包含多个命令(脚本集合的元素)。

这体现在 GUI 中:

脚本集合窗格

每个命令指向特定脚本中的一个特定过程。执行命令时,将调用它所指向的过程。

脚本集合窗格的结构

要定义脚本集合,您必须定义:

  • 集合的名称
  • 集合中包含的命令
  • 可选:一些其他信息,例如版本号、描述等。
  • 可选:代表脚本集合的 GUI 图标。
  • 对于每个单独的命令:
    • 命令名称
    • 命令指向的 Tcl 或 Python 文件
    • 命令指向的此文件中的 Tcl 或 Python 过程
    • 必须传递给 Tcl 或 Python 过程的参数(从 GUI 启动命令时会提示所需的值)
    • 命令模式(请参阅下文“向脚本集合添加命令”)
    • (可选)命令作用域(请参阅下文“向脚本集合添加命令”)
    • 可选:其他信息,例如版本号、描述等。
    • (可选)用于指定命令的 GUI 图标(请参阅下文“向脚本集合中添加命令”)。如果您未提供图标文件,则 GUI 将使用默认图标。

准确描述一个脚本集合的所有列出信息都存储在一个 XML 文件中。

您可以定义多个脚本集合。

图形用户界面之下发生了什么?#

背景中,一个新的XML 文件创建在您为集合定义指定的目录中。 XML 文件(参见“所需设置”):

剧本集XML 存储位置

文件名与您在 GUI 中定义的脚本集合名称相同。该 XML 文件包含有关当前定义的集合的所有信息:

剧本集XML 文件

As you haven't specified any commands for your script collection yet, the <Elements> element is still empty.

信息

要创建新的脚本集合,您可以使用 GUI,也可以从头开始创建 XML 文件。结果是相同的。GUI 始终显示 XML 文件中定义的信息。

命令选项#

定义命令时,您可以定义该命令是否可以通过按钮启动。 运行按钮 (即触发模式)或通过拖放操作,图形用户界面中会显示一个手形图标。 手形图标您还可以将命令按钮添加到工具栏。

对于设置为触发模式的命令,您可以定义命令作用域。在命令作用域中,您可以将命令限制为特定的设计元素(例如模块或链接),以便该命令仅应用于这些元素。

要求#

文件要求#

脚本集合由以下文件组成:

  • 定义脚本集合的 XML 文件。该 XML 文件包含集合本身的定义以及集合中包含的命令的定义。
  • 包含实际脚本的 Tcl 或 Python 文件。这些文件必须满足以下要求:
    • 它们是 Tcl 或 Python 脚本。
    • 这些文件仅包含过程。它们不包含在加载脚本文件时执行的任何命令。
    • 为了避免命名冲突,对于一个命令 CMD_NAME请遵循以下命名规则:
      • Command_CMD_NAME
    • 将.tcl或.py文件存储在与集合文件 ( *.xml ) 相同的目录中,或者存储在其子目录中。
  • 可选:用于 VA GUI 上的单个集合或命令图标的 PNG 图标文件。PNG 文件需要满足以下要求:
    • 它们必须包含正方形图像。
    • 最小分辨率为 16 x 16。
    • 将图标文件存储在与集合文件( *.xml )相同的目录或其子目录中。如果您未提供图标文件,则会使用默认图标在 GUI 中表示命令。

信息

正常工作所需的脚本集合的所有文件都是纯文本文件。这允许您将脚本集合定义存储在版本控制系统中。

所需设置#

您可以在 Visual Applets 中指定脚本集合定义文件(XML 文件)的位置。由于您只能为集合脚本文件定义一个存储位置,Basler 建议将所有集合定义 XML 文件存储在同一目录中。

要设置脚本集合目录的路径:

  1. 从“设置”菜单中,选择“系统设置” 。
  2. 选择“路径”选项卡。
  3. Under Script Collection, specify the path to the directory where you store the collection-defining XML files you want to use. The default setting is <VA installation directory>/ScriptCollection:

定义脚本集合目录的路径

对于您通过 GUI 创建的每个脚本集合,一个XML 文件已写入指定目录。如果您添加新的集合描述XML 将文件复制到目录或编辑现有文件XML 文件存储在那里,您可以使更改在文件中可见。 VisualApplets 图形用户界面。无需重新启动即可显示您的更改。 VisualApplets在“脚本集合”窗格中单击鼠标右键,然后选择“重新扫描脚本集合目录” 。

剧本集:重新扫描剧本集目录

通过图形用户界面创建脚本集合#

您可以通过图形用户界面完全定义脚本集合,而无需修改底层代码。 XML 文件。 XML 文件在后台创建和更新。一旦您定义了集合及其包含的命令,该集合就会显示在屏幕上。 VisualApplets 图形用户界面。

创建新的脚本集#

通过图形用户界面创建新的脚本集合:

  1. 右键单击“脚本集合”窗格。
  2. 从上下文菜单中,选择“创建新脚本集合” 。

    创建新的脚本集

    对话框打开。

  3. 输入新脚本集合的名称,然后单击“确定”进行确认。

    输入新脚本集的名称

    新收藏集显示在“脚本收藏集”窗格中:

    创建新的剧本集

向脚本集合中添加命令#

通过图形用户界面向脚本集合添加命令:

  1. 右键单击脚本集合的名称。
  2. 从上下文菜单中,选择“创建元素” 。

    脚本集合:创建元素

    此时会弹出一个对话框,用于描述您要添加的命令。红色高亮显示的字段为必填项:

    脚本集合:编辑脚本命令

  3. 命令名称(必填):请为您的命令指定一个名称。

  4. 版本:您可以提供命令的版本信息。
  5. 描述:描述信息将以工具提示的形式显示。请输入命令将调用的过程的描述。
  6. 图标文件:如果您希望在脚本集合窗格或工具栏中显示特定的命令图标,可以在此处提供图标文件的路径。您可以设置绝对路径,也可以设置相对于集合文件( *.xml )的相对路径。(详情请参阅文件要求)。如果您未选择图标文件,则会使用默认图标在 GUI 中表示您的新命令。
  7. 脚本文件:提供包含要通过命令启动的过程的脚本的路径和名称。您可以定义相对于集合文件( .xml )的路径。或者,您也可以不定义包含命令要调用的过程的脚本文件,而是直接在命令中输入 Tcl 或 Python 过程。每次调用命令时,都会执行直接在命令中定义的 Tcl 或 Python 过程。如果您选择此选项,请将“脚本文件”字段留空,并在“命令调用”字段的“模板”下提供命令所代表的完整 Tcl 或 Python 过程。

    脚本集合:编辑脚本命令

    如果在未选择定义为命令范围的设计元素的情况下尝试执行命令,则会显示“无效范围”消息:

    无效范围

  8. 命令选项:定义命令的启动方式。 VisualApplets 图形用户界面 (GUI)。命令可以通过点击按钮(触发模式)或拖放到设计窗口(拖放模式)来启动。如果使用触发模式,您可以在程序窗口的工具栏中添加一个额外的命令按钮,并定义命令的执行条件(作用域)。

    脚本集合:命令选项

    1. 触发模式:要创建一个点击即可立即运行命令的按钮,请清除“拖放”字段。该命令将显示在“脚本集合”窗格中,并带有“运行”按钮:

      脚本集合:触发模式

      要开始执行该命令,请单击“运行”按钮。

    2. 工具栏选项(仅限触发模式):使命令可在工具栏中使用VisualApplets选中“添加到工具栏”选项;只有在取消选中“拖放”复选框后才能执行此操作。在图形用户界面 (GUI) 中,将为该集合创建一个新的工具栏,并显示命令图标:

      脚本集合:工具栏选项

      点击工具栏中的命令图标与点击“运行”按钮的效果相同。您在“描述”下输入的文本随后会以工具提示的形式显示在工具栏中:

      脚本集合:工具栏

    3. 拖放模式:如果您想通过 GUI 上的拖放操作来启动执行,请选中“拖放”复选框。此时, “操作”列中会显示一个手形图标。

      脚本集合:拖放模式

  9. 定义命令范围(仅在触发模式下可用):如果您想将命令限制在设计中的特定设计元素内,请选中“定义命令范围”复选框。仅当禁用拖放功能时,此选项才可用。

    脚本集合:定义命令范围

    可以使用如下选项:

    • 模块:您必须选择一个模块才能启动此命令。
    • 链接:您必须选择一个链接才能启动此命令。
    • 评论框:您必须选择一个评论框才能启动此命令。
    • SimModule :您必须选择一个仿真模块才能启动此命令。
    • 单选:您必须选择一个设计元素才能启动此命令。选择哪种类型的元素(模块、链接等)无关紧要。
    • 多选:您必须选择两个或多个设计元素才能启动此命令。选择哪种类型的元素(模块、链接等)无关紧要。

    您可以组合使用这些选项:例如,如果您组合使用“模块”和“链接”选项,则只要您选择一个模块或一个链接,命令就会执行。组合使用“单选”和“多选”选项,则可以在选择一个或多个设计元素时启动命令。

    命令的作用域(即 Tcl 过程的作用域)显示在 VA GUI 的“脚本集合”窗格中:

    脚本集合:工具栏

    如果在未选择定义为命令范围的设计元素的情况下尝试执行命令,则会显示“无效范围”消息:

    无效范围

  10. 命令调用:在此处定义命令的调用方式。

    脚本集合:工具栏

    1. 模板:在此处输入命令调用的模板。通常,它以 Tcl 或 Python 过程的名称开头,后跟参数列表。参数以占位符的形式给出,并用百分号 (%) 括起来。对于每个占位符,您需要在下面的列表中定义相应的参数。请遵循 Tcl 或 Python 命令的语法。或者,如果您将上面的“脚本文件”字段留空,则可以在此处输入完整的 Tcl 或 Python 控制台命令行。
    2. 参数在此处定义模板中使用的参数。参数的排列顺序无关紧要。只需确保参数名称与模板中的占位符名称匹配即可。要向命令定义中添加新参数,请单击 加号按钮 加号按钮。
      1. Name:为每个参数提供一个名称。使用在命令调用时承载该值的参数所用的名称。
      2. Type:定义参数的数据类型。您可以定义 string、integer 或 double 类型的参数。
      3. Mode:定义您的参数包含固定值、变量还是放置位置。 dropX 和 dropY 提供在拖放过程中释放鼠标指针时的位置。请注意, dropX 和 dropY 仅在 Drag & Drop 模式下可用。如果您将参数定义为变量,系统将在启动命令时要求您输入该参数的值。
      4. Default:在此处输入默认值。
      5. Min/Max:在此处输入参数的值范围。
      6. Inc:在此处输入值范围内的步长。

示例:

脚本集合:参数

通过以下方式创建脚本集合XML#

您可以完全在 XML 中定义脚本集合,而无需使用 VisualApplets GUI。

为每个脚本集合创建一个 XML 文件。

一旦您定义了集合及其包含的命令, XML 文件中,集合显示在…… VisualApplets 图形用户界面 (GUI)。前提条件:您已指定位置。 XML 系统设置中的文件VisualApplets请参阅“所需设置” 。

脚本集合的结构和内容的所有信息都在一个地方定义。 XML 每个脚本集合包含一个文件。您可以提供多个文件。 XML 文件,每个文件定义一个脚本集合。如果一个XML 定义脚本集合的文件位于您指定的目录中。 VisualApplets 在“设置”->“系统设置”->“路径”->“脚本集合”菜单下,脚本集合将显示在: VisualApplets 脚本集合窗格中的图形用户界面。

示例#

VisualApplets provides the three example script collections DesignTools, LayoutAssist, and TclExamples. You find them as .xml file as well as as .tcl file in the directory <VA installation directory>/Examples/AdvancedVAFunctions/Script Collection.

要在 VisualApplets 的 GUI 中显示示例脚本集合:

  1. 在“设置”->“系统设置”->“路径”中定义示例脚本集合存储的文件夹路径。

    设置示例脚本集合的路径

  2. 在“脚本集合”窗格中单击鼠标右键,然后选择“重新扫描脚本集合目录” 。

    剧本集:重新扫描剧本集目录

    现在,图形用户界面会在“脚本集合”窗格中显示示例脚本集合:

    剧本集: XML 目录

  3. 您现在可以试用 GUI 选项和 XML 文件的内容,以查看您的操作产生的影响。

以下是示例DesignTools.xml文件的内容:

剧本集: XML 文件示例

句法#

XML 文件的语法如下:

剧本集: XML 句法

信息

Make sure you use the same name for the XML file name as in tag <ScriptCollection> of the XML file.

示例:

文件名:

myCollection.xml

XML 文件中的集合名称:

<ScriptCollection name ="myCollection" formatVersion="1.0">.

格式遵循以下约定进行定义:

  • 可选,各个元素包含在方括号 [ ] 中。
  • 允许不存在、出现一次或多次的语法元素包含在花括号 { } 中。
  • 语法 (..|..) 表示可以指定所提供的元素之一。
  • 参数值以斜体大写字母表示。

The Tags <Scope> and <Toolbar>#

<Scope>:

Use the tag <Scope>, if you want to limit the command to a specific design element in the design.

这是一个可选标签,仅当您将命令模式设置为 Trigger. You can define <Scope> multiple times to specify multiple scopes. The tag isn't allowed when Command mode 参数 DragAndDrop.

可以使用如下选项:

  • 模块:您必须选择一个模块才能启动此命令。
  • 链接:您必须选择一个链接才能启动此命令。
  • 评论框:您必须选择一个评论框才能启动此命令。
  • SimModule :您必须选择一个仿真模块才能启动此命令。
  • 单选:您必须选择一个设计元素才能启动此命令。选择哪种类型的元素(模块、链接等)无关紧要。
  • 多选:您必须选择两个或多个设计元素才能启动此命令。选择哪种类型的元素(模块、链接等)无关紧要。

您可以组合使用这些选项:例如,如果您组合使用“模块”和“链接”选项,则只要您选择一个模块或一个链接,命令就会执行。组合使用“单选”和“多选”选项,则可以在选择一个或多个设计元素时启动命令。

如果在未选择定义为命令范围的设计元素的情况下尝试执行命令,则会显示“无效范围”消息:

无效范围

<Toolbar>:

可选标签,仅当您设置 Command mode 变为 Trigger时允许使用。如果包含该标签,则该命令将添加到集合的工具栏中。当出现以下情况时,该标签不允许使用: Command mode 参数 DragAndDrop.

参数#

您必须将以下值写入上图中以斜体字显示的参数中:

  • COL_NAME:脚本集合的名称。
  • COL_PNG_FILE_PATH:脚本集合的图标文件路径(PNG 格式,详情请参阅“文件要求”)。指定相对于以下位置的路径: XML 文件。
  • COL_TOOLTIP_TEXT:显示为描述脚本集合的工具提示的文本。
  • CMD_NAME:命令名称。
  • CMD_TOOLTIP_TEXT:显示为描述命令的工具提示的文本。
  • CMD_VERSION:以 MAJOR.MINOR 格式表示的命令版本(例如 1.0)
  • TCL_FILE_PATH:包含在执行命令时要调用的过程的 Tcl 脚本的路径。指定相对于 XML 文件的路径。
  • CMD_PNG_FILE_PATH:命令的图标文件(PNG 格式,详情请参阅“文件要求”)。指定相对于根目录的路径。 XML 文件。
  • CMD_CALL:Tcl 脚本中由命令调用的过程的名称(或整个 Tcl 过程)。
  • CMD_PARAM:命令调用时将被实际值替换的参数名称(实参)。仅指定以下定义的参数名称。 标签。
  • PAR_NAME:参数名称。
  • PAR_RANGE_FROM:值范围的起点(仅适用于 int 或 double 数据类型)。
  • PAR_RANGE_TO:值范围的终点(仅适用于 int 或 double 数据类型)。
  • PAR_RANGE_INC:值范围内的步长(仅适用于 int 或 double 数据类型)。
  • PAR_VALUE:参数的默认值。

将脚本集合加载到图形用户界面中#

对于您通过 GUI 创建的每个脚本集合,一个XML 文件将写入您在“设置” → “系统设置” → “路径”中指定的目录。如果您添加新的集合描述XML 将文件复制到目录或编辑现有文件XML 文件存储在那里,您可以使更改在文件中可见。 VisualApplets 图形用户界面。无需重新启动即可显示您的更改。 VisualApplets在“脚本集合”窗格中单击鼠标右键,然后选择“重新扫描脚本集合目录” 。

剧本集:重新扫描剧本集目录