Zeiterfassung Terminal, Mehrfacherfassung
Mehrfacherfassung am Zeiterfassungsterminal, oder auch dynamische $PLUS Buchung
Beschreibung der Funktionen des Kieselstein ERP Zeiterfassungsterminals
basierend auf der Version 0.0.9.0
Der Zugriff erfolgt über Standard Schnittstellen (RestAPI) deines Kieselstein ERP Systems, welche selbstverständlich auch von anderen Geräten / Funktionen genutzt werden können. In welcher Form die Schnittstellen ausgeführt werden, ist noch von der Technik festzulegen.
Aktuell steht die Software des Zeiterfassungsterminals unter Windows und Android zur Verfügung.
Hinweis: Die weitere Betreuung von Terminals der Firma MECS ist nicht vorgesehen. Diese haben zwar den Vorteil sehr robust zu sein, sie laufen seit ca. 20Jahren in rauer Betriebsumgebung, werden aber nicht mehr produziert und auch nicht supported. Es sollten daher anstatt dessen entsprechend geeignete Industrie PC’s eingesetzt werden.
Für die Anwesenheitszeiterfassung identifiziert sich der/die MitarbeiterInn mittels Barcode Ausweisnummer bzw. RFID Chip bzw. aus der Anwesenheitsliste.
Somit wird der MitarbeiterInnen Name angezeigt.

Unter dem Namen werden die direkt verfügbaren Knöpfe / Funktionen angezeigt, wobei Saldo deaktiviert werden kann.
Durch Tipp auf Kommt, Pause, Geht, wird die entsprechende Buchung durchgeführt und direkt zum Server gesandt. Ist keine Serververbindung verfügbar, werden die Buchungen zwischengespeichert.
Darunter werden die letzten Heute gebuchten Zeiten angezeigt.
Diese Anzeige bleibt solange bestehen, bis entweder einer der drei Buttons getippt wird oder bis man Abmelden antippt, was ein Verlassen der Erfassung ohne Buchung bewirkt.
Der Tipp auf Saldo zeigt den aktuelle Gleitzeit und Urlaubssaldo
Tippt man hier auf Detail, so wird die Monatsabrechnung des aktuellen Monates angezeigt.
Tippt man hier auf den linken Pfeil, kann man um ein Monat zurückblättern, bzw. mit dem Pfeil nach rechts
wieder vorwärts blättern.
Mit dem X wird die Anzeige verlassen.
Hinweis: Der Zeitsaldo sind die noch zu erbringenden Stunden, bis Ende des Monates, gerechnet vom heutigen Tag weg. D.h. hier sieht der Mitarbeiter / die Mitarbeiterin wieviel er/sie bis zum Monatsende noch zu leisten hat, um auf einen ausgeglichenen Monatssaldo zu kommen.
Bitte beachte, dass der verfügbare Urlaub üblicherweise in Tagen dargestellt wird. Ist das Zeitmodell auf Teilzeitmodell gestellt, so wird der verfügbare Urlaub in Stunden angezeigt.
Hinweis2: Sind im Zeitmodell nur die Monatsstunden definiert, so können die Ansprüche nur bis jeweils zum Ende des aktuellen Monates errechnet werden.
Beim Scannen eines Barcodes wird die Meldung Bitte Loggen Sie sich ein

