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

Ergebnis 1 bis 8 von 8

Thema: SCL Lokaldatenbedarf zu hoch!

  1. #1
    Registriert seit
    31.03.2009
    Beiträge
    109
    Danke
    33
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend,

    habe ein Problem an dem ich schon den ganzen Tag dran sitze aber keine Lösung finde.

    Für das Programmieren nutze ich SCL. Mein Problem ist das mein Teilprogramm zwar funktioniert
    jedoch zuviel Lokaldatenbedarf in der CPU verbraucht ca. 500 Bytes aus dem OB35.

    Vielleicht könnt ihr mir da weiterhelfen!

    // Eingangsparamter
    test : INT := 0; // für die Case-Anweisung

    //Ausgänge des SCL-Bausteines
    // 4 mal diese Struktur
    Ausgang_der_Struktur_1: STRUCT
    A: STRING[32];
    B: STRING[32];
    C: STRING[32];
    D: STRING[32];
    E: STRING[32];
    END_STRUCT ;

    Ausgang_der_Struktur_2...


    Ausgang_der_Struktur_3...


    Ausgang_der_Struktur_3...


    Diese Ausgänge der Strukturen sind in CFC mit den Strukturen eines des UDT515 innerhalb eines des
    Datenbausteines verbunden: Ausgang_der_Struktur_x >>> DB100 >>> UDT auf dessen Inhalt
    ich mit den Ausgängen dieses SCL-Bausteines reinschreibe möchte.
    Es geht ja auch nur das ich einen zu hohen Lokaldatenspeicherbedarf im OB 35 habe.

    DB100
    struct
    Line_1 UDT515
    Line_2 UDT515
    Line_3 UDT515
    Line_4 UDT515
    end_struct

    UDT

    struct
    A STRING[32]
    B STRING[32]
    C STRING[32]
    D STRING[32]
    E STRING[32]
    end_struct


    // Die Werte dieser Ausgänge möchte ich ein die Linien meines DB schreiben
    // Ausgänge des SCL-Bausteines
    test1 : STRING[32];
    test2 : STRING[32];
    test3 : STRING[32];
    test4 : STRING[32];
    test5 : STRING[32];



    //////////////////////////////////////////
    CASE test OF


    11 : Ausgang_der_Struktur_1.A:= test1;

    Ausgang_der_Struktur_1.B:= test2;
    Ausgang_der_Struktur_1.C:= test3;
    Ausgang_der_Struktur_1.D:= test4;
    Ausgang_der_Struktur_1.E:= test5;


    12 : Ausgang_der_Struktur_2.A:= test1;

    Ausgang_der_Struktur_2.B:= test2;
    Ausgang_der_Struktur_2.C:= test3;
    Ausgang_der_Struktur_2.D:= test4;
    Ausgang_der_Struktur_2.E:= test5;


    13 : Ausgang_der_Struktur_3.A:= test1;

    Ausgang_der_Struktur_3.B:= test2;
    Ausgang_der_Struktur_3.C:= test3;
    Ausgang_der_Struktur_3.D:= test4;
    Ausgang_der_Struktur_3.E:= test5;


    14 : Ausgang_der_Struktur_4.A:= test1;

    Ausgang_der_Struktur_4.B:= test2;
    Ausgang_der_Struktur_4.C:= test3;
    Ausgang_der_Struktur_4.D:= test4;
    Ausgang_der_Struktur_4.E:= test5;


    END_CASE;


    Wie kann ich dieses Problem lösen. Dachte immer nur statische und temporäre
    Variable verbrauchen den Lokaldatenspeicher des OB 35?

    ...habe es auch schon mit z.B.

    IF 11 THEN
    Ausgang_der_Struktur_1.A:= test1;
    Ausgang_der_Struktur_1.B:= test2;
    Ausgang_der_Struktur_1.C:= test3;
    Ausgang_der_Struktur_1.D:= test4;
    Ausgang_der_Struktur_1.E:= test5;
    elsif 12 THEN...

    ...probiert aber auch keine Reduzierung des Lokaldatenspeichers erreicht!


    Gruß hoT
    Zitieren Zitieren SCL Lokaldatenbedarf zu hoch!  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Warum nicht einfach die Lokaldatengrenze für OB 35 in der Hardwarekonfig erhöhen? Anmerkung: Den Lokaldatenbedarf sieht man auch in der Programmstruktur.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zu Reduzierung kann ich dir im Moment nicht weiterhelfen, außer, weniger Strings zu verwenden und 2 Bausteine zu nutzen. Was für eine CPU hast du? Bei der VIPA Speed7 und der 400-er Reihe von Siemens kann man in der Hardwarekonfig der SPS unter "Speicher" für die Prijoritätsebenen mehr Lokaldatenspeicher zuordnen. Damit habe ich das Problem immerhin schin einmal gelöst. Bei kleineren SPS half aber nur, den FB, der mehrere Strrings gleichzeitig verarbeitete zu zerlegen und nur noch einen String zu bearbeiten.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    hoT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.03.2009
    Beiträge
    109
    Danke
    33
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Warum nicht einfach die Lokaldatengrenze für OB 35 in der Hardwarekonfig erhöhen? Anmerkung: Den Lokaldatenbedarf sieht man auch in der Programmstruktur.
    Denn kann ich nicht mehr ist schon von zu viel gefühlt!

    Zitat Zitat von Ralle Beitrag anzeigen
    Zu Reduzierung kann ich dir im Moment nicht weiterhelfen, außer, weniger Strings zu verwenden und 2 Bausteine zu nutzen. Was für eine CPU hast du? Bei der VIPA Speed7 und der 400-er Reihe von Siemens kann man in der Hardwarekonfig der SPS unter "Speicher" für die Prijoritätsebenen mehr Lokaldatenspeicher zuordnen. Damit habe ich das Problem immerhin schin einmal gelöst. Bei kleineren SPS half aber nur, den FB, der mehrere Strrings gleichzeitig verarbeitete zu zerlegen und nur noch einen String zu bearbeiten.
    Weniger Strings geht nicht aber 2 seperate Bausteine reduzieren den Lokalbedarf?

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von hoT Beitrag anzeigen
    Denn kann ich nicht mehr ist schon von zu viel gefühlt!



    Weniger Strings geht nicht aber 2 seperate Bausteine reduzieren den Lokalbedarf?
    Wenn sie nacheinander aufgerufen werden ja, denn wenn ein Baustein beendet wird, gibt er ja seine Lokaldaten wieder frei.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #6
    hoT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.03.2009
    Beiträge
    109
    Danke
    33
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Und was genau an meinem Programm verursacht den hohen Lokalspeicherbedarf?

  7. #7
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von hoT Beitrag anzeigen
    Und was genau an meinem Programm verursacht den hohen Lokalspeicherbedarf?
    4*5*32byte
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    so als neuer Ansatz :
    Wie wäre es, wenn du für dein Vorhaben einen FB erstellst und deine Ausgangs-Daten im STAT-Bereich des FB's abbildest ? Somit kannst du dir das Umschachteln in den DB (100 ?) sparen (weil du hast dann ja die OUT's nicht mehr) und dein Lokaldatenbedarf würde sich so signifikant verringern.

    Gruß
    LL

Ähnliche Themen

  1. PT-100 an S7-414 3°C zu hoch?
    Von Guitarrero im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 12.05.2012, 18:45
  2. CPU DB-Nummer zu hoch
    Von simon.s im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 13.04.2011, 22:04
  3. Hoch bzw. runterzählen
    Von PG675 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 25.11.2009, 11:19
  4. 2 hoch 2/3
    Von marcelmoonwalker im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 16.11.2009, 14:44
  5. Hoch der 1. Mai
    Von riesermauf im Forum Stammtisch
    Antworten: 13
    Letzter Beitrag: 02.05.2008, 07:32

Lesezeichen

Berechtigungen

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