通信プラグインの追加の設定

MERLIC には、通信プラグイン用の追加の設定項目がいくつかあります。その中には、リモートシステムで通信プラグインを構成する場合や、独自に実装したカスタム通信プラグインを使用する場合に必須の設定項目もあります。

これらの設定項目はいずれも、MERLIC 構成ファイル、つまり INI ファイルで調整できます。設定の変更には、デフォルトの「MERLIC5.ini」ファイル、または別の INI ファイルを使用します。ユースケースごとに別々の構成をセットアップしたい場合は、複数の INI ファイルを作成して保持できます。「MERLIC5.ini」の定義とは別の構成を適用するには、目的の INI ファイルを使用して MERLIC RTE を起動します。新しい INI ファイルを作成する方法や、特定の INI ファイルを使用して MERLIC RTE を起動する方法については、「複数の MERLIC RTE インスタンスの使用」を参照してください。

定義できる追加の設定項目は次のとおりです。

プラグインのリモート構成用のポート

MERLIC RTE Setup をリモートシステムに接続して通信プラグインを構成するときに、MERLIC は「通信」タブの構成サービスに一時ポートを使用します。

代わりに固定ポートを使用したい場合は、INI 構成ファイルかコマンドラインで目的のポートを指定できます。リモート構成が正しく動作するためには、「10123;10124;10125」のように 3 つのポートを指定する必要があります。使用できるのは、1024~65535 の範囲のポートです。

固定ポートを定義する場合は、以下の条件が満たされていることを確認する必要があります。

  • 指定したポートが空いていること。空いていない場合は MERLIC RTE が起動せず、MERLIC RTE Setup の構成にアクセスできません。
  • 指定したポートが、INI 構成ファイルの [General] セクションにある構成プロパティ「ImageSourceConfigurationPorts」で定義されているポートと重複しないこと。重複している場合、構成サービスは同時に動作できません。

コマンドラインオプション「--plugin_config_ports」、または INI ファイルの構成プロパティ「PluginConfigurationPorts」を使用して固定ポートを定義する場合、MERLIC RTE のインスタンスは 1 つしか起動できません。

INI ファイルでポートを定義する

通信プラグインのリモート構成用のポート設定は、INI ファイルの [Communicator] セクションで構成できます。

  1. 使用する INI ファイルを開きます。
  2. その INI ファイルに [Communicator] セクションがあるかどうかを確認します。ない場合は、見出し [Communicator] を記述することでセクションを追加します。
  3. 次のように、[Communicator] セクションにポートを追加します。ポート番号は 1024 ~ 65535 の範囲で設定できます。
    コピー
    [Communicator]
    PluginConfigurationPorts=<PORT1;PORT2;PORT3>

MERLIC RTE は起動時に、それぞれの INI ファイルで構成されているポートを使用します。デフォルトの INI ファイル「MERLIC5.ini」でポート設定を構成した場合、INI ファイルを指定せずに MERLIC RTE を起動したときには、そのポートが自動的に使用されます。別の INI ファイルでポートを構成した場合は、MERLIC RTE を起動するときに、目的の INI ファイルを指定する必要があります。それには、コマンドラインオプション「--ini」を使用する必要があります。詳細については、「複数の MERLIC RTE インスタンスの使用」を参照してください。

INI ファイルで構成可能な設定の詳細については、「MERLIC INI ファイル」を参照してください。

コマンドラインを使用してポートを定義する

MERLIC RTE の現在のセッションにのみ適用するポートを設定する場合は、MERLIC RTE の起動時にコマンドラインでポートを定義することができます。

  1. コマンドプロンプトを開き、MERLIC インストールパス内の「bin\x64-win64」ディレクトリに変更します ("%PROGRAMFILES%\MVTec\MERLIC-5.7\bin\x64-win64" など)。
  2. MERLIC RTE を起動し、コマンドラインオプション「--plugin_config_ports」を使用して、ポートを定義します。
    コピー
    merlic_rte.exe --plugin_config_ports <PORT1;PORT2;PORT3>

    フラグの後には、それぞれ 1024 ~ 65535 の範囲のポート番号を指定します。

通信プラグインの場所

独自の通信プラグインを実装した場合、MERLIC RTE 用のそれぞれのプラグインファイルの場所を指定することが必要になる場合があります。デフォルトでは、MERLIC が検索するディレクトリは、MERLIC の実行ファイルが配置されている場所 (たとえば「%PROGRAMFILES%\MVTec\MERLIC-5.7\bin\x64-win64」)です。MERLIC が提供する通信プラグインはこのディレクトリに配置されています。独自の通信プラグインを実装し、そのライブラリを別の場所に配置した場合には、MERLIC RTE 用のカスタムプラグインの場所を指定する必要があります。そうしないと、通信プラグインが見つからず、MERLIC RTE Setup で使用できません。

