Communicator- und Plugin-Einstellungen ändern

In einigen Fällen kann es wünschenswert sein, den Communicator mit bestimmten Einstellungen, z. B. Porteinstellung und Log-Ebene, zu starten oder bestimmte Einstellungen für das Plugin beim Start zu definieren. Die folgenden Abschnitte enthalten eine Übersicht über die verfügbaren Optionen und die verschiedenen Einstellmöglichkeiten.

Grundsätzlich gibt es drei Möglichkeiten, um die gewünschten Einstellungen zu definieren, die jeweils bestimmte Vorteile haben.

Einstellungen in der standardmäßigen .ini-Datei des Communicators (Communicator.ini) definieren

Standardmäßig verwendet der Communicator die in der Standard-Communicator.ini-Datei definierten Einstellungen. Wenn Sie die Einstellung für alle Sitzungen ändern möchten, ohne sie bei jedem Start des Communicators zu definieren, kann es nützlich sein, diese in der Communicator.ini-Datei zu definieren. Weitere Informationen finden Sie auch unter Die .ini-Datei des Communicators.

Einstellungen in einer separaten .ini-Datei definieren

Wenn gleichzeitig mehrere Communicator-Instanzen benötigt werden, können Sie die Einstellungen für jede zusätzliche Instanz in einer eigenen .ini-Datei definieren. Der Communicator kann dann über die Kommandozeile mit der betreffenden .ini-Datei gestartet werden. Verwenden Sie zum Starten des Communicators mit einer anderen .ini-Datei als der standardmäßigen Communicator.ini-Datei den folgenden Befehl.

Kopieren
merlic_communicator.exe --ini <FILE>
Einstellungen beim Starten über die Kommandozeile definieren

Wenn Sie lediglich in der aktuellen Sitzung bestimmte Einstellungen verwenden möchten, können Sie den Communicator über die Kommandozeile starten und die Einstellungen mit den entsprechenden Kommandozeilenoptionen definieren.

Ports definieren

Ports für „Ereignisse“ und Befehle

MERLIC verwendet standardmäßig den Port 21590 für „Ereignisse“ und den Port 21591 für Befehle, z. B. „Aktionen“. Wenn Sie andere Ports verwenden möchten, können Sie diese in der .ini-Datei oder in der Kommandozeile festlegen. Wenn Sie mehrere Communicator-Instanzen und das MERLIC RTE auf demselben System unabhängig voneinander ausführen möchten, müssen Sie jeweils andere Ports definieren.

Die Ports des Communicators und des MERLIC RTEs müssen übereinstimmen, um eine Verbindung herstellen zu können. Wenn Sie die Ports für den Communicator angeben, müssen auch die entsprechenden Ports für das MERLIC RTE festgelegt werden.

Ports in der .ini-Datei definieren

Um die Einrichtung mehrerer Instanzen des MERLIC Communicators zu erleichtern, die auf demselben Computer ausgeführt werden, können die Ports in der .ini-Datei angegeben werden. Definieren Sie die Ports im Abschnitt [Communicator]:

Kopieren
[Communicator]
EventPort=<event port>
CommandPort=<command port>

Wenn Sie die Ports in der standardmäßigen .ini-Datei des Communicators (Communicator.ini) definiert haben, kann der Communicator jetzt über das Windows-Startmenü gestartet werden. Die neuen Einstellungen werden automatisch angewendet. Wenn Sie die Ports in einer anderen .ini-Datei definieren, müssen Sie den Communicator über die Kommandozeile starten und die entsprechende .ini-Datei angeben (siehe Beschreibung im Abschnitt Definieren der Einstellungen in einer separaten .ini-Datei).

Ports über die Kommandozeile definieren

Wenn Sie lediglich für die aktuelle Sitzung des Communicators bestimmte Ports verwenden möchten, können Sie die Ports beim Starten des Communicators mit den folgenden Optionen in der Kommandozeile definieren.

Kommandozeilenoption

Standardwert

Beschreibung

--event_port

21590

Definiert den Port, der für „Ereignisse“ verwendet wird.

--command_port

21591

Definiert den Port, der für Befehle („Aktionen“) verwendet wird.

Kopieren
merlic_communicator.exe --plugin <NAME> --event_port <PORT1> --command_port <PORT2>

Hinter jedem Flag muss eine Portnummer im Bereich 1 bis 65535 angegeben werden. In jedem Fall bleibt der Standardport für Ereignisse der Port 21590 und der Standardport für Befehle der Port 21591.

Ports für die Remote-Konfiguration von Plugins

