Ir directamente a la información del producto
1 de 1

Instandhaltung Prüfer

Precio habitual €450,00 EUR
Precio habitual Precio de oferta €450,00 EUR
Oferta Agotado
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; sonst ValueFiltered = ValueRaw.
  • Metadaten: ChannelName und UnitText 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 von ValueFiltered gesammelt.
  • Tick-Fallflanke: Bei NOT Tick AND Tick_old wird der maximale Wert in LearnValues[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, dann TimeOutCnt++; andernfalls auf 0 setzen.
  • FIFO-Update bei Tick-Fallflanke:
    • ErrValues[ErrIndex] := (TimeOutCnt ≥ ErrorWindow); ErrIndex rotiert von 1 bis 10.
    • ErrCount = Anzahl TRUE in ErrValues.
    • 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 und ErrCount < 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