Hallo zusammen,
wie sind momentan damit beschäftigt endlich eine richtige Bibliothek im TIA-Portal zu entwickeln. Das läuft auch ganz gut, nur an einer Stelle hängt es.
Für das Win CC Pro im TIA Portal V17 haben wir uns Bildbausteine, für die Darstellung der Aggregate (Motoren, Schnecken, Förderbänder...) angelegt. Diese enthalten eine Grafikliste (eigen erstellte Grafiken) um die einzelnen Betriebszustände der Aggregate anzuzeigen. Im Win CC Comfort übergeben wir an dieser Stelle einen UDT als Schnittstelle und realisieren mit einer darin enthalten Variable die Sichtbarkeit eines weiteren Bildbaustein auf dem Visu-Bild, dieses enthält dann den Button für "Ein/Aus". Soweit so gut!
Der Nachteil ist, dass die Bildbausteine keine Objekte sind, welche wie Bildfenster im Professional frei verschiebbar sind. Wir haben aus dem Grund jetzt den Bildbaustein mit dem Button "Ein/Aus" in ein Fenster abgelegt und rufen dieses als Bildfenster auf unserem Startbild auf.
Um nun das entsprechende Bildfenster mit "Ein/Aus" (zugehörig zu dem entsprechenden Aggregat) aufzurufen, behelfen wir uns momentan mit folgendem VB-Script:
Sub OnClick(ByVal item)
Dim Station 'Variablendeklaration
Dim StationNr
Dim WindowName 'Variablendeklaration
Dim StationText1 'Variablendeklaration
Dim StationText2 'Variablendeklaration
Dim ButtonName
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
StationNr = 25
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
StationText1 = "hmiData_ST{"
StationText2 = "}"
ButtonName = "Button_ST_"
'Station = Stationsnummer des Antriebes
Station = StationText1 & StationNr & StationText2 '"hmiData_ST{100}"
'Vorindex des Bedienfensters
WindowName = ButtonName & StationNr
'hier nichts ändern
'Präfix: Direkte zuweisung des Fensters zu Variablen in HMI
'SetPropertyByConstant AccessPath, text & nummer, "TagPrefix", nummer &"."
SetPropertyByConstant AccessPath, WindowName , "TagPrefix", Station
'CaptionText: Name der oben im Fenster steht -> hier die Positionsnummer
'SetPropertyByConstant AccessPath, text & nummer, "CaptionText", "" & nummer
SetPropertyByConstant AccessPath, WindowName, "CaptionText", "" & StationNr
'Visible: das Fenster wird sichtbar gemacht| muss als letztes ausgeführt werden,
'da bei sichtbar werden die Variablenanbindung aktualisiert wird
'SetPropertyByConstant AccessPath, text & nummer, "Visible", "1"
SetPropertyByConstant AccessPath, WindowName , "Visible", "1"
'Ende der Funktion
End Sub
Hier brauchen wir nur bei Stationsnummer die entsprechende Positionsnummer des Aggregats eintragen.
Dieses Script fügen wir bei jedem Bildbaustein (Aggregat) aktuell händisch ein.
Nun würden wir uns gerne genau diesen Schritt sparen und die gleiche Funktion bereits in dem Bildbaustein einfügen. So das das ablegen des Bildbausteins und das anbinden des UDTs an die Schnittstelle die einzigen Arbeitsschritte bleiben. Das Problem ist einfach das man im Bildbaustein ausschließlich mit Standardfunktionen arbeiten kann. Systemfunktionen und Anwenderfunktionen sind nicht möglich.
Ich hoffe das Problem ist verständlich.
Hätte jemand hier Lösungvorschläge?
Mit freundlichen Grüßen.
wie sind momentan damit beschäftigt endlich eine richtige Bibliothek im TIA-Portal zu entwickeln. Das läuft auch ganz gut, nur an einer Stelle hängt es.
Für das Win CC Pro im TIA Portal V17 haben wir uns Bildbausteine, für die Darstellung der Aggregate (Motoren, Schnecken, Förderbänder...) angelegt. Diese enthalten eine Grafikliste (eigen erstellte Grafiken) um die einzelnen Betriebszustände der Aggregate anzuzeigen. Im Win CC Comfort übergeben wir an dieser Stelle einen UDT als Schnittstelle und realisieren mit einer darin enthalten Variable die Sichtbarkeit eines weiteren Bildbaustein auf dem Visu-Bild, dieses enthält dann den Button für "Ein/Aus". Soweit so gut!
Der Nachteil ist, dass die Bildbausteine keine Objekte sind, welche wie Bildfenster im Professional frei verschiebbar sind. Wir haben aus dem Grund jetzt den Bildbaustein mit dem Button "Ein/Aus" in ein Fenster abgelegt und rufen dieses als Bildfenster auf unserem Startbild auf.
Um nun das entsprechende Bildfenster mit "Ein/Aus" (zugehörig zu dem entsprechenden Aggregat) aufzurufen, behelfen wir uns momentan mit folgendem VB-Script:
Sub OnClick(ByVal item)
Dim Station 'Variablendeklaration
Dim StationNr
Dim WindowName 'Variablendeklaration
Dim StationText1 'Variablendeklaration
Dim StationText2 'Variablendeklaration
Dim ButtonName
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
StationNr = 25
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
StationText1 = "hmiData_ST{"
StationText2 = "}"
ButtonName = "Button_ST_"
'Station = Stationsnummer des Antriebes
Station = StationText1 & StationNr & StationText2 '"hmiData_ST{100}"
'Vorindex des Bedienfensters
WindowName = ButtonName & StationNr
'hier nichts ändern
'Präfix: Direkte zuweisung des Fensters zu Variablen in HMI
'SetPropertyByConstant AccessPath, text & nummer, "TagPrefix", nummer &"."
SetPropertyByConstant AccessPath, WindowName , "TagPrefix", Station
'CaptionText: Name der oben im Fenster steht -> hier die Positionsnummer
'SetPropertyByConstant AccessPath, text & nummer, "CaptionText", "" & nummer
SetPropertyByConstant AccessPath, WindowName, "CaptionText", "" & StationNr
'Visible: das Fenster wird sichtbar gemacht| muss als letztes ausgeführt werden,
'da bei sichtbar werden die Variablenanbindung aktualisiert wird
'SetPropertyByConstant AccessPath, text & nummer, "Visible", "1"
SetPropertyByConstant AccessPath, WindowName , "Visible", "1"
'Ende der Funktion
End Sub
Hier brauchen wir nur bei Stationsnummer die entsprechende Positionsnummer des Aggregats eintragen.
Dieses Script fügen wir bei jedem Bildbaustein (Aggregat) aktuell händisch ein.
Nun würden wir uns gerne genau diesen Schritt sparen und die gleiche Funktion bereits in dem Bildbaustein einfügen. So das das ablegen des Bildbausteins und das anbinden des UDTs an die Schnittstelle die einzigen Arbeitsschritte bleiben. Das Problem ist einfach das man im Bildbaustein ausschließlich mit Standardfunktionen arbeiten kann. Systemfunktionen und Anwenderfunktionen sind nicht möglich.
Ich hoffe das Problem ist verständlich.
Hätte jemand hier Lösungvorschläge?
Mit freundlichen Grüßen.