Standardmäßig verwendet MERLIC vorübergehende Ports für die Konfigurationsdienste für Communicator-Plugins, wenn eine Verbindung zu einem MERLIC RTE Setup auf einem Remote-System zum Konfigurieren von Communicator-Plugins hergestellt wird. Wenn Sie stattdessen feste Ports verwenden möchten, können Sie die Ports mit der Kommandozeilenoption „--plugin_config_ports“ oder über die Eigenschaft „PluginConfigurationPorts“ in der .ini-Datei festlegen.

Sie müssen drei Ports angeben, damit die Remote-Konfiguration ordnungsgemäß funktioniert, z. B. „10123;10124;10125“. Sie können Ports im Bereich von 1024 bis 65535 verwenden. Wenn Sie feste Ports festlegen, müssen Sie sicherstellen, dass die folgenden Bedingungen erfüllt sind:

  • Die angegebenen Ports müssen frei sein. Andernfalls wird der Communicator nicht gestartet, sodass kein Zugriff auf die Konfiguration im MERLIC RTE Setup möglich ist.
  • Die angegebenen Ports dürfen sich nicht mit den Ports überlappen, die für die Eigenschaft „ImageSourceConfigurationPorts“ im [General]-Abschnitt der MERLIC5.ini-Datei festgelegt sind. Andernfalls können die Konfigurationsdienste nicht gleichzeitig verwendet werden.
Ports in der .ini-Datei definieren

Um die Ports über die .ini-Datei anzugeben, öffnen Sie die .ini-Datei, die Sie verwenden möchten, und fügen Sie die Ports zum [Communicator]-Abschnitt hinzu.

Kopieren
PluginConfigurationPorts=<PORT1;PORT2;PORT3>

Wenn Sie Porteinstellungen in der standardmäßigen .ini-Datei von MERLIC (d. h. in MERLIC5.ini) angegeben haben, werden die Ports beim Starten des Communicators automatisch verwendet. Wenn Sie die Ports in einer anderen .ini-Datei definiert haben, müssen Sie den Communicator mit der entsprechenden .ini-Datei starten, indem Sie den Communicator über die Kommandozeile starten und die entsprechende .ini-Datei angeben (siehe Beschreibung unter Einstellungen in einer separaten .ini-Datei definieren).

Ports über die Kommandozeile definieren

Verwenden Sie die Kommandozeilenoption „--plugin_config_ports“, um die Ports anzugeben.

Kopieren
merlic_communicator.exe --plugin_config_ports <PORT1;PORT2;PORT3>

Wenn die Kommandozeilenoption „--plugin_config_ports“ oder die Konfigurationseigenschaft „PluginConfigurationPorts“ in der .ini-Datei zum Definieren von festen Ports verwendet wird, kann nur eine Communicator-Instanz gestartet werden.

Log-Ebene definieren

Die Log-Ebene des Communicators und eines Communicator-Plugins können einzeln festgelegt werden. Die Plugins verwenden standardmäßig die gleiche Log-Ebene wie der Communicator. Wenn Sie eine andere Log-Ebene für ein Plugin verwenden möchten, können Sie dies beim Starten des Plugins definieren. Die Log-Ebene des Communicators ist standardmäßig „info“. Diese globale Log-Ebene wird standardmäßig auch für Communicator-Plugins verwendet.

Globale Log-Ebene in der .ini-Datei definieren

Um die globale Log-Ebene für den Communicator in der .ini-Datei festzulegen, fügen Sie die gewünschte Log-Ebene wie unten gezeigt zum Abschnitt [Logging] hinzu:

Kopieren
[Logging]
Threshold=<LOG_LEVEL>

Wenn Sie die Log-Ebene in der standardmäßigen .ini-Datei des Communicators (Communicator.ini) definiert haben, kann der Communicator jetzt über das Windows-Startmenü gestartet werden. Die neuen Einstellungen werden automatisch angewendet. Wenn Sie die Log-Ebene in einer anderen .ini-Datei definieren, müssen Sie den Communicator über die Kommandozeile starten und die entsprechende .ini-Datei angeben (siehe Beschreibung im Abschnitt Definieren der Einstellungen in einer separaten .ini-Datei).

Globale Log-Ebene über die Kommandozeile definieren

Um lediglich für die aktuelle Sitzung eine globale Log-Ebene für den Communicator und die Plugins zu definieren, können Sie den Communicator über die Kommandozeile starten und die Log-Ebene direkt hinter der ausführbaren Datei mit der Kommandozeilenoption „--log-level“ oder „-d“ angeben. Im folgenden Beispiel wird die globale Log-Ebene auf „error“ festgelegt.

