Uebung_028a_AR: Analog-Eingang Kalibrierung mit Adaptern INI¶
Einleitung¶
Diese Übung demonstriert die Kalibrierung eines analogen Eingangssignals mithilfe von Adaptern und der Speicherung von Kalibrierungsparametern (Offset und Skalierung) in einer INI-Datei. Der Funktionsbaustein AR_CALIBRATE führt die lineare Kalibrierung durch. Die Parameter werden über zwei digitale Eingänge (Input_I2, Input_I3) gesteuert und die Ergebnisse in zwei separaten Speicherbausteinen (INI_AR2) abgelegt. Die Konvertierung zwischen analogen und stark typisierten Daten erfolgt über spezielle Adapterkonverter.
Verwendete Funktionsbausteine (FBs)¶
Die Übung verwendet ausschließlich direkt instanziierte Funktionsbausteine (keine Unter-Applikationen). Nachfolgend sind alle Bausteine mit ihren Parametern und Aufgaben beschrieben.
- DigitalInput_I1
- Typ:
logiBUS::io::DI::logiBUS_IXA - Parameter:
QI= TRUEInput=Input_I1(physischer digitaler Eingang)
-
Funktionsweise: Liest den Zustand eines digitalen Eingangs (Taster/Schalter) und gibt ihn über den Ausgangsadapter
INweiter. Dient als Trigger-Eingang für den Messzyklus. -
DigitalOutput_Q1
- Typ:
logiBUS::io::DQ::logiBUS_QXA - Parameter:
QI= TRUEOutput=Output_Q1(physischer digitaler Ausgang)
-
Funktionsweise: Schaltet einen digitalen Ausgang entsprechend dem empfangenen Signal. Hier wird das Signal von
DigitalInput_I1über eine Split-Struktur durchgeschleift. -
AnalogInput_I4
- Typ:
logiBUS::io::AI::logiBUS_AI_IDA - Parameter:
QI= TRUEInput=AnalogInput_I4(physischer analoger Eingang)AnalogInput_hysteresis= 50TimeDelta= 250 msTimeRateLimit= 100
-
Funktionsweise: Liest einen analogen Strom-/Spannungswert und stellt ihn als Adapterschnittstelle (
IN) bereit. Die Parameter dienen der Filterung (Hysterese, Abtastrate, Ratenbegrenzung). -
CALIBRATE
- Typ:
adapter::Engineering::measurements::AR_CALIBRATE - Parameter:
Y_Offset= 100.0Y_Scale= 600.0
-
Funktionsweise: Führt eine lineare Kalibrierung des analogen Eingangswerts (als
X) durch. Die Formel lautetY = (X * Y_Scale) / 1000 + Y_Offset(Annahme, da nicht explizit). Über die AdaptereingängeCO(Calibrate Offset) undCS(Calibrate Scale) kann die Kalibrierung ausgelöst werden. Die berechneten Offset- und Skalierungswerte werden anOFFSETundSCALEausgegeben. -
INI_OFFSET
- Typ:
eclipse4diac::storage::INI_AR2 - Parameter:
QI= TRUESECTION='Uebung_028a_AR'KEY='OFFSET'DEFAULT_VALUE= 0.0
-
Funktionsweise: Liest oder schreibt den Wert für den Offset in einer INI-Datei (Abschnitt
Uebung_028a_AR, SchlüsselOFFSET). Liefert den aktuellen Wert am AusgangVALbzw. ermöglicht das Speichern eines neuen Werts über den EingangVAL. -
INI_SCALE
- Typ:
eclipse4diac::storage::INI_AR2 - Parameter:
QI= TRUESECTION='Uebung_028a_AR'KEY='SCALE'DEFAULT_VALUE= 1.0
-
Funktionsweise: Analog zu
INI_OFFSET, jedoch für den Skalierungsfaktor (SchlüsselSCALE). -
DigitalInput_I2_CO
- Typ:
logiBUS::io::DI::logiBUS_IXA - Parameter:
QI= TRUEInput=Input_I2
-
Funktionsweise: Liest den digitalen Eingang für die Offset-Kalibrierung (
CO). -
DigitalInput_I3_CS
- Typ:
logiBUS::io::DI::logiBUS_IXA - Parameter:
QI= TRUEInput=Input_I3
-
Funktionsweise: Liest den digitalen Eingang für die Skalierungs-Kalibrierung (
CS). -
AX_SPLIT_2
- Typ:
adapter::events::unidirectional::AX_SPLIT_2 - Parameter: Keine
-
Funktionsweise: Ein Adapter-Splitter, der ein eingehendes (Adapter-)Signal auf zwei Ausgänge verteilt. Hier wird das Signal von
DigitalInput_I1gleichzeitig zum AusgangDigitalOutput_Q1und zur Trigger-Anforderung (SREQ) des Analog-Eingangs geschickt. -
AD_TO_AUDI
- Typ:
adapter::conversion::unidirectional::AD_TO_AUDI - Parameter: Keine
-
Funktionsweise: Konvertiert den analogen Adaptertyp (vermutlich
AnalogData) in einen universellenAUDI-Adapter (allgemeiner Analogwert). Notwendig zur Typpassung zwischen unterschiedlichen Adapterdefinitionen. -
AUDI_TO_AR
- Typ:
adapter::conversion::unidirectional::AUDI_TO_AR - Parameter: Keine
- Funktionsweise: Konvertiert den
AUDI-Adapter zurück in den fürAR_CALIBRATEbenötigten Analogeingangsadapter (AR). Diese doppelte Konvertierung ist erforderlich, da ein direkterAD_TO_AR-Adapter einem „reinterpret_cast“ gleichkäme und die Typinformation verloren ginge.
Programmablauf und Verbindungen¶
- Digitaler Eingang I1 dient als Start-Impuls für eine Messung. Sein Signal wird über den Splitter
AX_SPLIT_2auf den AusgangDigitalOutput_Q1(z. B. Status-LED) und auf denSREQ-Eingang des analogen EingangsAnalogInput_I4verteilt. - AnalogInput_I4 erfasst daraufhin den analogen Messwert und liefert ihn als Adapterausgang
INan den KonverterAD_TO_AUDI. - Die Konverterkette
AD_TO_AUDI→AUDI_TO_ARpasst den Typ an, sodass der Wert an denX-Eingang vonCALIBRATEangeschlossen werden kann. - DigitalInput_I2_CO (Eingang I2) triggert die Offset-Kalibrierung: Wird dieser Eingang aktiv, führt
CALIBRATEeine Offset-Korrektur durch und gibt den neuen Offset-Wert anINI_OFFSETweiter, der ihn in der INI-Datei speichert. - DigitalInput_I3_CS (Eingang I3) triggert entsprechend die Skalierungs-Kalibrierung; der neue Skalierungsfaktor wird an
INI_SCALEübergeben und gespeichert. - Die gespeicherten Werte aus
INI_OFFSETundINI_SCALEkönnen bei späteren Starts der Steuerung wieder geladen werden, sodass die Kalibrierung dauerhaft erhalten bleibt.
Wichtige Anmerkung: Die doppelte Konvertierung von AD_TO_AUDI und AUDI_TO_AR ist bewusst so implementiert, um Typkompatibilität zu gewährleisten. Ein direkter Konverter würde die Daten nur uminterpretieren, was in der Praxis zu Fehlfunktionen führen kann.
Lernziele dieser Übung: - Umgang mit analogen Eingangsadaptern und deren Parametrierung. - Einsatz von Adapterkonvertern zur Typanpassung. - Verwendung von INI-Speicherbausteinen zum dauerhaften Ablegen von Konfigurationsparametern. - Verständnis der Kalibrierungslogik in der Automatisierungstechnik.
Schwierigkeitsgrad: Mittel (Grundkenntnisse in 4diac/Adapter-Konzepten erforderlich).
Zusammenfassung¶
Die Übung Uebung_028a_AR implementiert eine vollständige Analog-Eingangs-Kalibrierung, bei der Offset und Skalierung über zwei digitale Eingänge eingelernt und in einer INI-Datei persistiert werden. Der Messablauf wird durch einen weiteren digitalen Eingang gestartet. Die verwendeten Adapterkonverter (AD_TO_AUDI, AUDI_TO_AR) demonstrieren die typkorrekte Weiterverarbeitung von analogen Signalen in der 4diac-IDE. Das Gesamtsystem bildet eine flexible Grundlage für industrielle Messaufgaben mit Speicherung von Kalibrierparametern.