Zum Inhalt

Prüfschritte

Prüfschritte sind die einzelnen Messschritte innerhalb einer Kalibrierung. Sie werden über den TestStepController als Unterressource einer Kalibrierung verwaltet.

Konzept

Jeder Prüfschritt repräsentiert eine einzelne Messung oder Prüfung im Rahmen einer Kalibrierung. Er definiert den Sollwert, die zulässigen Toleranzen und die Messbedingungen. Die Ergebnisse werden pro Prüfschritt dokumentiert.

Aufbau eines Prüfschritts

Feld Pflicht Beschreibung
Bezeichnung Ja Beschreibung des Prüfschritts
Sollwert Ja Erwarteter Messwert
Einheit Ja Maßeinheit (z. B. mV, bar, °C)
Toleranz (+) Ja Obere Toleranzgrenze
Toleranz (-) Ja Untere Toleranzgrenze
Messpunkt Nein Position oder Bereich der Messung
Reihenfolge Ja Sortierung innerhalb der Kalibrierung
Bemerkung Nein Zusätzliche Hinweise für den Prüfer

Bearbeiten

Im Prüfschritte-Tab einer Kalibrierung zeigt die Tabelle die Schritte nur an. Geändert wird über „Schritte bearbeiten" — derselbe Editor wie bei den Prozedurvorlagen, mit umschaltbarer Tabellen-/Kartenansicht, geführter Toleranz-Eingabe, Messpunkt-Serie und Grenzen-Vorschau. Details zu den Feldern und zur Syntax stehen unter Prozedurvorlagen.

Gespeichert wird die komplette Liste in einem Zug, nicht Zeile für Zeile:

PUT /api/v2/calibrations/{calibrationId}/test-steps
Body: { "steps": [ { "id": "…", "test_type": "Manual Test", … }, … ] }
  • Ein Schritt mit id behält seine Identität und damit seinen bereits erfassten Messwert.
  • Ein Schritt ohne id wird neu angelegt.
  • Ein Schritt, der nicht mehr im Payload steht, wird gelöscht — zusammen mit seiner Ergebniszeile. Der Editor weist beim Öffnen darauf hin, wenn für einzelne Schritte schon Messwerte vorliegen.
  • row_number und die hierarchische Schrittnummer test_step ergeben sich aus der übergebenen Reihenfolge und werden nie vom Client übernommen. Vorhandene Ergebniszeilen wandern beim Umsortieren mit ihrem Schritt mit.

Die Einzeloperationen bleiben für API-Clients erhalten:

POST   /api/v2/calibrations/{calibrationId}/test-steps      # ein Schritt
PUT    /api/v2/test-steps/{id}                              # ein Schritt
DELETE /api/v2/test-steps/{id}
POST   /api/v2/calibrations/{calibrationId}/test-steps/reorder

Der Vorlauf: was vor dem ersten Messwert feststeht

Wird ein Prüfplan wirklich gestartet — über „Ausführen" im Prüfschritte-Tab oder direkt auf der Vollbild-Route /procedure-run/{ctag} —, fragt calServer zuerst drei Dinge ab. Erst danach lassen sich Messwerte erfassen; der Lauf steht solange im Zustand Vorlauf.

Angabe Pflicht Warum vorher
Umgebungsbedingungen (Temperatur, rel. Feuchte, Umgebungsdruck) Nein Nicht jede Prüfung hängt daran. Nachtragen aus einem Datenlogger bleibt möglich — ein Pflichtfeld, das mit einer erfundenen 23 gefüllt wird, ist schlechter als ein leeres.
Eingangsentscheid (as found) Ja Nach der ersten Justage lässt sich der Zustand bei Eingang nicht mehr feststellen. Er entscheidet darüber, ob der Kunde eine Rückwirkungsbetrachtung braucht.
Eingesetzte Normale Ja, mit Ausweg Eine Rückführung, die nachträglich eingetragen wird, ist eine Behauptung.

Eingangsentscheid

Drei Werte, dieselben wie beim Prüfentscheid am Ende des Laufs:

