3.2. Automatisierter Betrieb mit einer Excelanwendung

Bemerkung

Plattform-Kompatibilität: Der in diesem Abschnitt beschriebene Excel-Batch-Modus ist nur unter Windows verfügbar. Er erfordert Microsoft Excel (32- oder 64-Bit) und nutzt Windows-spezifische VBA-APIs. LibreOffice Calc und andere Tabellenkalkulations-Anwendungen werden nicht unterstützt. Die Excel-Datei wird als Beispiel bereitgestellt, um die Möglichkeit der Batch-Verarbeitung zu demonstrieren, nicht als erforderliche Komponente für die Nutzung von UncertRadio.

3.2.1. Overview

Die automatisierte Nutzung von UncertRadio ist dann von praktischem Wert, wenn die UR-Aufrufe in ein anderes Programm eingebettet sind, das auch die Steuerung der Aufrufsequenz von UR mit unterschiedlichen Projektdateien übernimmt.

Beispiel-Anwendungsfall: Ein benutzergeschriebenes Programm zur Verarbeitung der Datenauswertung für ein bestimmtes Messverfahren, bei dem eine Master-Projektdatei zur Auswertung unterschiedlicher Batch-Proben verwendet wird. In diesem Szenario variiert nur ein Teil der Eingangsgrößen-Werte von Messung zu Messung.

Wichtig

Sie müssen einen Programmteil bereitstellen, der die „variablen” Eingangsgrößen-Werte in einer Kopie der Master-Projektdatei auf Basis des input format of a TXP project file ändert.

3.2.2. Excel Application Setup

Basierend auf dem neuen CSV-Format eines UR-Projekts wurde mit VB für Excel ein einfacherer Vorschlag realisiert, der den automatisierten Betrieb von UncertRadio demonstriert. Die dafür erstellte Datei heißt:

File: UR2_SingleAutoRun.xlsm (located in /share/UncertRadio)

3.2.2.1. Spreadsheet Tables

In dieser Exceldatei werden vier Tabellen für UR reserviert, voreingestellt sind darin Table4, Table5, Table6 und Table7:

  • Table4: Destination for import of an UR project as CSV file

  • Table5: Destination of result records obtained from executing UR

  • Table6: List of UR project filenames for batch-like processing by UR

  • Table7: Contains buttons for executing different VBA macros

3.2.2.2. Module Configuration

Das Modul Modul_Auto_Single_UR beinhaltet mehrere Routinen (Makros), deren Funktion kurz erläutert wird.

Autorun_UncertRadio

Ein einfaches Makro, das eine batch-artige Verarbeitung von UR-Projekten durchführt, nachdem diese in Table6 ausgewählt wurden. Dieses Makro wird über einen Button in Table7 aufgerufen.

Funktion: Iteriert über eine Liste von Projekt-Dateinamen und führt UR für jeden davon sequenziell aus, was eine automatisierte Batch-Verarbeitung ermöglicht.

Import_UR_CSV_file

Dieses Makro ermöglicht den Import einer externen UR-Projektdatei im CSV-Format in Table4 der Excel-Datei. Es wird über einen Button in Table7 aufgerufen.

Neue Funktion (Version 2.4.03+): Enthält eine if-then-Konstruktion, mit der ein Arbeitsblatt-Name über die Variable Run_SheetName ausgewählt werden kann.

SingleRun_UR

Nach der Bearbeitung eines bereits in Table4 vorhandenen Projekts führt dieses Makro die folgenden Schritte aus:

  1. Exports the project to a CSV file

  2. Executes UR with this input file

  3. Imports the corresponding result records into Table5

This macro is invoked by a button in Table7.

Unterprogramme: - Init_pathnames: Setzt die Pfadnamen von UR und der Excel-Datei. - DoTheExport: Exportiert die bearbeitete Table4 nach CSV - DoSingleRun_UncertRadio: Führt UR mit der externen CSV-Datei aus - doFileQuery: Importiert Ergebnisse in Table5

Run_UR_AUTOSEP

Dieses Makro ruft SingleRun_UR mit einer neuen öffentlichen Variable UR_AUTOSEP=True auf. Es verwendet zwei separate Tabellen (Blätter): UR2_data und UR2_results statt Table4 und Table5.

Key differences from SingleRun_UR:

  • UR speichert in diesem Modus keine Daten in Auto_Report-Dateien

  • Two CSV files are created with extensions *_xls.csv and *_xls_res.csv

  • These temporary files are deleted at the end of execution

