Branche: Stahlverarbeitende Industrie
Realisiert mit Linux, Python, Xojo, Filemaker
Verwendete Standards: TCP/IP, UDP, HTTP, ODBC
Ein auf FileMaker basierendes Projekt zur Produktionszeiterfassung soll um mehrer Arbeitsplätze zur Datenerfassung per Barcode erweitert werden erweitert werden.
Anforderung:
Die Geräte zur Datenerfassung sollen kompakt, einfach zu bedienen, lüfterlos und robust sein. Die Anbindung an das lokale Netzwerk soll über WLAN geschehen. Herkömmliche PC’s scheiden daher aus.
Lösung:
Das Datenbank-Backend, basierend auf Filemaker
In der FileMaker Datenbank werden alle per Barcode getätigten Buchungen erfasst und den Aufträgen, die aus Lexware Financial Office Pro per ODBC übergeben werden zugeordnet. Das Backend kümmert sich um alle relevanten Kalkulationen und Auswertungen.
Weitere Details zu diesem Projekt finden Sie hier:
Betriebzeiterfassung per Barcode-Pistole
Datenaustausch zwischen Lexware und Filemaker
Zeiterfassung mit Lexware und Filemaker
Embedded Linux & Python: Die Funk-Barcode Scanner
Die Datenerfassungsgeräte basieren auf einem ARM Prozessor mit Linux als Betriebsystem. Die Anbindung erfolgt vorzugsweise per WLAN, ein Ethernet-Port steht wahlweise zur Verfügung. Als Barcodescanner dient ein Handelsüblicher USB-Barcode-Scanner. Als Display wurde ein 3.5” Touch-Screen gewählt. Das Gehäuse ist bis auf die Ports vollkommen geschlossen, staubdicht und lüfterlos. Display, Barcode-Scanner und die gesamte Netzwerk-Kommunikation wurde in Python programmiert.
Die Geräte sind sehr einfach zu bedienen:
Es werden 3 Barcodes nacheinander erfasst: Autftrags-Nummer, Mitarbeiter ID und Tätigkeit. Sind alle 3 Kriterien erfüllt, findet im Backend eine Buchung statt. Die Arbeitszeit beginnt zu laufen. Wird die nächste Tätigkeit gescanned, so wird die Arbeitszeit gestoppt.
Aktuell hat der Touchscreen nur 2 Funktionen: Das Gerät herunterfahren und div. Netzwerk-Parameter anzeigen.
Automatische Gerätekonfiguration
Die Funkscanner konfigurieren sich automatisch. Beim Start bezieht das Gerät üer DHCP eine IP-Adresse aus dem lokalen Netzwerk. Aus der IP-Adresse wird der Hostname dynamisch generiert. Darauf hin sendet das Gerät einen UDP-Broadcast um den Server im Netzwerk zu finden. Der Server antwortet dann mit seiner eigenen IP-Adresse – somit ist das Gerät beim Server eingebucht.
Nach dem Einbuchen läuft die weitere Kommunikation über TCP/IP.
Die automatische Konfiguration wird als Profil gespeichert und beim nächsten Start verwendet. Sollte sich die Adresse des Server einmal ändern, findet der AutoConfig-Prozess automatisch erneut statt.
Zwischen Filemaker und den Barcode Scannern: Worktime Server
Der Server wurde in Xojo programmiert. Die Middleware nimmt jeden Barcode-Scan entgegen, sendet Datenbankabfragen über ODBC an FileMaker und antwortet den Endgeräten mit entsprechenden Status-Meldungen. Jedes eingebuchte Gerät wird in einem Device-Pool verwaltet. D.h. selbst wenn die Verbindung zu einem Gerät einmal abbricht, bleibt der aktuelle Zustand erhalten.
Es genügt ein weiterer Scan mit der Barcode-Pistole und der Server sendet den letzten Betriebszustand des Geräts zurück. So ist es auch möglich ein Gerät komplett auszuschalten und am nächsten Tag mit den zuvor gescannten Daten weiter zu arbeiten.
Ferner stellt der Server System-Updates bereit. Hierzu wird das Update in einen bestimmten Ordner kopiert. Die Endgeräte prüfen beim Hochfahren ob entsprechende Updates vorliegen und installieren diese voll automatisch.
Alles aus einer Hand: Mainboard, Display, Gehäuse, Peripherie und Software
Das Projekt wurde komplett auf die Bedürfnisse des Kunden abgestimmt. Es wurden durchweg Standardkomponenten verwendet, die einfach wiederbeschaffbar sind.
Die einzige Ausnahme bildet das Gehäuse.
Hier gab es nichts vergleichbares auf dem Markt. Es machte wenig Sinn mit kompakten Komponenten zu arbeiten um diese dann in ein viel zu grosses Standardgehäuse einzubauen. Genau so machte es keinen Sinn ein zu kleines Gehäsue zu verwenden, auf Kosten der Display-Grösse und der Gefahr der Überhitzung.
So wurde auch das Gehäuse kurzerhand auf das System abgestimmt:
Es wurde in TurboCAD entworfen und anschliessend aus auf einer CNC-Maschine gefräst. Als Material wurde DIBOND verwendet. Dabei handelt es sich um sog. Sandwich-Platten: Ober- und Unterseite bestehen aus Aluminium, dazwischen befindet sich Kunststoff.
Das Gehäuse ist so konstruiert, dass bei Bedarf (für andere Projekte) die Seitenteile austauschbar, aber dennoch präzise in einander gesteckt sind. Das Display fügt sich bis auf 1/10 mm genau in das Gehäuse ein. Das Gehäuse ist lüfterlos, staubdicht, kompakt, leicht und dennoch robust.
Alles in allem ein Projekt das riesigen Spass gemacht hat.