Kopieren
merlic_communicator.exe --log-level error
Eine Plugin-spezifische Log-Ebene definieren

Um für ein Plugin eine andere Log-Ebene als die in der globalen Einstellung zu definieren, müssen Sie das Plugin über die Kommandozeile starten und die Log-Ebene direkt hinter dem Namen des Plugins mit der Kommandozeilenoption „--log-level“ oder „-d“ angeben. Im folgenden Beispiel wird die globale Log-Ebene auf „debug“ festgelegt. Die Log-Ebene des Plugins „event-logger“ wird jedoch auf „error“ festgelegt. Das Plugin „action-sender“ verwendet die globale Log-Ebene „debug“, weil für dieses Plugin keine Log-Ebene festgelegt wurde.

Kopieren
merlic_communicator.exe --log-level debug --plugin event-logger d:error --plugin action-sender
Ein Plugin mit der Log-Ebene „debug“ im MERLIC RTE Setup starten

Wenn Sie die Log-Ebene „debug“ für ein Plugin verwenden möchten, können Sie die grafische Benutzeroberfläche des MERLIC RTE Setups verwenden. Beim Hinzufügen einer neuen Instanz des Plugins über die Schaltfläche „Plugin-Instanz hinzufügen“ auf der Registerkarte „Kommunikation“ des MERLIC RTE Setups können Sie die ALT-Taste drücken, während Sie das Plugin auswählen. Das Plugin wird dann mit der Log-Ebene „debug“ gestartet.

Zugriffsebene eines Plugins definieren

Standardmäßig entspricht die Zugriffsebene eines Plugins der Berechtigung, die in der Implementierung des Plugins in der MVInfo-Funktion festgelegt wurde. Wenn die Berechtigung eMVCapabilities_MonitorAndControl („monitor and control“) für ein Plugin festgelegt wurde, haben Sie die Möglichkeit, die Zugriffsebene des Plugins auf „monitor“ oder „control“ festzulegen. Dazu müssen Sie das Plugin in der Kommandozeile mit der Kommandozeilenoption „a“ starten. Im folgenden Beispiel wird die Zugriffsebene des OPC UA server-Plugins auf „control“ festgelegt.

Kopieren
merlic_communicator.exe --plugin MQTT a:monitor

Plugin-Verzeichnis ändern

Das Plugin-Verzeichnis ist der Speicherort, auf den sich alle relativen Plugins beziehen. Das heißt: Wenn ein Plugin nur mit dem Namen und ohne den absoluten Pfad in der Kommandozeilenoption „--plugin“ angegeben wird, wird erwartet, dass das Plugin im Plugin-Verzeichnis gespeichert ist.

Standardmäßig ist das Plugin-Verzeichnis das Verzeichnis, in dem sich die ausführbare MERLIC Communicator-Datei befindet, z. B. in „%PROGRAMFILES%\MVTec\MERLIC-5.6“. In der .ini-Datei oder über das Kommandozeilenargument „--plugin_dir“ können Sie das Plugin-Verzeichnis ändern oder mehrere Plugin-Verzeichnisse definieren (siehe folgendes Beispiel).

Plugin-Verzeichnis in der .ini-Datei ändern

Um das Plugin-Verzeichnis in der .ini-Datei zu ändern, fügen Sie den Pfad zum Speicherort wie im folgenden Beispiel gezeigt zum Abschnitt [Communicator] hinzu:

Kopieren
[Communicator]
PluginDir=C:/communicator/plugins

Wenn Sie das Verzeichnis in der standardmäßigen .ini-Datei des Communicators (Communicator.ini) definiert haben, kann der Communicator jetzt über das Windows-Startmenü gestartet werden. Die neuen Einstellungen werden automatisch angewendet. Wenn Sie das Verzeichnis in einer anderen .ini-Datei definieren, müssen Sie den Communicator über die Kommandozeile starten und die entsprechende .ini-Datei angeben (siehe Beschreibung im Abschnitt Definieren der Einstellungen in einer separaten .ini-Datei).

Plugin-Verzeichnis über die Kommandozeile ändern

Sie können das Plugin-Verzeichnis wie im folgenden Beispiel gezeigt mit dem Kommandozeilenargument „--plugin_dir“ ändern.

Kopieren
merlic_communicator.exe --plugin_dir C:/communicator/plugins
Mehrere Plugin-Verzeichnisse definieren

