FluxControl-tiny-mods

Geschrieben von Mathias Lindner 2015. Änderungen von Henrik Haftmann, September 2016.

Änderungen

Bearbeitungshinweis

Achtung! Niemals gleichnamige VI-Dateien aus verschiedenen Ordnern zugleich öffnen!! (Also nicht aus FluxControl-tiny-mods und FluxControl-backup zugleich!) Das danach entstehende Chaos ist kaum mehr zu entflechten.

Die Bezeichner („Label“) der Steuerelemente darf nicht geändert werden, da die Bezeichner an einigen tiefen Stellen hartkodiert sind (= schlechter Programmierstil). Bei Änderung oder Übersetzung ist „Caption“ zu aktivieren.

Außerdem können die Typdefinitionen nicht auf „strikt“ gestellt werden, sonst geht der tiefe Komponentenzugriff beim Laden/Speichern in die Hose (ebenfalls schlecht).

Datendurchlauf

Die Messwerte (4 AI-Kanäle) und „Sec. Voltage Setpoint“ durchlaufen folgende VIs (Case „Measure_Check“ im Fall „Single Test“):
  1. aux_data_conditioning.vi
    1. aux_data_conversion.vi
      • Skalierung (= Multiplikation mit Werten aus Rig.Conversion), außer Uset
      • Aus „Sec. Voltage Setpoint“ wird irgendwie ein periodisches Signal neu gebaut (unklar!)
    2. aux_data_add_time.vi
      • Fügt den 4+1 Signalen jeweils eine Zeitachse (als Spalte 0) hinzu. In Millisekunden über die Dauer von "Rig.AO.Test Time". Da die beiden Signalgruppen verschiedene Längen (= Anzahl Abtastwerte) haben, ergibt sich so ein unterschiedliches Δt der beiden Gruppen. Ansonsten ist alles äquidistant und man könnte mit dem LabVIEW-Datentyp „Signal“ viel komfortabler arbeiten.
    3. aux_data_trim.vi
      • “trim switch on effects and cut end to get full periods” (für alle 4+1 Signale)
      • calc_sine_phase_matlab.vi
        • “Calc polarization from field strength based on static magnetization curve”
    4. aux_data_stray_correction.vi
      • Nur für den Fall “stray correction in software”, nur die vier AI-Signale:
      • aux_lowpass.vi
        • IIR-Tiefpassfilter, hier mit 1. Ordnung, ohne Fensterung, True für “Zero Phase with IC”
    5. aux_data_filter.vi
      • Filtern der 4 AI-Signale mit den "Filter"-Parametern (Struktur des Hauptfensters), nur wenn Filter.FFT = false und entsprechender Filter-Schalter (pro Signal) ein:
      • aux_lowpass.vi
        • IIR-Tiefpassfilter, hier mit 1. Ordnung, ohne Fensterung
    6. aux_data_freq_correction.vi
      • Filtern der 4 AI-Signale mit den "Filter"-Parametern (Struktur des Hauptfensters), nur wenn Filter.FFT = true und entsprechender Filter-Schalter (pro Signal) ein, mittels Matlab freq_correction()
    7. aux_data_trim.vi
      • “trim switch on effects and cut end to get full periods” (für alle 4+1 Signale), noch einmal mit “one period trimmed automatically”
      • calc_sine_phase_matlab.vi
        • “Calc polarization from field strength based on static magnetization curve”
  2. aux_calc_results.vi (nur für die vier AI-Kanäle)
Nützlich zu wissen: calc_amplifier_correction.vi hat eine feste Pfadreferenz auf C:\Users\limat\Desktop\IBN_Regler_Printed_FeCo_P1_1650mT_amp_1_U1soll.csv!