Step 7 Steuerung schmiert ab beim Wechsel von Programmen

Kehrer

Level-2
Beiträge
439
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Habe folgendes Problem:
Ich versuche in der HMI diverse Programme aufzurufen. Dafür benutze ich DB10/DB11/DB16 um die Daten über FC100 in DB17 zu speichern und wieder zu laden.
Programme 3 & 4 bekomme ich immer den Fehler BDC (s. Anhang) und die Steuerung geht auf STOP.
Wenn ich zwischen 2/5/6/7 switche passiert es mir nicht.
Steuerung ist eine S7-300 314-6CG03-0AB3.
Habe die FC und DBs aus einer anderen Steuerung/Projekt , bei der es ohne Probleme funktioniert übernommen und angepasst.
Zum Kontext:
aus DB10/DB 11 werden die Spuren in DB17 gespeichert. Aus DB16.DBX512 wird der Text und aus DB16.DBB650 wird die Programmnummer in DB17 übernommen.
Über FC100 wird geladen und gespeichert aus DB17

Frage: was muss ich in OB121 (bisher nicht vorhanden) dann eingeben weil die Steuerung das im Fehlerspeicher anmotzt?
Ich habe echt keine Ahnung mehr wo das Problem liegt.
Vermutung: Zu kleiner RAM Speicher. Bevor ich aber das Nachfolgermodell kaufe , möchte ich gerne ausschließen dass ich das Problem verursache.
Hat evtl. jemand einen Tipp was da falsch läuft?
 

Anhänge

  • DB10.pdf
    DB10.pdf
    20,1 KB · Aufrufe: 16
  • fehler ob121.JPG
    fehler ob121.JPG
    27,6 KB · Aufrufe: 34
  • FC100.pdf
    FC100.pdf
    75,6 KB · Aufrufe: 16
  • DB17.pdf
    DB17.pdf
    155,9 KB · Aufrufe: 7
  • db16.JPG
    db16.JPG
    33,1 KB · Aufrufe: 33
  • DB11.pdf
    DB11.pdf
    22,7 KB · Aufrufe: 4
Klicke doch einmal in dem Diagnosefenster auf die Meldung "BCD Wandlungsfehler" bzw. die Meldung darüber und dann auf "Baustein öffnen" oder "Gehe zu". Du musst aber vorher den OB121 online wieder entfernen falls du ihn geladen hast und die Steuerung in STOP schicken.
1726575098060.png
Dann springt er schon einmal in die Programm-Zeile, in der der Fehler auftritt. Dann die Zeile analysieren und den Fehler beseitigen.

was muss ich in OB121 (bisher nicht vorhanden) dann eingeben weil die Steuerung das im Fehlerspeicher anmotzt?
Du musst den BCD Wandlungsfehler im Programm beseitigen, im OB121 musst du nichts eintragen.
 
Zuletzt bearbeitet:
Bitte beim nächsten Mal noch einen kleineren Ausschnitt vom Diagnosepuffer posten.

Wie schon geschrieben:
-> es tritt irgendwo in der SPS ein BCD Wandlungsfehler auf
-> die SPS möchte den OB121 aufrufen, als Fehlerreaktion
-> ist dieser nicht geladen, geht die Steuerung in Stopp

Verstehe das Problem nicht, die SPS sagt doch genau was passiert ist.
 
hoffentlich schicke ich Euch nicht in die Falsche Richtung.
Aber lt. Handbuch kann der BLKMOV kein Array vom Datentyp String. Im Netzwerk 7 vom FC100 wird das aber gemacht. Die BLKMOV darüber sind die mit Pointern gemacht und funktionieren wohl. Ist vielleicht durch das Kopieren von der alten Steuerung durch Projekteinstellung der Pointer zu einem symbolischen Wert umgestellt worden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hoffentlich schicke ich Euch nicht in die Falsche Richtung.
Aber lt. Handbuch kann der BLKMOV kein Array vom Datentyp String. Im Netzwerk 7 vom FC100 wird das aber gemacht. Die BLKMOV darüber sind die mit Pointern gemacht und funktionieren wohl. Ist vielleicht durch das Kopieren von der alten Steuerung durch Projekteinstellung der Pointer zu einem symbolischen Wert umgestellt worden?
Meinst du den 3. BLKMOV mit DB16.DBX512.0?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der BCD-Wandlungsfehler tritt nicht in dem gezeigten FC100 auf und auch nicht in den DBs (da ist höchstens der unzulässige Wert drin). BLKMOV hat auch nichts mit dem Fehler zu tun bzw. dabei titt der BCD-Wandlungsfehler garantiert nicht auf. In welchem Baustein der Fehler auftritt, sollte in dem nicht gezeigten Diagnosepuffer-Eintrag "BCD-Wandlungsfehler" stehen (vielleicht auch in dem Eintrag "STOP durch Pogrammierfehler..."?).
Am besten du exportierst den CPU Diagnosepuffer und stellst die Textdatei hier ein.
Oder suche selber in deinem Programm nach KOP-Anweisungen BCD_I und BCD_DI und nach AWL-Anweisungen BTI und BTD.
 
Wenn wir gerade bei diesem Thema sind.Kennt jemand eine Baustein der Daten verschiebt mit Startadresse1 und Länge->Startadresse2 und Länge
also ohne Zeiger.Globaler DB als Bsp.Adressangabe absolut.
 
In welchem Baustein der Fehler auftritt, sollte in dem nicht gezeigten Diagnosepuffer-Eintrag "BCD-Wandlungsfehler" stehen (vielleicht auch in dem Eintrag "STOP durch Pogrammierfehler..."?).
Am besten du exportierst den CPU Diagnosepuffer und stellst die Textdatei hier ein.
"Export" --> "Speichern unter"
 

Anhänge

  • Fehlerstelle.png
    Fehlerstelle.png
    53,2 KB · Aufrufe: 21
Zurück
Oben