プラグインディレクトリに新しい場所や別の場所を追加する必要がある場合は、MERLIC が提供する通信プラグインのデフォルトの場所を含め、通信プラグインが配置されているすべてのディレクトリを指定してください。

プラグインディレクトリのリストは INI 構成ファイルで構成できます。そうすれば、同じ MERLIC RTE インスタンスで異なるディレクトリの通信プラグインを使用できます。指定したすべてのプラグインディレクトリで、通信プラグインを表す「pmV」という接頭辞を持つプラグインライブラリが検索されます。MERLIC RTE Setup に、指定したディレクトリで見つかったすべての通信プラグインのリストが表示されます。

INI ファイルでプラグインディレクトリを定義する

プラグインディレクトリは、INI ファイルの「[Communicator]」セクションで構成できます。

  1. 使用する INI ファイルを開きます。
  2. その INI ファイルに [Communicator] セクションがあるかどうかを確認します。ない場合は、見出し [Communicator] を記述することでセクションを追加します。
  3. [Communicator] セクションにプラグインディレクトリを追加するには、下の例のように、プロパティ「PluginDir」を使用します。指定する項目はセミコロン区切りのリストとして記述します。
    コピー
    [Communicator]
    PluginDir=C:/communicator/plugins;C:/Program Files/MVTec/MERLIC-5.7/bin/x64-win64

そうすれば、同じ MERLIC RTE インスタンスで異なるディレクトリの通信プラグインを使用できます。指定したすべてのプラグインディレクトリで、通信プラグインを表す「pmV」という接頭辞を持つプラグインライブラリが検索されます。MERLIC RTE Setup の「通信」タブに、指定したディレクトリで見つかったすべての通信プラグインのリストが表示されます。指定した複数のプラグインディレクトリに同じ名前のプラグインがある場合は、1 回だけ表示されます。このプラグインを MERLIC RTE Setup に追加する場合、プラグインディレクトリのリストで最初に表示されたディレクトリにあるバージョンが使用されます。

デフォルトの INI ファイル「MERLIC5.ini」でプラグインディレクトリを構成した場合、MERLIC は、指定されたプラグインディレクトリを MERLIC RTE の起動時に自動で検索し、見つかったすべてのプラグインが MERLIC RTE Setup で使用可能になります。別の INI ファイルでディレクトリを構成した場合は、MERLIC RTE にそれぞれの INI ファイルの構成を必ず反映しなくてはなりません。それには、MERLIC RTE の起動時に目的の INI ファイルをコマンドラインオプション「--ini」で指定する必要があります。詳細については、「複数の MERLIC RTE インスタンスの使用」を参照してください。

通信プラグインの構成ディレクトリ

MERLIC では、通信プラグイン用の JSON 構成ファイルの場所を変更できます。デフォルトでは、プラグイン構成ファイルは、Windows システムの場合は「%AppData%\MVTec\Communicator\conf\」、Linux システムの場合は「~/.config/MVTec/Communicator/conf」にあります。

デフォルトディレクトリへの書き込みアクセス権がないなどの理由で構成ディレクトリを変更したい場合は、目的の場所を INI 構成ファイルで指定できます。

INI ファイルで構成ディレクトリを変更する

  1. 使用する INI ファイルを開きます。
  2. その INI ファイルに [Communicator] セクションがあるかどうかを確認します。ない場合は、見出し [Communicator] を記述することでセクションを追加します。
  3. [Communicator] セクションで構成ディレクトリを定義するには、下の例のように、プロパティ「ConfigDir」を使用します。
    コピー
    [Communicator]
    ConfigDir=D:/merlic/plugin_configuration

指定した構成ディレクトリが存在しない場合は、MERLIC RTE の起動時に自動で作成されます。

デフォルトの INI ファイル「MERLIC5.ini」で場所を構成した場合、MERLIC RTE の起動時に変更内容が自動で適用されます。通信プラグインのそれぞれの構成ファイルは、定義されたディレクトリに自動で配置されます。別の INI ファイルで場所を構成した場合は、MERLIC RTE にそれぞれの INI ファイルの構成を必ず反映しなくてはなりません。それには、MERLIC RTE の起動時に目的の INI ファイルをコマンドラインオプション「--ini」で指定する必要があります。詳細については、「複数の MERLIC RTE インスタンスの使用」を参照してください。

通信プラグインの構成ファイルはユーザーが構成できます。ただし、「MVExpose」関数によって情報が上書きされる場合があるため、これらのファイルを手動で修正するのは、必要な場合のみにとどめることをお勧めします。