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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: DB-Daten beim Programmladen retten

  1. #1
    Registriert seit
    11.10.2007
    Ort
    Allgäu
    Beiträge
    112
    Danke
    155
    Erhielt 14 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend liebe Gemeinde – eine Frage im weitesten Sinne das Thema REMANENZ betreffend (im Forum bin ich nicht fündig geworden):

    Ich bin dabei, die Technik meines Hauses (Heizungs-, Photovoltaik-, Kollektor-, Blockheizkraftwerk-, Rollladen- etc- Steuerung) mit 2x S7-300 316 CPU’s (Master – Slave, keine Speicherkarten im Slot) zu realisieren. Programmsprache AWL. Dabei wird natürlich immer wieder das Programm entlaust, geändert, erweitert, Bausteinkonsistenz geprüft und dann neu eingespielt.

    So - und da sitzt mein Problem:
    Ich speichere im DB1 aktuelle Verbrauchsdaten (z.B. heutiger aktueller Heizölverbrauch). Wenn ich aber die Hardware mit einem neuen Programm lade, sind diese Verbrauchsdaten im DB1 weg, da der DB mit den default-Werten geladen wurde.

    Meine Fragen: Gibt es eine Möglichkeit, diese Daten im DB1 vor dem Überschreiben zu retten? Kann man sie vielleicht im Remanenzspeicher der CPU aufbewahren – funktioniert bei mir bisher nicht. Falls sie da doch drin sind, wie bekomme ich die Daten nach dem Hochlauf von der CPU in den DB1?

    Schon mal danke
    sagt Feng
    Zitieren Zitieren DB-Daten beim Programmladen retten  

  2. #2
    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

    wenn du den DB1 nicht überschreibst beim übertragen behält er die daten ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    25.10.2003
    Beiträge
    1.425
    Danke
    297
    Erhielt 104 Danke für 69 Beiträge

    Standard

    @vierlagig
    wenn du den DB1 nicht überschreibst beim übertragen behält er die daten ...
    - wenn ich habe es Richtig verstanden, bei neue Starten Programm er muss auf andere Adresse in DB die Daten rein schreiben?

    wie geht das , mit arry [1..24] ?
    Oder wie würdest das realisieren?

    gruß waldy

  4. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wobei ich grundsätzlich einen Datenbaustein als einzigen Datenspeicher bedenklich finde.

    Wie groß ist den Dein DB und was für eine Struktur hat er denn?
    If you open your Mind too much, your Brain will fall out.

  5. #5
    Feng ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.10.2007
    Ort
    Allgäu
    Beiträge
    112
    Danke
    155
    Erhielt 14 Danke für 7 Beiträge

    Standard

    Danke für die schnelle Antwort! Aber mein Problem ist nicht gelöst.
    Nacheinander:
    1) Ich habe mein Programm modifiziert und auf Bausteinkonsistenz gecheckt
    2) Ich klicke Station Master -> LADEN - ALLES. Die CPU wird neu bespielt.
    3) Station starten. So - der DB1 ist vollständig mit den Defaultwerten beschrieben - die alten Daten im DB1 sind weg.

    Was mache ich falsch?
    Bei BAUSTEINE / Eigenschaften/Operandenvorrang ist "Symbol hat Vorrang" - "Bei allen Zugriffen" angeklickt - aber das kann's doch eigentlich auch nicht sein.
    Wieso wird der DB1 beim ProgrammEinspeichern überschrieben??
    Größe: Schlappe 500 B

    Oder ist bei mir da "eine Schere im Kopf" ?
    Darf ich vielleicht nicht ALLES übertragen, sondern muss die DB ausklammern beim ProgammNeuLaden??

    Gruß Feng
    Geändert von Feng (21.11.2009 um 23:41 Uhr)

  6. #6
    Registriert seit
    17.09.2009
    Beiträge
    5
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Du brauchst nur die Bausteine übertragen die Du geändert hast.
    Die DB´s in der Regel nur wenn neue Variablen dazu gekommen sind oder sich der Datentyp geändert hat.

  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 Feng Beitrag anzeigen
    Darf ich vielleicht nicht ALLES übertragen, sondern muss die DB ausklammern beim ProgammNeuLaden??
    das ist eine grandiose idee und genau das was ich meinte!

    und zotos hat da schon recht ... ich würde die daten auf einem zweiten system, einem PC/Visu speichern ... so kann man sie immer mit der CPU synchronisieren, falls sich da mal was verabschiedet

    @waldy: wah.?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #8
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    du kannst die Aktualdaten deiner Datenbausteine in die Offline-Projektierung übernehmen bevor du an diesen etwas änderst.

    Schau mal hier Link

    Somit hast du nach dem übertragen des Datenbausteins wieder die alten Werte.

    Mfg
    uncle_tom

  9. Folgender Benutzer sagt Danke zu uncle_tom für den nützlichen Beitrag:

    Feng (22.11.2009)

  10. #9
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Feng Beitrag anzeigen
    Meine Fragen: Gibt es eine Möglichkeit, diese Daten im DB1 vor dem Überschreiben zu retten? Kann man sie vielleicht im Remanenzspeicher der CPU aufbewahren – funktioniert bei mir bisher nicht. Falls sie da doch drin sind, wie bekomme ich die Daten nach dem Hochlauf von der CPU in den DB1?
    Hallo Feng,

    wenn Dein Programm läuft, gehst du in die Online Sicht und kopierst Dir den DB1. Anschließend Offline Sicht und Einfügen.
    Jetzt hast Du Deine Aktualwerte gesichert.

    Solange Du nichts an dem DB1 änderst kannst Du dann auch jeder Zeit das Programm wieder übertragen.
    Falls der DB1 geändert werden soll, erst den aktuellen Stand sichern, dann ändern und anschließend übertragen.

    Der DB1 darf aber in Deinem Fall kein Instanz Datenbaustein sein.
    Denn ein Instanz Datenbaustein wird beim generieren (wenn der Statische Bereich des FB geändert wurde) immer mit seinen Anfangswerten Initialisiert.
    Die Daten kann man nicht so gut sichern
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  11. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    Feng (22.11.2009)

  12. #10
    Feng ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.10.2007
    Ort
    Allgäu
    Beiträge
    112
    Danke
    155
    Erhielt 14 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank für die superschnellen Antworten – da programmiere ich jetzt schon viele Monate an meiner Anlage rum und hatte mir noch keine Gedanken über „online“ und „offline“ gemacht.
    Bisher: Programm auf dem PC schreiben und in die CPU laden fertig . Der Unterschied zwischen „offline“ (Daten im Programmiergerät) und „online“ (Daten in der CPU) hat mich bislang gar nicht interessiert ...
    Der Link von uncle tom , der Hinweis von Paule und Panzerknackers http://www.sps-forum.de/showthread.php?t=26516&page=3 hat mir die Augen ein wenig geöffnet.

    Steht zwar alles da drin – aber ich beschreibe es nochmal für „Neulinge“ (wie z.B. mich) – wenn Fehler drin sind, bitte korrigieren:

    *** Daten im PG=Programmiergerät (offline) und Daten in der CPU=SPS (online) sind 2 Paar Schuhe
    *** Ändert man einen DB (im PG) und lädt ihn dann fröhlich in die CPU, sind die Aktualdaten in der CPU futsch (das war mein Problem)
    *** Will man einen DB (im PG) ändern aber die Aktualdaten der CPU nicht verlieren, dann:

    1) DB im PG öffnen (offline) – das ist der DB den ich (später) ändern, umschreiben, neu laden etc. will
    2) DB im PG öffnen (online) Im Simatic-Manager 2.Schaltfläche rechts von der Lade-schaltfläche – das ist der aktuelle Stand in der CPU
    3) Online-DB mit der Maus kopieren --> offline-DB einfügen – jetzt hat der offline-DB die Aktualdaten der CPU !
    4) Erst jetzt Offline-DB ändern etc
    5) Offline-DB --> CPU laden - die macht jetzt mit den letzten Aktualdaten weiter.

    Danke für die Hilfen!
    Gruß Feng - dessen Nebelbank sich wieder ein kleinwenig gelichtet hat ...
    Geändert von Feng (23.11.2009 um 00:15 Uhr)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 22.02.2011, 17:27
  2. Status 8F62 beim Schreiben von FTP - Daten
    Von CrazyCat im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 10.05.2010, 18:39
  3. Antworten: 1
    Letzter Beitrag: 22.05.2008, 11:27
  4. Antworten: 17
    Letzter Beitrag: 13.05.2008, 09:41
  5. Antworten: 3
    Letzter Beitrag: 28.03.2005, 16:19

Lesezeichen

Berechtigungen

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