3.2.3. Workflow

Der typische Ablauf zwischen dem Aufruf der beiden Makros Import_UR_CSV_file und SingleRun_UR ist wie folgt:

  1. Import a UR project from a CSV file using Import_UR_CSV_file

  2. Bearbeiten Sie die Daten in Table4 nach Bedarf (z. B. neue Eingangsdaten für die nächste Messung eingeben)

  3. Führen Sie SingleRun_UR aus, um Ergebnisse zu exportieren, zu verarbeiten und in Table5 zu importieren

  4. Use the results in Table5 for further processing in Excel

Nach dem Run der beiden Hauptmakros können die Ergebnisse (Table5) vom Anwender weiter verwertet werden, d.h. z.B. in weitere Excel-Dateien transferiert werden.

3.2.4. Command Line Execution

Der Kommando-String zum Starten der UR-Auswertung eines externen Projekts ist in der Variablen UR_string gespeichert. Dieser hat sich über die Versionen hinweg gewandelt:

3.2.4.1. Version 2.1.1

UR_string = Trim(UR_path) & "UncertRadio.exe AUTO " & Chr(34) & _
    Trim(UR_path) & "pros\\" & Trim(fname) & Chr(34) & " " & Trim(sid)

Example:

D:\UR2\UncertRadio.exe AUTO "D:\GF_Pros\UR2\pros\zzURpr.csv" 556

3.2.4.2. Version 2.2.4

Following statement added to include language code:

UR_string = Trim(UR_string) & " LC=" & Trim(Win_langg) & _
    Trim(sDecimalPoint) & Trim(sListSeparator)

Example:

D:\UR2\UncertRadio.exe AUTO "D:\GF_Pros\UR2\zzURpr.csv" 556 LC=,;

3.2.4.3. Version 2.4.03

The UR2_start_xls.bat file was introduced (now deprecated):

UR_string = Trim(UR_path) & "UR2_start_xls.bat AUTO " & Chr(34) & _
    Trim(fname) & Chr(34) & " " & Trim(sid)

UR_string = Trim(UR_string) & " " & Chr(34) & "LC=" & Trim(Win_langg) & _
    Trim(sDecimalPoint) & Trim(sListSeparator) & Chr(34)

Example:

d:\UR2\UR2_start_xls.bat AUTO "d:\UR2\zzURpr.csv" 556 "LC=DE,;"

3.2.4.4. Version 2.4.22 and Later

Der Ansatz mit Batch-Dateien wurde wegen Konflikten mit Antivirus-Software aufgegeben. UncertRadio wird nun direkt von Excel aufgerufen, nachdem die Windows-Path-Variable geändert wurde:

UR_string = Trim(UR_path) & "uncertradio.exe AUTO " & Chr(34) & _
    Trim(UR_path) & Trim(fname) & Chr(34) & " " & Trim(sid)

UR_string = Trim(UR_string) & " " & Chr(34) & "LC=" & Trim(Win_langg) & _
    Trim(sDecimalPoint) & Trim(sListSeparator) & Chr(34)

Example:

d:\UR2\uncertradio.exe AUTO "d:\UR2\zzURpr.csv" 556 "LC=DE,;"

3.2.4.5. Version 2.4.26 and Later

The environment variable PATH is now set directly:

pathX = EnvironGetItem("path", "User")
Call SetEnvironmentVariableA("path", UR_path & ";" & URGTK_path & ";" & pathX)

3.2.4.6. Benutzung von Kommandozeilen-Argumenten

Die vier Kommandozeilen-Argumente, die an UncertRadio übergeben werden, sind:

  • %1 - AUTO: Specifies batch mode operation

  • %2 - fname: UR project filename

  • %3 - sid: Sample ID string

  • %4 - LC=...: Language and locale settings

3.2.4.7. Variables

The variables used in the command strings are:

  • fname: UR project filename

  • sid: Sample ID string

  • UR_path: Installation path of UncertRadio

Must be set by the user at the beginning of the Autorun_UncertRadio routine.

3.2.5. CSV Project File Handling

Im VBA-Code von SingleRun_UR wird das zu exportierende CSV-Projekt in den Pfad geschrieben, der in der Variablen Excel_Path hinterlegt ist:

3.2.5.1. Version 2.1.1

file_csv = Trim(UR_path_unix) & "pros\\" & "zzURpr.csv"

3.2.5.2. Version 2.2.4 and Later

