Reference projects

Hardware-Entwicklung
Kundenvorgabe:

Zu Entwickeln ist ein rotierender Laser-Scanner zur präzisen Winkel-Vermessung von drei reflektierenden Targets. Aus den Messdaten soll der Scanner die räumliche Lage und Entfernung des Reflektor-Trägers berechnen und auf einer CAN-Schnittstelle an das Regelsystem melden. Die Anordnung der Reflektoren untereinander ist dabei bekannt.

Es muss eine Winkelauflösung < 0,02° erreicht werden.

Unsere Umsetzung:

Um die Kosten für die Hardware-Entwicklung gering zu halten, wurde die Trägermechanik und das Gehäuse eines bereits existierenden Scanners dieser Firma verwendet. Neu entwickelt wurden:
  • Ein autokollimiertes Optikmodul aus Aluminium, zur Aufnahme der Laser- und Empfangsdiode, des Strahlteiler-Spiegels und der Kollimator- und Empfangslinse
  • die Elektronik zur gepulsten Ansteuerung der Laserdiode,
  • die Empfängerelektronik zur synchronen Signalabtastung und -aufbereitung,
  • ein Mikrocontroller-Board (Mitsubishi M16C) sowie die Firmware dazu in "C", für die nachfolgenden Berechnungen und zur Steuerung der CAN-Buskommunikation sowie
  • eine Trägerplatine mit Spannungsregelung und CAN-Interface sowie einem RS232-Interface zur Parametrierung der Werksdaten.
Firmware-Entwicklung
Bussysteme
Kundenvorgabe:

Für große Spezialheizungsanlagen sollen jeweils bis zu 40 Heizwiderstände (1,5kW) mit Halbleiterschaltern ferngesteuert zu- und abgeschaltet werden können. Dabei ist der Leistungsaufnahme der Heizwiderstände einzeln zu überwachen, um drohende Ausfälle frühzeitig zu erkennen und im Kurzschlussfall eine Sicherheitsabschaltung vorzunehmen.

Unsere Umsetzung:

Wir entwickelten eine kompakte Schalterbaugruppe mit intelligenter IGBT-Ansteuerung.

Jede Schalterbaugruppe enthält u.a. einen Mikrocontroller (ATMEL ATmega8), der den aktuellen Heizstrom über einen Stromfühlerwiderstand an seinem A/D-Wandler erfasst. Die nominale Leistungsaufnahme ist über eine Teach-In-Funktion einlernbar, sodass verschiedene Heizwiderstands-Typen anschaltbar sind. Alle Module einer Anlage kommunizieren über ein RS485-Bussystem mit einer SPS, die die Fehler- und Warnmeldungen gesammelt nach aussen meldet.


Die Funktionalität der Firmware in der Zusammenfassung:
  • Zyklische Fehlerüberwachung des aktuellen Heizstroms über den internen A/D-Wandler mit softwaregesteuerter Filterung und Hysteresefunktion,
  • zur Kompensation von Bauteiletoleranzen, Temperatur und Alterung wird ständig ein Nullabgleich durchgeführt,
  • Warnungen und Fehler werden im Modul über 3 LEDs angezeigt sowie über den RS485-Bus an die zentrale Steuerung gemeldet,
  • die Warn- und Fehlerschwellen sind als relative Größen unabhängig vom Nominalstrom von Extern parametrierbar,
  • eine manuelle Betriebsart ermöglicht die Handsteuerung jedes Moduls bei Ausfall der Buskommunikation,
  • spezielle Rundsteuerbefehle ermöglichen das schnelle Ansprechen aller Geräte im System, wodurch z.B. bei einer Notabschaltung ein zeitlich determiniertes, reaktionsschnelles Verhalten gesichert ist.
Baugruppe offen
Heizungsschalter-Baugruppe (Prototyp, offen)
Baugruppe mit SPS
Heizungsschalter-Baugruppe mit SPS
Firmware-Entwicklung
Externe EW-Unterstützung
Kundenvorgabe:

