TIA ET200 IM 151-8 PN/DP CPU TIA V16 PLCsim - Bereichslängenfehler Analogeingangswort

HF_SPSler

Level-2
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forengemeinde,

ich hatte bisher eher wenig mit den "älteren" Steuerungen in Kombination mit TIA und PLCsim zutun. Daher stehe ich jetzt seit ein paar Stunden irgendwie auf dem Schlauch und weiß nicht weiter.

Ich verwende o.g. CPU und möchte mein Programm jetzt simulieren bevor ich mich auf den Weg zur Anlage mache. In der Simulation ist natürlich keine echte Hardware angeschlossen, das bzw. die PIW(s) ist bzw. sind 0 und der Diagnosepuffer meckert mir alle Analogeingänge (0-10V) mit folgender Fehlermeldung an:

Code:
Bereichslängenfehler beim Lesen
E-Bereich, Wortzugriff,  Zugriffsadresse:    430
FB-Nummer:    24
Bausteinadresse:   2798
Angeforderter OB: Programmierfehler-OB (OB 121)
Prioritätsklasse:  1
interner Fehler

Beim Klick auf "Im Editor öffnen" wird dann entsprechend das Eingangswort markiert. Hier im Beispiel jetzt IW402 aber es betrifft grundsätzlich alle Eingangsworte der Analogbaugruppe.

1649762760263.png

Ich habe bei den S7 1200er bzw. 1500er bisher immer am Büroarbeitsplatz simulieren können. Ich weiß einfach nicht was der PLCsim bzw. der CPU fehlt um nicht den Bereichslängenfehler zu erzeugen.

Vielen Dank im Vorfeld für eure Mithilfe!
 
Hallo liebe Forengemeinde,

ich hatte bisher eher wenig mit den "älteren" Steuerungen in Kombination mit TIA und PLCsim zutun. Daher stehe ich jetzt seit ein paar Stunden irgendwie auf dem Schlauch und weiß nicht weiter.

Ich verwende o.g. CPU und möchte mein Programm jetzt simulieren bevor ich mich auf den Weg zur Anlage mache. In der Simulation ist natürlich keine echte Hardware angeschlossen, das bzw. die PIW(s) ist bzw. sind 0 und der Diagnosepuffer meckert mir alle Analogeingänge (0-10V) mit folgender Fehlermeldung an:

Code:
Bereichslängenfehler beim Lesen
E-Bereich, Wortzugriff,  Zugriffsadresse:    430
FB-Nummer:    24
Bausteinadresse:   2798
Angeforderter OB: Programmierfehler-OB (OB 121)
Prioritätsklasse:  1
interner Fehler

Beim Klick auf "Im Editor öffnen" wird dann entsprechend das Eingangswort markiert. Hier im Beispiel jetzt IW402 aber es betrifft grundsätzlich alle Eingangsworte der Analogbaugruppe.

Anhang anzeigen 60442

Ich habe bei den S7 1200er bzw. 1500er bisher immer am Büroarbeitsplatz simulieren können. Ich weiß einfach nicht was der PLCsim bzw. der CPU fehlt um nicht den Bereichslängenfehler zu erzeugen.

Vielen Dank im Vorfeld für eure Mithilfe!
Wie groß ist denn das Prozessabbild der CPU eingestellt?
Du greifst ja nicht auf ein PEW zu sondern auf ein EW.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der Hardwarekonfiguration ist den betreffenden Analogeingangsbaugruppen kein Prozessabbild zugewiesen:

1649764066323.png

Da ich bisher aber auch verwöhnt war und nur mit S7 1200er gearbeitet hab fehlen mir hier offensichtlich einige Erfahrungen was zu beachten und/oder einzustellen ist.
 
Ich habe dir oben einen Screenshot eingestellt, gehe mal zu dem Einstellungspunkt bei dir im Projekt und schaue mal wie die Größe des Prozessabbildes eingestellt ist.
 
Danke dir, jetzt hab ich es gefunden. Ist aktuell so eingestellt:

1649764419817.png

Ich erkenne daraus, dass das PAE beim 128. Byte aufhört. Welche Folgen hätte es, den Wertebereich auf z.B. das Maximum einzustellen?

Ich muss gestehen dass ich den Zusammenhang vom Bereichslängenfehler und der Verewndung eines Eingagnsworts bzw. mehrerer Eingangswörter noch nicht verstanden habe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welche Folgen hätte es, den Wertebereich auf z.B. das Maximum einzustellen?
Du musst ihn ja nicht auf das Maximum einstellen sondern z.B. auf deine höchste verwendete Adresse
Also wenn z.B. EW490 die letzte Adresse wäre, dann würde ich 500 einstellen. Zur Folge hat eine Erhöhung eine
minimale Erhöhung der Zykluszeit. Wobei jeder PEW Zugriff auch die Zykluszeit erhöht.

