Remote Control Properties

Was ist „Remote Control“?

„Remote Control“ ermöglicht es, eine PLCVisu-Oberflächenkomponente extern durch eine SPS (z. B. via CODESYS) zu steuern. Anstatt den Wert aus der Benutzereingabe zu übernehmen, zeigt die Komponente den Wert an, der aus einer angebundenen SPS-Struktur übermittelt wird.

Wenn aktiv:

  • Die Komponente bleibt im UI sichtbar und bedienbar.

  • Der tatsächlich verwendete Wert stammt jedoch aus der SPS, nicht vom Benutzer.

  • Die Komponente verhält sich somit wie „ferngesteuert“ – die SPS gibt den Zustand vor.

Praxisbeispiel: Input Select 2

Wir nehmen Input Select 2 als konkretes Beispiel.

Zugehörige CODESYS-Struktur:
TYPE sInputSelect :
STRUCT
  value    : DINT;
  options  : ARRAY[1..4] OF PLCVisu.selectOptionsStruct;
END_STRUCT
Beispielhafte Zuweisung in CODESYS:
Select1.value := 2;

Select1.options[1].id := '1';
Select1.options[1].visible := TRUE;
Select1.options[1].text := 'Option1';

Select1.options[2].id := '2';
Select1.options[2].visible := TRUE;
Select1.options[2].text := 'Option2';

Was passiert im UI?

Wenn Remote Control aktiviert ist und Select1.value := 2,
wird im UI Option2 als ausgewählt angezeigt.
Der SPS-Wert überschreibt jede Benutzerauswahl im UI.

Wenn Remote Control deaktiviert ist,
verwendet das UI den zuletzt gewählten oder statisch konfigurierten Wert.
Es erfolgt keine Kommunikation mit der SPS.

Übersicht: Zentrale Verhaltensregeln

Verhalten Beschreibung
Steuerquelle Der Wert kommt immer aus der SPS, wenn Remote Control aktiv ist
Benutzereingabe Sichtbar, aber wird von SPS-Wert überschrieben
Datenrichtung Nur SPS → UI. Das UI schreibt nicht zurück in die Struktur
Optionsbegrenzung Beispiel zeigt 4 Optionen (ARRAY[1..4]), aber dies ist nicht limitiert
Fallback bei .text Ist .text nicht gesetzt, ist das Anzeigeverhalten derzeit nicht definiert (TBD)
.text
ARRAY[1..4]
Select1.value := 2; Select1.options[1].id := '1'; Select1.options[1].visible := TRUE; Select1.options[1].text := 'Option1'; Select1.options[2].id := '2'; Select1.options[2].visible := TRUE; Select1.options[2].text := 'Option2';
TYPE sInputSelect : STRUCT value : DINT; options : ARRAY[1..4] OF PLCVisu.selectOptionsStruct; END_STRUCT