Bedingt durch den enormen Performance-Zuwachs moderner Mikrocontroller-Architekturen in den letzten Jahren sollen mehrere Geräteserien eines Kunden auf den neuesten Stand der Technik gebracht werden. Dabei soll jeweils ein Neu-Gerät die Funktionalität von mehreren Alt-Geräten zusammenfassen, wodurch höheren Stückzahlen und damit eine effektivere Fertigung ermöglicht werden soll.

Auch sollen die Neuentwicklungen hinsichtlich ihrer Bedienerfreundlichkeit, Leistungsfähigkeit und Parametriermöglichkeiten gegenüber den Alt-Geräten extrem verbessert werden.

Die Hardware-Entwicklung bleibt dabei vollständig im Hause des Kunden, wodurch eine sehr enge Zusammenarbeit mit der kundenseitigen Entwicklungsabteilung zwingend geboten ist. Dazu zählen auch die Teilnahme an Besprechungen und Telefonkonferenzen.

Unsere Umsetzung:

Bereits während der laufenden Hardware-Entwicklung im Hause des Kunden wurde unsererseits mit der Software-Implementierung begonnen. Durch die gute Kooperation aller Projektbeteiligten gelang es, die Firmware zeitgleich mit der Endphase der Hardware-Entwicklungen fertigzustellen. Sie erfüllt folgende Anforderungen:
  • Sie ist in C programmiert und von Grund auf modular strukturiert, sodass sie bzw. Teile davon ohne gefährliche Seiteneffekte erweitert und wiederverwendet werden kann,
  • sie kann mit geringem Aufwand auf andere Mikrocontroller portiert werden, da sie eine klare Abgrenzung zwischen Hardware-Treibern und plattform-unabhängiger Funktionalität bietet,
  • sie lässt sich über Compiler-Switches für mehrere Geräte-Familien compilieren,
  • durch den Einsatz des Dokumentationstools "doxygen" kann auf Knopfdruck eine aktuelle Dokumentation der Sourcen in HTML oder im RTF-Format inklusive Call-Graphen erzeugt werden,
  • über ein standardisiertes Kommunikations-Interface können alle Geräte parametriert und kalibriert werden,
  • sie bietet ein ausgewogenes Verhältnis zwischen Systemsicherheit und Leistungsfähigkeit.
Software-Entwicklung
Gerätesteuerungen
Konfigurationstools
Kundenvorgabe:

Ein neuentwickeltes Gerät benötigt eine Bedienoberfläche, welche es dem Anwender ermöglichen soll, die Gerätekonfiguration nach seinen Wünschen einzustellen sowie Fehlerzustände und den Status der digitalen Ein- und Ausgänge des Gerätes am PC abzufragen. Ein Simulationsmodus soll die Ausgänge temporär überschreiben (forcen) können.
Das Toll soll weltweit vertrieben werden und deshalb in mehreren Sprachen erstellt werden. Weiterhin soll es nach Möglichkeit auf eine, maximal zwei 3½"-Disketten passen.

Unsere Umsetzung:

Ein kleines, nur 300kB großes Tool, programmiert in MS Visual Basic 6.0 und mit einer sprach-umschaltbaren Bedienoberfläche erfüllte diese Anforderungen perfekt.

Die sprachabhängigen Informationstexte der Oberfläche werden dabei in lesbaren ASCII-Files abgelegt, sodass eine nachträgliche Erweiterung auf beliebige Landessprachen vom Kunden ohne Programmänderung vorgenommen werden kann.

Hier einige Screenshots:
Konfigurationsmaske
Konfigurationsmaske

E/A-Minitor Simulationsfenster
E/A-Monitor Simulationsfenster
Software-Entwicklung
Gerätesteuerungen
Messen-Steuern-Regeln
Kundenvorgabe:

Die Messdaten einer Anlage zur Dichteüberwachung von Faserprodukten sollen ausgelesen und zusammen mit einigen Zusatzinformationen in einer MS-Access®-kompatiblen Jet-Datenbank zur Qualitätssicherung archiviert werden.

Weiterhin sollen diese Daten variabel abrufbar in MS-Excel® zur Verfügung gestellt werden.

Unsere Umsetzung:

Die Datenübernahme erfolgt über ein Ethernet-Interface an der SPS der Anlage. Ein in MS Visual Basic erstelltes Programm liest diese Daten zyklisch aus und legt sie in der Datenbank auf dem QS-Server ab. Monatliche sowie manuell angeforderte Reports im CSV-Format stellen den problemlosen Import der Daten in andere Programme sicher.

Die Datenübernahme in MS-Excel® erfolgt mit Hilfe eines VBA-Makros, welches direkt aus MS-Excel® gestartet wird. Damit ist eine Arbeitsplatz-unabhängige Weiterverarbeitung der Daten möglich.
Software-Entwicklung
Gerätesteuerungen
Automatisierte Prüfabläufe
Kundenvorgabe:

Für eine neu eingeführte Geräteserie eines Kunden sollen automatisierte Blackbox-Tests durchgeführt werden, die eine möglichst hohe Testabdeckung erfüllen. Durch die automatisierten Tests sollen möglichst viele Permutationen von Konfigurationen und Zuständen der Test-Geräte erreicht werden. Ziel der Tests ist es, die weitestgehende Fehlerfreiheit der komplexen Geräte zu sichern.

Unsere Umsetzung:

Die Test-Geräte werden an Simulatoren und Messgeräte angeschlossen, welche über RS232-Schnittstellen gesteuert werden. Auf einem Mess-PC laufen Test-Skripte, welche in der leistungsfähigen Skript-Sprache "Python" geschrieben sind.

Jedes Skript erfüllt einen Test-Fall. Die Scripte sind untereinander beliebig kombinierbar. Die Tests sind daher beliebig erweiterbar, es können beliebig viele Skripte hinzugefügt werden, ohne die anderen zu beeinflussen.

Nach Ablauf der Tests, welche in einer Batch ausgeführt werden, erstellt ein weiteres Skript aus den Log-Daten eine vollständige Übersicht der Testergebnisse im HTML-Format. Der Prüfer erhält somit einen schnellen Überblick, ob alle Tests erfolgreich verlaufen sind und kann die detaillierten Testergebnisse mit jedem beliebigen Browser im Detail nachverfolgen.

Vorteile dieser Lösung sind:
  • sehr modulare Erweiterbarkeit der Tests,
  • übersichtliche Dokumentation,
  • standardisierte Test-Abläufe auf Knopfdruck nach Firmwareänderungen der Geräte.
Auf ähnliche Weise werden von uns bei diesem Projekt auch Whitebox-Tests realisiert, wobei die Python-Skripte über eine TCP/IP-Schnittstelle einen Emulator steuern.
Software-Entwicklung
Workflow-Management
Datenbanken
Kundenvorgabe:

Ein bestehendes Warenwirtschaftssystem mit DOS-ähnlicher Oberfläche war für Suchanfragen zu bestimmten Artikeln bzgl. Warengruppen-Zugehörigkeit, Eigenschaften, Zusatzinformationen, Artikelstatus u.ä. nur sehr umständlich zu gebrauchen. Weiterhin waren insbesondere die Zusatzinformationen zu den Artikeln wie Datenblätter, Zeichnungen etc. weltweit auf verschiedenen Servern des Konzerns abgelegt.

Ziel war es, eine MS-Windows®-basierte Oberfläche zu programmieren, bei der eine intuitiv nutzbare Eingabemaske die einfache Kombinierung verschiedener Artikelmerkmale ermöglicht sowie zu jedem Suchergebnis verwandte Dokumente zur Auswahl anzeigt.

Das Warenwirtschaftssystem basierte auf einer ORACLE-Datenbank.

Unsere Umsetzung:

Die Bedienoberfläche wurde in MS Visual Basic 6.0 programmiert. Eine komfortable Eingabemaske ermöglicht nun die parametrische Suche mit Wildcards und Platzhaltern. Tooltips und Zusatztexte erleichtern dem Bediener dabei das Verständnis der Typschlüssel und Statuscodes. Sucheinstellungen können vom Bediener individuell benannt und zur späteren Wiederverwendung abgespeichert werden.