angezeigt.
Hintergrund dieser Meldung ist, dass der Barcode nicht die erforderliche Kennung z.B. als Personalausweis enthält. Meist geschieht dies, wenn du fremde Barcodes, ev. über Online Tools erzeugte eigene Barcodes verwendest. SAo nutze z.B. für die Personalausweise die Barcodeliste aus dem Personalmodul.
und hake dann Barcodeliste an
. Damit erhälts du die Barcodes, welche auch vom Terminal akzeptiert werden.
Für weitere Barcodes siehe.
Kann eine Monatsabrechnung vom Server nicht gültig erstellt werden, wird diese nicht an das Terminal übergeben. Um herauszufinden warum, lass dir die Monatsabrechnung der Person am Client anzeigen. Dann kommt eine entsprechende Fehlermeldung. Wird diese behoben, wird die Monatsabrechnung auch am Terminal angezeigt.
Da neben der Anwesenheitszeiterfassung das Terminal vor allem für die Erfassung der verschiedensten Produktionszeiten (Mensch und Maschine) gedacht ist und in aller Regel noch immer Fertigungsbegleitpapiere mitgegeben werden müssen, ist die Bedienung des Terminals auf Barcode ausgerichtet. Ob diese Barcodes mittels einfacher eindimensionaler Strichcodes oder mittels QR-Code erfolgt ist nur vom eingesetzten Barcodescanner abhängig. Das Terminal selbst bekommt das nicht mit.
Welche Barcodes werden vom Terminal unterstützt? Siehe dazu.
Siehe auch
Damit die Beschreibung etwas leichter lesbar ist, verwenden wir hier die sich in der Praxis eingebürgerte Form von ich, kombinierter Code …. usw., wobei ich bedeutet, es wird:
Ich, abweichende Maschine, Kombicode.
Durch Scann von Ich, Losnummer, Ablieferung gelangt man in die Ablieferbuchung.
Gib hier die Menge der guten Teile bei Gut ein. Sind Teile schlecht, da z.B. die Maßgenauigkeit nicht geben ist, so gib diese bei Schlecht ein. Mit dem Tippen auf Ok wird die Ablieferbuchung durchgeführt.
Stellst du vorher dem Ok noch den Schalter bei Etikett drucken auf Ein, so wird zusätzlich zum Ablieferetikett auch das Mobile Etikett gedruckt.
Bei der Schlecht Buchung wird kein Etikett gedruckt.
Die Schlecht Menge wird auf das erste definierte Lager der Lagerart Schrott gebucht. Ist dieses nicht definiert, erfolgt die Buchung ebenfalls auf das Hauptlager, allerdings in einer eigenen Ablieferbuchung.
Hinweis:
Kommt hier die Fehlermeldung:
Request returned Statuscode Unauthorized
So fehlt für die Rolle des Terminals sehr wahrscheinlich eines der nachfolgenden Rechte:
Der Ausdruck der Ablieferetikette erfolgt auf den Drucker der mit dem Arbeitsplatzparameter DRUCKERNAME_MOBILES_ABLIEFER_ETIKETT definiert ist.

In gewissen Anwendungsfällen, will man den buchenden MitarbeiterIn darauf hinweisen, dass er unbedingt die bei der Ablieferbuchung erzeugten Ablieferetiketten auch in die Lieferung, die Verpackung der Lieferung, mit dazugeben muss.
Das kann dadurch erreicht werden, dass:

Durch scann von ich, Materialentnahme für Los, kann am Terminal geplantes Material in das Los gebucht werden.

