Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Memory Verbrauch

  1. #1
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    CoDeSys 2.x. Sprache ST

    Ich stosse aktuell an die Limits der Memory Hardware. Vom Programm Umfang ist es OK aber von der Memory (Variablen) Belegung komme ich beim Compiler Lauf auf 100 % Datengrösse.

    Da ich kaum derart viele KB als Variablen habe, suche ich nach dem Grund der Memory Belastung.

    Im Zentrum der Memory Auslegung steht eine recht grosse Struct von ca.20 KB, die an eine Anzahl von FB, die wieder weitere FB aufrufen, als VAR_IN_OUT übergeben wird.

    Ich war bisher davon ausgegangen, dass die Übergabe als per Referenz geschieht und somit nicht eine Kopie der Struct erzeugt wird sondern ein Pointer auf die Original Struct.

    Liege ich damit falsch?
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Memory Verbrauch  

  2. #2
    Registriert seit
    19.11.2010
    Ort
    Dresden
    Beiträge
    45
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Guten Morgen RobiHerb,

    Ich kann dir nicht genau sagen ob nicht auch bei VAR_IN_OUT Variablen der Speicherbereich allokiert wird. Um sicher zu gehen das dies nicht geschieht kannst du ja mit Pointern arbeiten und an der Schnittstelle entsprechend Pointer übergeben. Aber vermutlich reicht es in deinem Projekt auch die Memorysize einfach größer einstellen. Zu finden ist die Einstellung unter Ressourcen -> Arbeitsbereich -> TwinCAT

    Grüße

  3. #3
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    VAR_IN_OUT werden als Referenz übergeben! Vom Speicherverbrauch entspricht das genau einem Pointer. Das problem muss woanders liegen.

    Bernhard

  4. #4
    Avatar von RobiHerb
    RobiHerb ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Werner29 Beitrag anzeigen
    VAR_IN_OUT werden als Referenz übergeben! Vom Speicherverbrauch entspricht das genau einem Pointer. Das problem muss woanders liegen.

    Bernhard
    Danke für die Klarstellung, so hatte ich es auch erwartet. Ich hatte die VAR_IN_OUT im Prinzip so verwendet, wie man in C++ eine Referenz oder einen const Pointer benutzt.


    Das Problem ist inzwischen auch identifiziert (nicht gelöst, aber fast), es scheint eine Custom Library zu sein, die locker 160K "klaut".
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Problem erkannt  

Ähnliche Themen

  1. memory card
    Von egon1 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 17.03.2011, 09:56
  2. Memory Card
    Von Lex_78 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.04.2009, 10:51
  3. Memory Card
    Von tino2512 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.10.2007, 15:31
  4. S7 Memory Card
    Von biaei im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.07.2007, 22:23
  5. Memory Card
    Von LPW2000 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.02.2006, 01:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •