# Struct, Udt und sonstige WinCCflex Probleme



## Stussi (16 Dezember 2009)

So nu isses soweit,
muß jetzt mal langsam ne ordentliche Struktur in mein Projekt bekommen.
Viele Funktionen arbeiten nur noch in strukturierten Datenbausteinen die meistens aus Udt's bestehen.
Wie bekomme ich jetzt diese Struktur oder eine Udt als Variable mit Symbolischer Anbindung in mein WinCCflex Projekt?
Hab schon ne Menge probiert bin aber völlig ratlos.
Hat einer von Euch dafür schon ne Lösung gefunden?

Falls nicht, trotzdem schöne Weihnachten.


----------



## Paule (16 Dezember 2009)

Stussi schrieb:


> Wie bekomme ich jetzt diese Struktur oder eine Udt als Variable mit Symbolischer Anbindung in mein WinCCflex Projekt?
> Hab schon ne Menge probiert bin aber völlig ratlos.


Wenn Du die Steuerung mit dem Panel verbunden hast, (Softwaretechnisch) kannst Du doch einfach in WinCC bei den Variablen den richtigen DB mit der entsprechenden Symbolischen Variable auswählen.


----------



## Stussi (17 Dezember 2009)

*Symbolische Anbindung*

Ja Paule da hast Du Recht.
Ich möchte aber nicht eine einzelne Variable aus einem Datenbaustein anbinden, sondern eine ganze Struktur oder UDT in einem Datenbaustein mit Ihrem dortigen Symbol.
So würde sich dann das WinnCCflex Projekt bei entsprechender Programmierung genau wie meine Bausteine mitändern, wenn ich die UDT oder die Struktur ergänze oder erweitere oder die Reihenfolge der Symbole innnerhalb ändere.


----------



## xhasx (17 Dezember 2009)

Symbolisch ist da gar nix los!!!
Wurde aber schon mal hier behandelt...
Und wenn du die Strukturen so in Wcf übernimmst klappt das auch nur mit Bildbauteinen... Also in meinen Augen machen die in der Version 2008 noch keinen so agr großen Sinn!!!


----------



## Paule (19 Dezember 2009)

xhasx schrieb:


> Und wenn du die Strukturen so in Wcf übernimmst klappt das auch nur mit Bildbauteinen...


Wie soll das gehen? 
An meinem Bildbaustein wähle ich die gewünschten Funktionen aus und ziehe sie auf meine Übergabevariable.
Diese Übergabevariable beschalte ich dann beim Aufruf des Bildbausteins unter "Meine Eigene Schnittstelle".
Da kann ich doch jetzt auch keine Structur angeben.

Und selbst wenn ich einen Struct in die Variablenliste übergeben kann, irgendwann muss ich doch jedes einzelne Bit oder Wort des Structes anlangen und einer Funktion oder Eigenschaft zuweisen.
Sehe jetzt erstmal keine Vorteil, aber vielleicht kommt jetzt bald der „Aaahhhaaa“ Effekt.


----------



## xhasx (20 Dezember 2009)

Paule schrieb:


> Wie soll das gehen?
> An meinem Bildbaustein wähle ich die gewünschten Funktionen aus und ziehe sie auf meine Übergabevariable.
> Diese Übergabevariable beschalte ich dann beim Aufruf des Bildbausteins unter "Meine Eigene Schnittstelle".
> Da kann ich doch jetzt auch keine Structur angeben.
> ...



Aber sicher geht das! 
Der einzige Aha Effekt ist dass du an der Schnittstelle nur noch eine Struktur hast
Schau dir mal in Wcf im projektordner den Eintrag Structuren! Und dann bemüh mal die Hilfe.
Im Bildbaustein gibst du dann in der Definition deine Struktur an...


----------



## Paule (21 Dezember 2009)

Aha, jetzt weiß ich auch zu was die Struktur im Projektbaum bedeutet. 

Habe auch gleich ein Strukt mit 16 Bool's erstellt.
Im Bildbaustein habe ich die Struktur gewählt und verschaltet. Soweit alles bestens. 

Jetzt kommt mein Problem: 
Bei der Dynamischen Schnittstelle akzeptiert er mein DB nicht. "Der Wert der Eigenschaft ist ungültig“.
Im Bild 1 ist die Struktur zu sehen,
im Bild 2 ist der DB zu sehen.
Habe alle drei Varianten (Antrieb ist ein UDT; Test; Letzter_Test) versucht zum Anbinden, leider ohne Erfolg.

Der Rest der Anlage läuft, also Kommunikation und Verbindung zum Panel in Ordnung.
Temporäre Dateien sind gelöscht und alles neu Generiert. 

In der Steuerung muss das doch auch ein Struct sein, oder?


----------



## xhasx (21 Dezember 2009)

Und wie hast du die Variable zur Steuerung deklariert? Der Typ muss vom Typ deiner Struct sein!!!


----------



## Paule (21 Dezember 2009)

xhasx schrieb:


> Und wie hast du die Variable zur Steuerung deklariert? Der Typ muss vom Typ deiner Struct sein!!!


So wie im DB dargestellt. (Bild 2 vom letzten Beitrag)


----------



## xhasx (21 Dezember 2009)

Zeig mir mal unter Kommunikation, Variablen die Variable die du angelegt hast! Du kannst bei Struct keine symbolische Adressierung machen!
Du musst die Variable zu Fuß anlegen und den Typ wo sonst BOOL und dergleichen drin steht vom Typ deiner Struct machen und die Adresse in der Steuerung angeben!!!


----------



## Paule (21 Dezember 2009)

xhasx schrieb:


> Du kannst bei Struct keine symbolische Adressierung machen!
> Du musst die Variable zu Fuß anlegen und den Typ wo sonst BOOL und dergleichen drin steht vom Typ deiner Struct machen und die Adresse in der Steuerung angeben!!!


Oh je,
eigentlich hast Du das ja schon im 4 Beitrag geschrieben, habe mich dann nur von Deinem nächsten Beitrag verrückt machen lassen, dass es noch effizienter wäre, die Übergabe mit einem Strukt zu realisieren. 
Aber "*nicht* Symbolisch" geht bei mir gar nicht. Diesen Riesen Vorteil werde ich nicht aufgeben.
Da beschalte ich meinen Bildbaustein lieber mit einzelnen Symbolischen Variablen. Sind ja keine 16 war nur ein Versuch. 

Da kann man nur sagen:
Ein Satz mit X > „war wohl nix“

Aber trotzdem Danke für Deine Hilfe.


----------



## xhasx (22 Dezember 2009)

So sieht's leider aus.
Solange man in Flexible nicht auf die einzelnen Strukturelemente zugreifen kann und solange das nicht Symbolisch klappt macht das alles noch nicht den großen Sinn!!!
Vielleicht lesen ja auch mal Siemens-Entwickler in diesen Foren


----------

