action-sender

Dieses Beispiel-Plugin kann zum Senden von Aktionen an MERLIC verwendet werden. Das Plugin öffnet ein Socket an Port 65432 und wartet auf den Eingang von 6 Byte großen Nachrichten in einem sehr einfachen Protokoll:

  • Magische Zahl „\x42“ (1 Byte)
  • Codierung des Aktionstyps (1 Byte)
  • Aktionsspezifische Nutzlast (4 Bytes): eine vorzeichenlose 32-Bit-Ganzzahl für die Modus-ID für „SelectMode“ oder eine vorzeichenbehaftete 32-Bit-Ganzzahl für eine Rezept-ID.

Diese Nachrichten können mit dem Python-Skript „comm-send.py“ in das Socket geschrieben werden.

Geben Sie „comm-send.py --help“ ein, um Informationen zur Syntax anzuzeigen.

Wenn das Plugin „action-sender“ eine Nachricht empfängt, die einer Aktion entspricht, wird die Aktion in die MERLIC RTE-Warteschlange gestellt. Eine mit „comm-send.py GetRecipeList“ gesendete Nachricht fragt stattdessen die Liste der verfügbaren Rezepte ab und gibt sie an der Kommandozeile aus.

Da das Plugin „action-sender“ keine Ereignisse empfängt, werden dessen Berechtigungen als eMVCapabilities_Control angegeben. Es kann über die MERLIC RTE Setup-Registerkarte „Kommunikation“ gestartet werden.

Das Plugin „action-sender“ verwendet die Boost.ASIO-Bibliothek für die portable Vernetzung. Um dieses Plugin erstellen und verwenden zu können, muss Boost 1.73 oder höher installiert sein. Darüber hinaus ist mindestens Python 3.7 oder höher erforderlich, um dieses Plugin verwenden zu können.

Zusätzlich zu den Ports, die von MERLIC verwendet werden, ermöglicht das Plugin „action-sender“ die Konfiguration eines Ports im dynamischen Portbereich von 49152 bis 65535. Der Standardport ist 65432. Weitere Informationen finden Sie unter Zusätzliche Einstellungen für Kommunikations-Plugins.