WinCC Unified Zugriff auf Faceplate Eigenschaften - Skript

Mojo1604

Level-2
Beiträge
9
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich habe ein Faceplate einer "LED" erstellt, sprich ein Kreis welcher je nachdem welche Variable gesetzt wird die Farbe ändert.

Dazu habe ich eine Varibale Schnitstelle mit drei boolschen Variablen erstellt und zudem eine Eigenschaften Schnittstelle mit drei Variablen vom Typ "Farbe".
Ich habe hierzu ein Skript erstellt, welches leider nicht funktioniert, da ich nicht weiß wie ich die Variablen innerhalb des Skriptes ansprechen muss.
Ich habe einiges an Doku vorliegen, aber leider nichts dazu, wie man Variablen adressiert.
Hat hier jemand eine Idee was ich falsch mache?

1739864383535.png


1739864414686.png

1739864444528.png


Hier mein Code im Skript:


1739864532960.png

export function Kreis_1_BackColor_Trigger(item, triggerDataSet) {
var value;
return value;


let bswitchColor1 = Tags("switchColor1").Read();
let bswitchColor2 = Tags("switchColor2").Read();
let bswitchColor3 = Tags("switchColor3").Read();

let color1 = Faceplate.Properties.color1;
let color2 = Faceplate.Properties.color2;
let color3 = Faceplate.Properties.color3;




if (bswitchColor1) {item.BackColor = color1
}
if (bswitchColor2) {item.BackColor = color2
}
if (bswitchColor3) {item.BackColor = color3
}

}
 
Hallo,

ich hab es mit den Farben zwar noch nicht verwendet, aber mit einem String als Eigenschaft.

1739867806847.png

In meinen Augen sollte es bei dir schon einigermaßen korrekt eingerichtet sein, jedoch musst du keine Variablen mehr Anlegen um deine Eigenschaft aufzulesen, da du bereits in der Eigenschaften-Schnittstelle den Typ festgelegt hast.

Bei mir hat das eben etwas anders funktioniert, da ich auf die Elemente innerhalb des Faceplates zugreifen musste.
Sollte aber vom Prinzip her gleich funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1739872882302.png

Hm, ich habe es nun nochmals so versucht.
Leider auch kein Erfolg.

Ich habe weiters noch sämtliche Zuweisungen ausprobiert, welche in den ganzen Dokumentationen gefunden habe, leider keine Funktion.
Als Trigger habe ich für den Test einen 1s Intervall gewählt. Sollte somit ja auch passen.

1739873977071.png

1739873703396.png

Eigenschaftenschnittstelle ist meiner Meinung nach ebenfalls richtig parametriert.
Bin etwas ratlos :unsure:
 
Ich habe leider mit den zeitlichen Aktualisierungen keine guten Erfahrungen, leider weiß ich nicht woran es genau liegt, aber oft kommt mir vor, dass diese leider nichts bewirken.

In meinem Fall bei den Text-Eigenschaften, muss ich auch beim OnLoad Event der Faceplate alles eintragen, damit die Daten übernommen werden - da ich ebenfalls keinen Trigger hatte dass es durch eine Variable ausgelöst wird.

Für Testzwecke könntest du einmal versuchen, dein Script in die OnLoad Funktion deiner Faceplate einzubinden und beim öffnen von dieser mit den verschiedenen switchColor Variablen prüfen ob sich die Farbe verändert, dann würden wir zumindest wissen ob es an der Aktualisierung liegt.

Sollte dies der Fall sein, könntest du ggf. dir noch eine eigene Variable im Datenbaustein anlegen, diese du immer zeitlich triggerst und bei den Faceplate prinzipiell hinterlegst.

Das wäre einmal Ansätze um es auszutesten.
 
Danke schon mal für deine Rückmeldung.
Was genau meinst du hiermit?
Bin leider noch nicht sehr gut mit WinCC vertraut, da bei uns im Sinumerikbereich bis dato noch HMI Pro CS das führende System war :oops:

Für Testzwecke könntest du einmal versuchen, dein Script in die OnLoad Funktion deiner Faceplate einzubinden und beim öffnen von dieser mit den verschiedenen switchColor Variablen prüfen ob sich die Farbe verändert, dann würden wir zumindest wissen ob es an der Aktualisierung liegt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das wäre direkt in deinem Faceplate bei den Ereignissen zu finden:

1739881202424.png



Zum anderen würde ich wie gesagt die Variablen (wundert mich dass diese nicht automatisch im Zeittrigger sind) anlegst.

1739881536730.png


Zum Ende ist mir noch etwas aufgefallen, welche TIA Version verwendest du?
Ab TIA V18 (ich glaube V16 noch nicht) werden alle definierten Variablen im Script automatisch zur Aktualisierung hinzugefügt.
Bei dir deklarierst du eigentlich keine Variablen im Script, daher werden diese auch nicht automatisch hinzugefügt.
Versuche dies mal in zwei Schritten zu machen, eventuell funktioniert es dann.
1739881624347.png
 
Zurück
Oben