WinCC Unified Einheit an Faceplate per Schnittstelle übergeben

Ich würde für die Einheiten ein extra E/A-Feld anlegen, eine Textliste erstellen und dann eine Variable übergeben.
0: nix
1: °C
2: K
...
Dann kannst du es entweder direkt im HMI konfigurieren oder aus der SPS übergeben.
 
ich habe in einem Faceplate ein E/A-Feld. Diesem möchte ich per "Eigenschaften Schnittstelle" eine Einheit anhängen. %, °C, bar, etc. Wie bekommt man das hin?
Du packst am besten den Ausgabeformat komplett auf die Eigenschaften-Schnittstelle.
  • Du legst in der Eigenschaften-Schnittstelle einen Parameter mit Konfigurationsstring an.
    Wenn du in der F1-Hilfe unter "IOField.OutputFormat" nachschaust wird der Datentyp dieses Parameters als String angegeben.
  • Gibst am IoField am Ausgabeformat bei Dynamisierung "Eigenschaften Schnittstelle", sowie im betreffenden Menü den dafür angelegten Parameter an
  • fertig
Damit kannst du dann von außen den Ausgabeformat angeben, wie bei einem normalen IoField.
Beispielsweise "{I} °C" für eine Ganzahl-Temperatur in Celsius.
Am "Statischen Wert" des IoField-Parameters kannst du optional einen Startwert für den Parameter angeben.
 
ich möchte das Geschriebene von Botimperator noch etwas ergänzen:
Wenn du die Variable in der Eigenschaften-Schnittstelle vom Faceplate anlegst, kannst du dann per script darauf zugreifen und deinem EA-Feld zuweisen. entweder periodisch oder einfach nur beim Bildaufbau

let eaField = Faceplate.Items("EA-Feld_1");
eaField.OutputFormat = "{I}"+" " +Faceplate.Properties.Einheit;
 
Zurück
Oben