Verwaltung von Standards

In diesem Abschnitt wird beschrieben, wie die Administration von Standards funktioniert

Einführung

Kalibriware erlaubt es, Standards fast vollständig frei zu definieren. Details zur codetechnischen Umsetzung sind im Bereich Skriptentwicklung zu finden.

Standards können entweder aktiv oder passiv sein. Ein Standard ist aktiv, wenn er Code zugeordnet hat (Treiberdatei / Klasse). Ein Standard ist passiv, wenn keinen Code zugeordnet hat.

Aktive Standards sind dazu gedacht, die Modularität des Quellcodes zu unterstützen, indem Funktionalität gekapselt wird und einfach angefordert werden kann. Gleichzeitig wird mit einer Anforderung der Funktionalität eines Standards selbiger auch automatisch in das Protokoll aufgenommen, was Fehlerpotential minimiert.

Passive Standards existieren für Randfälle, in denen ein Standard wirklich keine Funktionalität hat. Dies kann bspw. bei passiven Bauteilen (Dämpfer oÄ) der Fall sein. Zudem kommen passive Standards in der Übergangsphase zwischen Altsystem mit Altskripten und neuem System mit neuen Skripten zum Einsatz. Sie ermöglichen es einen Standard ins Protokoll aufzunehmen, auch wenn die Funktionalität wie Makros noch nicht in das neue Skriptformat übersetzt wurde.

Alias-Name von Standards

Standards kann (und soll bzw. muss in den meisten Fällen) ein Alias-Name zugewiesen werden. Der Alias-Name ist eine äußerst mächtige Funktionalität, welche es erlaubt automatisch Standards welche mehrfach existieren elegant in Skripte zu integrieren.

Die Grundannahme ist, dass der gleiche Standard mehrfach an verschiedenen Messplätzen existieren kann (aber der gleiche Standard sollte immer nur ein mal pro Messplatz existieren). Damit im Protokoll jetzt die korrekten Informationen wie Seriennummer, Kalibrierdauer, usw hinterlegt werden können, muss das Skript irgendwie wissen, welcher Standard denn jetzt gerade genutzt wird. Es wäre möglich, dies manuell als Abfrage in neuen Skripten zu implementieren. Das ist aber unelegant und bedeutet unnötigen Aufwand.

Als Beispiel nehmen wir an, dass die Standards “Testgerät-01 an Messplatz 1” und “Testgerät-02 an Messplatz 2” existieren. In einem Skript welches das Testgerät nutzt und sowohl an Messplatz 1 und Messplatz 2 ausgeführt werden kann müsste nun eine Abfrage eingebaut werden, welches der beiden Testgeräte denn benutzt wird.

Wird nun stattdessen der Alias “Testgerät” zugewiesen und der Standard über CalibratorByAlias.createOrGet("Testgerät") angefordert, sucht das System automatisch heraus, welchem tatsächlichen Standard (mit Seriennummer usw) der Alias entspricht auf Basis des Messplatzes, auf welchem das Skript gerade ausgeführt wird. Dies ist möglich, weil Standards fest einem Messplatz zugeordnet sind.

Es ist also grundsätzlich empfehlenswert, Standards immer über Alias anzufordern!

Treiberdatei

Ein Standard kann optional eine Treiber-Datei bekommen - dies ist eine Datei, welche über Dependency-Injection an die Skriptumgebung weitergegeben wird. Das macht Standards über verschiedene Geräteklassen und Messplätze und Skripte transparent austauschbar. Dabei schreibt die Messplatzzuordnung vor, an welchem Messplatz welcher Standard benutzt werden kann.

Ein denkbares Szenario für Treiberdateien ist beispielsweise dass ein Skript lediglich ein beliebiges Spannungsmessgerät benötigt. Nun existieren im Labor verschiedene Arten von Spannungsmessgeräten, welche alle Unterschiedlich angesprochen werden müssen (also alle einen anderen Treiber benötigen). Der konventionelle Ansatz wäre im Skript selbst eine gewisse Unterscheidung bspw. über eine Abfrage treffen. Mittels Treiberdateien kann das eleganter gelöst werden:

Alle in Frage kommenden Spannungsmessgeräte kriegen einen gemeinsamen Alias zugewiesen, das Skript fordert lediglich ein CalibratorByAlias.createOrGet("<Gewählter Alias für die Messgeräte>") an. Die Dependency-Injection lädt nun automatisch den passenden Treiber für den am Messplatz vorhandenen Standard. Das könnte an Messplatz A dann Standard A sein, an Messplatz B der Standard B. Das Skript an sich würde aber gar nichts davon mitkriegen, weil die Funktionalität über das Interface des Treibers gekapselt ist.

Erstellung und Verwaltung von Standards

Die Verwaltung von Standards passiert in Administration -> Standards. Auf der Hauptseite findet sich eine Liste der Standards. Durch die Buttons können Standards editiert, Kalibrierungen für Standards hinterlegt oder Standards gelöscht werden. Standard-Seite Übersicht

Anlegen neuer Standards

Ein Standard kann in der GUI wie folgt angelegt werden: Button für Standarderzeugung

Standarderzeugung

Mobile Standards

Mobile Standards (bspw. ein Kabel, welches irgendwo im Labor liegt und entsprechend an den Messplatz geholt wird, an welchem es benötigt wird) sind nicht unterstützt. Standards die bei Durchführung einer Kalibrierung nicht dem Messplatz der Kalibrierung zugeordnet sind, können nicht genutzt werden.

Zusammenhang zwischen Standard und Messplatz / Hardwareschnittstellen

Wenn bei der Erstellung des Standards eine Hardwareschnittstelle angegeben ist, wird automatisch innerhalb des Treibercodes ein Objekt zur Kommunikation mit dem Standard bereitgestellt. Für GPIB kann zusätzlich eine Adresse hinterlegt werden, sodass Adressänderungen der Standards komplett ohne Codeänderungen durchgeführt werden können.

Eine Hardwareschnittstelle kann prinzipbedingt nur ausgewählt werden, wenn auch ein Messplatz zugeordnet ist.

Für weitere Details kann in Skriptentwicklung/Hardwareschnittstellen benutzen nachgeschlagen werden.

Standards und ihre Auswirkung auf den Kalibrierprozess

Wenn innerhalb eines Kalibrierskripts ein Standard benutzt wird, wird der Standard automatisch zur Liste der benutzten Standards im Kalibrierprotokoll hinzugefügt, dort die entsprechende Kalibrierung (falls relevant) hinzugefügt, sodass alle benutzten Standards automatisch auftauchen.

Statische Zuordnung von Standards im Prüfling

Bei jedem Prüfling können über das Feld “Statische Zuordnung der Standards” Standards zugeordnet werden, welche immer im Protokoll auftauchen, egal ob diese im Skript angefordert werden oder nicht.

Diese Funktionalität existiert primär, damit auch für Altskripte die benutzten Standards im Protokoll auftauchen, denn Altskripte können keine Standards anfordern. Sie kann aber auch falls erforderlich für neue Skripte genutzt werden.

Zur Zuordnung muss der Alias des entsprechenden Standards genutzt werden. Die Legacy Engine führt hierbei den Code CalibratorByAlias.createOrGet("<ALIAS>") aus.

Statische Zuordnung von Standard