Aus der Datenbank wird neben den Suchergebnissen auch der Speicherort der zugehörigen Dokumente gelesen. Ist das Dokument lokal vorhanden, zeigt ein Vorschaufenster dies verkleinert an. Ein Doppel-Klick auf den Dokumenten-Namen öffnet eine FTP-Verbindung zum entfernten Server und lädt das Dokument auf den lokalen Rechner.

Die gesamte Software-Oberfläche ist für den konzernweiten, länderübergreifenden Einsatz ausgelegt. Deutsche und englische Sprachbeschreibungs-Dateien im lesbaren ASCII-Format waren Teil des Lieferumfangs, andere Sprachen wir Schwedisch oder Ungarisch sind nach diesen Vorlagen von Übersetzern in der Firma des Kunden erstellt worden.

Suchmaske
Suchmaske zur Artikelsuche

Ergebnisanzeige Ergebnisanzeige der Artikelsuche

Software-Entwicklung
Web-basierte
Programmierung
Kundenvorgabe:

Erstellung eines Web-Auftritts zur Präsentation der Firma und als Vermarktungsplattform eigener Produktentwicklungen. Die Anforderungen:
  • Da die Website auch für ausländische Besucher attraktiv sein soll, ist eine zweisprachige Umsetzung (deutsch/englisch) vorzusehen.
  • Die Erweiterung der Produktpalette soll flexibel möglich sein, ebenso die Bereitstellung von Datenblättern und anderen Dokumenten.
  • Ein Kontaktformular soll Besuchern der Website unkomplizierte Anfragen ermöglichen.
  • Software-Downloads und Updates zu Produkten und laufenden Projekten müssen passwortgeschützt zur Verfügung stehen.
  • Die Website muss auf den gängigsten Browsern (MS-Internet Explorer 5.0 und höher, Netscape ab Version 4.72, Mozilla Firefox ab V0.8, Opera ab V7.0) fehlerfrei dargestellt werden.
Unsere Umsetzung:

Der Kunde ist in diesem Falle die Firma ingeniTRON, also wir selbst. Das Ergebnis sehen Sie vor sich:
  • Eine dynamisch erstellte Website,
  • programmiert in PHP4, unterstützt von einer HTML-Template-Engine und
  • mit MySQL-Datenbankanbindung.
Speicherprogrammierbare
Steuerungen
Kundenvorgabe:

Ein bestehendes Handlingsystem einer Prüfmaschine übernimmt die Probenentnahme aus einem Revolvermagazin, die Probentemperierung, sowie den Probentransport in die Prüfmaschine. Die Durchführung der gesamten Prüfung erforderte aufgrund geänderter Normen eine komplette Überarbeitung. Im Zuge dessen sollte auch die SPS der Handlingsystem-Steuerung modernisiert werden.

Unsere Umsetzung:

Eine Siemens S7-200 SPS war mit mehreren Erweiterungsmodulen optimal geeignet für diese Anforderung. Die Projektierung ergab folgenden Aufbau:
  • Eine S7-200 CPU226XM,
  • ein 16-kanaliges digitales I/O-Erweiterungsmodul,
  • ein RTD-Temperaturmodul,
  • ein 2-kanaliges Analog-Ausgabemodul,
  • ein TP-070 Touchpanel,
  • zwei 24V/3,5A Netzteile,
  • sowie von Drittanbietern:
    • zwei 4-Quadranten-Servomotor-Steuerungen und
    • eine separate digitale Großanzeige mit serieller Ansteuerung.
Eingebaut wurde die Anlage in ein 19"-Rack zusammen mit dem Netzanschluss und -schalter, den Steckverbindern zum Handlingsystem und der Kommunikationsschnittstelle zum übergeordneten Steuerungs-PC

Innenansicht der Steuerung (von oben)
Innenansicht der Steuerung (von oben)

Innenansicht der Steuerung (Frontansicht mit Tür)
Innenansicht der Steuerung (Frontansicht mit Tür)

