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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Indirekte Adressierung Fehler

  1. #1
    Registriert seit
    18.01.2016
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe hier eine S7 414-1 CPU vor mir.

    Diese gibt folgenden Baugruppenzustand aus:

    Code:
    Diagnosepuffer der Baugruppe CPU 414-1
    Bestell-Nr./ Bezeichn.         Komponente                     Ausgabestand                  
    6ES7 414-1XG02-0AB0            - - -                          9                             
    Baugruppenträger:              0
    Steckplatz:                    3
    
    Ereignis 1 von 120:  Ereignis-ID 16# 2525
    Bereichsfehler beim Schreiben 
    Falsche Bereichskennung:    0
    FC-Nummer:    68
    Bausteinadresse:     34
    Angeforderter OB: Programmierfehler-OB (OB 121)
    Prioritätsklasse:  1
    interner Fehler, kommendes Ereignis
    Der Fehler wird von einem Bereichszeiger ausgelöst. Die Fehlerstelle sieht so aus:

    LAR1 P#15.0
    L W#16#1002
    T W [AR1,P#0.0] <---- Löst den Fehler aus!

    Leider verstehe ich nicht ganz, wohin nun versucht wird zu transferieren. Er Versucht den Inhalt von Akku 1 nach ?15.0 zu transferieren. Aber wohin genau? Ausganswort, Merkerwort, Datenbausteinwort?

    Ich hoffe ihr könnt mir helfen und sagen wieso der Fehler auftrifft.

    Gruß,
    Gh0st90
    Zitieren Zitieren Indirekte Adressierung Fehler  

  2. #2
    Registriert seit
    05.06.2012
    Beiträge
    64
    Danke
    13
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Wenn ich mich jetzt nicht komplett verhaue, lädst du ja bereichsintern etwas ins Adressregister 1. Das müsste aus dem Bereich 'TEMP' kommen.
    Was steht denn im FC68 im Lokaldatenbereich 15.0?

  3. #3
    Registriert seit
    10.07.2012
    Beiträge
    11
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Gh0st90 Beitrag anzeigen
    Leider verstehe ich nicht ganz, wohin nun versucht wird zu transferieren. Er Versucht den Inhalt von Akku 1 nach ?15.0 zu transferieren. Aber wohin genau? Ausganswort, Merkerwort, Datenbausteinwort?
    LAR1 P#15.0 => Adressregister 1 mit dem Inhalt des bereichsinternen Zeigers P#15.0 laden.

    Edit:

    So wie ich das verstehe willst du evtl das?

    L P#I15.0 (oder M15.0 oder DBX15.0)
    //Load ACCU1 with pointer value
    LAR1
    //Load AR1 with pointer in ACCU1



    Geändert von Kreativ (18.01.2016 um 13:27 Uhr)

  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

    Zitat Zitat von Gh0st90 Beitrag anzeigen

    Leider verstehe ich nicht ganz, wohin nun versucht wird zu transferieren. Er Versucht den Inhalt von Akku 1 nach ?15.0 zu transferieren. Aber wohin genau? Ausganswort, Merkerwort, Datenbausteinwort?
    Das weiß die CPU auch nicht, deshalb ja die Meldung.
    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
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Dein Problem: Deine indirekte Adressierung enthält keine Speicherbereichskennung, weder im AR1 noch in der Operation.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Gh0st90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.01.2016
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    sorry, ich habe gerade erfahren das ein Kollege sich schon dran probiert hat und Sachen ausprobiert hat. Der Ursprung sieht so aus:


    LAR1 P##Ziel
    L W#16#1002
    T W [AR1,P#0.0]


    #Ziel ist eine Variable vom Typ ANY im TEMP mit der Adresse 16.0

    Nur leider bringt mich das immer noch nicht weiter. Und der Fehler ist der Selbe.

  7. #7
    Registriert seit
    05.06.2012
    Beiträge
    64
    Danke
    13
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Was steht den in der Variable? Diese wird doch vorher mal beschrieben worden sein.

  8. #8
    Gh0st90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.01.2016
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nein, soweit ich das sehe nicht. Kann ich mir den Wert irgendwie anzeigen lassen?

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von Gh0st90 Beitrag anzeigen
    Der Ursprung sieht so aus:


    LAR1 P##Ziel
    L W#16#1002
    T W [AR1,P#0.0]


    #Ziel ist eine Variable vom Typ ANY im TEMP mit der Adresse 16.0

    Nur leider bringt mich das immer noch nicht weiter. Und der Fehler ist der Selbe.
    Die Adresse der fehlerhaften Codestelle ist aber nun bestimmt eine andere? Dieser Code wird nicht mehr den Fehler auslösen.
    Wie lautet die Diagnosemeldung jetzt?

    Dein Code sieht aus, als ob da ein ANY-Pointer z.B. für SFC20 BLKMOV zusammengebastelt wird. Wie sieht der komplette Code aus, wie sah er vor Euren Versuchen aus? Was ist der Sinn des Codes?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Wert in der Variable #Ziel ist unerheblich, "LAR1 P##Ziel" lädt nicht den Wert sondern die Adresse der Variable (P#L16.0).

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Step 7 Indirekte Adressierung
    Von firefox711 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.05.2013, 07:55
  2. Indirekte Adressierung
    Von Christian1984 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.02.2012, 16:31
  3. Indirekte Adressierung
    Von PapaLeo im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 11.05.2009, 17:52
  4. indirekte Adressierung
    Von Linowitch im Forum HMI
    Antworten: 13
    Letzter Beitrag: 06.12.2008, 19:43
  5. Indirekte Adressierung
    Von wusel220983 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.05.2007, 18:19

Lesezeichen

Berechtigungen

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