Produktionsfortschritt erfassen
Gilt für die CoCoCo-Plattform v1.0.0-rc.31. Jede Aussage unten wurde auf dieser Version geprüft, gegen das Schema und gegen bereits erfasste Punkte.
Über Fortschrittspunkte erfährt CoCoCo, was in der Produktion tatsächlich passiert: wie viele gute Exemplare ein Arbeitsgang produziert hat, wie viel Makulatur, in welcher Phase die Maschine ist, wie schnell sie läuft.
Bevor Sie den ersten schreiben, lohnt sich eine Eigenschaft zu kennen.
Fortschrittspunkte sind append-only
Abschnitt betitelt „Fortschrittspunkte sind append-only“Ein erfasster Punkt kann nicht bearbeitet und nicht gelöscht werden — nur von einem weiteren gefolgt. Das macht die Produktionshistorie verlässlich und hat drei praktische Folgen:
- Den Zeitstempel richtig setzen.
latestProgressliefert den jüngsten Punkt eines Arbeitsgangs, und ein Punkt mit falscher Zeit lässt sich nachträglich nicht verschieben. - Testdaten kennzeichnen. Solange Sie an einer Integration bauen, schreiben Sie etwas Erkennbares in das Freitextfeld
status, damit später ein Probelauf von echter Produktion zu unterscheiden ist. - Nach vorn korrigieren. Wurde eine falsche Menge erfasst, erfassen Sie danach die richtige, statt nach einem Weg zu suchen, die alte Zeile zu reparieren.
Was ein Punkt trägt
Abschnitt betitelt „Was ein Punkt trägt“| Feld | Bedeutung |
|---|---|
goodCount / wasteCount | Gutproduktion und Makulatur. Das Feld legt nicht fest, ob es ein laufender Gesamtstand oder ein Zuwachs ist — siehe den Hinweis unter der Tabelle |
phase | SETUP, RUNNING, CLEANUP, IDLE, MAINTENANCE, STOPPED |
speed | Aktuelle Produktionsgeschwindigkeit |
percentComplete | Fertigstellungsgrad, falls Ihre Quelle ihn kennt |
errorCode / errorMessage / errorSeverity | Warum eine Maschine gestanden hat |
timestamp | Wann das so war — ohne Angabe die Serverzeit |
source | Woher die Zahl kommt |
status | Freitext für alles, was Ihre Quelle führt und wofür es kein Feld gibt |
Gesamtstand oder Zuwachs? Die Eingabe legt es nicht fest. Entscheiden Sie sich für Ihre Integration einmal und bleiben Sie dabei. Bedenken Sie: latestProgress liefert einen einzigen Punkt als aktuellen Stand des Arbeitsgangs — das stimmt nur, wenn jeder Punkt den bisherigen Gesamtstand trägt.
source ehrlich setzen
Abschnitt betitelt „source ehrlich setzen“JMF heißt: eine Maschine hat es gemeldet. MANUAL heißt: ein Mensch hat es eingegeben — am Terminal, in einer Kiosk-App oder über eine Rückmeldemaske im MIS.
Eine gemessene und eine getippte Zahl verdienen unterschiedliches Vertrauen, und source ist das, woran jeder Leser der Daten sie unterscheidet. Kennzeichnen Sie einen MIS-Import nicht als JMF, nur weil die Daten drei Systeme vorher einmal aus einer Maschine kamen.
Einheiten im Druck
Abschnitt betitelt „Einheiten im Druck“Bogen und Drucke werden mit countUnit: CUSTOM und einer customCountUnit-Zeichenfolge erfasst:
countUnit = "CUSTOM",customCountUnit = "SHEETS",Nehmen Sie die Schreibweise aus verticalProductionUnits und tippen Sie sie nicht aus dem Gedächtnis — das Feld ist Freitext, "SHEET" und "SHEETS" werden für jede Auswertung zu zwei getrennten Reihen, und nichts warnt Sie.
Den richtigen Arbeitsgang adressieren
Abschnitt betitelt „Den richtigen Arbeitsgang adressieren“Zwei Wege, und den zweiten wollen Integrationen:
Über die ID — operationId, wenn Ihr Code sie schon hält.
Über die externe Referenz — wenn Ihr Quellsystem seine eigenen Nummern kennt, aber nicht die von CoCoCo:
externalRef = { jobExternalId = "MIS:26-04711", operationExternalId = "MIS:26-04711:20",}Die Auflösung läuft von oben nach unten (Job → Komponente → Arbeitsgang → Position), Teilkoordinaten funktionieren also auch. Kein Lookup, keine Zuordnungstabelle. Siehe MIS-Daten auf das CoCoCo-Datenmodell abbilden.
Bündeln
Abschnitt betitelt „Bündeln“Eine Anfrage nimmt bis zu 10.000 Punkte, und ein Bund ist die richtige Form für einen Importer: alles Neue seit dem letzten Wasserzeichen lesen, die Punkte bauen, einmal senden — und erst danach das Wasserzeichen fortschreiben.
Ein Punkt hat keinen Schlüssel gegen Dubletten — die Eingabe trägt keine externe Kennung —, ein zweimal gesendeter Punkt wird also zweimal gespeichert und lässt sich danach nicht löschen. Die Antwort nennt, wie viele Punkte recorded sind, und führt errors für den Rest. Meldet ein Aufruf Fehler, klären Sie erst, welche Punkte gespeichert wurden, bevor Sie irgendetwas erneut senden; schicken Sie nie einen ganzen Bund noch einmal, nur weil ein Teil davon scheiterte.
Zurücklesen
Abschnitt betitelt „Zurücklesen“latestProgress(operationId)— der jüngste Stand eines Arbeitsgangs.queryProgressPoints(filter)— die Historie, filterbar nach Arbeitsgang, Job oder Arbeitsplatz, für Zeitleisten und Auswertungen.- MicroSQL über die Reporting-Tabelle
progress_points— für Aggregate über viele Arbeitsgänge. Siehe Berichte bauen und Daten exportieren.
Aus erfassten Punkten leitet die Plattform außerdem Metriken ab — Gut- und Makulaturproduktion sowie Produktionsgeschwindigkeit erscheinen als Zeitreihen, ohne dass Sie sie anlegen.
Wie es weitergeht
Abschnitt betitelt „Wie es weitergeht“- MIS-Daten auf das CoCoCo-Datenmodell abbilden — Fortschritt aus einer MIS-Datenbank
- Protokolle erklärt: MQTT, HTTP, JMF, SQL — Fortschritt direkt aus einer Maschine
- Job hängt in einem Status — wenn die Zahlen ankommen, der Job aber nicht weiterläuft