Wert Bedeutung
Bestanden (Y) Gerät kam innerhalb der Toleranz an.
Nicht bestanden (N) Gerät kam außerhalb der Toleranz an.
Ohne Entscheid (O) Kein Eingangsurteil möglich, etwa bei einem Neugerät.

Der Entscheid gilt dem ganzen Lauf, nicht dem einzelnen Messpunkt. Er landet auf der Kalibrierung (as_found_result) und steht damit dem Kalibrierschein zur Verfügung — neben dem Prüfentscheid, der den Zustand bei Ausgang beschreibt.

Normale auswählen

Die Vorschlagsliste kommt aus dem Inventar, in dieser Reihenfolge:

  1. zuletzt verwendet — Normale, mit denen genau dieses Gerät früher schon kalibriert wurde.
  2. im Haus als Normal genutzt — jedes Inventarobjekt, das irgendwo schon einmal als Normal eingesetzt wurde.
  3. Suche — freie Suche über Inventarnummer, Hersteller, Modell, Serien- und Typnummer, für ein Normal, das zum ersten Mal zum Einsatz kommt.

Es gibt kein Kennzeichen „ist ein Normal", das erst gepflegt werden müsste: der Bestand definiert den Pool selbst.

Jede Zeile zeigt den Kalibrierstand des Normals: bis wann es kalibriert ist, ob es abgelaufen ist, oder ob gar kein Datum hinterlegt ist.

Abgelaufene Normale werden gekennzeichnet, nicht ausgeblendet

Ein Normal ohne gültige eigene Kalibrierung lässt sich auswählen — der Dialog weist darauf hin. Ausblenden würde die Rückführungslücke verstecken, statt sie zu zeigen, und es gibt legitime Fälle (Normal in Rekalibrierung, Ersatzstellung), in denen die Prüfstelle das begründet tut.

Ohne Normal starten

Eine reine Sicht- oder Funktionsprüfung braucht kein Normal. Wird keins gewählt, verlangt der Dialog stattdessen eine Begründung (mindestens fünf Zeichen). Sie wird am Lauf festgehalten. Ein Häkchen ohne Text gibt es nicht — im Audit wäre es wertlos.

Laufende Prüfabläufe sind nicht betroffen

Die Sperre gilt für Läufe, die ab dieser Version geöffnet werden. Ein bereits laufender Prüfablauf lässt sich unverändert weiter erfassen.

Die Vorschau eines Messwerts (Grenzen, voraussichtliche Bewertung) bleibt auch im Vorlauf offen — gespeichert wird dabei nichts. Ebenso unberührt bleibt das Nachtragen von Ergebnissen von Hand außerhalb eines gestarteten Prüfablaufs.

Ergebniserfassung

Während der Durchführung einer Kalibrierung wird für jeden Prüfschritt der Istwert eingetragen:

Feld Beschreibung
Istwert Gemessener Wert
Ergebnis Automatisch berechnet, siehe Konformitätsbewertung unten
Abweichung Differenz zwischen Soll- und Istwert
Bemerkung Optionale Anmerkung des Prüfers

Zwei Ansichten: Tabelle und Schrittweise

Die Erfassung startet im Prüfschritte-Tab über „Ausführen". Der Umschalter daneben entscheidet, wie erfasst wird; die Wahl bleibt gespeichert und gilt auch auf der Vollbild-Route /procedure-run/{ctag}.

Ansicht Wofür
Tabelle Schreibtisch und Tastatur. Alle Messpunkte gleichzeitig sichtbar, eine Zeile je Punkt, genau eine Spalte beschreibbar.
Schrittweise Tablet und Werkstatt. Ein Punkt pro Bildschirm, große Flächen, mit Handschuhen bedienbar.

In der Tabellenansicht ist kein Mausklick nötig:

  • Enter übernimmt den Wert und setzt den Cursor in die nächste Messwertzelle. Bestätigungs- und Hinweisschritte werden dabei übersprungen — dort gibt es kein Eingabefeld.
  • Pfeil hoch/runter wechselt die Zeile, ohne zu speichern.
  • Beim Öffnen steht der Cursor im ersten noch offenen Messpunkt.

