Instandhaltung Prüfer
Normaler Preis
€450,00 EUR
Normaler Preis
Verkaufspreis
€450,00 EUR
Grundpreis
pro
Verfügbarkeit für Abholungen konnte nicht geladen werden
Beschreibung
Instandhaltung_FB skaliert und filtert einen Prozesswert, lernt automatisiert 10 Maximalwerte über Tick-Zyklen, bildet daraus einen Mittelwert und überwacht im Betrieb Abweichungen hinsichtlich Toleranz und Zeitfenster. Ein gleitendes Fehler-FIFO (10 Slots) sowie Schwellwerte für Warn- und Fehlerbereich ermöglichen eine robuste Diagnose. Latches, Klartexte und Zeitstempel werden im Diagnose-UDT geführt.
Hinweis: Baustein für Prozessdiagnose/Qualitätssicherung. Keine Sicherheitsgerichtete Funktion.
Funktionsweise
1) Skalierung & Filter
-
Skalierung:
ValueRaw = ValueRaw_in * Gain + Offset
aus#P.UDT_ChannelParams
. -
IIR-Filter: Wenn
FilterTime > 0
, dann einfacher Filter 1. Ordnung mitα = 1/8
:yFilt := yFilt + (ValueRaw - yFilt) * 0.125
; sonstValueFiltered = ValueRaw
. - Metadaten:
ChannelName
undUnitText
werden aus den Parametern in die Diagnose übernommen.
2) Reset
- Setzt Lern- und Fehlerindex auf 1, leert Arrays
LearnValues[1..10]
/ErrValues[1..10]
, löscht Zähler und Latches. - Diagnosefelder werden gezielt zurückgesetzt (ASCII-Text: Zurückgesetzt), aktuelle Messwerte bleiben erhalten;
LastErrorDT := NowDT
.
3) Lernen (10 Ticks)
-
Max-Sampler: Während
#Learn
aktiv ist und bei jedem#Tick
-High wird das Maximum vonValueFiltered
gesammelt. -
Tick-Fallflanke: Bei
NOT Tick AND Tick_old
wird der maximale Wert inLearnValues[LearnIndex]
geschrieben;LearnIndex
wird erhöht. - Nach 10 Einträgen erfolgt die Mittelwertbildung (
MeanValue
),Learned := TRUE
, Status: Anlernen abgeschlossen.
4) Fehlererkennung (Online)
-
Abweichungszähler: Wenn
|ValueFiltered - MeanValue| > Tolerance
, dannTimeOutCnt
++; andernfalls auf 0 setzen. -
FIFO-Update bei Tick-Fallflanke:
-
ErrValues[ErrIndex] := (TimeOutCnt ≥ ErrorWindow)
;ErrIndex
rotiert von 1 bis 10. -
ErrCount
= Anzahl TRUE inErrValues
. -
Error-Latch: Wenn
ErrCount ≥ ErrorThreshold
und noch nicht gelatcht ⇒ErrorLatched := TRUE
,ErrorActive := TRUE
,ErrorCode := 1001
, Status: Fehler erkannt,LastErrorDT := NowDT
.
-
5) Auto-Reset im Warnbereich
- Warnbedingung:
ErrCount > 0
undErrCount < ErrorThreshold
. - TON
WarnResetTime
: Nach Ablauf werden FIFO, Zähler und Latches zurückgesetzt; Status: Warnbereich zurückgesetzt.
6) Statuspflege
- Wenn
Learned = FALSE
⇒ Status: Anlernen aktiv. - Wenn
ErrorActive = TRUE
⇒ Status bleibt Fehler erkannt. - Sonst ⇒ Status: OK.
- Flankenerkennung:
Tick_old := Tick
am Zyklusende.
Technische Details
-
Eingänge/Signale:
#ValueRaw
,#Tick
,#Reset
,#Learn
,#NowDT
. -
Parameter (
#P.UDT_ChannelParams
):Name
,UnitText
,Gain
,Offset
,FilterTime
,Tolerance
,ErrorWindow
,ErrorThreshold
,WarnResetTime
. -
Diagnose-UDT (
#D.KanalDiagnose
):ChannelName
,UnitText
,ValueRaw
,ValueFiltered
,MeanValue
,Learned
,ErrorActive
,ErrorCount
,ErrorCode
,StatusText
,LastErrorDT
. -
Interne Variablen:
yFilt
,LearnValues[1..10]
,ErrValues[1..10]
,LearnIndex
,ErrIndex
,ErrCount
,TimeOutCnt
,MaxValue
,MeanValue
,Tick_old
,ErrorLatched
,sum
,warnCond
,tonWarnReset
.
Diagnose & Klartexte
- Zurückgesetzt (Reset durchgeführt)
- Anlernen aktiv (noch keine 10 Samples)
- Anlernen abgeschlossen (Mittelwert gebildet)
- Warnbereich zurückgesetzt (Auto-Reset)
-
Fehler erkannt (Latch aktiv,
ErrorCode=1001
) - OK (Betrieb ohne Fehler)
Einsatzmöglichkeiten
- Sensor-/Kanalüberwachung mit lernbasiertem Referenzwert
- Erkennung schleichender Drifts über FIFO-Fenster
- HMI-freundliche Diagnose inkl. Latch und Zeitstempel
- Vorwarnung mit automatischer Rücksetzung
Kompatibilität
- Siemens TIA Portal V16 (S7-1200/1500), SCL
- Testbar mit PLCSIM
Lieferumfang
- SCL-Baustein ChannelDiag_LearnAvg_FB gemäß obiger Spezifikation
- Parametrier-UDT und Diagnose-UDT (Feldzuweisungen kompatibel zum Code)
- Kurzanleitung & Integrationshinweise
Support
- Anpassung von Fenstergröße, Filter-Alpha und Lernlogik
- Erweiterung auf mehr Samples oder gleitenden Mittelwert
- HMI-Meldungen/Sprachumschaltung (ASCII/UTF-8)
- Trend-/CSV-Logging der Lern-/Online-Werte