Es werden hier die tatsächlich entnommenen Mengen in der Spalte Entnahme eingegeben.
Durch Tipp auf Ok wird dann versucht die angegebenen Mengen vom Lager in das Los zu buchen.
Können einzelne Positionen nicht gebucht werden, so erscheint zuerst eine allgemeine Meldung
welche angibt wieviele Buchungen nicht durchgeführt werden konnten. Nach Bestätigung derselben sieht man in der nun dargestellten Liste was die genaue Fehlerursache für die Nicht-Durchführung der jeweiligen Lagerentnahme Buchung ist. Es wird dies in der Regel ein fehlender Lagerstand gegebenenfalls auch für die jeweilige Serien- bzw. Chargennummer sein.
Bitte beachte, dass die durchführbaren Buchungen auch gemacht wurden.
Du kannst nun den fehlenden Lagerstand z.B. über einen Kieselstein ERP Client nachbuchen und die Materialentnahmebuchung mit Ok noch einmal versuchen, oder mit Abbrechen die Materialbuchung beenden.
Für die Materialbuchungen stehen folgende Barcode Definitionen zur Verfügung
Am Terminal kann mit den Artikel-Barcode-LeadIns $I, ohne LeadIn und den QR-Codes nach VDA4992 zusätzliches Material in das Los gebucht werden.
Hinweis: In der mobilen App wird dies derzeit (noch) nicht unterstützt.
Für den Druck der Losablieferung Etiketten ausgelöst durch das Terminal, aber auch jedes andere mobile Device, wurde definiert, dass derzeit immer nur ein Exemplar gedruckt wird (auch wenn theoretisch die Schnittstelle mehr könnte).
Eigentlich so, dass wenn keine SNR dann eine Etikette und mit Seriennummer je Seriennummer je eine -> Also: machen wir mal immer eine Etikette.
D.h. von der Idee her, wird in der Ablieferung jede Seriennummer einzeln erfasst und damit auch einzeln gedruckt.
Es ist dafür fixe IP Adresse des Terminals empfohlen.
Bei der Ansteuerung unterschiedlicher Drucker von den unterschiedlichen Terminals ist die fixe IP Adresse erforderlich. Siehe dazu auch Standard Arbeitsplatz in den Arbeitsplatzparametern.
Siehe Arbeitsplatzparameter DRUCKERNAME_MOBILES_LOSABLIEFER_ETIKETT aber auch
DEFAULT_MOBIL_DRUCKERNAME_ETIKETT.
Die Arbeitsplatzparameter findest du hier
Immer wenn sich der/die MitarbeiterInn am Terminal identifiziert, werden unmittelbar danach anschließend die heutigen Zeitbuchungen und daran anschließend, die vom jeweiligen Mitarbeiter gestarteten Maschinen angezeigt.

Ab der Version 0.0.10.0 wird bei den Maschinen auch das Buchungsdatum angezeigt.
Damit kann man erkennen, ob gegebenenfalls vergessen wurde eine Maschine zu stoppen. Sollte dies der Fall sein, bitte eineN ZuständigeN bitten dies zu korrigieren. Beachtet dazu auch das Auto-Stop bei Geht.
Mit der Ende Buchung wird die laufende Tätigkeit des Mitarbeiters beendet, egal was er gerade angestempelt hat. Aus Produktions-Sicht macht er/sie nun “nichts”.
Ein Ende bewirkt kein Maschinen-Stop.
Bei der Stop-Buchung muss immer auch eine Maschine (und ein Arbeitsgang) angegeben werden. Damit wird die Maschine gestoppt. Aus Produktions-Sicht, steht nun die Maschine. Das hat NICHTS mit der Ende Buchung zu tun.
Das bedeutet auch, wenn ein Arbeitsgang komplett beendet wird, so muss STOP und danach ENDE gebucht werden, damit sowohl die eine Maschine gestoppt wird (nicht mehr läuft) und auch, dass der Mitarbeiter nun nichts mehr macht. Wenn der Mitarbeiter auf einem anderen Arbeitsgang weiter macht, muss er nur (das kann er auch ohne der Ende Buchung machen) die neue Tätigkeit anstempeln. Ist in der Tätigkeit die Maschine mit enthalten (und es ist die gleiche zu vor gestartete Maschine), so wird diese Maschine nun diesem Arbeitsgang zugeordnet.
Mit dieser Fähigkeit ist die Mehrmaschinenbedienung möglich.
Fertig signalisiert, dass dieser eine Arbeitsgang beendet wurde. Es ist dies nur ein Status des Arbeitsganges. Er bewirkt kein Stop und kein Ende.
Für die Zuordnung der verschiedenen Ausweismöglichkeiten zur jeweiligen Person wird die Ausweisnummer im Personal verwendet.
Da das Terminal auch Offline fähig ist, muss es lokal die möglichen Personen speichern. Um diese Information vom Kieselstein ERP Server zu bekommen, wird
Bei der Übergabe des kombinierten Barcodes vom Terminal an die RestAPI werden folgende Kriterien geprüft. Trifft eines der Kriterien nicht zu, wird ein BadRequest mit Errorcode 9 zurückgeliefert, egal welches der Kriterien nicht zutrifft.

