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

Ergebnis 1 bis 6 von 6

Thema: Speicher zu klein, wo kann man sparen?

  1. #1
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    programmiere hier eine 313C 2DP. bin noch nicht fertig, und habe nur noch 2 kb frei, was nicht reichen wird. Ich habe viel mit FBs und Multiinstanzen gearbeitet und jetzt frage ich mich ob mir das den Speicher wegfrisst. Wenn ich einen FB mehrmals mit einer anderen Instanz aufrufe, speichert der dann den Code des FB jedesmal neu im Arbeitsspeicher, oder wirklich nur die Instanzdaten? Bausteine die nur aus einigen aufrufen von Fbs bestehen sind recht groß, so dass ich mich frage wo der Speicher bleibt. Die größe der Dbs sind aber ok, d.h. sie entspechen der erwarteten größe. Da ich auch mit IEC Timern gearbeitet habe, weil man so halt keine Probleme/Überschneidungen mit den internen Timern bekommt, hab ich da mal versucht zu sparen und die IEC gegen "normale" Timer ersetzt. So muss ich dann anstatt nur dem Zeitwert an den FB zu übergeben auch noch die Timernummer übergeben, was letztlich noch mehr Arbeitsspeicher kostet. Lediglich der Instanz-DB wird dann kleiner, aber sparen tue ich dabei nicht...

    Bleibt noch was ausser einer grösseren CPU?

    Torsten
    Zitieren Zitieren Speicher zu klein, wo kann man sparen?  

  2. #2
    Registriert seit
    06.10.2003
    Beiträge
    3.413
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo Torsten,

    Zitat Zitat von Torsten05 Beitrag anzeigen
    ..Wenn ich einen FB mehrmals mit einer anderen Instanz aufrufe, speichert der dann den Code des FB jedesmal neu im Arbeitsspeicher, oder wirklich nur die Instanzdaten?..
    Es werden nur die Instanzdaten gespeichert. Was jedoch viel Speicher frisst, sind die Parameterübergaben pro Aufruf. Man könnte ggf. die Parametersätze in DB's als STRUCT bzw. UDT ablegen und die Bausteinaufrufe mit Pointern versorgen.

    Von wievielen Bausteinaufrufen mit wievielen Parametern sprechen wir denn?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  3. #3
    Torsten05 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo,

    leider von reichlich Aufrufen. Es gibt einen Multiinstanz FB pro Station, dass sind schonmal 11. Es gibt einen FB für Aktoren, an den die Betriebsart (Hand/Automatik), je ein Bit für Ein/Aus Hand, Ein im Automatik, eine Störzeit, die Rückmeldung des Aktuators (Initiatoren) der Ausgang, und die Bits die bei einer Störung gesetzt werden übergeben werden.

    Dann gibt es noch einen FB für die Ansteuerung von Maxon Motoren über Can-Bus mit Helmholtz-Baugruppe. Motoren gibt es 11, wobei 4 nur über nen Ausgang der SPS Ein- oder Ausgeschaltet werden. Diese werden auch über einen Aufruf des Aktuator-FBs gesteuert. Wäre hier nicht nötig, wollte aber die Struktur beibehalten. Die anderen 7 werden wieder über einen FB gesteuert, in dem verschiedenes berechnet (Position,Steigung usw.) wird.

    Dann gibt es noch einen Schrittkettenbaustein an den die Weiterschaltbedingungen, Störzeiten im Ablauf, BA für Auto/Hand/Tipp, Reset usw. übergeben werden. Der ist für 9 der 11 Stationen jeweils einmal im entspechendem Stations-FB aufgerufen. Dieser FB hat verschiedene Features die ich nicht alle nutze, ich möchte ihn aber ungern zerpflücken da ich ihn mal möglichst universell geschrieben habe.

    Es sollte halt so strukturiert wie möglich sein, wobei man dann zwangsläufig bei so einer art Objektorientier landet, was viel speicher frisst. Ich arbeite auch recht viel mit indirekter Adressierung in den Bausteinen, möchte es aber nicht ganz so wild treiben, da sonst keiner mehr durchblickt.

    Ich habe mal versucht die Instanzaufrufe gegen DB-Aufrufe zu tauschen, was nicht viel bringt. Es scheint tatsächlich an den doch recht vielen übergebenen Parametern zu liegen. Sehr Ärgerlich, da die jetztige Version schön anpassbar, leicht zu überblicken und auch recht komfortabel ist.

    Torsten

    EDIT: Das mit dem DB und übergabe der Zylindernummer geht natürlich auch, aber das versteht hinterher kein Schwein mehr.
    Geändert von Torsten05 (28.11.2006 um 13:30 Uhr)

  4. #4
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Kannst du evt. in den FB´s noch unnötige Statische Var durch Temp ersetzen? Bei dem Umfang ist die 313 natürlich auch sehr klein.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  5. #5
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Torsten05 Beitrag anzeigen
    EDIT: Das mit dem DB und übergabe der Zylindernummer geht natürlich auch, aber das versteht hinterher kein Schwein mehr.
    Gefällt mir persönlich aber deutlich besser als Multiinstanz!

  6. #6
    Torsten05 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    hat sich erledigt, der Kunde besorgt ne 314c...

    Torsten

Ähnliche Themen

  1. Strom sparen
    Von waldy im Forum Stammtisch
    Antworten: 31
    Letzter Beitrag: 15.01.2010, 20:42
  2. Sparen bei siemens
    Von AUDSUPERUSER im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 30.06.2009, 09:23
  3. Antworten: 10
    Letzter Beitrag: 16.06.2009, 08:00
  4. IstandsDBs sparen
    Von mst im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.10.2007, 20:28
  5. S7 226 Speicher zu klein
    Von plc_tippser im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 16.08.2006, 16:51

Lesezeichen

Berechtigungen

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