TIA UDT im FB In/Out nicht sichtbar in HMI

Züttu

Level-1
Beiträge
195
Reaktionspunkte
19
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann bei meinen FB's die UDT's welche ich bei den In/Out-Parametern eintrage nicht für das HMI sichtbar machen. UDT's nur in In oder Out geht, sowie Standart-Datentypen im In/Out-Bereich geht auch, nur UDT's im In/Out gehen nicht.
Was mache ich falsch? oder gibts dafür einen Grund?
 
Das geht vermutlich deshalb nicht, weil bei UDT in INOUT im IDB nicht der UDT als Kopie liegt sondern ein POINTER auf den angeschalteten UDT. Das HMI wird diese quasi indirekte Adressierung nicht können (oder nicht können sollen).

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für deine schnelle Antwort, leider verstehe ich sie noch nicht ganz. Willst du damit sagen ein UDT welches im INOUT angelegt wird nicht im IDB zu finden ist, sondern nur über einen POINTER zu erreichen ist? Und wenn Ja, wieso verhält es sich dann mit standart Datentypen nicht gleich?
 
Die Standardtypen werden als Kopie im FB IDB angelegt. Und beim Aufruf wird der Inhalt da draufkopiert. über die gesamte dauer des FB aufrufs sind die daten konsistent. änderungen am inhalt durch z.B. das HMI werden erst beim nächsten Aufruf des FBs aktualisiert.

Beim IN/OUT UDT/Struct greifst du auf die angeschlossenen speicherstellen direkt zu. Das heisst wenn das HMI was verändert dann kann es am Anfang des FBs noch true sein, und in der mitte dann False.
Mehrere ausgeführte Set/Res im FB können dann im HMI dann auch zu Flackern führen etc.

Idealerweise greift man darum per HMI nicht auf IDBs zu sondern auf die GDB. Dann muss man sich dann auch nur noch um die IN/OUT UDTs kümmern das die konsistent verarbeitet werden.
Zugriffe auf IDBs aus dem HMI sind auch wieder ohne Zykluskontrollpunkt und können dann wenn man das nicht bedenkt zu komischen Anzeigeverhalten führen.
 
Danke für deine Ausführungen, das entspricht auch meinen beobachtungen. Wieso das Standardtypen anders als UDT/Structs behandelt werden ist mir schleierhaft.
 
Zurück
Oben