Was die Tabelle außerdem zeigt (Muster aus Fluke CalStudio, nicht dessen Look):

  • Grenzbalken je Messpunkt in der Spalte „Grenzen“: Band von Unter- bis Obergrenze, Sollwert als Strich, Guard Band als gelbe Zone an den Rändern, der Messwert als Marke. Beim Tippen ist die Marke gestrichelt (Vorschau), nach dem Übernehmen gefüllt und in der Farbe des Urteils. Hängen die Grenzen an der Ablesung (% bei UUT Indicated, Referenzablesung), erscheint der Balken erst mit dem Wert.
  • Ergebnis als Icon: Kreis offen, Haken bestanden, Fragezeichen bedingt, Kreuz nicht bestanden; das Legendensymbol des Scheins (?, !?, !) steht daneben.
  • Kopf mit Fortschrittsbalken, Gesamturteil und Zählung (bestanden, nicht bestanden, bedingt, offen, übersprungen), dazu der Zustand des Laufs („Bereit“, „Läuft“, „Vorlauf offen“) und der Prüfling (Inventarnummer, Gerät, Seriennummer). Wer zwei Läufe offen hat, sieht so, welcher welcher ist.
  • Gliederung links: Abschnitte mit Zähler, Schritte mit ihrem Zustand; ein Klick springt in die Zeile und setzt den Cursor. Der Knopf „Gliederung“ blendet sie aus, die Wahl merkt sich der Browser.

Der Probelauf im Schritt-Editor zeigt dieselbe Tabelle und damit dasselbe.

Live: Werte von einem anderen Bildschirm

Solange der Lauf offen ist (Vorlauf oder Erfassung), fragt die Tabelle alle drei Sekunden, ob sich am Lauf etwas geändert hat. Schreibt ein Messplatz oder ein Kollege an einem zweiten Bildschirm einen Wert, erscheint er ohne Neuladen, samt Fortschritt und Ergebnis. Übernimmt jemand anderes den Vorlauf, geht der Vorlauf-Dialog von selbst zu. Ein Wert, den du gerade tippst und noch nicht übernommen hast, bleibt dabei stehen.

Ein verdeckter Browser-Tab fragt nicht; sobald er wieder vorne ist, holt er den Stand nach. Die Schrittweise-Ansicht lädt ihre Schritte selbst und aktualisiert sich nicht live. Abgefragt wird nur eine Änderungsmarke (GET /api/v2/procedure-runs/{run}/revision), der Lauf selbst erst, wenn sie sich ändert.

Eingabe: Komma, Vorsatz und Einheit

Der Messwert wird als Text gelesen, nicht als Zahlenfeld:

Eingabe Bei einem Punkt in V bedeutet das
10,03 oder 10.03 10,03 V
10030 mV, 10030mV, 10030m 10,03 V
1e3 1000 V
10 Äpfel wird abgewiesen, das Feld meldet den Fehler

Ohne getippte Einheit gilt die des Punktes. Ist eine Einheit angegeben, gewinnt sie gegen einen gleichnamigen Vorsatz: bei einem Punkt in Metern sind 10m zehn Meter, nicht zehn Millimeter. Groß- und Kleinschreibung zählt beim Vorsatz (10mV ≠ 10MV), bei der Einheit nicht.

Im schrittweisen Modus gibt es zusätzlich Auswahlfelder für Vorsatz und Einheit — in einer Tabelle mit zwanzig Zeilen wären das vierzig Auswahlfelder, die niemand anfasst.

Vorschau beim Tippen

Während getippt wird, zeigen Abweichung, Toleranzausnutzung und Status schon, worauf es hinausläuft — kursiv beziehungsweise blass, weil es eine Vorschau ist. Maßgeblich ist immer das gespeicherte Ergebnis vom Server. Sollwert, Toleranzgrenzen und Guard Band stehen bereits, sobald ein Punkt offen ist.

Plausibilität ist eine Nachfrage, keine Sperre

Liegt die Abweichung mehr als zehnmal über der Toleranz, weist die Zeile darauf hin — das ist typisch für einen Zahlendreher oder eine vergessene Einheit. Übernehmen lässt sich der Wert trotzdem: ein Prüfling kann kaputt sein, und dann ist der Wert richtig.

