CPU zeigt Systemfehler

wiede

Level-1
Beiträge
64
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Wenn ich mein erstelletes Projekt in die PLCSIM lade und auf RUN gehe, leuchtet sofort SF auf.

Die Hilfe sagt, dass es ein Hardware- oder Softwarefehler ist, der die CPU in Stop versetzt. Ich denke es gibt außer Hard- und Software an einer SPS-Steuerung nicht viel, dann kann es praktisch alles sein!

Ich benutze PLCSIM 5.4.0, die Hardware besteht aus einer CPU315F-2DP, 4*ET200, ein Micromaster und einem MP370. Außerdem verwende ich IEC-Bausteine als Multiinstanzen.

Kann man irgendwie/irgendwo auslesen, was den Systemfehler verursacht hat (mit Verwendung von PLCSIM, Hardware steht nicht zur Verfügung), oder gibt es eine bessere Beschreibung was einen SF auslöst?

Danke


Wiede
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank, das hat mir etwas weitergeholfen.

Da steht, dass es sich um einen Bereichslängenfehler handelt. Wie oft kann man denn FBs ineinanderschachteln und multiinstanzfähig machen?
 
Gib doch mal die ganze Fehlermeldung an. Vielleicht schreibst/liest du in/von einen Bereich den es nicht gibt
 
Es sind 2 Fehlermeldungen:

2522:
Bereichslängenfehler beim Lesen
FB-Nr 3
Bausteinadresse 4512
Angeforderter OB Programmierfehler (OB121)

4562:
Stop durch Programmierfehler (OB121 nicht geladen oder nicht möglich...)


Einen OB 121 habe ich in meinem Programm auch nirgends verwendet, was soll der denn machen?

Den Baustein, bei dem der Fehler auftritt, habe ich 3 mal als Multiinstanz aufgerufen. Den ersten durchläuft er, beim Zweiten geht die CPU auf Stop und der Dritte wird somit nicht mehr abgearbeitet.

Zur Verschachtelung:
Ich habe eine IEC-Zeit in einem FB, diesen wieder in einem FB und der wird im OB1 aufgerufen!


Wiede
 
Wenn du den Baugruppenzustand aufrufst, gibt es dort einen Button Baustein öffnen. Der springt dann zur Fehlerstelle. Guck da doch mal nach. Der OB 121 wird immer bei einem Softwarefehler aufgerufen und es kann dort eine Fehlerbehandlungsroutine programmiert werden
 
Zu dem Baustein bin ich schon gesprungen, das war der Zweite von den drei gleichen FBs. In der Fehlermeldung 2522 steht:
"Instanz-DB, Doppelwortzugriff, Zugrifsadresse: 22

Das ist auch der Name des Verwendeten FB 22
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende eine CPU 315F-2DP und der FB3, welcher den Fehler auslöst ist 5542 Byte groß.

Nach meiner bisherigen Erfahrung kommt PLCSim mit Bausteinen größer 3000 Byte nicht klar. Ob die CPU das schluckt weiß ich z.Zt. nicht. Eine 314 tut es nicht, eine 317 kann es.

Gruß
LL
 
Ergänzung dazu :
Ich hatte da mal eine Diskussion mit RS-PLC-AA. Hier ging es darum einen FB zu verkleinern, da er auf der vorgesehenen CPU nicht läuft. Hier ging es m.E. um eine 315, wie bei dir ...

...
 
Es sind alle Bausteine auf die CPU geladen worden.

Evtl. muss ich den Baustein mal auseinanderreißen und kleiner als 3000 Byte machen!

Allerdings scheint mir das mit dem Doppelwortzugriff etwas komisch!
 
Der Grund, dass ich alles in diesen FB gepackt hatte, war eigentlich nur die Übersicht. Es ist ein Teil des Gesamtprojekts, der ziemlich eigenständig ist. Ich wollte statische und temporäre Variablen anlegen, die nur zur Übergabe von Daten im FB dienen und im restlichen Programm keine Verwirrung bringen.

Wie würdet Ihr so etwas untergliedern?
 
Das ist nicht so, dass ich mir bei der Arbeit nichts gedacht habe, da ich aber noch nicht so lange programmiere, möchte ich mir nicht unbedingt einen schlechten Programmierstil aneignen.

Außerdem habe ich etwas Schwierigkeiten, auf der Siemens-Homepage Infos zu meinen Problemen zu finden! Da kann man ganze Tage kaputt machen, indem man irgendwelche PDFs durchliest, die entweder so geschrieben sind, dass ich sie nicht verstehe, oder zuerst 3 Seiten lang etwas Einfaches beschreiben und das Komplizierte dann einfach weggelassen wird!

Deshalb bin ich Euch für Eure Hilfe sehr dankbar!


Wiede
 
Zurück
Oben