Struktur der Software
Strukturierung ist das A und O Grundvoraussetzung für langlebige, wiederverwendbare Software ist eine geeignete Strukturierung. Eine gelungene Strukturierung der Software führt unter anderem zu: Funktionssicherheit Modifizierbarkeit Plattformunabhängigkeit Wiederverwendbarkeit und zu geringeren Entwicklungskosten InsideCAN hat hier vorausgedacht. Die Software ist in verschiedene Ebenen gegliedert, deren Module alle unabhängig voneinander entwickelt werden können und deren Verknüpfungen untereinander auf das sinnvolle Minimum beschränkt sind. Die folgende Grafik zeigt das zugrundeliegende Konzept:
Ebene 1 - Vorhandene Hardware Die Ebene 1 ist in diesem Kontext die unterste Ebene und wird von den Herstellern der Hardware zur Verfügung gestellt. InsideCAN baut hierbei auf die vorhandene, herstellerspezifische API (Application Programming Interface) auf. In der Regel liegen hier fertige, vom Hersteller sehr gut getestete, Libraries vor. Ob eher funktionsorientiert oder eher objektorientiert spielt keine Rolle. Auf dieser Ebene sieht man noch den individuellen Stil des Herstellers. Für verschiedene Steuergeräte, auch des gleichen Herstellers, müssen teilweise unterschiedliche Libraries eingebunden werden. Für bestimmte Hardware, z.B. Datenrekorder oder Telematiksysteme kommen aber auch datei- oder protokollbasierte Schnittstellen in Frage. Bemerkenswert: PC und Laptop gehören bei InsideCAN fest zum Framework. Damit ist die Service- Software dank der Wiederverwendbarkeit bei jedem Kundenprojekt schon (fast) fertig. Ebene 2 - Vorhandene Anpassung Die Ebene 2 basiert auf Ebene 1 und nimmt eine Anpassung der verwendeten Software-Funktionen und Software- Objekte vor. Braucht man das? Bei größeren Projekten, bei denen man den Quellcode wiederverwenden will, auf jeden Fall. Schon die Steuergeräte eines Herstellers unterscheiden sich, so das sich diese Unterschiede ohne Anpassung auf Ebene 2 bis in die Applikationsebene durchziehen. Nur durch die geschickte Aufteilung der Software-Module lässt sich die gewünschte Modifizierbarkeit und Plattformunabhängigkeit erreichen. Ein Beispiel: Auf Ebene 1 stehen die Ergebnisse von Analog-Eingängen häufig nur als Digitalwert zur Verfügung. Ebene 2 übernimmt hier die Umrechnung und stellt die Ergebnisse für die darüberliegenden Software-Ebenen direkt als Spannung oder Strom zur Verfügung. Für das Projekt spielt es dann keine Rolle mehr, wie die Messung von Spannung oder Strom zustande gekommen ist. Ebene 3 - Vorhandene Plattform für neue Projekte Die Ebene 3 basiert nur noch auf Ebene 2, die Details der Ebene 1 bleiben unbekannt. Hier werden die Software-Module realisiert, die dann typischerweise in allen Projekten verwendet werden können. Hierzu gehören die Initialisierung der Steuergeräte, der zyklische Aufruf verschiedener Echtzeit-Tasks, Funktionen zum Erfassen aller Eingänge, Funktionen zum Ansprechen der Ausgänge, Fehlerbehandlung, End-Of-Line-Parametrierung über die Service-Software, etc. Um dem Namen InsideCAN gerecht zu werden, gibt es für den CAN-Bus auf dieser Ebene sehr ausgefeile Funktionen. Die CAN- Bus-Signale können ähnlich wie in einer Datenbank strukturiert werden. Schreib- und Lesezugriffe funktionieren hierbei jeweils unter Verwendung von Signalnamen als Aufruf einer einzigen Funktion - Plausibilitätsprüfung inbegriffen. Da auf dieser Ebene alle Hardware-Varianten unterstützt werden, teilen sich alle beteiligten Steuergeräte die Definitionen der CAN-Bus- Struktur. D.h. dieser aufwändige Anteil der Programmierung muss nur ein einziges Mal ausgefüht werden und kann auch in der Service-Software sofort verwendet werden. Ebene 4 - Projekte Die Ebene 4 ist die oberste Ebene - hier entsteht Ihr Projekt. Alle Aufgaben, die generisch gelöst werden können, sind bereits in den unteren Ebenen programmiert und in anderen Projekten bereits gut getestet und erfolgreich im Einsatz. Es kann also gleich losgehen. Zur Initialisierung des Projekts wird festgelegt, wie welcher Eingang und wie welcher Ausgang verwendert werden soll. Die durch Sie spezifizierte Verarbeitung zwischen den Eingängen und Ausgängen realisiert dann die Funktionalität Ihres Projekts. Neben den lokalen IOs können natürlich auch CAN-Bus-Signale oder andere Schnittstellen verwendet werden. Prinzipiell gibt es hier nur Beschränkungen durch die verwendete Hardware. Die Spannbreite der mit InsideCAN eingesetzten Steuergeräte geht von einfachen 8-Bit-Controllern bis zu zertifizierten Sicherheitssteuergeräten nach EN ISO 13849. Ein Nadelöhr kann z.B. die Laufzeit werden. Für einfache Aufgaben mit 100 ms-Zykluszeiten eignen sich bereits preiswerte Standardsteuergeräte ab ca. 100 EUR Listenpreis. Geht es hingegen um komplexe Regelungen, die möglicherweise das Einbinden von externen, modellbasierten Softwaremodulen erforderlich machen und Laufzeiten unter 20 ms benötigen, müssen auch die verwendeten Steuergeräte sehr sorgfältig ausgewählt werden. Weiter geht es mit den Eigenschaften der Software.
InsideCAN
Anwendungsbeispiele
Pauschalangebot