Konformitätsbewertung

Das System bewertet automatisch, ob der gemessene Istwert innerhalb der definierten Toleranzen liegt. Ist für den Schritt eine erweiterte Messunsicherheit gepflegt, wird zusätzlich das Guard Band nach ILAC-G8 berücksichtigt — dann gibt es vier statt zwei Zustände:

Anzeige Symbol im Schein Bedeutung
Bestanden (grün) (leer) Innerhalb der Spezifikation, auch unter Berücksichtigung der Messunsicherheit
Bedingt (gelb) ? Innerhalb der Spezifikation, aber im Guard Band: eine Konformitätsaussage ist nicht möglich
Bedingt (rot) !? Außerhalb der Spezifikation, aber innerhalb der Messunsicherheit um die Grenze: eine negative Konformitätsaussage ist nicht möglich
Nicht bestanden (rot) ! Außerhalb der Spezifikation, auch unter Berücksichtigung der Messunsicherheit

Ohne Unsicherheit bleibt es zweiwertig

Trägt ein Schritt keine Unsicherheit, entfallen die beiden mittleren Zonen und die Bewertung ist wie bisher grün oder rot. Die Unsicherheit ist damit der Schalter, mit dem eine Guard-Band-Bewertung überhaupt entsteht.

Die angewandte Entscheidungsregel wird je Ergebniszeile mitgeschrieben (guardband_meth, ILAC-G8 w=U bzw. ILAC-G8 w=0), damit ein ? im Kalibrierschein begründbar bleibt.

Gesamtergebnis des Prüfablaufs: Enthält ein abgeschlossener Lauf mindestens einen bedingten Schritt und keinen eindeutigen Fehler, lautet der Prüfentscheid weder „bestanden" noch „nicht bestanden", sondern O — die Entscheidung liegt beim Prüfer. Für die MET/TEAM-Rückgabe und die MET/CAL-Spalte pass_fail werden die Zwischenzustände auf die Seite der Toleranzgrenze reduziert, auf der sie liegen; die Feinheit bleibt in test_status.

Prüfschritte aus Prozedurvorlagen

Beim Erstellen einer neuen Kalibrierung werden die Prüfschritte aus der zugehörigen Prozedurvorlage übernommen. Diese können anschließend für die konkrete Kalibrierung angepasst werden, ohne die Vorlage zu verändern.

Herkunft der angewandten Vorschrift

Beim Laden einer Vorlage hält calServer fest, welche Version angewandt wurde — die Frage eines Auditors lautet „gegen welche Vorgabe wurde damals bewertet?", und die ist rückwirkend nicht mehr zu beantworten.

Festgehalten wird am Prüfablauf (procedure_runs): die Vorlagen-ID, die Version sowie Name und Hash als Schnappschuss. Der Schnappschuss ist nötig, weil das Löschen einer Vorlage keine Referenzprüfung kennt; ein später erneut gedruckter Schein muss trotzdem benennen können, was angewandt wurde.

Wird nach dem Laden an den Schritten gearbeitet — im Editor, über die Einzeloperationen oder durch Umsortieren —, vermerkt der Lauf das in steps_modified_at. Die Anzeige über dem Prüfschritte-Grid und im Ausführungs-Wizard sagt dann „nach dem Laden verändert" dazu, statt eine Versionsnummer zu behaupten, die nicht mehr trägt. Ein erneutes Laden setzt die Herkunft neu und löscht den Vermerk.

Die Angabe erscheint zusätzlich

  • im Report-Datensatz unter procedure.template_name / .template_version / .template_modified_at (Contract calibration-certificate ab v1.3) und
  • im DCC-Export als dcc:usedMethod mit refType="calServer_measuringProcedure" — der einzige usedMethod, der an der konkreten Kalibrierung hängt statt an einer Report-Variable.

Eine Kalibrierung, deren Schritte nie aus einer Vorlage kamen, bekommt keinen Lauf und keine Herkunftsangabe.

Berechtigungen

Die Verwaltung von Prüfschritten erfordert die Berechtigung calibration_edit. Das Einsehen der Prüfschritte erfordert calibration_view.