10. Februar 2012
So, neues Jahr neues Glück.
Wie im letzten Post bereits vermutet – nämlich das wenn ich nicht sofort schreibe, ich wohl nicht mehr zum posten der letzten Projekte komme – bleibt es nun auch dabei
.
Anstelle werde ich hoffentlich in den nächsten Wochen eine erste Produktseite erstellen die meine interessantesten Projekte beinhaltet.
Weiter ist auch nach wie vor eine “Nostalgie” Seite geplant auf der ich besonders alte Projekte posten möchte.
Einige umfangreiche Projekte sollen auch nach wie vor noch eine eigene Vorstellung erhalten (u.a. gibt es ein überarbeitetes WinCE/WinMo Scansystem und div. Buchungstools zu bewundern).
MfG
Marcus Schebesta
Schlagworte: Informationen, Neuigkeiten, News, Programmierung, Windows CE, Windows Mobile
Veröffentlicht in Allgemein | Keine Kommentare »
5. Juni 2011
Um mal wieder ein wenig Leben auf die Seite zu bringen, ein kleiner Statusbericht.
Seit einiger Zeit bin ich gut beschäftigt und vermeide es deswegen auch Artikel zu schreiben da diese ggf. neue Aufträge provozieren.
Trotzdem werde ich in den nächsten Tagen die Projekte des letzten halben Jahres posten, denn wenn ich es jetzt nicht mache komme ich wohl gar nicht mehr dazu.
Sollte Bedarf /Interesse an einem der Projekte bestehen, kann gerne angefragt werden. Die Chancen sind jedoch z.Zt. nicht so gut.
In den nächsten Tagen folgen diese Projekte:
Excel/VBA:
- Auto. Prüfplan Generator zur Erstellung von Prüf/Ablaufplänen
- Standard Ein/Ausgabesystem zur einheitlichen Abfrage von Prozessdaten sowie der einheitlichen Ausgabe in Form von Reports
.net/C#:
- Steuersoftware für verbessertes Kamerabreitenmesssystem (nach Genehmigung diesmal vielleicht auch mit Fotos der Hardware)
- Rückmelde System für Kalibrierungen/Wartungen/sonstige Ereignisse in einem etabliertem ISO9001/TS16949 PMÜ Verwaltungssystem
- Komplette Prozessablaufvisualisierungssofware für Windows Mobile und Windows CE inkl. Datalogic Barcode Scanner Anbindung, eig. FTP,NTP und RAS Klassen
- Excel 2010 Erweiterung die Excel um eine “Tagging” Funktion sowie um C#/VB.net Scripting (Code wird zur Laufzeit kompiliert) erweitert
- Minitool zwecks Automatisierung von Druckvorgängen
C++/Sonstiges:
- Anlagenschnittstelle zwischen OPEX OpenIEM/ScanLink und div. proprietären Schnittstellen
- Verbessertes Online Portal zwecks Visualisierung von Gerätehistorien
Das wäre erstmal das wichtigste.
Sollte vorab schon Interesse bestehen, bitte Informationen per E-Mail anfordern.
Weitere (nicht ganz so wichtige) Neuigkeiten:
Habe meinen ersten Fallschirmsprung gemacht und finde es herrlich! Die Lizens soll bis zum Herbst folgen.
Ausserdem plane ich z.Zt. mein erstes Büro zu mieten und hoffe das ich hier bis Ende des Monats etwas zeigen kann!
MfG
Marcus Schebesta
Schlagworte: .Net, C, Entwicklungssystem, Excel, Informationen, Neuigkeiten, News, Programmierung, Visualisierung
Veröffentlicht in Allgemein | Keine Kommentare »
1. November 2010
Veröffentlichung: Oktober 2010
Entwicklungsumgebung: C#; Compact Framework 2.0, .net Framework 2.0
Sonstiges: Datalogic Memor WinCE SDK 4.00; Datalogic Memor WinCe Mobility Kit for VS2005, Windows Mobile Device Center 6.1, Active Sync 3.5
Nach der ersten WinCE Scannersoftware im Juli hat sich ein kleines Netzwerk an Tools entwickelt die ich an dieser Stelle kurz vorstellen möchte.
Ziel war die Einführung eines neuen Scannersystems und dessen anbindung an vorhandene Systeme. Da moderne Scanner wie der Memor durchaus Möglichkeiten der ‘Programmierung’ bieten, sollte man davon ausgehen das er für die gängigsten Fälle zu konfigurieren ist. In der Praxis bietet sich die hauseigene Konfiguration leider nicht mehr an, da in einer industriellen Umgebung Abfragen und Verknüpfungen nötig sind welche von der Standardsoftware nicht mehr geleistet werden können. Weiter werden solche Geräte oft von Mitarbeitern verwendet bei denen eine klare und eindeutige Vorgabe des Prozesses zwingend notwendig ist. Also müssen Funktionen, wie eine an den Prozess angepasste Visualisierung oder ein Feedback System, bei der Anschaffung solcher Geräte berücksichtigt werden.
Daran hat der Hersteller glücklicherweise gedacht und stellt Komponenten zur Verfügung die das entwickeln von Software für die Geräte denkbar einfach macht.
Auf diesen Komponenten bauen die Steuerprogramme der Scanner auf, welche dank eines kleinen Tools das auf den Geräten vorinstalliert ist, auto. starten und Taskleiste/Desktop ausblenden – so ist später für den Mitarbeiter das OS nicht mehr zu erkennen und die einzige Oberfläche auf die er sich einstellen muss ist die, dem Prozess angepasste, des Steuerprogramms.
Soweit so gut.
Doch da es in der Entwicklung selten ohne stolpern vorrangeht, zeigte sich auch hier schnell das es mit der Steuersoftware allein nicht getan ist.
Die Synchronisation der Geräte erfolgt über die Microsoft Tools ‘ActiveSync’ (Windows XP) oder das ‘Windows Mobile Device Center’ (Windows Vista/7), also ist es relativ naheliegend die gescannten Daten auf den Geräten zu sammeln, später zu synchronisieren, und in weiteres Programm einzulesen (z.B. in eine SQL Datenbank). Plausibilitätsprüfungen und sonstige Vorbereitungen können (in diesem Fall) auf Seiten des Scanners vorgenommen werden. Bräuchte der Scanner für seine Prüfungen Zugriff auf weitere Daten, könnte man diese vorab synchronisieren oder per Netzwerk (die Geräte haben WLAN bzw. Bluetooth) einlesen. Ist das nicht möglich muss ein weiteres Software Layer auf der PC Seite erstellt werden.
Dieses zusätzliche Layer war in diesem Fall notwendig um ein ‘Feature’ des Synchronisationstools zu umgehen. Sind die Daten also aufbereitet und auf den PC übertragen, so finden wir sie doch ständig an neuen Positionen wieder. Das liegt daran das die Scanner, sobald sie einen Totalcrash erleiden, zwar sauber synchronisieren, jedoch in einen völlig neuen Ordner – und das jedes Gerät grundsätzlich in einen eigenen Ordner synchronisiert macht es nicht besser.
Also musste ein kleines Tool her das durch alle möglichen Ordner iteriert und die Daten an einer zentralen Stelle sammelt, damit andere Programme (wie SQL) die Möglichkeit haben die Daten immer an ein und der selben Stelle wiederzufinden.
Puh. geschafft – sollte man meinen.
Doch wie es sich dann meist so ergibt gibt es noch Übergangslösungen die man berücksichtigen muss. Z.B. die eine Maschine die doch anders im Scanningsystem implementiert werden muss, da deren Ablauf noch nicht exakt definiert ist. Hier ist nichts weiter notwendig als die Funktion des alten Scannersystems zu replizieren – so können die Mitarbeiter sich bereits an das neue Gerät gewöhnen und bleiben bei ihrem alten Prozess. Klingt doch hervorragend.
Der Nachteil ist das die Funktion des alten Scanners, sprich das Übertragen des Barcodes auf Tastendruck in das z.Zt. am PC selektierte Feld, nicht im Memor vorhanden ist.
So setzt man sich also ran und schreibt zwei weitere Tools, die man zum Glück auf den bereits vorhandenen aufbauen kann. Aus der doch recht komplexen Steuersoftware mit visualisiertem Prozess ergibt sich ein simpler Barcode Kollektor und aus dem Iterations Tool ergibt sich ein Programm zur Simulation von Tastaturanschlägen. Diese Methode funktioniert gut, hat jedoch einen Vor- und einen Nachteil. Ein per USB an den PC angeschlossener, altmodischer Scanner, überträgt den Barcode sofort in das ausgewählte Feld, eine Verzögerung ist kaum zu erkennen. Diese Lösung ist nach wie vor auf die Synchronisation angewiesen und braucht so ca. 2-3 Sekunden um die Daten in das Feld zu übertragen. Der Vorteil ist das ein Barcode gesammelt werden kann, z.B. einige Meter vom Scanner entfernt, anstatt ihn entfernen und zum Scanner bringen zu müssen. In etwa gleicht es sich am Ende aus und ist als Übergangslösung absolut ausreichend.
Ein wirklich interessantes kleines Projekt!
Schlagworte: .Net, Barcode, C, Code, Codes, Compact Framework, Datalogic, Memor, Programmierung, Projekt, Scanner, Visual Studio, Windows CE, Windows Mobile
Veröffentlicht in Allgemein | Keine Kommentare »
22. Juli 2010
Veröffentlichung: Juli 2010
Programmiersprache: C#; Compact Framework 2.0
Interfaces: Datalogic Memor WinCE SDK 4.00; Datalogic Memor WinCe Mobility Kit for VS2005
Hier wieder ein kleines, aber sehr interessantes Projekt. Eine Steuersoftware für Datalogic Memor Barcode Scannersysteme.
Die Software ist in C# mit dem Compact Framework 2.0 geschrieben und läuft auf einem Handheld Scanner mit Windows CE. Dabei kommuniziert sie direkt mit dem Scanner und kann diesen fernsteuern.
Im Grunde wird ein einfacher Arbeitsablauf automatisiert und mit div. Plausibilitätsprüfungen versehen um gleichzeitig Zeit zu sparen und die Qualität der Ergebnisse zu erhöhen.
Das Programm erkennt zuverlässig unterschiedliche vordefinierte Barcodes und Barcodetypen, zerlegt diese in ihre Grundinformationen und prüft anschliessend die Plausibilität der Ergebnisse und lässt fehlende Daten ggf. durch den Benutzer nachpflegen.
Am Ende eines Vorgangs wird ein CSV Export durchgeführt der anschliessend z.B. an einem PC oder über WLAN synchronisiert werden kann.
Das Programm lässt sich entweder per Touch-Screen oder mit der Tastatur bedienen.
-
-
Eingabe der zu scannenden Paletten
-
-
Scannvorgang
-
-
Plausibilitätsprüfungen
-
-
Export
Schlagworte: .Net, Barcode, C, Code, Codes, Compact Framework, CSV, Datalogic, Datamatrix, Memor, Programmierung, Projekt, Scanner, Visual Studio, Windows CE, Windows Mobile
Veröffentlicht in Allgemein | Keine Kommentare »
19. April 2010
Veröffentlichung: April 2010
Programmiersprache: C# (VB.net)
Interfaces: Microsoft Office 11.0 InterOp, MSXML 6.0
Basierend auf meinem Plugin / Script System (http://www.smokingfish.de/?p=119) , einem einfachen Programm zum iterieren von Daten und div. Klassen z.B. zum automatisieren von Excel ist dieses extrem nützliche Tool entstanden.
Es ermöglicht dem Benutzer anhand einfacher C# oder VB.net Scripts aus div. Quelldaten möglichst gleicher Struktur resultierende Tabellen zu erstellen.
Zum Beispiel: Ich habe 200 Excel Files mit je 5 Tabs. Jedes Tab ist mit 200 Werten gefüllt. Diese Dateien gibt es in 3 verschiedenen Versionen. Diese Versionen untereinander sind jedoch von der Struktur identisch.
Das Tool kann nun durch definieren einer Struktur für eine fertige Datei und dem kopieren aller Werte, aller Quelldateien, eine neue Datei erstellen die nur exakt die Daten in der Struktur erhält wie ich sie gerne hätte.
Ab einer gewissen Anzahl an Werten ist ein umstrukturieren von Hand nicht mehr praktikabel, ein Makro ab einer gewissen Anzahl von Dateien ebenso nicht mehr. Hier kommt dieses Tool zum Einsatz und generiert aus den Quelldaten genau das was ich haben möchte.
Weitere Merkmale:
- Scripts verfügen über diverse Ereignisse die vor oder nach dem Start sowie bei jeder bearbeiteten Datei aufgerufen werden
- Das Script wird zur Laufzeit kompiliert und ist in der Ausführung genauso schnell wie das eigentliche Programm
- Es stehen Klassen zum Lesen und Schreiben von Excel Dateien zur Verfügung, es können aber nach dem selben Prinzip weitere Formate hinzugefügt werden
- Scripts haben vollen Zugriff auf alle relevanten Funktionen des Hauptprogramms
-
-
-
-
-
Beispiel eines Umstrukturierungsscripts
Schlagworte: .Net, C, CodeDOMProvider, Editor, Excel, Interop, iterate, Iterator, Plugin, Programmierung, Projekt, Restrukturierung, Script, Scripting, VB.net
Veröffentlicht in Fertige Projekte | Keine Kommentare »
6. Januar 2010
Veröffentlichung: Januar 2010
Programmiersprache: VBA (Excel)
Auch neu diesen Monat ist dieses kleine Buchunstool für Events oder Schulungen.
Umgesetzt in Excel bietet es die Möglichkeit Teilnehmer der Events automatisch in passende Zeitfenster zu buchen ohne sich dabei Gedanken über Überbuchung, zeitliche Überschneidungen, falsche Buchungsreihenfolgen oder ähnliches zu machen.
Sonstige Funktionen:
- Eindeutige Buchungscodes mit Information über Art,Ort und Zeit
- Automatische Buchung anhand der Auswahl der gewünschten Events
- Automatische Überprüfung von Überbuchung,Überschneidung und sonstiges Grenzwerten
- CSV Import von Namen und Adresslisten
- Visualisierung der Events mit Teilnehmeranzeige
- Visualisierung der Events mit Anzahl der Teilnehmer
- Export von Namensschildern
- Export von Begleitschreiben
- Export von Rohdatenlisten zum weiteren Import
- Speichern durch ablegen der Excel Tabelle, keine weiteren Dateien
Eine perfekte Buchung wird durch Permutation sichergestellt. Das System prüft alle theoretisch möglichen Buchungskombinationen und wählt am Ende die Kombination mit den meisten möglichen Buchungen automatisch aus.
Schlagworte: Brute Force, Buchung, Buchungen, Buchungscodes, Buchungssystem, CSV, Excel, Export, Import, Office, Permutation, Programmierung, Projekt, Schulung, Schulungen, Überbuchung, Überschneidung, VBA, Workshop, Workshops
Veröffentlicht in Fertige Projekte | Keine Kommentare »
5. Januar 2010
Veröffentlichung: Januar 2010
Programmiersprache: C#
Auf Basis meines Datenbanktools und als Modul in meinem Prüfmittelverwaltungsprogramms nach ISO9001 / TS16949 habe ich eine kleine Auftragsverwaltung geschrieben. Das Tool ermöglicht ein einfaches dokumentieren von Arbeitsaufträgen in meinem gewohnten XML Datenbanktool. Dank der Vorzüge von XML sind auch hier wieder Verschachtelungen möglich. In der Praxis stellt sich das durch Teilaufgaben mit eigenen Stati wieder, die einem Auftrag zugeordnet werden können.
Ansonsten gibt es nicht allzu viel zu sehen, eine kleine Abfrage erstellt passend zur KW/Monat eine Liste aus aktuell bearbeiteten und/oder neu erstellten Aufträgen zusammen.
Besonders schön funktioniert hier noch die Druckfunktion die sich die ausgewählten Datensätze schnappt und eine saubere Auftragsliste druckt, inklusive der Teilaufgaben und ihrer Stati. Dafür habe ich eine kleine Klasse geschrieben die mit dem PrintDocument im .net Paket die zu druckenden Seiten komplett per GDI+ rendert. Das ermöglicht einen komplett eigenen Aufbau des resultierenden Dokuments auf Basis der XML Daten.
Das Tool kann ohne Probleme auch als Modul komplett seperat gestartet und mit neuen Feldern und Funktionen erweitert werden.
-
-
Agenda Hauptansicht
-
-
Agenda Druckansicht
-
-
Agenda Druckansicht
Schlagworte: .Net, Auftrag, Auftragsverwaltung, C, DataGridView, Drucken, ISO9001, Plugin, Plugins, PrintDocument, Programmierung, Projekt, TS16949, XML
Veröffentlicht in Fertige Projekte | Keine Kommentare »
3. September 2009
Veröffentlichung: Juli 2008 / Januar 2009
Programmiersprache: C#
Eines meiner liebsten Projekte, ein ganz einfaches Programm zur Visualisierung von XML Datenbanken.
Kompatibel sind alle Datenbanken die sich in eine ACCESS ähnliche Oberfläche packen lassen, also aus sich wiederholenden Einträgen bestehen.
Verschachtelungen werden ebenfalls unterstützt, diese werden dann in Form einer Untertabelle dargestellt.
Das Programm mag einfach aussehen, ist in der Praxis aber extrem komfortabel zu benutzen und anderen (z.B. meinem eigenen, folgt) komplett grafischen XML Editoren absolut vorzuziehen.
Beispiel:
Schlagworte: .Net, ACCESS, AJAX, C, Excel, JavaScript, Plugin, Plugins, Programmierung, Projekt, Scripting, XML
Veröffentlicht in Fertige Projekte | Keine Kommentare »
3. September 2009
Veröffentlichung: 2005
Programmiersprache: VBA (Excel)
Beim aufräumen ist heute ein altes Excel Makro aus meiner Ausbildung wieder aufgetaucht -
ein kleines Tool um alle notwendigen Maße auszurechnen um eine Hantel mit vordefiniertem Gewicht
herzustellen.
Dem Tool lassen sich div. Grössen vorgeben, alle nicht angegebenen werden automatisch vervollständigt.
Es lassen sich u.a. auch die Dichte des Werkstoffs und optionale Phasen angeben.
Am Ende wird noch eine Vorschau generiert die sich wunderbar drucken lässt um damit dann die Hantel zu fertigen.
-
-
Hantelberechnung: Eingaben 1
-
-
Hantelberechnung: Eingaben 2
-
-
Hantelberechnung: Eingaben 3
-
-
Hantelberechnung: Vorschau
Schlagworte: Excel, Hantel, Makro, Programmierung, Projekt, VBA, Visualisierung
Veröffentlicht in Snippets | Keine Kommentare »
1. September 2009
Veröffentlichung: August 2009
Programmiersprache: C#
Sonstiges: 1 * RS232, Mitutoyo KA10 / LinearScale, USB 35x – 150x Mikroskop, Windows avicap32.dll / user32.dll
Ein kleines Unterprogramm aus einem meiner Messprogramme. Es verbindet sich mit jeder USB Kamera, in diesem Fall ein 35x/150x USB Mikroskop und zeigt das Bild im Programm an.
Zusätzlich wird das Bild zur Laufzeit manipuliert (mit Echtzeitfiltern, siehe http://www.smokingfish.de/?p=78 ) um z.B. Helligkeit oder Kontrast anzupassen.
Weiter wird noch eine Markierungsgeometrie gezeichnet (das kann eine einfache Linie sein oder z.B. Negativ von der gewünschten Geometrie).
Ist die Kamera fest ausgerichtet und fokusiert, lässt sie sich kalibrieren um Messungen im Bild vorzunehmen.
Wird die Kamera mit Lineargebern gekoppelt lassen sich Messungen über die Markierungen im Bild vornehmen.

Kameramesssystem
Schlagworte: avicap32.dll, C, Filter, Kamera, LinearScale, Mikroskop, Mitutoyo, Programmierung, Projekt, RS232, USB, user32.dll, Visualisierung
Veröffentlicht in Fertige Projekte | Keine Kommentare »