Programmiert wurde unter Step7/Micro-Win® zum einen der Handlingablauf an sich mit Fehlererkennung, Kollisionsvermeidung, Statusmeldungen etc. und zum anderen eine komfortable Kommunikation auf MODBUS-Basis zur externen Steuerung über die serielle Schnittstelle eines Prüfplatz-Rechners sowie die Handbedienbarkeit der gesamten Anlage über Softkeys des TP-070 Touchpanels.

Die Dokumentation des Projekts stellt sicher, dass der Kunde die Anlage eigenständig warten und ggf. erweitern kann. Sie umfasst deshalb ca. 100 Seiten, darunter:
  • 3 Seiten Verdrahtungspläne der Anlage,
  • 2 Seiten Verdrahtungspläne der Kommunikations-Kabel (Busabschluss-R's, Schirmauflage etc.),
  • 1 Seite zur Pinbelegung der Kommunikations-Schnittstellen,
  • 1 Seite Lageplan der Module in der Anlage,
  • 1 Seite über Anordnung und Bedeutung der rückseitigen Steckverbinder,
  • 4 Seiten Zuordnungstabellen der Ein- und Ausgänge zu den Ventilen und Sensoren,
  • 3 Seiten Konfigurationshinweise zu den einzelnen Modulen,
  • 47 Seiten Flowcharts der Software,
  • 8 Seiten zur Implementierung des MODBUS-Protokolls,
  • 17 Seiten Kommunikationsbeschreibung,
  • 2 Seiten technische Zeichnungen aller Sonderanfertigungen wie Frontplatten etc.,
  • 1 Seite Kurzbeschreibung der Fehlermeldungen,
  • sowie diverse Seiten zum Vorgehen bei Software-Updates, zur Grundstellung der Aktoren nach Reset, zu Installation und Bedienung des MS-Windows®-basierten Hilfstools, Bezugsquellen-Nachweise etc.
... und natürlich eine CD mit allen o.a. Dokumenten im PDF-Format, den Sourcen des SPS-Programms und den herstellereigenen Datenblättern aller Komponenten.
Externe
Entwicklungsunterstützung
Kundenvorgabe:

Zum Jahresende waren Freigabemessungen und Systemtests bei einer Neuentwicklung eines medizinischen Gerätes angesetzt. Aufgrund der Komplexität des Gerätes entschied man sich, zum Testen der Steuerungssoftware einen Hardware-Simulator zu programmieren.

Ein PC mit Realtime-Linux und einer Multi-I/O-Karte (analog und digital) diente als Basis. Der Hardware-Simulator sollte in der Lage sein, verschiedenste Startwerte und Fehlerzustände der Hardware über einen TCP/IP-Stack von einem externen Teststeuerungs-Rechner zu empfangen und über denselben Kanal seine Zustandsänderungen und Triggersignale zu Protokollierungszwecken zurückzumelden.

Unsere Umsetzung:

Aufgrund des Zeitdrucks und der Komplexität des Gerätes war es unumgänglich, über mehrere Wochen täglich vor Ort beim Kunden direkt auf dem späteren Testsystem zu arbeiten und die Ergebnisse der Simulation stetig mit dem Original abzugleichen

ingeniTRON programmierte unter GNU-C eine Art Statemachine mit Triggermodul, in der jede Baugruppe der Original-Hardware mit seinen physikalischen Eigenschaften als unabhängiges Modul zyklisch durchlaufen wurde. Ein Triggermodul setzte dabei zu Beginn jedes Zyklus aktuell die Fehlerzustände, die simuliert werden sollten.

Perl-Scripte auf dem externen Test-Steuerungsrechner waren damit in der Lage, zeitlich determiniert diverse Ausfälle und Alterungserscheinungen der Hardware im Simulator nachzubilden. Anhand der Log-Meldungen des Simulators konnte so die Reaktion der Geräte-Steuerung auf diese Fehler getestet und protokolliert werden.

Die Erstellung der Perl-Scripte zur Teststeuerung wurden gegen Ende und im Anschluss an das Projekt von Mitarbeitern des Kunden nach kurzer Einarbeitung in das System übernommen, sodass der Kunde nun in der Lage ist, beliebige Tests an seinem Gerät und der Steuerungssoftware eigenständig durchzuführen.