Referenzprojekt Softwareentwicklung
Prüffeld-Anwendung in der Stromzähler-Produktion
mit ASP.NET und SQL-Server
für die Actaris Zähler- und Systemtechnik GmbH
- Weboberfläche mit einfacher Benutzerführung
- Kommunikation mit den Prüfanlagen über Dateischnittstellen
- Datenerfassung mittels Barcode-Scannern
- Migration der Daten aus dem alten OS 2/DB 2-System
Prüffeld-Anwendung in der Stromzähler-Produktion
Die Actaris Zähler- und Systemtechnik GmbH in Hameln fertigt industrielle Stromzähler. Diese müssen durch eine amtlich anerkannte Eichstelle im Hause geprüft werden, bevor sie an die Kunden ausgeliefert werden. Die Prüfungen werden an verschiedenen Prüfanlagen durchgeführt.
Die Prüfanlagen benötigen Steuerdaten zu den zu prüfenden Zählern, z.B. Nennstrom, Spannung, Prüfdauer und Prüfarten. Nach erfolgter Prüfung liefern sie die Prüfergebnisse zurück.
Die Prüffeld-Anwendung unterstützt den gesamten Vorgang und begleitet den Bediener der Anlagen während der Registrierung und Prüfung der Zähler. Sie stellt die notwendigen Daten für die Prüfanlagen bereit und verwaltet die Prüfergebnisse.
Da die Prüfergebnisse amtlichen Charakter haben und zur Eichung der Zähler gehören, ist besondere Sorgfalt auf Datenintegrität gelegt worden.
Bestimmte Prüfschritte werden manuell ausgeführt und ihre Ergebnisse über die Benutzeroberfläche der Anwendung eingegeben, hier wird die Eingabe per Hand-Scanner (metrologic Voyager) unterstützt.
Alle relevanten Daten können über die Weboberfläche eingesehen und editiert werden.
Technische Umsetzung
Die Prüffeld-Anwendung ist als Client-Server-Anwendung mit ASP.NET realisiert. Auf dem Server läuft der IIS mit ASP.NET-Unterstützung sowie ein MS SQL-Server.
Für den Datenaustausch mit den Prüfanlagen laufen auf dem Server zudem zwei von uns programmierte Windows-Dienste. Der Datenaustausch mit den Anlagen geschieht über Dateischnittstellen. Die Dienste reagieren auf Befehls-Dateien, die von den Prüfanlagen abgelegt werden, und schreiben die angeforderten Daten zurück. Die Ergebnisdateien der Anlagen werden von den Diensten automatisch eingelesen.
Auf der Client-Seite kommt der Internet Explorer als Browser zum Einsatz; es sind sonst keine Installationen auf dem Client erforderlich.
Auf der Client-Seite ist auch die Eingabe verschiedener Daten (Nummer des Zählers, Nummer des Prüfplates) per Barcode-Scanner möglich. Das wurde durch die Verwendung von Metrologic-Scannern realisiert, die über die USB-Schnittstelle angeschlossen werden.
Die Arbeitsplätze sind zum großen Teil Laptops mit WLAN-Anbindung.
Migration
Das Vorgängersystem lief unter OS2 2.11 mit einer DB2 3.0-Datenbank. Die Daten mussten migriert und dabei bereinigt werden, da sie größere Inkonsistenzen aufwiesen.
Die Migration erfolgte in drei Stufen:
- Export der Daten aus DB2 in csv-Dateien
- Überführung in eine SQL-Server-Datenbank und erste Bereinigung mittels MS Data Transformation Services (DTS)
- Überführung in neue Datenstruktur und endgültige Bereinigung mittels eines VB.NET-Programmes
Der Weg über csv-Dateien war unumgänglich, weil auf den DB2-Server kein Netzzugriff für neue Programme möglich war.
Der Schritt 2 über DTS war aus Performancegründen vorteilhaft: DTS ist bei einer einfacher Datenverarbeitung deutlich schneller als ein .NET-Programm. Der Gesamtdatenbestand belief sich auf 14,1 GB mit über 30 Millionen Datensätzen.
Komplexere Bereinigungen und Umstrukturierungen sind allerdings mit DTS schwer wartbar und zudem unkomfortabel, was z.B. die Protokollierung angeht. Daher wurde der Schritt 3 mit einem VB.NET-Programm realisiert.
Bedienung
Bei der Benutzeroberfläche wurde auf Einfachheit Wert gelegt. Die Formulare sollten Windows-artig bedienbar sein und sich ohne nennenswerte Einarbeitung erschließen.
Besonderen Wert legten wir auf die Eingabe der Zählerdaten per Scanner; hier ist es möglich, ohne Zuhilfenahme der Tastatur die gerüsteten Wagen mit ihren Zählern einzuscannen und den Scan-Vorgang abschließend zu kontrollieren.
Gestalterisch wurde das Interface bewusst 'aufgeblasen', um eine Ablesung auch über mehrere Meter hinweg zu ermöglichen.