Speichgrößenunterschied Aufruf UDT in FC und FB

hubert

Level-2
Beiträge
405
Reaktionspunkte
26
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPS Freunde.

Vielleicht kann mir eine von euch das erklären. Mächte mir eine Bibliothek erstellen mit FC's für Motoren und Ventile und verwende hierbei auch UDT's. Dabei ist mit folgendes aufgefallen: Wenn ich in eine FC auf die Struktur eine UDT's zugreife, dann wird der FC um ca. 50 Byte größer. Mache ich dasselbe bei einem FB verändert sich die größer normal, wie wenn ich intern auf Daten zugreifen würde. Kann mir eine das erklären? Möchte nicht für jeden Antrieb einen Instanz DB erstellen oder alles in einen Multiinstanz FB schreiben. Währe für eure Erklärung sehr Dankbar. Anbei hängt eine Programm bei in dem derselbe Code einmal in einem FC und FB geschrieben wurde.
 

Anhänge

  • Aufruf_udt_fc_fb.zip
    30,1 KB · Aufrufe: 26
Daten "umschaufeln" ??

Hallo Hubert,

wenn du den UDT an einen FB anlegst, so werden die entsprechenden Daten bei Aufruf des FB in den Instanzdaten abgelegt. Der Zugriff erfolgt danach ohne Umwege "ganz normal" aus den Instanzdaten.

Bei der Anwendung in einer FC erfolgt jeder Zugriff jeweils über Umwege über die Lokaldaten des aufrufenden Bausteins. Intern werden dabei eine Menge von Operationen ausgeführt, welche entsprechenden Speicherplatz belegen. Besonders gravierend wird es bei IN_OUT-Parametern. Es gab dazu auch mal bei Siemens einen Beitrag. Leider finde ich ihn nicht mehr.

Lösung mit FC - Siehe auch:
http://sps-forum.de/showthread.php?t=2502&highlight=Kombination


Gruß, Onkel
 
Zuletzt bearbeitet:
Zurück
Oben