Der Mitarbeiter der eine Maschine der Geisterschicht, z.B. Säge, am folgenden Werktag wieder anstempelt, sollte die geschätzte Endezeit der Maschine am Terminal angeben können.
Es gilt dies für alle Maschinen die autonom in der sogenannten Geisterschicht laufen und wird hier am Beispiel einer (automatischen) Säge beschrieben.
Bei der Erfassung der Stückzahl gibt es folgende Möglichkeiten:
Es funktioniert dies auch mit einer vom Arbeitsgang vordefinierten abweichenden Maschine.
Wichtig: Dies gilt nicht für die kombinierte Arbeitsgangbuchung ($PLUS)
Ist nicht bei $PLUS, sondern nur wenn die Maschine direkt über den kombinierten Barcode angestempelt wurde und somit als offen in der pers_maschinenzeitdaten ersichtlich ist.
Weitere Begriffe anstelle der Geisterschicht sind:
Es gibt immer wieder die Herausforderung, dass parallel zu den Arbeiten am Werkstück auch gemessen werden muss. Dies wird üblicherweise so gemacht, dass während der Menschlosen-Laufzeit der Maschine, die im vorherigen Arbeitsgang gefertigten Teile gemessen werden. Üblicherweise ist die Sollzeit dafür in der Umspannzeit enthalten. Will man nun die Laufzeit der Messmaschine mit erfassen, so steht die Barcodeerfassung der Messzeit zur Verfügung.
Diese ist so gestaltet, das nur die Zeit der Messmaschine auf den Arbeitsgang, z.B. Messen gebucht wird. Als Dauer wird immer die Stückzeit für ein Stück eingebucht. Die Aufspannung wird dabei NICHT berücksichtigt, da es ja immer ein Messvorgang ist.
D.h. auch wenn z.B. fünf Teile automatisch hintereinander gemessen werden, so muss in der Sollzeitdefinition die gesamte Messzeit für die fünf Stück mit einer Aufspannung von fünf angegeben werden. Für die (nun theoretische) Istzeit wird davon ausgegangen, dass immer die fünf Stück unmittelbar hintereinander (gerne auch parallel) gemessen werden, womit die Aufspannung für die theoretische Istzeit NICHT berücksichtigt werden darf.
Das bedeutet: Wenn die Messzeit für die Messmaschine (bitte den besonderen Barcode beachten ($V mit $ML)) erfasst wird, dann wird diese
Auch diese Buchung kann bei der kombinierten Arbeitsgangbuhcung ($PLUS) nicht verwendet werden.
Ein Wort zu diesem sehr modernen Gedanken.
Es besteht der berechtigte Wunsch, dass die Mitarbeiter am Terminal sehen, was denn der nächste zu erledigende Arbeitsschritt / Auftrag ist.
Parallel dazu besteht die Forderung aus der Qualitätssicherung, dass jedes Teil, ob Halbfertig-Produkt oder Rohteil, welches sich in der Fertigung befindet, so eindeutig gekennzeichnet ist, dass man jederzeit weiß was das ist und idealerweise auch in welchem Zustand.
Aus meinen bisherigen Erfahrungen werden wir daher noch länger zumindest einen Fertigungsbegleitschein haben, der sich beim Teil befindet. Auf diesem Papier, welches idealerweise nur eine Din A4 Seite hat, wird zumindest der Barcode des Loses, gerne in QR-Code, aufgedruckt sein. Womit man natürlich auch den Wunsch produziert, durch scannen dieses QR-Codes, sehe ich am xxx-Device, was das ist und in welchem Status.
Für die Umsetzung dafür Siehe
Ein weiterer Punkt der hier immer kommt ist, wie plant man die Aufträge, was denn wirklich nun zu tun ist. Meine persönliche Meinung, die inzwischen doch von etlichen Anwendern bestätigt wird ist, es zählt einzig der Termin, des Arbeitsganges. Eventuell macht man innerhalb der Arbeitsgänge eines Tages noch eine weitere Reihung, sodass man quasi die Zeit / Stunde definiert wann der Mitarbeiter damit beginnen sollte. Alles andere, wie Priorisierung usw. läuft im Endeffekt wieder auf eine gute Terminsteuerung hinaus. Ein Thema das hier dazu gehört ist die Kapazitätsplanung bzw. die automatische Einplanung von Arbeitsgängen, siehe dort.
Grundsätzlich ist bei den Terminals auf die Umgebung zu achten.
Das Terminal ist offline fähig. D.h. reine Datenerfassung ist auch möglich wenn keine Serververbindung. D.h. man kann Kommt/Geht buchen, Tätigkeiten starten usw., aber die Ablieferbuchung bzw. die Stückrückmeldung, Fehlererfassung oder auch Messwerterfassung ist nur Online möglich
WLan / Lan Anbindung
Lan bevorzugt aber
immer wieder auch WLan erforderlich
Größe des Terminals je nach Einsatzfall
Touchbedienung, also komplett ohne weitere Zettel usw. bedienbar
Barcodescanner Bedienung
RFID Leser, alle bisherigen und ELATEC4
Status-Abfragen und Infos
Sprachen
Zeit und Material erfassen können. Insbesondere Material mit Chargen und Seriennummern im kombinierten Barcode siehe
die Geisterschicht. D.h.
Auf dem Terminal kann auch vom Mitarbeiter ein entsprechender Urlaubsantrag gestellt werden. Dafür muss in der Konfiguration
der Anträge Button anzeigen aktiviert sein. Wenn du keine Krankenstandsanträge am Terminal erfassen möchtest, so bitte den Krankmeldung zulassen auf Aus stellen.
Damit die EMail vom Terminal an den Abteilungsleiter, Geschäftsleitung und im CC an die Lohnverrechnung versandt werden kann, muss der Terminal-Benutzer im Personal im Reiter Daten unter Absenderdaten ebenfalls eine EMail-Adresse, welche in deinem System erlaubt ist, hinterlegt haben. Die EMail wird mit dieser Absenderadresse an die Personen gesandt, die Abteilungsleiter bzw. Geschäftsleitung sind und dazu wird bei diesen Personen ebenfalls diese interne EMail-Adresse (Personal, Daten, Absenderdaten, E-Mail) verwendet.
Wichtig: Damit diese Einstellung (der Absender EMail-Adresse) greift, muss das Terminalprogramm neu gestartet werden.
Mit Tipp auf den Maschinen-Stopp-Button (muss konfiguriert werden)
, erscheint die Liste der laufenden Maschinen.

