WinCC Unified ExportParameterSets() - filename mit HMI-Variable UND String

joachim93

Level-2
Beiträge
48
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Arbeite mit einem Unified comfort panel - genauer MTP1500 Unified Comfort.
Ich würde gerne Parametersätze in eine tsv-Datei exportieren mittels der Funktion ExportParameterSets().
Der Dateiname kann bei Verwendung als Funktion entweder als String oder HMI-Variable festgelegt werden.

Als String sieht das ganze so aus:
export async function Schaltfläche_14_OnDown(item, x, y, modifiers, trigger) {
try {
await HMIRuntime.ParameterSetTypes.SysFct.ExportParameterSets(1, 0, "/media/simatic/X51/Test.tsv", 1, true, HMIRuntime.Tags.SysFct.CreateSetTagCommand("Verarbeitungsstatus"), false);
}
catch (err) { }

}

Mit HMI-Variable so:
export async function Schaltfläche_14_OnDown(item, x, y, modifiers, trigger) {
try {
await HMIRuntime.ParameterSetTypes.SysFct.ExportParameterSets(1, 0, HMIRuntime.Tags.SysFct.GetTagValue("Pfadname"), 1, true, HMIRuntime.Tags.SysFct.CreateSetTagCommand("Verarbeitungsstatus"), false);
}
catch (err) { }

}

Ich habe jetzt schon die verschiedensten Versionen probiert wie man String und eine Variable kombinieren könnte, aber nichts funktioniert.
Z.B.
export async function Schaltfläche_14_OnDown(item, x, y, modifiers, trigger) {
let Name = HMIRuntime.Tags.SysFct.GetTagValue("UserName");
let filename = "/media/simatic/X51/Test_Typ_5_" + Name + ".tsv";
try {
await HMIRuntime.ParameterSetTypes.SysFct.ExportParameterSets(1, 0, filename, 1, true, HMIRuntime.Tags.SysFct.CreateSetTagCommand("Verarbeitungsstatus"), false);
}
catch (err) { }

}


Warum funktioniert alles nicht? Kennt sich jemand aus mit JavaScript und kann helfen?
 
Ich verstehe den Unterschied zwischen Variable einerseits und String andererseits nicht. Für mich ist STRING ein DatenTyp, den eine Variable haben kann ... oder auch nicht.
Habe keine Ahnung von JavaScript, vermute aber, dass Java es auch so sieht, wie ich es sehe.
Ich würde mir die STRING-Variante vorknöpfen, denn darin (im STRING) kann man sehen, was man sich als Laufwerk plus Pfad plus DateiName plus DateiExtension zusammengebastelt hat. Ist die Darstellung syntaktisch korrekt? Gibt es die so bezeichnete Datei evtl. schon im spezifizierten Pfad und müsste sie zuerst umbenannt oder gelöscht werden? Oder müsste der Pfad erst noch angelegt werden?

Mir fehlt (da keine JavaKenntnisse) auch die Information, wie die Datei geöffnet werden soll. READ (nur lesen) oder WRITE (ab DateiAnfang neu beschreiben) oder APPEND (neue Information hinter dem bereits belegten Bereich anhängen)?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

auf den ersten Blick sieht die Kombination aus String und Variable erstmal gut aus.
Habe in einer anderen Anwendung folgenden Code im Einsatz, um Arrayelemente auszulesen:

for (let i = 0 ; i < Alarms.length; i++ ) {
let Text = "Alarmtexte[" + i.toString() + "]";

Hast du dir das Ganze schonmal mit dem Debugger angeschaut. Wird der Username denn überhaupt ausgelesen? Wenn ja, in welchen Format?
 
Zurück
Oben