Software für Technische Systeme

Wir entwickeln individuelle Softwarelösungen für Technischen Systeme.

Aus technischen Systemen ist Software nicht mehr wegzudenken: Auch wenn nicht sichtbar, kommen technische Geräte heutzutage nicht mehr ohne Software und Computer aus. Dies führt dazu, dass mittlerweile mehr als 98 Prozent aller Prozessoren in eingebetteten Systemen zu finden sind. Themen wie Digitalisierung, Hausautomatisierung und Industrie 4.0 beschleunigen diese Entwicklung weiter.

Wenn ein Prozessor in einem Gerät verbaut ist, wird auch immer eine Softwarelösung zur Steuerung benötigt. Aus diesem Grund ist auch immer die Qualität und Flexibilität der eingesetzten Softwarelösung ein Alleinstellungsmerkmal.

Softwareentwicklung für technische Geräte unterscheidet sich in vielen Facetten von der Entwicklung von Anwendersoftware oder Apps. Nutzen auch Sie unser Know-how und jahrelange Erfahrungen im Bereich Softwareentwicklung für Technische Systeme.

Embedded Software Engineering

 
Bei der Entwicklung von komplexen, eingebetteten Systemen müssen verschiedene Schichten beachtet werden – wir unterstützen Sie auf allen Ebenen:

Betriebssystem

Heutzutage wird auf den meisten eingebetteten Systemen ein Betriebssystem eingesetzt. Hierfür stehen Microsoft Windows (z.B. in der IoT-Variante), verschiedene Linux-Distributionen und Android zur Auswahl. Wir beraten Sie bei der Auswahl des richtigen Systems.

Ist das Betriebssystem ausgewählt, kümmern wir uns um die geeignete Systemkonfiguration – diese sollte möglichst minimal und maximal sicher ausfallen. Auch paketieren wir die zu installierende Software, entwickeln unbeaufsichtigte Installationsroutinen und erstellen Images. Des Weiteren entwickeln wir Konfigurationsinterface um eine möglichst einfache Konfiguration zu ermöglichen. Diese können z.B. als Web-Interface umgesetzt werden.

Treiberschicht | Hardwareabstraktion

Eingebettete Systeme werden in einen technischen Kontext eingebunden. Ihre Hauptfunktionen ist die Steuerung der Peripherie des Systems. Auch die Entwicklung einer Hardwardwareabstraktionsschicht erweist sich als sinnvoll, um später Hardwarekomponenten einfach gegen andere tauschen zu können.

Wir unterstützen Sie sowohl bei der Einbindung von Hardware als auch bei der Schaffung von Schnittstellen und Abstraktionsschichten. Erfahren Sie dazu auch mehr auf im Abschnitt zur Treiberentwicklung

Systemsoftware

Aufsetzend auf Hardware muss die Logik der Anwendung geschaffen werden. Bei der Entwicklung von Applikationen für Technische Systeme legen wir besonderen Wert auf Erweiterbarkeit und Flexibilität. Bei neuen Kundenanforderungen sollte das System durch wenige Handgriffe angepasst werden können, ohne tiefgreifende Änderungen in der Software vornehmen zu müssen.

Eine weitere wichtige Aufgabe ist die Integration eines Technischen Systems in übergeordnete Systeme wie Monitoringlösungen und Abrechnungssysteme. Dies kann entweder durch Entwicklung von neuen Schnittstellen erfolgen oder auch durch Emulation und Nachbildung bestehender Schnittstellen. Auch diese Aufgaben übernehmen wir für Sie.

Grafische Oberflächen

Sobald ein Technisches System eine grafische Oberfläche (GUI) nutzt, z.B. einen Touchscreen-Bildschirm, muss auch hier eine entsprechend Anbindung geschaffen werden. Eine GUI sollte leicht auf anpassbar sein und auch auf verschiedenen Bildschirmgrößen gut funktionieren. Hierbei helfen wir gerne.

Gerätetreiber

 

Nicht nur bei eingebetteten Systemen spielt die Integration von Hardware eine Rolle – häufig muss auch Hardware in bestehende Anwendungssoftware eingebunden werden. Beispiele für solche Anwendungsfälle wären z.B. die Integration von Fingerabdruckscannern in Behörden-Software oder die Ansteuerung von sogenannten Cash-Recycler (Ein-/Auszahler für Geldscheine und Münzen) in der Schalter-Software der Bank.

Entwicklung von Gerätetreibern

Dank unserer langjährigen Erfahrung bei der Integration von Hardware sind uns nahezu alle Gerätetypen bekannt. Dazu gehören z.B. RFID-Leser, Chipkartenleser, Belegdrucker, Notenakzeptoren, Fingerprintleser und vieles mehr.

Die Integration erfolgt in Abhängigkeit zur benötigen Zielplattform: Wird die Hardware direkt auf Protokollebene integriert oder durch eine vom Hersteller gelieferte Bibliothek? Soll der Treiber auf Windows und auf Linux funktionieren? Müssen Branchenstandards wie CEN/XFS im Bankbereich oder JavaPOS am Point-Of-Sale unterstützt werden? Wir beachten alle Rahmenbedingungen und gewährleisten eine bedarfsgerechte Integration Ihrer Komponenten.

Entwicklung von Protokollemulationen

Häufig werden durch bereits vorhandenen Softwarelösungen nur bestimmte Gerätetypen unterstützt. Eine Anpassung der vorhandenen Software ist nicht möglich oder nicht gewünscht.

Um nun trotzdem einen neuen Gerätetypen zu integrieren, bietet sich die Entwicklung einer Protokollemulation an: Nach außen „spricht“ der neue Gerätetyp die gleiche Sprache wie ein bereits existierendes. So muss die bestehende Softwarelösung nicht geändert werden und das neue Gerät kann ohne weiteren Aufwand integriert werden.

Beratung

Wir beraten Sie bei der Auswahl von Hardwarekomponenten für Technische Systeme. Wir prüfen zunächst, ob eine Komponente integrierbar ist, d.h. wir prüfen ob und wie ein Anbindung an Softwarelösungen möglich ist. Auch beurteilen wir, ob ein sinnvolles Fehlerhandling möglich ist, dies ist vor allem bei Selbstbedienungsgeräten wie Geldautomaten von großer Wichtigkeit.

Des weiteren unterstützen wir Sie bei Abnahme- und Freigabeprozessen sowie Security-Audits. Auch vertreten wir Sie gegenüber Rechenzentren, IT-Dienstleistern oder IT-Abteilungen bei Großkunden.

Sie sind an einer Beratung oder Entwicklungsdiensleistungen interessiert? Dann sprechen Sie uns an – wir bieten Ihnen einen ersten Termin kostenfrei und bei Ihnen vor Ort an.