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

Ergebnis 1 bis 10 von 10

Thema: Interner Fehler in Baustein - SPS schaltet ab

  1. #1
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Ausrufezeichen


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    vielleicht kann mir hier jemand helfen. Meine SPS (Phoenix Contact ILC 350 PN; PCWORX 5.20.17 SP4.45) schaltet nach der Freigabe eines Bausteins ab. Der Baustein hat bis jetzt immer funktioniert, nur jetzt gibt er folgende Fehlermeldung aus:





    Die dazugehörige Datentypdeklaration schau so aus:



    Wie schon gesagt, hat bis jetzt immer funktioniert, keine Ahnung wieso nicht mehr. Habe auch schon ältere Versionen meines Programmes probiert, leider das gleiche Ergebnis. Vielleicht hat hier jemand ne Idee?

    KAnn es vielleicht am Update 4.45 liegen, dass hier etwas schief gegangen ist. Die restlichen Programme laufen aber problemlos...

    AUf jeden Fall schon mal besten dank im Voraus für die Antworten.

    Gruß

    Vaninger
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Interner Fehler in Baustein - SPS schaltet ab  

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

    Standard

    ein Deutungsversuch:
    STUFE darf nicht 0 sein. Oben im Code fragst du mal ab, ob STUFE INT#0 ist, aber weiter unten greifst du auf ..Raste_Time[STUFE] zu. (man kanns in Bild nicht genau erkennen.) Wenn dem so wäre, würde das nicht gehen, denn das Array für Raste_Time ist 1...10.
    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

  3. #3
    Vaninger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,
    danke für deine Antwort.

    Kurz zur Erklärung:

    Das Program bekommt von einem anderen Baustein Vorgaben für ein Maischprogramm, das heißt, zehn Temperaturen und zehn Zeiten. Dazu kommt noch der Name des Rezeptes (z. B. Pils), der Name des Rezepterstellers, die Einmaischtemperatur (diese liegt an, wenn die Stufe 0 ist!). Diese sind in einem Satz zusammengefasst. Insgesamt gebe es somit also 10 verschiedene Rezepte, die unter Maisch_Para zusammengesetzt sind (siehe Array).

    Die von dir angesprochene Stufe gibt eigentlich nur den Schritt (bzw. die Raste) an. Nach abgelaufener Zeit (Raste_Time) wird die Stufe somit um eins erhöht und die nächste Raste_Temp und Raste_Time liegt an und wird abgearbeitet!

    Kann es vielleicht am eingespielten Update liegen?

    Vielleicht fällt dir ja noch was ein.

    DAnke

  4. #4
    Vaninger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,
    das Problem ist zum Glück jetzt gelöst. Wie ich es mir gedacht habe, lag es an dem Firmwareupdate. Nach Installation der alten Firmware funktioniert der Baustein wieder. Wieso auch immer.



    Gruß
    Vaninger

  5. #5
    Registriert seit
    25.07.2007
    Beiträge
    79
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Ich denke Ralle hat Recht oder ist zumindest auf dem richtigen Weg.

    Auch ich vermute, dass der Stopp daher kommt, weil in der markierten Zeile die Variable "Step" oder "SA" einen Wert außerhalb der gültigen Arraygrenzen hat.

    Ja, der Fehlerzustand kann durchaus erst nach einem Firmware-Update auftreten. Und zwar dann, wenn in der alten Firmware dieser Fehlerzustand nicht korrekt behandelt wurde. In diesem Falle wäre ein Downgrade der Firmware aber der falsche Weg und würde den Programmierfehler nur wieder verschleiern.

    Das gleiche Problem hatte ich selbst auch schon einmal bei der Steuerung eines Mitbewerbers. Firmwareupdate -> SPS-Stop. Ursache war ein Zugriff auf ein Arrayelement 0 obwohl das Array erst ab 1 definiert war.

  6. #6
    Vaninger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.02.2008
    Ort
    Kulmbach
    Beiträge
    151
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ypps,

    danke für die Antwort. Ich glaube trotzdem nicht, dass es an dem Stufe 0 liegt, da bei dem Programm bei Stufe 0 gar nicht auf die Raste_Time sondern nur auf die Starttemperatur zugegriffen wird (siehe Auszug aus Programm ganz oben! If Stufe = 0 Then ...).

    Wie meinst du, dass der sonst Fehler behoben werden kann. Das Array von 0 bis 10 anstatt von 1 bis 10 anlegen?

    Gruß
    Vaninger

  7. #7
    Registriert seit
    25.07.2007
    Beiträge
    79
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Die schwarz markierte Zeile wird doch soweit ich sehe immer durchlaufen - oder? Wenn die SPS diese Zeile erreicht, darf Stufe nicht 0 sein.

    Testweise zur Fehlersuche kannst Du das Array natürlich von 0..10 anlegen.
    Welchen Wert haben denn "Stufe" und "SA" wenn die SPS gestoppt wird?

  8. #8
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 232 Danke für 204 Beiträge

    Standard

    Hi

    Auch ein "lesender" Zugriff auf "Stufe 0" bringt deine CPU in STOP.


    Siehe "schwarze Zeile" .
    Karl

  9. #9
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 232 Danke für 204 Beiträge

    Standard

    Hi

    Sezte doch mal testweise die Stufe auf 0.

    (Mit der neuen Firmware)
    Möglicherweise hast du nach dem Firmware-Update Variablen verändert,
    sodass NACH dem Update die "Stufe 0" nicht erreicht war/wird.


    Also, 1.Zeile --> STUFE := 0;
    und starten,
    dann kannst du sicher sein.
    Karl

  10. #10
    Registriert seit
    29.07.2008
    Beiträge
    143
    Danke
    4
    Erhielt 27 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo


    der Fehler liegt sicherlich am array welches mit 0 durchlaufen wird.
    Das Problém liegt wie bereits ybbs geschrieben an der FW.

    umgehen mit einer Abfrage vorm TON oder änderung des array mit element 0.

Ähnliche Themen

  1. interner Fehler beim Transferieren!
    Von sago im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 09.02.2009, 13:20
  2. wincc flexible interner FEHLER
    Von sali im Forum HMI
    Antworten: 13
    Letzter Beitrag: 23.07.2008, 12:23
  3. Antworten: 4
    Letzter Beitrag: 08.06.2007, 08:02
  4. ProTool Fehlermeldung E3499 Interner Fehler?!
    Von plc_tippser im Forum HMI
    Antworten: 7
    Letzter Beitrag: 01.01.2007, 14:37
  5. pdiag - interner fehler
    Von sbbb im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 23.03.2004, 20:16

Lesezeichen

Berechtigungen

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