Sie können auch mehrere Plugin-Verzeichnisse definieren, beispielsweise wenn die Plugin-Bibliothek im jeweiligen Build-Ausgabeverzeichnis bleiben und die Datei nicht in ein anderes Plugin-Verzeichnis kopiert werden soll. Auf diese Weise können Sie Communicator-Plugins in verschiedenen Verzeichnissen in derselben Communicator-Instanz verwenden. In allen angegebenen Plugin-Verzeichnissen werden dann Plugin-Bibliotheken mit dem erforderlichen Präfix „pmV“ für Communicator-Plugins gesucht. Im MERLIC RTE Setup wird eine Liste aller Communicator-Plugins angezeigt, die in den angegebenen Verzeichnissen gefunden wurden.

Um zusätzliche Plugin-Verzeichnisse zu definieren, können Sie die jeweiligen Pfade als Liste mit Semikolons als Trennzeichen angeben.

Das folgende Beispiel veranschaulicht, wie mehrere Plugin-Verzeichnisse in der .ini-Datei definiert werden. Bei dieser Beispielkonfiguration werden Communicator-Plugins im Verzeichnis „C:/communicator/plugins“ sowie im Standardverzeichnis für Plugins gesucht. Sie können mehrere Plugin-Verzeichnisse auch über die Kommandozeile in einer Liste mit Semikolons als Trennzeichen definieren.

Kopieren
[Communicator]
PluginDir=C:/communicator/plugins;C:/Program Files/MVTec/MERLIC 5/bin/x64-win64

Um eines der im Lieferumfang von MERLIC vorhandenen Communicator-Plugins, z. B. MQTT, und ein eigenes Communicator-Plugin in derselben Communicator-Instanz zu verwenden, müssen Sie das Standardverzeichnis für Plugins zusätzlich zu dem Verzeichnis angeben, in dem Ihr Communicator-Plugin gespeichert ist (z. B. das jeweilige Build-Ausgabeverzeichnis).

Wenn ein Plugin mit demselben Namen in zwei oder mehr der angegebenen Plugin-Verzeichnisse vorhanden ist, wird es nur einmal aufgelistet. Wird dieses Plugin zum MERLIC RTE Setup hinzugefügt, wird die Version in dem Verzeichnis verwendet, das in der Liste der Plugin-Verzeichnisse zuerst aufgeführt ist.

Konfigurationsverzeichnis der Plugins ändern

Das Standardkonfigurationsverzeichnis ist der Standardkonfigurationsspeicherort Ihres Systems, z. B. „%AppData%/MVTec/Communicator/conf“ unter Windows.

Dort befinden sich die JSON-Konfigurationsdateien für Ihre Plugins. Wenn kein Konfigurationsverzeichnis am erwarteten Speicherort vorhanden ist, wird es beim Starten des Communicators automatisch erstellt. Sie können einen anderen Speicherort auswählen, beispielsweise wenn kein Schreibzugriff auf das Standardkonfigurationsverzeichnis besteht.

Sie können das Konfigurationsverzeichnis in der.ini-Datei oder über das Kommandozeilenargument „--config_dir“ ändern.

Konfigurationsverzeichnis in der .ini-Datei ändern

Um das Konfigurationsverzeichnis in der .ini-Datei zu ändern, fügen Sie den Pfad zum Speicherort wie im folgenden Beispiel gezeigt zum Abschnitt [Communicator] hinzu:

Kopieren
[Communicator]
ConfigDir=D:/communicator/plugin_configuration
Konfigurationsverzeichnis über die Kommandozeile ändern

Um das Konfigurationsverzeichnis lediglich für die aktuelle Sitzung zu ändern, können Sie den Communicator in der Kommandozeile starten und den gewünschten Speicherort mit der Kommandozeilenoption „--config_dir“ angeben (siehe folgendes Beispiel).

Kopieren
merlic_communicator.exe --config_dir D:/communicator/plugin_configurations

Wenn Sie das Verzeichnis in der standardmäßigen .ini-Datei des Communicators (Communicator.ini) definiert haben, kann der Communicator jetzt über das Windows-Startmenü gestartet werden. Die neuen Einstellungen werden automatisch angewendet. Wenn Sie das Verzeichnis in einer anderen .ini-Datei definieren, müssen Sie den Communicator über die Kommandozeile starten und die entsprechende .ini-Datei angeben (siehe Beschreibung im Abschnitt Definieren der Einstellungen in einer separaten .ini-Datei).

Weitere Informationen zum Erstellen von Konfigurationen finden Sie auf der Seite Life Cycle of a Plug-in Instance in der Referenzdokumentation der Communicator-API.

Die Communicator-Plugins können vom Benutzer konfiguriert werden. Es wird jedoch empfohlen, Konfigurationsdateien nur dann manuell anzupassen, wenn dies unbedingt notwendig ist, da durch die MVExpose-Funktion Informationen überschrieben werden können.