Modenverwirbelungskammer¶
Die Klasse MSC unterstützt Kalibrierung, EUT-Kalibrierung, Emission und
Störfestigkeit in einer Modenverwirbelungskammer. Die einzelnen Schritte
erzeugen keine voneinander isolierten Ergebnisdateien. Jeder Schritt lädt die
bisherige MSC-Instanz, ergänzt Messung und Auswertung und schreibt ein
neues Historien-Pickle.
Messreihenfolge¶
Die Hauptkalibrierung beschreibt die leere Kammer und wird nur nach
relevanten Änderungen der Messumgebung wiederholt. EUTCal bestimmt
anschließend den Einfluss des konkreten Prüflings. Darauf bauen Emissions-
und Störfestigkeitsmessungen auf:
MainCal -> EUTCal -> Immunity
MainCal -> EUTCal -> Emission
MainCal -> EUTCal -> Immunity -> Emission
Ein späterer Schritt erhält das Pickle des vorherigen Schritts über
pickle_input_filename. Das neue Pickle enthält weiterhin die vollständige
Vorgeschichte.
Virtueller Ablauf¶
Aus dem Repository-Wurzelverzeichnis kann eine vollständige Störfestigkeits- kette ohne Hardware gestartet werden:
python script/msc-maincal.py \
script/conf/msc-immunity-virtual/conf.py
python script/msc-eutcal.py \
script/conf/msc-immunity-virtual/conf-eutcal.py
python script/msc-immunity.py \
script/conf/msc-immunity-virtual/conf-immunity.py
Eine anschließende Emissionsmessung verwendet die bereits aufgebaute Historie:
python script/msc-emission.py \
script/conf/msc-emission-virtual/conf-after-immunity.py
Die Konfigurationsdateien legen die Pickle-Verweise bereits passend für diese Reihenfolge fest. Für einen einzelnen Schritt muss das erwartete Eingangs-Pickle daher vorhanden sein.
Ausgaben und Wiederanlauf¶
Jedes Skript schreibt typischerweise:
ein finales Historien-Pickle;
ein Autosave-Pickle während der Messung;
Roh- und Auswertedaten im DAT-Format;
ein Textlog.
Wird ein gültiges Autosave gefunden, setzt das Skript die unterbrochene Messroutine an der gespeicherten Stelle fort. Bereits vollständig gemessene Punkte werden nicht erneut aufgenommen. Nach erfolgreichem Abschluss wird das Autosave entfernt.
Bedienoberflächen¶
Zu den vier Textskripten existieren Qt-Varianten mit dem Namenszusatz
-qt. Beide Bedienformen verwenden dieselben Messklassen und
Konfigurationsdateien. RF-Off und Abbruch bleiben Teil der Messlogik und
dürfen nicht ausschließlich von der Oberfläche abhängen.
EUT-Überwachung¶
Die normale MSC-Störfestigkeitsmessung und die Schwellwertsuche verwenden
strukturierte EUT-Ereignisse. Eine manuelle Intervention über Tastatur oder
GUI bleibt immer aktiv. eut_monitor kann zusätzlich einen automatischen
Monitor oder eine Liste von Monitoren aufnehmen, etwa für Kommunikation,
Kameraauswertung oder Prüfpegel. Blockierende Hardwarezugriffe gehören in
einen ThreadedEUTMonitor.
performance_criterion wählt das Leistungskriterium A, B oder
C. Für B und C kann post_exposure_timeout eine Beobachtungsphase nach
dem Abschalten von RF öffnen, in der Erholung und Funktionszustand erfasst
werden. eut_event_policy legt unabhängig davon fest, ob ein Ereignis die
Messung fortsetzt, wiederholt oder beendet. Ein Ereignis mit
safety_action="rf_off" schaltet RF unmittelbar ab.
Messung und Auswertung speichern die Informationen unter:
rawData_Immunity[description]["performance_criterion"];rawData_Immunity[description]["eutstatus"][...]["eut_event"];processedData_Immunity[description]["performance_assessment"];processedData_Immunity[description]["performance_assessment_by_exposure"];processedData_Immunity[description]["performance_assessment_by_frequency"].
Historische Textzustände bleiben auswertbar. Neue Messungen schreiben immer das strukturierte Ereignis zusätzlich zum kompakten Textstatus. Ereignisse unterschiedlicher Tunerpositionen werden zunächst getrennt bewertet und erst danach zusammengefasst; Erholung an einer Position kann daher keine andere Exposition nachträglich bestehen lassen.
Die anwendungsorientierte EUT-Monitoring-Anleitung enthält vollständige Parameter- und Implementierungsbeispiele.
Schwellwertsuche¶
ImmunityThresholdKernel erhöht die elektrische Feldstärke schrittweise,
bis die EUT-Überwachung eine Beeinträchtigung meldet oder die größte
konfigurierte Feldstärke erreicht ist. Der Kernel besitzt weder Geräte noch
einen Messgraphen. Er erzeugt ausschließlich Kommandos; Measure_Immunity
führt diese aus und schaltet bei einem EUT-Ereignis mit
safety_action="rf_off" unmittelbar RF ab.
Eine lauffähige virtuelle Konfiguration liegt unter
script/conf/msc-immunity-virtual/conf-immunity-threshold.py. Sie wird nach
MainCal und EUTCal gestartet:
python script/msc-immunity.py \
script/conf/msc-immunity-virtual/conf-immunity-threshold.py
Die wesentlichen Kernelparameter sind:
field_levelsStreng aufsteigende Feldstärken als
Quantity(EFIELD, ...). Reine Zahlen werden als V/m interpretiert.backtrack_levelsAnzahl der Feldstufen, um die der Startpunkt bei der nächsten Frequenz gegenüber der zuletzt geprüften Stufe zurückgesetzt wird.
dwellBeobachtungszeit des EUT je Feldstärke und Tunerposition.
eut_monitorOptionale automatische Überwachung. Die manuelle Intervention über
keylistbleibt unabhängig davon immer verfügbar.
Die strukturierten Ergebnisse stehen im Historien-Pickle unter
rawData_Immunity[description]["threshold_search"][frequency]. Ein Eintrag
enthält mindestens status, field, level_index, tuner_position
und gegebenenfalls das auslösende eut_event. Autosave und Wiederanlauf
arbeiten auf der Kombination aus Frequenz, Tunerposition und Feldstufe;
vollständig gemessene Expositionen werden nicht wiederholt.