Communicator .ini 文件

本主题介绍如何使用 Communicator 配置文件来配置 Communicator 的其他实例的日志记录和端口设置。

仅当您希望能够在 MERLIC 流程集成模式下手动启动其他 Communicator 实例,而不必每次都手动将所需的命令行参数添加到“merlic_rte.exe”时,才应该使用此配置文件。

通常建议仅使用 MERLIC RTE Setup 中配置的插件启动一个 Communicator 实例。在这种情况下,可以将 [Communicator] 部分添加到配合“merlic_rte.exe”使用的 MERLIC .ini 文件(默认为“MERLIC5.ini”),而不是在命令行中定义端口。

请参阅 MERLIC 手册的 .ini 主题中的 Communicator 部分,了解更多信息。

创建 Communicator.ini 文件

必须手动创建和编辑 Communicator 配置文件,因为 Communicator 不会更改或保存任何设置。因此,“Communicator.ini”文件不会自动创建。但是,Communicator 会在启动期间加载默认目录中名为“Communicator.ini”的现有文件(如果存在)。以“#”开头的行将被 MERLIC Communicator 忽略,它们可以用作注释。

有关默认目录的更多信息,请参阅位置部分。

有关如何使用自定义 .ini 文件(即具有不同的名称或存储在不同的位置)启动 MERLIC Communicator 的更多信息,请参阅 定义其他 .ini 文件 部分。

一般信息

位置

Communicator.ini”文件的默认目录为“C:\Users\<username>\AppData\Roaming\MVTec”,即与启动 MERLIC 所用的 .ini 文件的目录相同。您还可以将 %APPDATA%\MVTec 输入您的文件资源管理器,以访问该目录。

定义其他 .ini 文件

可以通过命令行使用存储在不同位置或具有不同名称的 .ini 文件启动 MERLIC Communicator

  1. 打开命令提示符窗口,切换到 MERLIC 安装路径(如 "%PROGRAMFILES%\MVTec\MERLIC-5.6\bin\x64-win64")中的“bin\x64-win64”目录。
  2. 输入如下命令,以使用其他 .ini 文件启动 Communicator
    复制
    merlic_communicator.exe --ini <FILE>

覆盖 .ini 文件中的属性

如果通过命令行启动 MERLIC Communicator,则可以覆盖 .ini 文件的某些属性。您可以使用可用的命令行选项定义当前会话的特定设置。命令行中指定的选项将覆盖为“Communicator.ini”和“MERLIC5.ini”文件中的各个属性设置的值。这同样适用于 .ini 文件中为 MERLIC 定义的属性,即默认为“MERLIC5.ini”。如果使用“Communicator.ini”,“Communicator.ini”文件中的各个属性将覆盖默认“MERLIC5.ini”文件的配置。

结构和编码

.ini 文件分为不同的部分,其中包含各个组件的设置。所有部分均为可选,即无论是全部包含、包含任一部分还是均不包含,Communicator 都可以启动。在 .ini 文件中,各部分的名称用方括号 [] 指定。编辑 .ini 文件时,您可以在现有部分上方或下方按需添加新的部分。

.ini 文件在所有平台上都需要使用 UTF-8 字符编码。在 Communicator.ini 文件中,可以使用正斜杠“/”和反斜杠“\”作为路径分隔符。以“#”开头的行会被 MERLIC 忽略。

部分

您可以在下面找到有关“Communicator.ini”文件中可用部分和属性的详细信息。目前,您可以在以下部分中定义属性:

所有部分均为可选,即无论是全部包含、包含任一部分还是均不包含,Communicator 都可以启动。

[Communicator]

此部分包含有关 CommunicatorMERLIC 之间的通讯以及目录设置的属性。

属性

默认

描述

对应的命令行参数

CommandPort

21591

此属性定义 MERLIC CommunicatorMERLIC 在流程集成模式下进行通讯时应使用的命令端口。

--command_port

CommandTimeout

5000 [ms]

此属性以毫秒为单位定义插件发送的命令在 Communicator 未响应情况下的超时时间。

--command_timeout

ConfigDir

%APPDATA%/MVTec/Communicator/conf