file_csv = Trim(UR_path) & "zzURpr.csv"
Call DoTheExport(file_csv, ifehl)
If (ifehl = 1) Then Exit Sub

' Execute UR with this input file
Call DoSingleRun_UncertRadio(file_csv, ifehl)
If (ifehl = 1) Then Exit Sub

3.2.5.3. Processing Flow

Mit einer Funktion bShellAndWait wird in Autorun_UncertRadio mit dem übergebenen UR_string das UncertRadio mit der in der in dem String enthaltenen UR-Projektdatei gestartet. Diese Funktion veranlasst Excel nach Absetzen des Start-Befehls so lange zu warten, bis UR die Berechnungen der aktuellen Projektdatei ausgeführt und sich selbst beendet hat. Danach wird die nächste Auswertung aufgerufen.

3.2.5.4. Output File Changes

Seit Version 2.4.04 hat sich der String mit dem Dateinamen der CSV-Projekt-Ausgabedatei geändert (an zwei Stellen):

Bisheriges Verhalten:

file_csv = Trim(UR_path) & "zzURpr.csv"
file_csv = Trim(UR_path) & filename_org

Aktuelles Verhalten (ab v2.4.04):

file_csv = Trim(UR_AUTO_output_path) & "zzURpr.csv"
file_csv = Trim(UR_AUTO_output_path) & filename_org

3.2.6. Ausgabedateien

Die von UncertRadio für eine Projektdatei ermittelten Auswertungsergebnisse werden gespeichert in:

  • CSV file: AutoReport-Result.csv (in the results directory, e.g. ~/.local/share/UncertRadio/results/ on Unix)

Eigenschaften:

  • Data is appended to existing files (cumulative form)

  • Zahlen werden mit dem in Windows definierten Dezimalpunktzeichen geschrieben

  • Diese Dateien können gelöscht werden, wenn sie zu groß werden; UR erzeugt neue

3.2.6.1. Output File Columns

Die Bedeutung der Spalten in den UR-Ausgabedateien ist im Folgenden dargestellt. Die Spalten sind mit deutschen (Bedeutung) und englischen (Meaning) Beschreibungen aufgelistet:

Tab. 3.2.1 UR Output File Columns

Column

Description (DE)

Description (EN)

#

Nummer der Ergebnisgröße

Nummer der Ergebnisgröße

File

UR-Projekt-Dateiname

UR-Projekt-Dateiname

Sample_id

Probe/Analyse-Identifikation

Probe/Analyse-Identifikation

Date

Datum + Uhrzeit

Datum + Uhrzeit

quantity

Symbolname der Ergebnisgröße

Symbolname der Ergebnisgröße

PE

Wert der Ergebnisgröße

der Wert der Ergebnisgröße (die aktuell gewählte Ergebnisgröße, falls mehrere vorliegen)

uPE

Erweiterte Unsicherheit (mit Faktor k)

Wert der erweiterten Unsicherheit (unter Verwendung des Erweiterungsfaktors k)

BE

Bester Schätzwert

Bester Schätzwert

uBE

Unsicherheit des besten Schätzwerts

Dem besten Schätzwert beigeordnete Unsicherheit

LQ

Untere Grenze des Vertrauensbereichs

Untere Grenze des Vertrauensbereichs

UQ

Obere Grenze des Vertrauensbereichs

Obere Grenze des Vertrauensbereichs

sLQ

Untere Grenze des kürzesten Vertrauensbereichs

Untere Grenze des kürzesten Vertrauensbereichs

sUQ

Obere Grenze des kürzesten Vertrauensbereichs

Obere Grenze des kürzesten Vertrauensbereichs

DT*

Erkennungsgrenze

Erkennungsgrenze

DL#

Nachweisgrenze

Nachweisgrenze

NT

Nachweisgrenzentyp (sollte nur noch 1 sein, d.h. ISO 11929)

Typ der Nachweisgrenzenberechnung (kann nur 1 sein, gemäß ISO 11929)

k

Erweiterungsfaktor für die Unsicherheit

Erweiterungsfaktor für die Unsicherheit

kalpha

Wert von k₁₋α

Wert von k₁₋α

kbeta

Wert von k₁₋β

Wert von k₁₋β

1-gamma

Wahrscheinlichkeit 1-γ für das Vertrauensintervall

Wahrscheinlichkeit 1-γ für das Vertrauensintervall

Chisqr

Reduziertes Chi-Quadrat (im Falle linearer Entfaltung)

Reduzierter Chi-Quadrat-Wert (im Falle linearer Entfaltung)