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

Ergebnis 1 bis 9 von 9

Thema: SPS Anlauf

  1. #1
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, eigentliche dürfte ich als SPS Prog mit einiger Erfahrung nicht mehr stellen, aber wenn es so klar wäre....!?!

    Also ich mußte heute für eine Änderung eines Analogeinganges die HW Config ändern und natürlich die SPS stoppen und wieder starten. Soweit so gut. Als die SPS aber durch die Neustartfunktion der HW Config nicht wiederanlief, zwang ich die CPU per Software zu einem Kaltstart. Danach lief alles und Welt schien in Ordnung.
    Weit gefehlt: Sämtliche Datenbausteineinträge waren willkürlich verändert, wobei ich keine Bausteinänderung gemacht habe. Zudem war ich stets der Ansicht, dass bei der verwendeten S7-400, Datenbausteine remanent sind!

    Wer kann mir das erklären und welche Möglichkeiten der Datenrettung sind denkbar? Kann man eine DB nach Excel bringen? Hilft die Funktion "Ram nach Rom"?
    SG Farinin
    Zitieren Zitieren SPS Anlauf  

  2. #2
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    623
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Standard

    Die DB's werden bei Kaltstart mit den Initialwerten neu geladen. Echte Scheisse. Den Kaltstart gibt es glaube ich auch nur noch bei älteren Ausgabeständen. Warum Siemens sowas macht? Keine Ahnung.

    Edit: Ein Supporter bei Siemens hat mir dann mal geraten die DBS nach Systemdatenbausteinen zu kopieren..?? Vieleicht geht das aber geamcht habe ich das dann nie, weil viel Arbeit mit Wiederherstellen der Daten.
    Geändert von repök (20.06.2007 um 20:11 Uhr) Grund: Einfall gehabt....
    Zitieren Zitieren Hatte ich auch mal gemacht....  

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

    Bevor ich an einer SPS etwas ändere, lege ich im Manager über Einfügen einen zusätzlichen Programmordner an, benenne ihn um in Datensicherung+Datum und kopiere von Online alle DB dort hinein. Hat mir schon einige Male geholfen!
    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
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.725
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Die Funktion RAM nach ROM würde auf jeden Fall helfen, hier werden die Aktualwerte der DB's auf die Anfangswerte geschrieben.
    Nachteil bei vielen Anlagen: Die CPU muss dabei in Stop sein, was aber in deinem Fall egal gewesen wäre.

    Eine Datensicherung wie Ralle schreibt sollte man sowieso und bedingungslos vor jeder Änderung machen.
    Warum hast du jetzt ja "schmerzlich" erfahren.

    Mfg
    Manuel
    Geändert von MSB (05.09.2008 um 13:49 Uhr)
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Avatar von Farinin
    Farinin ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.10.2005
    Ort
    49586 Neuenkirchen
    Beiträge
    329
    Danke
    30
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo, erst einmal ein großes Dankeschön. Ist es eigentlich absolut ausgeschlossen die Aktualwerte zu den Anfangswerten im Laufenden Betrieb zu ändern? Bzw. kann mal Quellen automatisch generieren?
    SG Farinin

  6. #6
    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 Farinin Beitrag anzeigen
    Hallo, erst einmal ein großes Dankeschön. Ist es eigentlich absolut ausgeschlossen die Aktualwerte zu den Anfangswerten im Laufenden Betrieb zu ändern? Bzw. kann mal Quellen automatisch generieren?
    Man kann die DB in den Step7-Manager einlesen, Quellen daraus erzeugen, die Aktualwerte in die Anfangswerte umkopieren, die Quellen übersetzen und dann die DB wieder in die SPS schreiben. Mit etwas Mühe kann man das auch automatisieren. In jedem Fall ein Problem, wenn die Anlage weiterläuft und in der Zwischenzeit neue Werte in den DB landen.
    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

  7. #7
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    @Ralle

    Ich habe das mal testhalber so probiert, schaut ca so aus:

    DATA_BLOCK "HP&TP"
    TITLE =
    VERSION : 0.1

    STRUCT
    HP0 : DINT ;
    HP1 : DINT ;
    HP2 : DINT ;
    HP3 : DINT ;
    HP4 : DINT ;
    HP5 : DINT ;
    TP0 : DINT ;
    TP1 : DINT ;
    TP2 : DINT ;
    TP3 : DINT ;
    TP4 : DINT ;
    TP5 : DINT ;
    END_STRUCT ;
    BEGIN
    HP0 := L#1;
    HP1 := L#0;
    HP2 := L#0;
    HP3 := L#0;
    HP4 := L#0;
    HP5 := L#0;
    TP0 := L#0;
    TP1 := L#0;
    TP2 := L#0;
    TP3 := L#0;
    TP4 := L#0;
    TP5 := L#0;
    END_DATA_BLOCK

    wenn ich das übersetze steht im DB dann Anfangswert 0 und Aktualwert 1 im DWORD 0.
    Was habe ich falsch verstanden? Wo kann man nun die Anfangswerte ändern?
    Geändert von borromeus (21.06.2007 um 09:44 Uhr)

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    hast du eine Visualisierung an der Anlage ?
    Wenn ja, dann könntest du damit die Daten der DB's speichern und auf Tastendruck zurückschreiben ...

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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von borromeus Beitrag anzeigen
    @Ralle

    Ich habe das mal testhalber so probiert, schaut ca so aus:

    DATA_BLOCK "HP&TP"
    TITLE =
    VERSION : 0.1

    STRUCT
    HP0 : DINT ;
    HP1 : DINT ;
    HP2 : DINT ;
    HP3 : DINT ;
    HP4 : DINT ;
    HP5 : DINT ;
    TP0 : DINT ;
    TP1 : DINT ;
    TP2 : DINT ;
    TP3 : DINT ;
    TP4 : DINT ;
    TP5 : DINT ;
    END_STRUCT ;
    BEGIN
    HP0 := L#1;
    HP1 := L#0;
    HP2 := L#0;
    HP3 := L#0;
    HP4 := L#0;
    HP5 := L#0;
    TP0 := L#0;
    TP1 := L#0;
    TP2 := L#0;
    TP3 := L#0;
    TP4 := L#0;
    TP5 := L#0;
    END_DATA_BLOCK

    wenn ich das übersetze steht im DB dann Anfangswert 0 und Aktualwert 1 im DWORD 0.
    Was habe ich falsch verstanden? Wo kann man nun die Anfangswerte ändern?
    Code:
    DATA_BLOCK DB 30
    TITLE =
    { S7_language := '7(1) Deutsch (Deutschland)  09.02.2005  11:05:28' }
    AUTHOR : Ralle
    FAMILY : IFA
    NAME : 'IFA-INIT'
    VERSION : 1.0
    
    
      STRUCT     
       number_Para : INT  := 3;    //number of parameters
       Count : INT ;    //counter for loop - init parameter
       Access_1 : WORD  := W#16#20;    //access_1 - 20h write WORD, 30h write DWORD
       Index_1 : WORD  := W#16#F;    //Index 1 - Control Lageregler P-Faktor KPn
       Subindex_1 : WORD  := W#16#A;    //Subindex 1
       Data_1 : DINT  := L#800;    //data 1
       Access_2 : WORD  := W#16#30;    //access_2 - 20h write WORD, 30h write DWORD
       Index_2 : WORD  := W#16#1C;    //Index 2 - Motion dec_Stop
       Subindex_2 : WORD  := W#16#15;    //Subindex 2
       Data_2 : DINT  := L#7000;    //data 2
       Access_3 : WORD  := W#16#30;    //access_3 - 20h write WORD, 30h write DWORD
       Index_3 : WORD  := W#16#1D;    //Index 3 - Motion acc
       Subindex_3 : WORD  := W#16#1A;    //Subindex 3
       Data_3 : DINT  := L#7000;    //data 3
       Access_4 : WORD  := W#16#20;    //access_4 - 20h write WORD, 30h write DWORD
       Index_4 : WORD ;    //Index 4 - 
       Subindex_4 : WORD ;    //Subindex 4
       Data_4 : DINT ;    //data 4
       Access_5 : WORD  := W#16#30;    //access_5 - 20h write WORD, 30h write DWORD
       Index_5 : WORD ;    //Index 5 - 
       Subindex_5 : WORD ;    //Subindex 5
       Data_5 : DINT ;    //data 5
       Access_6 : WORD  := W#16#20;    //access_6 - 20h write WORD, 30h write DWORD
       Index_6 : WORD ;    //Index 6 - 
       Subindex_6 : WORD ;    //Subindex 6
       Data_6 : DINT ;    //data 6
       Access_7 : WORD  := W#16#20;    //access_7 - 20h write WORD, 30h write DWORD
       Index_7 : WORD ;    //Index 7
       Subindex_7 : WORD ;    //Subindex 7
       Data_7 : DINT ;    //data 7
       Access_8 : WORD  := W#16#20;    //access_8 - 20h write WORD, 30h write DWORD
       Index_8 : WORD ;    //Index 8
       Subindex_8 : WORD ;    //Subindex 8
       Data_8 : DINT ;    //data 8
       Access_9 : WORD  := W#16#20;    //access_9 - 20h write WORD, 30h write DWORD
       Index_9 : WORD ;    //Index 9 - 
       Subindex_9 : WORD ;    //Subindex 9
       Data_9 : DINT  := L#20;    //data 9
       Access_10 : WORD ;    //access_10 - 20h write WORD, 30h write DWORD
       Index_10 : WORD ;    //Index 10
       Subindex_10 : WORD ;    //Subindex 10
       Data_10 : DINT ;    //data 10
      END_STRUCT ;    
    BEGIN
       number_Para := 3; 
       Count := 0; 
       Access_1 := W#16#20; 
       Index_1 := W#16#F; 
       Subindex_1 := W#16#A; 
       Data_1 := L#800; 
       Access_2 := W#16#30; 
       Index_2 := W#16#1C; 
       Subindex_2 := W#16#15; 
       Data_2 := L#7000; 
       Access_3 := W#16#30; 
       Index_3 := W#16#1D; 
       Subindex_3 := W#16#1A; 
       Data_3 := L#7000; 
       Access_4 := W#16#20; 
       Index_4 := W#16#0; 
       Subindex_4 := W#16#0; 
       Data_4 := L#0; 
       Access_5 := W#16#30; 
       Index_5 := W#16#0; 
       Subindex_5 := W#16#0; 
       Data_5 := L#0; 
       Access_6 := W#16#20; 
       Index_6 := W#16#0; 
       Subindex_6 := W#16#0; 
       Data_6 := L#0; 
       Access_7 := W#16#20; 
       Index_7 := W#16#0; 
       Subindex_7 := W#16#0; 
       Data_7 := L#0; 
       Access_8 := W#16#20; 
       Index_8 := W#16#0; 
       Subindex_8 := W#16#0; 
       Data_8 := L#0; 
       Access_9 := W#16#20; 
       Index_9 := W#16#0; 
       Subindex_9 := W#16#0; 
       Data_9 := L#20; 
       Access_10 := W#16#0; 
       Index_10 := W#16#0; 
       Subindex_10 := W#16#0; 
       Data_10 := L#0; 
    END_DATA_BLOCK
    Du kannst schon bei der Vereinbarung Werte hinter die Variablen schreiben.
    Das sind die Anfangswerte, die dir im DB angezeigt werden. Im zweiten Teil nach Begin stehen die Aktualwerte. Siemens schreibt in seiner Hilf, das seien die Anfangswerte, ich denke, die haben da die Begriffe verwechselt. Wenn deine Werte 0 sind, erscheint der Anfangswert nicht, da Defaultwert.
    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

  10. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    borromeus (21.06.2007)

Ähnliche Themen

  1. Automatischer Anlauf
    Von hbdfan im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 02.07.2011, 13:00
  2. Anlauf-OB´s
    Von Funstriker im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 16.09.2009, 06:01
  3. OP5 $ 115 AG-Anlauf läuft
    Von bayersepper im Forum HMI
    Antworten: 2
    Letzter Beitrag: 18.10.2008, 03:11
  4. Gegenstück zu den Anlauf-OBs
    Von afk im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.04.2006, 15:12
  5. SPS-Anlauf-Merker
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.05.2005, 17:49

Lesezeichen

Berechtigungen

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