此属性定义插件配置文件所在的目录。

--config_dir

EventPort

21590

此属性定义 MERLIC CommunicatorMERLIC 在流程集成模式下进行通讯时应使用的事件端口。

--event_port

PluginConfigurationPorts

在远程系统上使用 MERLIC RTE Setup 时,此属性将为 Communicator 插件的配置服务定义固定端口。您必须指定三个端口以确保远程配置正常工作,例如“10123;10124;10125”。您可以使用操作系统中 1024 到 65535 范围内的端口。如果使用此属性设置端口,则必须满足以下条件:

  • 指定的端口必须可用。否则,Communicator 将不会启动,并且无法访问 MERLIC RTE Setup 中的配置。
  • 指定的端口不应与“MERLIC5.ini”文件的 [General] 部分中为“ImageSourceConfigurationPorts”属性定义的端口重叠。否则,配置服务无法同时工作。

如果使用此属性定义固定端口,则只能启动 MERLIC Communicator 的一个实例。

--plugin_config_ports

PluginDir

如果以管理员权限安装 MERLIC

%PROGRAMFILES%\MVTec\MERLIC-5.6

如果没有以管理员权限安装 MERLIC

%LOCALAPPDATA%\Programs\MVTec\MERLIC-5.6

此属性定义查找插件的目录。还可以将多个插件目录定义为以分号分隔的列表。请参阅更改 Communicator 和插件设置主题中的更改插件目录部分,了解更多信息。

--plugin_dir

[Logging]

此部分包含有关 Communicator 生成的日志文件的各种参数属性,包括命名约定、路径、大小和数量以及消息阈值等。

属性

默认

描述

LogFilePath

%LOCALAPPDATA%\MVTec\MERLIC\

此属性定义日志文件存储目录的路径。

您可以在 MERLIC .ini 文件的文件路径中使用斜杠 (/)、反斜杠 (\) 或双反斜杠 (\\)。但是,MERLIC 将会在内部使用斜杠 (/) 存储路径。

LogFileSizeInBytes

10 485 760 (= 10 MB)

此属性定义日志文件的最大大小(以字节为单位)。当达到日志文件的最大大小且属性 “LogFilesCount” > 1 时,MERLIC 会开始将新消息记录到新文件中。当达到允许的最大日志文件数时,MERLIC 将开始覆盖最早的消息。

最小值:1 048 576 = 1 MB

LogFilesCount

10

此属性定义日志文件目录中保留的最大日志文件数量。如果所有日志文件的大小均达到最大值,则 MERLIC 将删除最早的日志文件。

Threshold

info

此属性定义所使用的日志等级。通常情况下,记录指定等级的消息时,更严格等级的所有消息也将被记录。可用的日志等级如下:

  • none:不记录消息。
  • critical:严重程度为“critical”的消息包含有关导致 MERLIC 崩溃的错误的信息。
  • error:严重程度为“error”的消息包含有关错误的信息,例如,MERLIC 工具的错误。选择此日志等级时,还将记录严重程度为“critical”的消息。
  • warning:严重程度为“warning”的消息包含指示出现问题的信息,例如,MERLIC 工具出现问题。选择此日志等级时,还将记录严重程度为“critical”和“error”的消息。
  • info:严重程度为“info”的消息包含一般非关键信息。选择此日志等级时,还将记录严重程度为“critical”、“error”和“warning”的消息。
  • trace:严重程度为“trace”的消息包含可能有助于理解警告或错误消息情况的详细信息。选择此日志等级时,还将记录严重程度为“critical”、“error”、“warning”和“info”的消息。

生成的日志文件采用以下命名约定:“merlic_communicator_<YYYY-MM-DD>_<hh-mm-ss>_<ProcessID>_<Counter>.log”。

占位符:

描述

YYYY

MM

DD

hh

小时

mm

ss

ProcessID

相应 Communicator 实例的 Windows 进程 ID

Counter

日志文件计数器。当 Communicator 开始记录到新的日志文件,即当日志文件超出在“LogFileSizeInBytes”中设置的最大大小时,计数就会增加。每次启动 Communicator 时,计数器重置为 0。