TIA Ausfall ET auswerten

CBR-35

Level-1
Beiträge
20
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich lese mit einer ET-Stationen Eingänge ein und erzeuge mir hiermit einen Status.
Wenn die ET ausfällt, wird der Status auf 0 gesetzt, da keine Eingänge mehr gelesen werden.

Ich möchte allerdings beim Ausfall der ET den Status behalten bis die ET wieder erreichbar ist.

Ich habe mir den OB 86 geladen und werte in diesem mittels RD_SINFO aus welche Station ausgefallen oder wiedergekommen ist.
Bei einem Ausfall setze ich mir ein Bit, welches den Aufruf für den "FC_Status" im OB 1 verhindert.

Meine Idee war hierbei das ich den Status während dem Ausfall einfach nicht mehr überschreibe.
Allerdings wird mir weiterhin zuerst die 0 gesetzt und dann erst anschließend wird der "FC-Status" mittel EN deaktiviert.

Kann mir jemand sagen wo mein Denkfehler ist bzw. warum der FC offensichtlich nochmal abgerufen wird wenn ich den Ausfall erkenne?
Werden die Eingänge eingelesen bevor ich den Ausfall erkennen kann?
 
Einfachste Lösung um den ET-Ausfall zuverlässig zu erkennen:
Dauerplus auf einen Eingang legen.
Ist deutlich einfacher und zuverlässiger als die Erkennung über die Fehler-OBs.

Gruß
Blockmove
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Werden die Eingänge eingelesen bevor ich den Ausfall erkennen kann?
Wie liest Du die Eingänge der ET ein? Per automatischer Aktualisierung des Prozessabbild (PAE) oder DPRD_DAT? Du mußt das Einlesen der Eingangsdaten ins Programm verhindern oder überbrücken. Wenn der OB86 allerdings Dein Programm rund um DPRD_DAT unterbricht, dann hast Du fast keine Chance, es sei denn Du verzögerst die Übernahme der Eingangsdaten ins Programm um einen OB1-Zyklus oder verwendest das zuverlässigere Verfahren mit dem Dauerplus, was Blockmove genannt hat.

Harald
 
Ich lese in dem "FC_Status" direkt den Eingang und addiere je nach Eingangs-Bit eine entsprechende Zahl auf meinen Status.
Erkennt der OB86 den Ausfall der Station, wird der gesamte "FC_Status" nicht mehr abgearbeitet und der Status kann nicht mehr überschrieben werden.
In der Praxis steht am Ende allerdings trotzdem die 0 im Status.

Die Option mit dem Dauerplus finde ich sehr interessant.
Das Verhalten irritiert mich aber etwas.
Meiner Meinung nach sollte der OB86 den Ablauf unterbrechen.
In diesem Moment setze ich mir ein Bit, welches das überschreiben verhindert.
Nach dem OB86 sollte dann im weitern Programmablauf der Schreibprozess nicht mehr stattfinden, da das Freigabebit fehlt.
Kann es sein das die Steuerung noch die 0 in das Prozessabbild schreibt bis die Ansprechüberwachungszeit der ET abgelaufen ist und der OB86 erst anschließend eingreift?
 
Hmmm, Du willst den Fehler erkennen, bevor er auftritt, damit Du die Weitergabe der Daten "just in time" blockieren kannst, sobald der Fehler da ist??? :confused:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmmm, Du willst den Fehler erkennen, bevor er auftritt, damit Du die Weitergabe der Daten "just in time" blockieren kannst, sobald der Fehler da ist??? :confused:

Gleichzeitig reicht schon. Wenn der Fehler auftritt, dann wird die entsprechende Programmbearbeitung gesperrt.
Normalerweise arbeitet man da auch nicht unbedingt mit dem normalen Prozessabbild, sondern kopiert die Eingangsdaten in Datenbereiche. Dann kann man z.B. auch Veränderungen des Eingangsstatus bei Stationswiederkehr reagieren.

Gruß
Blockmove
 
Ich hatte mir das eher so vorgestellt das die Steuerung zuerst die "Qualität" der Daten aus der ET-Station überprüft, bevor diese in das Prozessabbild geschrieben werden und hierdurch der OB86 aufgerufen wird bevor das Prozessabbild geschrieben wird.
Aber okay, ich denke das ich mir morgen die 24V jeweils auf einen DI von den entsprechenden ET-Stationen ziehen werde, das ganze habe ich heute soweit schon mal getestet und bildet meine Anforderung auch soweit ab.
 
Ich hatte mir das eher so vorgestellt das die Steuerung zuerst die "Qualität" der Daten aus der ET-Station überprüft, bevor diese in das Prozessabbild geschrieben werden und hierdurch der OB86 aufgerufen wird bevor das Prozessabbild geschrieben wird.

Mit OB86 und Prozessabbild haben wir das nie wirklich 100% sicher hinbekommen.
Die bessere Wahl ist hier DPRD_DAT. Wenn die ET ausfällt schlägt entweder OB86 zu oder du bekommst beim DPRD_DAT eine Fehlermeldung.

Der Weg über Dauerplus an einem DI ist aber schlichtweg einfacher.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde die Idee mit Dauerplus genial, werde ich mal einbringen bei uns. Allerdings irritiert mich, dass mehrere Leute DPRD_DAT nutzen um Eingänge einer ET zu lesen. Das habe ich noch nie gesehen (auch nicht bei Fremdanlagen). Arbeitet ihr nur mit DBs und nicht mit DIs direkt? Ist das für die Querverweise nicht schwierig?
 
Das hat nichts mit umkopieren in DB zu tun. Ob man DPRD_DAT benutzen muß oder nicht richtet sich danach, ob die E/A-Adressen der ET im Prozessabbild PAE/PAA liegen oder nicht, und wenn nicht ob die Konsistenz > 4 Byte eingestellt ist.
Zu DPRD_DAT gibt es schon viele Threads ...

Harald
 
Achso... Dass den jemand für DIs verwendet um dann auf dein Eingangsbereich zu schreiben habe ich auch noch nie gesehen. Alles was mit „Drähten“ an die SPS gebunden ist habe ich immer im PAE/PAA gemacht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde die Idee mit Dauerplus genial, werde ich mal einbringen bei uns.

Wenn ich das mit dem Dauerplus sehe, denke ich immer, konnte oder wollte er das nicht anders?
Das "genial" fällt dann auch schnell in sich zusammen, wenn du eine ET Station hast an der normalerweise keine DI-Karte notwendig wäre, und dann sagst, du brauchst aber für deine "geniale" Auswertung eine extra DI-Karte.

OB86-Auswertung würde ich aber auch nicht verwenden, das bekommt selbst Siemens bei ihrem PCS7 System nicht zuverlässig hin.
 
Zurück
Oben