2017-06-12 3 views
0

Ich bin beschäftigt mit einem C-Skript in Siemens WinCC. Ich möchte einen Bildbaustein öffnen in dem ich andere Bildbausteine ​​öffnen kann. Hiwerver, ich möchte den Tagprefix vom ersten Faceplate im zweiten verwenden. Hat jemand eine Idee, wie ich das Tag-Präfix durchgeben kann?Tag Präfix Win CC

Vielen Dank im Voraus! Tom

+0

Willkommen bei SO! Was hast du bisher versucht? Um uns zu helfen, fügen Sie bitte ein [minimales, vollständiges und überprüfbares Beispiel] hinzu (https://stackoverflow.com/help/mcve) – abpatil

Antwort

0

Wie Sie wissen, ist das Tag-Präfix eine Eigenschaft des Bildschirmfensters. Sie müssen diese Daten dem Skript bereitstellen, das im Kontext des Bilds im Bildfenster vom übergeordneten Bildschirmfenster ausgeführt wird.

Eine Lösung besteht darin, ein Textfeld "Tagname" im "Faceplate" zu verwenden und dieses als Quelle für den Tag-Präfix-Namen zu verwenden. Das Tag-Präfix kann mit einem einfachen vbs-Skript übergeben werden, das "on open" ausführt.

Verwenden Sie VBS "Item.parent.TagPrefix" und geben Sie das Ergebnis dann in das Textfeld ein.

Oder einfach von einer Schaltfläche im Bild "Item.parent.parent.TagPrefix" ist auch in Ordnung.

Das gleiche in C würde die Funktionen "GetParentPictureWindow" verwenden und eine Zeichenfolge (lpsz) zurückgeben, die den Namen des Bildfensters enthält. Dieser Name kann verwendet werden, um die Eigenschaft des Objekts mit diesem Namen mithilfe von "GetPropChar" mit "Tagprefix" als Eigenschaft zu lesen.

// PerD