Virtuelle MSC-Abläufe¶
Die MSC-Messskripte können mit virtuellen Gerätekonfigurationen ohne Laborhardware ausgeführt werden. Das ist für Entwicklung, Fehlersuche und Regressionstests gedacht.
Verfügbare Skripte und Konfigurationen¶
Die modernen textbasierten MSC-Skripte liegen im Verzeichnis script:
Skript |
Zweck |
Typische virtuelle Konfiguration |
|---|---|---|
|
Kammerkalibrierung für |
|
|
EUT-Loading-Kalibrierung |
|
|
Störfestigkeitsmessung mit vorhandener Kalibrierhistorie |
|
|
Emissionsmessung mit vorhandener Kalibrierhistorie |
|
Für jedes dieser Skripte gibt es zusätzlich einen Qt-Starter mit derselben
Konfigurationsschnittstelle: msc-maincal-qt.py, msc-eutcal-qt.py,
msc-immunity-qt.py und msc-emission-qt.py. Diese Starter verwenden die
einfache Qt-Oberfläche mit Stop / RF Off und führen die Messlogik in einem
Worker-Thread aus.
Die Konfigurationen msc-immunity-virtual und msc-emission-virtual
verwenden virtuelle Geräte und synthetische Pfadkorrekturen. Die passenden
*-realpaths-Konfigurationen verwenden weiterhin virtuelle Geräte, laden
aber reale Pfadkorrekturdaten aus MpyConfig/LargeRC/ini.
Historien-Pickles¶
Die MSC-Pickle-Dateien sind Historien-Container. Ein Skript lädt eine
bestehende MSC-Instanz über pickle_input_filename, ergänzt die nächste
Messung und Auswertung und schreibt die vollständige aktualisierte Instanz
nach pickle_output_filename.
Jedes neue Ausgabe-Pickle soll damit die gesamte bisherige Messhistorie plus die neu hinzugefügten Daten enthalten. Für die Rückführbarkeit sollten diese Dateien daher nicht als isolierte Zwischenkalibrierdateien verstanden werden.
Typische Sequenzen sind:
maincal -> eutcal -> immunity
maincal -> eutcal -> emission
maincal -> eutcal -> immunity -> emission
Virtuelle MSC-Störfestigkeitskette¶
Aus dem Verzeichnis script kann die virtuelle Störfestigkeitskette so
gestartet werden:
python msc-maincal.py conf/msc-immunity-virtual/conf.py
python msc-eutcal.py conf/msc-immunity-virtual/conf-eutcal.py
python msc-immunity.py conf/msc-immunity-virtual/conf-immunity.py
Dieselbe Kette kann über die Qt-Starter ausgeführt werden:
python msc-maincal-qt.py conf/msc-immunity-virtual/conf.py
python msc-eutcal-qt.py conf/msc-immunity-virtual/conf-eutcal.py
python msc-immunity-qt.py conf/msc-immunity-virtual/conf-immunity.py
Die zugehörigen Ausgabe-Pickles werden unter
conf/msc-immunity-virtual/output geschrieben.
Die Realpath-Variante verwendet dieselbe Skriptreihenfolge mit
conf/msc-immunity-virtual-realpaths:
python msc-maincal.py conf/msc-immunity-virtual-realpaths/conf.py
python msc-eutcal.py conf/msc-immunity-virtual-realpaths/conf-eutcal.py
python msc-immunity.py conf/msc-immunity-virtual-realpaths/conf-immunity.py
Virtuelle MSC-Emission¶
Für eine Emissionsmessung direkt nach der EUT-Kalibrierung:
python msc-emission.py conf/msc-emission-virtual/conf.py
Oder mit Qt-Oberfläche:
python msc-emission-qt.py conf/msc-emission-virtual/conf.py
Für eine Emissionsmessung, die eine zuvor gelaufene Störfestigkeitsmessung in derselben Historie erhalten soll:
python msc-emission.py conf/msc-emission-virtual/conf-after-immunity.py
Die entsprechenden Realpath-Varianten sind:
python msc-emission.py conf/msc-emission-virtual-realpaths/conf.py
python msc-emission.py conf/msc-emission-virtual-realpaths/conf-after-immunity.py
Reale Pfaddaten¶
Die *-realpaths-Varianten erwarten den MpyConfig-Checkout neben dem
mpylab-Repository:
workspace/
├── mpylab/
└── MpyConfig/
└── LargeRC/
└── ini/
Wenn MpyConfig/LargeRC/ini fehlt, werden Tests mit realen
Pfadkorrekturdaten übersprungen. Die rein virtuellen Konfigurationen bleiben
vollständig hardwareunabhängig.
Tests¶
Die hardwareunabhängigen MSC-Abläufe werden durch die pytest-Suite abgedeckt:
Test |
Abdeckung |
|---|---|
|
Lädt die virtuellen und Realpath-DOT-Konfigurationen und initialisiert den MGraph ohne Hardwarezugriff. |
|
Führt die Skriptreihenfolge mit temporären Ausgabedateien aus und prüft,
dass jedes Ausgabe-Pickle die vorherige |
Die Tests können aus dem Repository-Wurzelverzeichnis gestartet werden:
PYTHONPATH=src:../scuq/src python -m pytest test