Du musst halt wissen ob das so für dich passt. Wenn nicht, dann müsstest du im Programm auf PEW´s zugreifen.
 
Zuletzt bearbeitet:
Ich muss gestehen dass ich den Zusammenhang vom Bereichslängenfehler und der Verewndung eines Eingagnsworts bzw. mehrerer Eingangswörter noch nicht verstanden habe.
Du greifst auf eine Adresse zu ( bei dir z.B. IW402 ) welche im Prozessabbild liegen muss ( weil als IW angegeben ist ).
Sie liegt bei dir allerdings nicht im Prozessabbild. Daher kommt bei dir der Fehler.
Eine Adresse außerhalb des Prozessabbild muss mit PEW402 bzw. IW402: P projektiert sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In Deinem Fall am einfachsten wird sein, wenn Du anstatt auf %IW402 (im Prozessabbild der Eingänge) direkt auf die Peripheriadresse %IW402:P ( "Rückwelle G1":P ) zugreifst.

Und eine Empfehlung: Keine Leerzeichen in Symbolen verwenden! Gewöhne Dir solchen Unfug gar nicht erst an, auch wenn TIA das zuläßt.

Harald
 
Hallo,
ich danke euch für die sehr schnelle und kompetente Unterstüzung (y)

@PN/DP : Danke für den Hinweis, ich hab das Programm geerbt. Aus meiner bisherigen Programmierlaufbahn in Hochsprachen bin ich es auch gewohnt Variablennabhmen ohne Leerzeichen zu erstellen . Allerdings habe ich beim aktuellen Projekt nicht die Zeit alle Symbole anzufassen
:)

Nochmals vielen Dank!
 
Ein zusätzlichen Nachteil hat der Peripheriezugriff noch gegenüber dem vergrößern des Prozessabbilds. Wenn der Wert von einer dezentralen Baugruppe (Profibus oder Profinet) stammt, und die Baugruppe ausfällt, dann erzeugt dir jeder Zugriff einen Eintrag im Diagnosepuffer. D.h. der Diagnosepuffer ist dann mehr oder weniger unbrauchbar weil nur noch diese Zugriffsfehler vorhanden sind und alles andere rausfällt. Außer du hast keine Fehler-OBs auf der Steuerung, dann geht sie eh in Stopp.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein zusätzlichen Nachteil hat der Peripheriezugriff noch gegenüber dem vergrößern des Prozessabbilds. Wenn der Wert von einer dezentralen Baugruppe (Profibus oder Profinet) stammt, und die Baugruppe ausfällt, dann erzeugt dir jeder Zugriff einen Eintrag im Diagnosepuffer. D.h. der Diagnosepuffer ist dann mehr oder weniger unbrauchbar weil nur noch diese Zugriffsfehler vorhanden sind und alles andere rausfällt.
Da gibt es ein Einstellmöglichkeit um die Überflutung von die Diagnosepuffer zu vermeiden.
In die CPU Eigenschaften unter Cycle/Clock Memory kann man wählen was passieren soll bei E/A Zugriffsfehler.
Die Wahlmöglichkeiten sind:
OB85 immer aufrufen, OB85 aufrufen nur bei kommender oder gehender Änderung von die Zugriffszustand, oder OB85 nie aufrufen.
 
Da gibt es ein Einstellmöglichkeit um die Überflutung von die Diagnosepuffer zu vermeiden.
(...)
Die Wahlmöglichkeiten sind:
OB85 (...)
Der OB85 ist für Peripheriezugriffsfehler bei der (automatischen) Aktualisierung des Prozessabbildes.
Für Peripheriezugriffsfehler aus dem Anwendungsprogramm ist der OB122 zuständig, und den kann man nicht einfach in HW Konfig abstellen.
Vermutlich kann man diese Peripheriezugriffsfehler-Einträge mit SFC36 MSK_FLT selektiv maskieren, das habe ich aber noch nicht ausprobiert.

Harald
 
Diese Unterschied war mir nicht bekannt.
Das wäre tatsächlich ein Grund dafür das Prosezabbild anpassen anstatt Peripheriezugriffe in Anwenderprogramm zu verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich greife nur direkt auf die Peripherie zu wenn es nötig ist.
Wenn möglich nutze ich immer das Prozessabbild.
Direkte Zugriffe brauche ich nur bei dynamischen Regelungen wenn sich der Wert im Zyklus zu stark ändert.
 
Zurück
Oben