Durch Tipp auf das rote Viereck, wird die gewählte Maschine gestoppt.
Um dir einen Eindruck, was mit den Barcodes alles gesteuert werden kann, sei auf unsere Barcodebeschreibung verwiesen.
Wie können Doppelbuchungen vermieden werden?
Es kommt immer wieder vor, dass Mitarbeiter nicht so genau wissen ob sie jetzt nach Hause gehen oder kommen. D.h. es werden einfach die falschen Knöpfe betätigt und in der Regel fällt dem Mitarbeiter dies bei der Prüfung der Buchung durch die Rückmeldung des Terminals auf.
Nun korrigiert der Mitarbeiter seine Buchung innerhalb z.B. 30Sekunden.
Damit hat er für fast den gleichen Zeitpunkt eine gültige und eine ungültige Buchung erfasst. Um dies nun zu vermeiden gibt es mit dem Parameter VORHERIGE_ZEITBUCHUNG_LOESCHEN die Möglichkeit, dein Kieselstein ERP so einzustellen, wenn eine Zeiterfassungsbuchung vom Terminal an den Kieselstein ERP Server übertragen wird, und es sind mehr als die eingestellten Sekunden (welche >0 sein müssen) vergangen, so werden wenn dies eine KOMMT/GEHT/UNTERbrechungsbuchung von der Quelle ist, welche mit ZT beginnt (also Terminal), so die letzte Buchung des Tages gesucht. Wenn diese nicht länger als die Anzahl der Sekunden vergangen ist und es ebenfalls eine KOMMT/GEHT/UNTER - Buchung ist, dann wird diese gelöscht (auch wenn diese Buchung von einer anderen Quelle kam).
Wird, z.B. beim Geht, fälschlicherweise eine Kommt-Buchung durchgeführt so wird aufgrund der Schichterkennung damit das Zeitmodell des Tages geändert. Nun stellt der Mitarbeiter seinen Fehler fest und korrigiert innerhalb des Zeitraums (30") die Buchung auf ein Geht, so wird damit das an dem Tag vorhandene Zeitmodell (wieder) gelöscht.
Nachfolgend eine Beschreibung eventueller weiterer Funktionen für das Kieselstein ERP Zeiterfassungs-Terminal.
Hardware
Verbindung auch per https möglich, in der aktuellen Verschlüsselungstechnik
Status-Abfragen und Infos
Infos zurücksenden können.
D.h. der Werker stellt etwas fest und will dies an die Abteilung (welche) zurückmelden. Das kann ein Text sein, ein Foto weil ein Teil der Maschine gebrochen ist oder auch eine Zeichnung. Es hat dies einen Bezug zum Los, oder auch zur Maschine. Wie bekommt der Verantwortliche Mitarbeiter z.B. der Konstrukteur oder der Kundendisponent mit, dass was zu tun ist?
Parameter, Buttons
Alle Buttons können (am Terminal?) aktiviert bzw. deaktiviert werden. Damit verbunden sind auch ev. Funktionsaufrufe.
Zusätzlich sollte man die Konfiguration eines Terminals sehr einfach irgendwo ablegen können und dann bei einem anderen Terminal wieder einlesen können. Ziel ist, dass man nicht zig Terminals, einzeln manuell parametrieren muss. Idealerweise wird die Konfiguration beim Start des Terminalprogramms übernommen. Wobei dies wiederum durchläuft, also sollte es ein Kommando an alle Terminals geben, holt euch die Parameter neu.
Aber ACHTUNG: Es gibt auch Parameter wie z.B. Maschinen-Zuordnung / Maschinengruppen-Filter, Spezielle Tätigkeiten, welche von dieser allgemeinen Parametrierung NICHT betroffen sind.
Ev. kann man am Terminal selbst dann auch definieren, den Parameter NICHT von der Zentrale aus übersteuern. Das sollte man dann z.B. farblich in der Parameteranzeige sehen.
Es sollten alle Funktionen die per Barcode verwendet werden können auch für die Los-Auswahlliste zur Verfügung stehen, vermutlich besser, als Buttons ohne Barcode zur Verfügung stehen, wobei eben die Gestaltung des Fertigungsbegleitscheines durch das Abschalten verschiedener Buttons ersetzt wird. Ev. ergibt sich daraus auch, dass man die Reihenfolge der Buttons anpassen können sollte. Für die verwendeten Barcodes siehe, Spalte ZE-Terminal
Hier kommt dazu, dass die einfache Metallverarbeiter-Erfassung umgesetzt werden sollte.
weitere Feature-Wünsche
Gerade für die Metallverarbeiter, also reine Lohnfertigung ist die Herausforderung, dass man zu Beginn des Tages nicht weiß, welche Aufträge noch dazu kommen. So beginnt man mit einem Arbeitsgang auf einer Maschine, bekommt dann 2Std später einen weiteren Fertigungsauftrag, also einen weiteren Arbeitsgang hinzu, dann einen dritten. Dann ist der erste AG fertig und man starten einen weiteren usw. usf..
Am Ende des Tages sollte das System errechnen wieviel Maschinen- und Menschzeit auf welchen Arbeitsgang zu buchen ist. Dafür ist sicherlich auch eine Erweiterung des Kernels erforderlich. Siehe
Mehrfacherfassung am Zeiterfassungsterminal, oder auch dynamische $PLUS Buchung
Kapazitätsplanung auf Maschinenbasis in der Fertigung
Mögliche Funktionen für ein Zeiterfassungsterminal