WinCC Unified WinCC Unified: Wie Parametersatz ID und Name auslesen?

wayne5de

Level-2
Beiträge
197
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
ich kämpfe gerade mit meinem ersten Unified Projekt (MTP1200).
Wie kann man die Parametersatz ID und den Namen auslesen?

In der Parametersatz-Anzeige kann man bei Änderung ein Skript aufrufen:
1719482932695.png

Leider habe ich noch kein Skript gefunden, was funktioniert.
Code:
export function Parametersatz_Anzeige_1_CurrentParameterSetID_OnPropertyChanged(item, value) {

let Parametersatz_Name = item.CurrentParameterSetID.value;
Tags(Parametersatz_Name).Write('');

//HMIRuntime.ParameterSetTypes.SysFct.GetParameterSetName(item.CurrentParameterSetTypeID,item.CurrentParameterSetID,1033,
//HMIRuntime.Tags.SysFct.CreateSetTagCommand("Parametersatz_Name"),
//HMIRuntime.Tags.SysFct.CreateSetTagCommand("Prozessstatus"));
//Tags('Parametersatz_Name').Write('');
//Tags('Parametersatz_ID').Write('');
}

Hat das schon mal jemand gemacht?

Danke und Grüße
 
Schau dir mal das große Feature-Demoprojekt von Siemens an. Da gibt es auch ein Bild zu Rezepturen/Parametern. Dort sind auch die ganzen Parametersatz-ID, Parametersatztyp, etc. exemplarisch alle auf Variablen und IO-Felder gelegt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von der Seite habe ich mir schon das "E-Car Automatisierungsbeispiel" angeschaut. Da habe ich aber nix passendes gefunden.

Dann versuche ich es mal jetzt mit dem Feature-Demoprojekt...

Danke!
 
Grüß euch!

wayne, vielleicht kannst du mir bitte verraten was genau in deinem Script steht um auf den Parametersatznamen zu kommen.. Ich bekomm das gerade irgendwie nicht hin. :cautious:

Wäre wirklich eine große Hilfe,
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"IST_Parametersatz_ID" ist eine interne WString-Variable im HMI.

1723103644000.png


Code:
export function Parametersatz_Anzeige_1_CurrentParameterSetID_OnPropertyChanged(item, value) {

let CurrentPSID = Tags("IST_Parametersatz_ID");
CurrentPSID.Write(value);

let tag1 = Tags("IST_Parametersatztyp_ID");
let tagValue1 = tag1.Read();
HMIRuntime.Trace("value of MyTag1: " + tagValue1);

let PSName, ProcessingStatus, CurrentLanguageID;
CurrentLanguageID = 1031;
//HMIRuntime.ParameterSetTypes.SysFct.GetParameterSetName(tagValue1,value,CurrentLanguageID,PSName,ProcessingStatus);
//PSName = ParameterSetTypes(HMIRuntime.Tags.SysFct.GetTagValue("Current_PS_ID")).GetName(0);
HMIRuntime.ParameterSetTypes.SysFct.GetParameterSetName(HMIRuntime.Tags.SysFct.GetTagValue("IST_Parametersatztyp_ID"), HMIRuntime.Tags.SysFct.GetTagValue("IST_Parametersatz_ID"), 1031, HMIRuntime.Tags.SysFct.CreateSetTagCommand("IST_Parametersatz_Name"), HMIRuntime.Tags.SysFct.CreateSetTagCommand("Prozessstatus"));
HMIRuntime.Trace("Trace Message PSName: "+PSName);
HMIRuntime.Trace("Trace Message ProcessingStatus: "+ProcessingStatus);
}
 
Ich greife das hier mal auf, da ich vor dem gleichen Problem stehe.

Das wie oben beschrieben habe ich so nicht nicht versucht.
Meine Frage ist, das "ID aktuelle Parametersatz" und "ID aktuelle Paramtersatztyp" sollen laut Siemens dem Monitoring dienen, was im Controll gerade ausgewählt ist.

Wenn ich da zwei interne Variablen dran schreibe, bekomme ich trotzdem nicht ausgelesen, welche IDs gerade aktiv sind.
Gibt es vielleicht noch einen Weg einfach nur die zwei IDs rauszubekommen, welche gerade ausgewählt sind?
 
Zurück
Oben