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

Ergebnis 1 bis 6 von 6

Thema: Bereichslängenfehler beim Lesen oder Schreiben

  1. #1
    Registriert seit
    11.05.2015
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,




    Hoffe ihr könnt mir aus meinem Schlamassel helfen.




    Zur Hardware:




    CPU 315-2 PN/DP
    TP1500 Comfort
    Windows 7




    Ich nutze: TIA V13, Step7 professional V13, und WinCC Professional V13




    Zur Problematik:




    Ich habe den Fehler "Bereichslängenfehler beim Lesen oder Schreiben" für jeden FU Peripherie Addresse. Es gibt kein FU-Gerät im System (nur die Baugruppen zu simulieren).
    Ist die Konfiguration des FU und des CPU richtig oder die Fehler kommen nur, weil kein FU-Gerät gibt (nur die Baugruppen zu simulieren)?
    Ich hoffe, die Fotos werden alles besser erklären.


    Es gibt auch eine "DEFEKT" Meldung im HMI.


    Ich freue mich über jede Idee.




    Danke
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Bereichslängenfehler beim Lesen oder Schreiben  

  2. #2
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Hallo,

    Kontrolliere doch mal die große des Processabbilds im CPU

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

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

    Standard

    Hmm, liegt das jetzt an TIA oder an der CPU?
    In Step7-Classic programmiert würde es keinen Bereichslängenfehler/Zugriffsfehler geben, wenn auf E-Adressen größer als die eingestellte PAE-Größe (aber kleiner als die maximal mögliche PAE-Größe) zugegriffen wird.

    Was für eine CPU hast Du genau (Bestellnummer 6ES7...) und Firmware-Version?
    Ist Dein Fehler in einer echten CPU oder simulierst Du die CPU?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    rogpomlar ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.05.2015
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,
    ich habe etwas gefunden:
    Wenn ":P" am ende der Peripherie-Adresse geschrieben wird (z.B.: %EW300 -> %EW300:P), ändert der Fehler "Bereichslängenfehler beim Lesen" zum "Peripherie-Zugriffsfehler, lesend".
    Das ist richtig, da kein FU-Gerät gibt, nur das simuliertes Modul.
    Dis Frage ist nun, ist diese Änderung etwas Neues in TIA PORTAL 13? Ist das immer so für die Peripherie-Adressen?


    Anderenteils habe ich noch die Meldung "DEFEKT" im HMI. Was kann diese Meldung verursachen?


    Vielen Dank.
    Zitieren Zitieren Meldung "DEFEKT" im HMI und Peripherie-Zugriffsfehler  

  5. #5
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.336
    Danke
    448
    Erhielt 688 Danke für 513 Beiträge

    Standard

    Zitat Zitat von rogpomlar Beitrag anzeigen
    Hallo, ich habe etwas gefunden:
    Wenn ":P" am ende der Peripherie-Adresse geschrieben wird (z.B.: %EW300 -> %EW300:P), ändert der Fehler "Bereichslängenfehler beim Lesen" zum "Peripherie-Zugriffsfehler, lesend".
    Ist klar.
    Zitat Zitat von rogpomlar Beitrag anzeigen
    Dis Frage ist nun, ist diese Änderung etwas Neues in TIA PORTAL 13? Ist das immer so für die Peripherie-Adressen?
    Nein, kein unterschied zu Classic.
    Ja ist immer so. Die Zauberworte lauten "Größe des Prozessabbildes der Ein/Ausgänge".

    Die E/A-Adressen (aus dem Prozessabbild) hättest du auch in Classic nicht so ohne weiteres lesen/schreiben können. Soll heißen, funktioniert hätte es dort auch nicht. Zumindest nicht mit der Standardeinstellung bei der 315.
    Das einzige, wie PN/DP schon angemerkt hat, würde Classic normalerweise keinen Bereichslängenfehler werfen wenn man auf einer 315 mit Standard-Prozessabbildgröße von 128Byte ein "L EW300" probiert.
    Ist insofern komisch, da TIA oder Classic keinen Einfluss drauf haben sollte, mit welchen Systemfehlern die CPU um sich wirft...

    Sie dir hier im Forum mal ein paar Beiträge zum Thema "Prozessabbild der Ein- bzw. Ausgänge an".
    Dann wird der der Unterschied zwischen EW/AW <-> PEW/PAW in Classic bzw. EW/AW <-> EW:P/AW:P in TIA klar.
    EW liest aus dem Prozessabbild
    EW:P liest direkt aus dem Peripheriebereich (daher auch das P)


    Zitat Zitat von RONIN Beitrag anzeigen
    Das Problem nennt sich "Größe des Prozessabbildes der Ein/Ausgänge". Du solltest dich mal schlau machen was das ist.
    Bei der IM158-CPU ist dieser Wert in der Hardware-Konfig auf 128Byte eingestellt.
    Das bedeutet dass die CPU zu Zyklusbeginn die Werte vom Peripherie-Eingangsbereich, die Bytes 0 bis 128 in das Prozessabbild kopiert.
    Das selbe umgekehrt am Ende das SPS-Zyklus. Da werden die Bytes 0-128 vom Prozessabbild in den Peripherie-Ausgangsbereich kopiert.

    Der Peripheriebereich (der Bereich den du in der Hardware-Konfig einstellst) ist der Bereich wo die Hardware die Signale zur Verfügung stellt bzw. entgegen nimmt.
    Das Prozessabbild der Eingänge (das du z.B. mit UND E0.0 liest) dient als Momentaufnahme der Eingänge zu Beginn der Zyklus,
    damit du während des ganzen Zyklus die gleichen Zustände für den selben Eingang hast.
    Das Prozessabbild der Ausgänge (das du z.B. mit SETZE A0.0 schreibst) dient dazu das die von dir manipulierten Ausgänge erst am Ende des Zyklus ausgegeben (in den Peripheriebereich übernommen) werden. Damit werden Zwischenzustände verhindert.

    Das Byte 568 auf das du zuzugreifen versuchst ist bei der Standardeinstellung nicht im Prozessabbild dabei.

    Lösung 1: Du erhöhst die Einstellung in der Hardwarekonfig. (Ist aber nicht nötig sofern du nur analoge Eingänge in diesem hohen Bereich hast)
    Lösung 2: (Gängige Lösung) Man liest/schreibt direkt in den Peripherie-Bereich.
    Für dich, bezogen auf deinen jetzigen Programmaufbau, empfiehlt sich Lösung 1.
    Geändert von RONIN (18.05.2015 um 13:57 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  6. #6
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich schlage Lösung 3 an:
    Mittels SFC14 DPRD_DAT und SFC15 DPWR_DAT lest und schreibt man die Daten konsistent die der FU benötigt.
    edit: Ein Vorteil ist wenn dein HMI verbindet mit die FU Daten die in ein DB unterlegt sind (mittels SFC14 und SFC15) anstatt die E/A Adressen, dann bekommst du auch kein "bereichslängenfehler" beim simulieren. Die Aufrufe von SFC14 und SFC15 musst du dann mit ein Simulierungsbit sperren.


    Lösung 1 ist auch konsistent.
    Lösung 2 ist NICHT konsistent !
    Bei FU's ist es oft ein Forderung das die Daten konsistent übertragen werden.
    Geändert von JesperMP (18.05.2015 um 14:25 Uhr)
    Jesper M. Pedersen

Ähnliche Themen

  1. TIA Bereichslängenfehler beim lesen
    Von flashgorny im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.06.2013, 19:31
  2. Bereichslängenfehler beim Lesen
    Von Manuel137 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.05.2012, 19:17
  3. SCL - Fehler, Bereichslängenfehler beim Lesen
    Von Limette im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 20.04.2012, 07:27
  4. Bereichslängenfehler beim Schreiben
    Von Butty im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 14.07.2008, 23:30
  5. Bereichslängenfehler beim lesen/schreiben
    Von mitchih im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.01.2008, 21:57

Stichworte

Lesezeichen

Berechtigungen

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