Analogwert Plausibilitätsprüfung

SPSKILLER

Level-2
Beiträge
728
Reaktionspunkte
159
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte einen "Analogeinlesebaustein" für n Messungen schreiben (S7-400 - AWL oder SCL).
Es sind redundante, für die Anlagensicherheit wichtige Messungen.
Die Werte sollen auf Hardwarefehler und Plausibilität geprüft werden.
D.h. wenn die Werte innerhalb von einem einstellbaren Band sind, ist alles ok.
Haut ein Wert nach oben oder unten ab, dann fliegt er raus und wird als fehlerhaft gemeldet, ebenso bei Drahtbruch und Kurzschluss.

Das mit dem Drahtbruch und dem Kurzschluss ist ja kein Problem, aber bei der Plausibilitätsprüfung bin ich mir nicht sicher, ob meine Strategie optimal ist.

Hauptsächlich habe ich 3-fach Messungen. Es gibt aber auch 4-fache.

Da ich den Baustein parametrierbar machen will, kommt das Ausprogrammieren mit Vergleichern nicht in Frage.
Würde auch ne Menge Code geben...

Hat jemand schon mal so was gemacht?

Schöne Grüße

Micha
 
Plausibilität

Hallo,

ich kann nicht auf den ersten Blick nachvollziehen weshalb du einen Vergleicher nicht einsetzen möchtest.
Sinnvoll wäre aus meiner Sicht einen Prozentsatz/ Faktor an Abweichung zuzulassen also nach unten zB. Faktor 0.95 und nach oben Faktor 1.05 - somit läßt du ein Toleranzband von 5% zu. Die Grenzen sollten nicht zu eng bemessen sein, da zB bei Temperaturmessungen nicht alle PT gleich schnell die Temperaturänderung erfassen. Eventuell ist auch noch eine Zeitverzögerung zu programmieren...


Mfg Matthias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alles mit Vergleichern aufzubauen wird zu unübersichtlich. Das gibt eine Wahnsinnsmenge an Code...
Mein erster Lösungsansatz war:

1. Gültige Messungen mit einem Loop einlesen und in einem statARRAY ablegen(Anzahl über INT-Vorwahl (separater Eingang am FB))
2. Werte absteigend sortieren
3. Größter Wert minus kleinster Wert
4. Wenn das Ergebnis < DIFFmax sind alle Werte ok.

mittlerweile zweifle ich aber an dem System, da mir die Auswertung (falls Punkt 4 nicht ok war) zu aufwendig erscheint...

Es gibt bestimmt ne Lösung mit Mathe un so...
 
Guten Morgen

Ich in zwar noch nicht ausgeschlafen aber ...

wieso sollte das einen wahnsinnscode ergeben

denn baustein parametrierbar machen

einen vergleich auf größer einen auf kleiner

oder auch anders das ich sagen 950 °C ist mein optimaler wert
und ein toleranzband angebe das +- 10 % ist
 
Hi,

so einfach wie kpeter das schreibt ist die Sache nicht, da ich ja keinen "optimalen" Wert habe.
Der DIFFmax Wert bezieht sich immer auf die Momentanwerte.

Ich muss bei jedem Anlagenzustand auswerten können, ob die Messungen plausibel sind.

Beispiel:
DIFFmax: 10
1.Messung: 100
2. Messung: 105
3. Messung: 114

-> 3. Messung ist nicht ok, weil die Messungen mehr als 10 auseinanderliegen, und Messung 1&2 näher beisammen sind.

Das gibt ne Menge Vergleicher und Subtraktionen... vor allem wenn ich auch noch ne 4. Messung habe.
Ich denke man muss die Problematik auch mathematisch erfassen können.
 
also ich sehe da 0 probs.

das ist doch mit ein paar anweisungen erledigt.

Code:
      L     #min
      L     #max
      -R    
      ABS   
      L     #maxdiff
      >R    
      =     #fehler
 
ja, das ist schon klar. Dann habe ich aber immer nur ne Sammelstörmeldung.
Der Baustein muss aber den größten-/ kleinsten Wert und den Durchschnitt der gültigen Messungen ausgeben. Darum muss ich auf jeden Fall ermitteln welcher Wert rausfällt...
Ich wollte nur evtl. n paar Ideen, wie ich genau diese Auswertung einfach hinkriege.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anonymous schrieb:
Beispiel:
DIFFmax: 10
1.Messung: 100
2. Messung: 105
3. Messung: 114

-> 3. Messung ist nicht ok, weil die Messungen mehr als 10 auseinanderliegen, und Messung 1&2 näher beisammen sind.
Nur zum Verständnis:
Was machst du, wenn die nächste Messung wieder 114 ergibt?

Beispiel:
DIFFmax: 10
1.Messung: 100
2. Messung: 105
3. Messung: 114
4.Messung: 114
5. Messung: 113
6. Messung: 101

Wills du jetzt:
Messungen 1,2,3 auswerten, Messung 3 verwerfen
Messungen 2,3,4 auswerten, Messung 4 verwerfen, aber 3 wieder annehmen?
Messungen 3,4,5 auswerten, keine verwerfen
Messungen 4,5,6 auswerten, Messung 6 verwerfen

Oder
Messungen 1,2,3 auswerten, Messung 3 verwerfen
Messungen 4,5,6 auswerten, Messung 6 verwerfen
 
ich habe das so verstanden, das es ein mehrfach thermoelement ist, welches 3 werte gleichzeitig liefert.

um für 3 werte min max zu finden schau mal nach fc25/27 in den iec's

aber min max ist doch ruckzuck bestimmt

l mess1
t max
l mess2
<i
spb w1
t max
w1: l max
l mess3
<I
spb w2
t max
w2: nop 0
 
vielleicht habe ich mich falsch ausgedrückt.
Ich will nicht eine Messung über z.B. 5Zyklen auswerten, sondern habe von einer Messung z.B. Frischdampftemperatur 4 Sensoren (->Redundante Messungen, unterschiedliche PEWs), die alle an der gleichen Stelle eingebaut sind.
Diese sollen untereinander auf Plausibilität geprüft werden...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es ist so wie Volker sagt...
min-max ist kein Problem... habe ich ja auch schon. Mir gehts mehr um die Auswertung unplausibler Werte.
Aber man sieht schon an Volkers Code, das das ganze bei 5 Messungen mit Vergleichern aufwendig wird.
 
Hallo,
ist zwar schon einige Zeit her, aber ich versuche es zusammen zu bekommen, das war noch Teleperm ME

Der Falsche Wert kann eigentlich nur der MIN oder MAX Wert sein.

Dann glaube ich war so, das der Mittelwert gebildet worden ist und nun wurde einschieden, ob der Min oder MAxwert am weisten vom Mittelwert weg war. Das war die Messung die fehlerhaft war.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Messwertabweichung prüfen..

Hi,

mit 3 Messwerten habe ich es "von Hand durch gegenseitiges Vergleichen .." gemacht !

bei mehreren.... Messwerten evt. über mathematische Median Funktion ?
 
Zurück
Oben