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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Ereignis-ID 16# 2522

  1. #11
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kaltstart alleine scheint keine Dauerlösung zu sein.
    Der Fehler trat gestern wieder auf.
    Der Baustein wurde jetzt neu auf die CPU geladen.
    Mal schauen, ob das hilft.
    Lieber Feste feiern, als feste arbeiten.

  2. #12
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von blasterbock Beitrag anzeigen
    I
    @vierlagig
    Ich hatte über die Stacks bereits herausgefunden, wo der Fehler auftritt.
    An dieser Stelle wird ein Bit in den Lokaldaten gesetzt (das sollte ein schreibender Zugriff sein, es wird aber ein Lesefehler gemeldet).
    .
    Ich könnte mir Vorstellen, daß das Schreiben eines einzelnen Bits der Lokaldaten je nach internem Aufbau der CPU durch einen Read-Modify-Write-Zugriff auf die Word-Adresse, in der das Bit steht, durchgeführt wird. In diesem Fall wird dann zuerst gelesen. Wenn eine Adresse der Lokaldaten nicht existiert:
    - Ist diese Adresse fest (z.B. L 12.0) oder wird sie berechnet?
    - Steht grundsätzlich genügend Stack zur Verfügung?
    - Variiert die Stacktiefe, z.B. durch bedingte Bausteinaufrufe, Bausteinaufrufe in Schleifen, Alarm- und Zeit-OBs, rekursive (sich selbst aufrufende) Bausteine (geht das auf der S7?) ?

  3. #13
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    Die Adresse ist über die symbolische Definition der Temp-Variablen adressiert.
    Das Bit wird an zwei Stellen nur über die Symbolik im FC angesprochen (siehe Listing weiter oben). Es wird nichts gerechnet.
    Der Baustein steuert 8 Antriebe an, also 8 Aufrufe je Zyklus.
    Der Aufruf geschieht nicht aus Verschachtelungen heraus, es ist ein linearer Programmablauf (OB1 ruft FC34, FC34 ruft 8 mal FC704).
    Es laufen keinerlei Zeitinterupts, es werden auch keine Schleifen gebildet.

    Von den 8 Aufrufen landen nur 6 im Fehlerspeicher (kann man sehen an den zeitlichen Abständen zwischen den Fehlermeldungen ~1ms, Zykluszeit ca. 6 ms)
    Ich kann nicht sagen, welche von den 8 Aufrufen zum Fehler führten.

    Die Größe des Stacks kann ich nicht bewerten, habe mir darum eigentlich noch nie Gedanken machen müssen.

    Der Programmspeicher ist üblicherweise zu ca. 40% gefüllt.
    Lieber Feste feiern, als feste arbeiten.

  4. #14
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.268
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Was mich daran irritiert, ist die Fehlermeldung. Da wird versucht, auf den Global-DB zuzugreifen. Das Programm arbeitet aber eigentlich an dieser Stelle mit den Lokaldaten. Gibts einen Alarm-OB oder andere Interrupt-Möglichkeit?
    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

  5. #15
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    eigene Lokaldaten, Bitzugriff, Zugriffsadresse 1039
    Der Zugriff erfolgt auf Lokaldaten, nicht auf Globaldaten laut der Fehlermeldung.

    Von meiner Seite aus werden keine Alarm- oder Interruptaufrufe gestartet.
    Lieber Feste feiern, als feste arbeiten.

  6. #16
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.268
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Ah, ich hatte mich an dein Bild vom Diagnosepuffer gehalten.
    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. #17
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    Sorry, aber das Bild war vom Kollegen F AP, als Beispiel, nicht von mir.
    Lieber Feste feiern, als feste arbeiten.

  8. #18
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.268
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Aua, so kann man in die Irre gehen !

    Zugriffsadresse 1039 für Lokaldaten (wenn da mal der Stack des Bausteins gemeint ist????) wäre aber auch schon recht üppig, oder?
    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

  9. #19
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    Der aufrufende Baustein hat 100 Worte in den Lokaldaten belegt, der aufgerufene Baustein 14 Worte.
    Ist 1039 die Stackadresse ?
    Was legt die CPU auf den Stack beim Programmaufruf ?
    Lieber Feste feiern, als feste arbeiten.

  10. #20
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bin mir zwar jetzt nicht sicher ob das mit dem Problem zu tun haben könnte, aber mir ist in Deinem FC107 folgender Code aufgefallen:

    Code:
    .....
    LAR1 P##steuerwort
    L LW [AR1,P#0.0]
    LAR1 #AdrPW1
    .....
    .....
    Da Du ja indirekt adressierst, ist meiner Meinung nach die Angabe LW zumindest überflüssig, weil doppelt gemoppelt. Das Adressregister bezieht sich durch den Pointer ja bereits auf die Lokaldaten. Ob die CPU in bestimmten Situationen damit "durcheinander" kommen kann weis ich nicht.
    Aber testweise würde ich das statt dessen mal so schreiben:

    Code:
    .....
    LAR1 P##steuerwort
    L W [AR1,P#0.0]
    LAR1 #AdrPW1
    .....
    .....
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

Ähnliche Themen

  1. Ereignis-ID 16#49A0
    Von ellawo im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 29.05.2011, 10:43
  2. Bit Ereignis in WinCCflexible
    Von TimoB im Forum HMI
    Antworten: 11
    Letzter Beitrag: 03.02.2010, 11:44
  3. Ereignis-ID Diagnosepuffer S7-300
    Von dresel im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.01.2009, 15:40
  4. Kommendes bzw. Gehendes Ereignis
    Von Kuffel im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 08.12.2006, 13:04
  5. Intouch Ereignis mit Zeitstempel
    Von klauserl im Forum HMI
    Antworten: 1
    Letzter Beitrag: 03.06.2006, 00:30

Lesezeichen

Berechtigungen

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