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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: S7-1200 Datenbausteine im Ladespeicher ablegen

  1. #1
    Registriert seit
    13.08.2013
    Beiträge
    69
    Danke
    0
    Erhielt 3 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin,

    ich bastel gerade an einem Langzeitarchiv für Verbrauchsmesswerte.
    Da der CPU-Remanenzspeicher leider etwas begrenzt ist, hab ich mir gredacht, dann schreib ich die Datenn halt einmal am Tag in den Ladespeicher auf die MMC.
    Ich habe mir also einen UDT "Langzeitarchiv" mit diversen arrays (Tages,Monats,Jahreswerte usw) angelegt und einmal in einem DB im Arbeitsspeicher und einmal in einem DB im Ladespeicher eingefügt.
    Im Ladespeicher sollen es dann mehrere dieser UDTs werden, die nach Bedarf zum bearbeiten in den Arbeitsspeicher kopiert werden können.

    Zum Anzeigen auf dem HMI würden diese Daten dann auch nach Bedarf in den Arbeitsspeicher kopiert, sodass immer nur die Werte eines Verbrauchers im Arbeitsspeicher liegen müssen.

    Jetzt kann ich die Daten von der MMC in den Arbeitsspeicher kopieren, bearbeiten und danach wieder zurück auf die MMC schreiben.
    Soweit noch kein Problem.

    Aber:
    Wenn ich den Datenbaustein auf der MMC geändert habe, zeigt mir TIA im Onlinevergleich, das der DB geändert wurde und beim nächsten Laden in die CPU überschreibt mir TIA den DB mit den Startwerten.
    Was soll denn das? Ich kann den DB nicht beobachten, weil er ja nur im Ladespeicher liegt, aber überschrieben wird er einfach so.

    Ich hab schon überlegt mit dem Rezept-export zu arbeiten, aber so wie ich das sehe, müsste ich dabei die kompletten Daten auf einmal umkopieren, was dann wieder Probleme mit dem Arbeitsspeicher bringen würde.

    CPU ist eine 1212 DC/DC/DC V3.02
    TIA V13SP1

    Kennt da jemand eine Lösung für das Problem?

    Oder hat wer das Problem mit grossen remanenten Datenmengen anders gelöst?

    Gruß
    Otwin
    Geändert von Otwin (14.02.2015 um 13:10 Uhr)
    Zitieren Zitieren S7-1200 Datenbausteine im Ladespeicher ablegen  

  2. #2
    Registriert seit
    04.11.2013
    Beiträge
    140
    Danke
    12
    Erhielt 24 Danke für 19 Beiträge

    Standard

    Hi,
    bei einer 1214C/TIAV12SP1 Basic habe ich einen Ringspeicher aus 8 DB im CPU-internen Ladespeicher (4MB), wie bei dir wird ein UDT mit mehreren Arrays abgespeichert, allerdings werden diese Daten nicht mehr vom Programm zurückgelesen. Die Daten in den Ladespeicher-DB kann man per "Momentanaufnahme der Beobachtungswerte" in TIA auslesen. Du müsstest dann wahrscheinlich mit "Momentanaufnahme als Startwerte übernehmen" die alten Startwerte ersetzen und wieder in die CPU laden.
    Allerdings verstehe ich nicht ganz deine Schilderungen, was meinst du z. B. mit "Wenn ich den Datenbaustein auf der MMC geändert habe ..." bzw. das eigentliche Problem. Das beim Laden in die CPU die Startwerte neu initialisiert werden ist doch normal.
    Vielleicht musst du mehrere DB nutzen, einen mit den erforderlichen Startwerten füs Programm und andere zum Speichern deiner Verbrauchsdaten.

    Gruß,
    Gleichstromer

  3. #3
    Otwin ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2013
    Beiträge
    69
    Danke
    0
    Erhielt 3 Danke für 2 Beiträge

    Standard

    Hi,
    Vielleicht hab ich mich etwas unverständlich ausgedrückt
    ich habe das so gemeint:
    Ich erstelle im TIA einen DB mit dem Attribut "Nur im Ladespeicher ablegen".
    Über einen FB kopiere ich werte aus einem normalen DB in den Ladespeicher-DB. Das funktioniert.
    Ich Schalte die CPU auf STOP und wieder auf RUN. Die Werte im normalen DB sind Weg, weil ja nicht remanent.
    Jetzt kopiere ich die Werte aus dem Ladespeicher-DB in den normalen DB. Werte sind wieder da, weil ja auf MMC gespeichert und somit remanent.

    So war der Plan, aber leider hat S was dagegen.

    Im TIA bin ich online auf der CPU. Sobald ich jetzt über mein Programm Daten in den Ladespeicher-DB kopiere, sagt mir TIA im Online-Vergleich, das der Datenbaustein unterschiedlich zur Offline-Version ist.
    Warum macht TIA das denn, wenn ich Daten in einen normalen DB schreibe, sagt TIA ja auch nicht, dass On- und Offline-Version verschieden sind und überschreibt ihn bei jedem Programm-Download.
    Klar, wenn ich einen Datenbaustein übersetzte und in die CPU lade, werden die Werte mit den Startwerten überschrieben.
    Das Problem ist aber, dass TIA mir diesen Ladespeicher-DB jedesmal überträgt, weil sich ja angeblich was geändert hat. Damit ist die Idee, den Ladespeicher-DB als remanenz-Speicher zu missbrauchen ja hinfällig, ich will ja nicht jedesmal vor dem Downloaden den DB sichern
    (was bei mir irgendwie auch nicht funktioniert)

    Ich werde jetzt wohl doch die Sache mit den Rezepten probieren, auch wenn ich dann leider alle Daten im Arbeitsspeicher halten muss. Zum testen muss ich aber erst warten, bis meine neue 1214er da ist, mit den 50kB Speicher der 1212V3 komm ich da gar nicht zu recht.
    Schade, das Speicher im Jahr 2015 immernoch so knapp ist Andere Hertseller haben da mehr zu bieten, da könnte man fast neidisch werden.

    Gruß
    Otwin

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Frage Siemens, ob es in dem TIA irgendwo eine Option zum Abschalten dieses Verhaltens gibt (ich kenne TIA nicht genug) bzw. frage, wie Siemens sich die Lösung Deiner Aufgabe bei der S7-1200 vorgestellt hat.
    Dieser ganze ständig-online-vergleichen-"Comfort" ist imho der größte Mist, der Siemens jemals eingefallen ist.

    Was passiert eigentlich, wenn Du den DB aus dem Arbeitsspeicher in den Ladespeicher kopierst unter einer Nummer, welche es im Projekt nicht gibt? (also den DB nicht im Projekt anlegen und nicht in den Ladespeicher laden). Geht das überhaupt?

    Gibt es bei der S7-1200 nicht auch eine Möglichkeit, Data Logs oder Rezepte auf die MMC zu schreiben und vielleicht sogar wieder zurückzulesen?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Otwin ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2013
    Beiträge
    69
    Danke
    0
    Erhielt 3 Danke für 2 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen

    Was passiert eigentlich, wenn Du den DB aus dem Arbeitsspeicher in den Ladespeicher kopierst unter einer Nummer, welche es im Projekt nicht gibt? (also den DB nicht im Projekt anlegen und nicht in den Ladespeicher laden). Geht das überhaupt?

    Gibt es bei der S7-1200 nicht auch eine Möglichkeit, Data Logs oder Rezepte auf die MMC zu schreiben und vielleicht sogar wieder zurückzulesen?

    Harald
    So wie ich das sehe, kann man erst ab den 1500er CPUs Datenbausteine im Programm erzeugen.

    DataLogs auf die Karte gehen schon, ist aber leider ein One-Way-Ticket. Zurücklesen geht nicht.

    Rezepte exportieren und wieder importieren ist mein nächster Plan, geht aber leider erst mit ner Firmware V4. Da muss ich mit dem testen leider warten, bis die neue CPU da ist.
    Dafür gehe ich dann stark davon aus, dass mir TIA die exportierten Rezepte in Ruhe lässt.

    Gruß
    Otwin

  6. #6
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Hi all

    wenn du mit WRIT_DBL den Ladespeicher eines DB änderst, dann ist der DB geändert. Damit bleibt einem On-Off-Vergleich gar nix anderes übrig, als den Baustein als unterschiedlich zu markieren. Das stört erst, wenn du jetzt einen anderen Baustein laden musst, denn das TIA-Portal will ja immer mit aller Gewalt alles konsistent machen.
    Bevor du den anderen Baustein auf die CPU schickst, muss man den geänderten ins Projekt holen. Danach, kannst du den anderen auf die CPU laden ohne, dass deine Startwerte verloren gehen.

    Glücklich macht mich das auch nicht.

    Schlimmer noch, der DB wächst in der Größe an und zwar drastisch! Im meinem DB ist ein Array of UDTsoundso. Ich habe keine Startwerte gesetzt. Der DB benötigt etwa 120kB Ladespeicher. Werden nun durch das Programm Werte geändert und ich lade dann den DB wieder zurück in das Projekt, dann braucht er plötzlich 800kB Ladespeicher

    Je mehr ich das Array fülle desto mehr Ladespeicher braucht der DB. Wenn dann alle Plätze im Array gefüllt sind, dann braucht der DB 1,2MB Ladespeicher. Von nun an wächst er nicht mehr.

    Dieses Verhalten ist in meinen Augen richtig großer Blödsinn. S. sagt aber das muss so sein

    Der Zuwachs an Ladespeicher kommt durch die zurückgelesen Werte zustande, die werden aus dem Binären-Puffer mit dem die CPU arbeitet in richtigen Text gewandelt. Und zwar für alle Werte die zum vorgegebenen Wert im UDT unterschiedlich sind. Aus einem schlichten einfachen BOOL mit dem Wert TRUE wird der String TRUE. Aus einem Byte machen die mehr als 6 -- heul.

    'n schö' Tach auch
    HB

  7. #7
    Registriert seit
    23.03.2013
    Beiträge
    66
    Danke
    11
    Erhielt 17 Danke für 11 Beiträge

    Standard

    Leider muss man immer eine Momentaufnahme machen und dann als Startwert kopieren. Habe das S. schon in der V11 mitgeteilt, dass das konsistent Laden oft gar nicht zielführend ist. Online nach Offline kopieren gibt es auch nicht mehr. Und beim Laden einen Baustein abwählen geht auch nicht, obwohl es ja im Lade Dialog möglich wäre, nur ist dann der Lade Button deaktiviert.

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von inspectorgadjet Beitrag anzeigen
    Leider muss man immer eine Momentaufnahme machen und dann als Startwert kopieren. Habe das S. schon in der V11 mitgeteilt, dass das konsistent Laden oft gar nicht zielführend ist. Online nach Offline kopieren gibt es auch nicht mehr. Und beim Laden einen Baustein abwählen geht auch nicht, obwohl es ja im Lade Dialog möglich wäre, nur ist dann der Lade Button deaktiviert.
    Denen braucht man nichts mitzuteilen, wir interessieren die nicht.

    Ich denke mal, Siemens wird sich in den nächsten Jahren, wie so viele Andere, "dem Kerngeschäft zuwenden"!
    Dann stampfen die den SPS-Bereich ein, macht eh Sinn, wenn die weiter solchen Schrott an ihre Kunden (wir???) ausliefern.
    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

  9. #9
    Registriert seit
    05.04.2012
    Beiträge
    949
    Danke
    94
    Erhielt 215 Danke für 190 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Denen braucht man nichts mitzuteilen, wir interessieren die nicht.

    Ich denke mal, Siemens wird sich in den nächsten Jahren, wie so viele Andere, "dem Kerngeschäft zuwenden"!
    Dann stampfen die den SPS-Bereich ein, macht eh Sinn, wenn die weiter solchen Schrott an ihre Kunden (wir???) ausliefern.
    ... sag mal Ralle, ist das Dein Hobby täglich abzulästern, oder spekulierst Du auf einen hochdotieren Beratervertrag bei BigS?
    Geändert von zako (16.02.2015 um 20:50 Uhr)

  10. #10
    Registriert seit
    23.03.2013
    Beiträge
    66
    Danke
    11
    Erhielt 17 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    Denen braucht man nichts mitzuteilen, wir interessieren die nicht.
    Ja leider...

Ähnliche Themen

  1. TIA TAI 12 S7-1200 Daten über Bus lesen und in DB ablegen
    Von buffi4711 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 17.03.2014, 14:33
  2. TIA S7-1200 Datenbausteine beim übertragen
    Von spstom im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.06.2013, 08:19
  3. s7-1200 ModBus serial PokeBLK Datenbausteine
    Von MandiNice im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 25.09.2012, 13:01
  4. Was ist Ladespeicher RAM und Ladespeicher EPROM?
    Von babylon05 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.06.2012, 22:56
  5. S7-1200 Datenbausteine
    Von kiko18 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.04.2010, 17:48

Lesezeichen

Berechtigungen

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