REFLEX Ein Echtzeitbetriebssystem für tief eingebettete Systeme

Größe: px
Ab Seite anzeigen:

Download "REFLEX Ein Echtzeitbetriebssystem für tief eingebettete Systeme"

Transkript

1 Forum der Forschung 21/2008: BTU Cottbus, Eigenverlag, ISSN-Nr.: REFLEX Ein Echtzeitbetriebssystem für tief eingebettete Systeme Kurzfassung Jedes komplexere technische Produkt enthält heute Kleinstrechner, die in Echtzeit vielfältige Steuer- und Regelvorgänge vornehmen. Diese sogenannten eingebetteten Systeme verwenden aus Kostengründen ressourcenarme Microcontroller, die aufgrund ihrer Betriebsmittelknappheit die Softwareentwicklung zu einer besonderen Herausforderung machen. REFLEX (Real-Time Event FLow EXecutive) ist ein ereignisgetriebenes Echtzeitbetriebssystem für solche tief eingebetteten Systeme, das selber nur einen extrem geringen Speicherbedarf hat und dennoch eine objektorientierte Softwareentwicklung dem Stand der Kunst entsprechend ermöglicht. Beispielhaft wird dies in diesem Beitrag anhand eines komplexen Hauskontrollsystems gezeigt, das von der Heizungssteuerung mit zwei Brennern, über ein bewegliches Solarpanel bis hin zur Licht- und Alarmanlage alles zuverlässig mit nur einem einzigen kleinen Mikrocontroller steuert. Abstract Nowadays every sophisticated technical product is based on computer electronics, often used to realize a sort of real-time control. These so called embedded systems engage low-end microcontrollers for economical reasons, which makes it challenging to implement high quality software for those systems. REFLEX (Real-Time Event FLow EXecutive) is an event based real-time operating system for such an environment. It has low memory requirements, even though it allows state of the art object oriented software development. This paper shows exemplarily, how a complex house control application can be implemented at a high abstraction level, using only one microcontroller. Hauptspeicher. Aufgrund dieser Einschränkungen ist es bis heute üblich, selbst komplexe, nebenläufige Steuersysteme unter Verzicht auf jegliche Betriebssystemplattform direkt in Maschinensprache zu entwickeln, eine fehleranfällige und kostenträchtige Vorgehensweise, die nur bei hohen Produktstückzahlen rentabel ist. REFLEX (Real-Time Event FLow EXecutive) ist ein leichtgewichtiges Echtzeitbetriebssystem für solche tief eingebetteten Systeme. Das System beruht durchgängig auf einem Ereignisflussmodell, das problemadäquate Abstraktionen für die Programmierung von nebenläufigen Steuerungssystemen bietet, die auf vielfältige externe Ereignisse (ausglöst durch Sensorik bzw. Aktuatorik) reagieren müssen. Bereits auf der Modellebene können wesentliche Eigenschaften einer Anwendung etwa die Echtzeitfähigkeit oder Synchronisation überprüft bzw. sichergestellt werden, während die eigentliche Implementierung dem Stand der Technik entsprechend mit Hilfe einer objektorientierten Hochsprache (C++) erfolgt. Dadurch wird nicht nur die Softwareentwicklung deutlich vereinfacht, sondern es ist möglich, selbst komplexe, nebenläufige Steuerprogramme auf einfachen und kostengünstigen Mikrocontrollerplattformen ablaufen zu lassen. In diesem Beitrag zeigen wir dies beispielhaft anhand eines auf REFLEX basierenden Hauskontrollsystems, das kostengünstig ausschließlich mit Standard-Hardware realisiert wurde und inzwischen seit vier Jahren zuverlässig seinen Dienst versieht. In Abschnitt 2 geben wir zunächst einen kurzen Überblick über das RE- FLEX-System. Danach stellen wir in Abschnitt 3 das Hauskontrollsystem mit seiner Sensorik und Aktuatorik vor. Abschließend fassen wir unsere Erkenntnisse noch einmal kurz zusammen und geben einen Ausblick auf weiterführende Arbeiten. 1 Einleitung Im täglichen Leben sind wir von Millionen von Mikrocontroller-basierten Systemen umgeben, die als Bestandteile technischer Systeme aller Art von der Waschmaschine bis zum Flugzeug zuverlässig im Verborgenen wirken. Ohne diese eingebetteten Informatiksysteme ist heutzutage kaum ein komplexes Produkt mehr vorstellbar. Aus Kostengründen kommen in diesem Bereich fast ausschliesslich betriebsmittelarme Mikrocontroller zum Einsatz. Diese Ein-Chip-Rechnersysteme haben nur eine geringe Rechenleistung und bestenfalls wenige KB 2 Das REFLEX-System REFLEX ist ein ereignisgetriebenes Betriebssystem, in dem jegliche Steuer- und Regelvorgänge von externen Ereignissen (Interrupts) initiiert werden. Letztere werden von Geräten (Timer, Sensorik, Aktuatorik) ausgelöst, wenn z. B. Uhren abgelaufen sind, Schwellwerte erreicht oder überschritten werden oder eine angeschlossene Aktuatorik eine definierte Postion erreicht hat. Diese Ereignisse lösen eine direkte Vorbehandlung durch Unterbrechungsbehandlungsroutinen aus, die ihrerseits bei Bedarf sogenannte Aktivitäten anstoßen können. Aktivitäten implementieren die eigentlichen Steuer- und Regelfunktionen 59

2 und sind passive Objekte, die Zustandsinformationen über mehrfache Aktivierungen hinweg speichern können. Dadurch wird auch nur ein einziger Stapel (Stack) benötigt, was im Gegensatz zu Systemen mit mehreren Kontrollflüssen signifikant Speicher einspart. Aktivitäten können über Ereigniskanäle miteinander verknüpft werden, sodass eine komplette Anwendung sich als gerichteter Graph darstellt, entlang dessen Kanten zur Laufzeit Ereignisse propagiert werden. Das Schreiben eines Wertes in einen Ereigniskanal führt dazu, dass dieser Wert nach einer wählbaren Strategie gespeichert und die mit diesem Kanal assozierte Aktiviät vom Scheduler für den späteren Ablauf eingeplant wird. Hat eine Aktivität mehrere Eingänge, wird sie nur dann eingeplant, wenn an allen Eingängen Daten anliegen. In Abb. 1 ist ein typischer Ereignisflussgraph dargestellt. Abbildung 1: Ereignisflussgraph für PWM Temperaturmessung In dem Beispiel signalisiert eine trigger-aktivität einem Temperaturfühler mit PWM-Controller (Pulse Width Modulation), dass ein Rohwert aufgenommen werden soll. Die capture-aktivität started daraufhin den Messvorgang. Die PWM-Hardware initiiert nun bei der nächsten Signalflanke eine Unterbrechung und misst die Pulsweite. Dieser Rohwert muss zur Weiterverarbeitung seinerseits in einen Temperaturwert konvertiert werden und wird dazu einfach auf den Eingangskanal einer Konversionsaktivität convert geschrieben. Letztere wird dadurch angestoßen, konvertiert den empfangenen Rohwert und schreibt ihrerseits den Wert auf den Ereigniskanal einer evaluate-aktivität, die den Wert daraufhin auswertet. An dem Beispiel ist gut zu sehen, dass funktionale Komponenten sowohl Aktivitäten als auch Unterbrechungsbehandlungsroutinen kapseln können. Die Kommunikation zwischen Komponenten erfolgt immer asynchron über Ereigniskanäle, während alle Aktivitäten innerhalb einer Komponente auch auf gemeinsame Zustandsvariablen zugreifen können, ohne sich explizit zu synchronisieren. Dies setzt jedoch voraus, dass alle beteiligten Aktivitäten die gleiche Priorität besitzen. Dieses Konzept ist ähnlich zu TinyGALS (Globally Asynchronous Locally Synchronous) (CHEONG, LIEBMAN, LIU & ZHAO, 2003). Die asynchrone Form der Kommunikation über Ereigniskanäle erfordert Puffer am Ende der Ereigniskanäle, deren Typ frei konfiguriert werden kann. REFLEX stellt zu diesem Zweck Standardpuffer wie Warteschlangen, Fifos mit definierbarer Tiefe oder verschiedene Einzelwertpuffer zur Verfügung. Der Zugriff auf diese Puffer erfolgt implizit und atomar bei dem Beschreiben bzw. Lesen des zugehörigen Ereigniskanals. Aufgrund dieser Eigenschaften sind die meisten Applikationen bereits implizit synchronisiert (WALTHER & NOLTE, 2006), was die Gefahr nichtdeterministischer Synchronisationsfehler deutlich herabsetzt. Weiterhin wird für jedes Datum im Puffer ein Planungsvorgang angestossen und die Aktivitäten können sich immer darauf verlassen, dass mit jeder Aktivierung auch gültige Daten vorliegen. Alle Aktivitäten haben grundsätzlich eine sogen. run-to-completion-semantik wie es in ereignisgetriebenen Systemen allgemein üblich ist. Diese Semantik verbietet es, dass Aktivitäten in Endlosschleifen gehen oder blockierend warten. REFLEX ist jedoch ein objektorientiertes System und die Aktivitäten sind nicht nur durch einfach Funktionen repräsententiert, sondern durch Objekte (Instanzen von C++-Klassen), die mit einer virtuellen run()-methode assoziiert sind. Daher können Aktivitäten auf einfacheweise Zustandsinformationen über mehrfache Aktivierungen hinweg bewahren. Ferner ist das Ereignisflussmodell orthogonal zur verwendeten Planungsstrategie. Das Scheduling-Rahmenwerk (WALTHER & NOLTE, 2007) von REFLEX umfasst die Strategien FCFS (First Come First Served), FP (Fixed Priority), EDF (Earliest Deadline First) und TT (Time Triggered). Die FP- und EDF-Scheduler umfassen außerdem präemptive wie nichtpräemptive Versionen. Alle Varianten nutzen lediglich einen einzigen systemweiten Stapel, wodurch der Speicheraufwand gegenüber Thread-basierten Systemen drastisch sinkt. Ermöglicht wird das durch die run-to-completion- Semantik der Aktivitäten. Die Planungstrategie kann zudem einfach ersetzt werden, ohne den eigentlichen Anwendungskode zu verändern. Dadurch wird die Wiederverwendbarkeit von existierendem Code in neuen Anwendungskontexten deutlich vereinfacht und neue Applikationen können aus vorhandenen Komponenten zusammengestellt werden. Zudem kann eine Aktivität unabhängig von deren Implementierung parametriesiert werden, um deren Ausführung in fest vorgegebenen Zeitschranken (Deadlines) sicherzustellen. 3 Fallstudie: Das Hauskontrollsystem Das betrachtete Hauskontrollsystem steuert zum einem das Heizungssystem und zum anderen die Alarm- und Lichtanlage (Hoflicht). Das Heizungssystem allein ist bereits komplex und besteht aus einem Ölbrenner, einem Holz-Kohlenofen, einem beweglichen Solarpanel, diversen Raumheizungen, zwei Warmwasserspeichern, mehreren Pumpen und Temperatursensoren. Das Hoflicht- und Alarmsystem umfasst diverse Reed-Relais an Toren und Türen, sowie Lampen, Lichtsensoren und eine Alarmsirene. Beide Subsysteme beziehen von einer batteriegepufferten DCF77-Funkuhr die lokale Uhrzeit. Alles in allem umfasst die Steuersoftware neun verschiedene Gerätetreiber, von denen fünf unterbrechungsgetrieben und vier zeitgesteuert arbeiten. Ferner ist neben einem obligatorischen Watchdog-Treiber zur Selbstüberwachung auch ein Subsystem für die Ein-/Ausgabe vorhanden. Insgesamt überwacht das System 24 Sensoren, steuert 16 Aktuatoren und kommuniziert außerdem mit 6 externen Geräten. 60

3 3.1 Die Heizungs- und Warmwassersteuerung Die Warmwasserversorgung des Hauses wird über 2 Speicher mit einem Gesamtinhalt von 860 Litern sichergestellt. Die Wasserspeicher werden durch das Solarpanel, den Holz-/Kohlebrennofen und den Ölbrenner beheizt. können. Deshalb sind die beiden Öfen in Reihe geschaltet, zuerst wird das Wasser durch den Holzofen erhitzt und durch den automatisch kontrollierten Ölofen nur bei Bedarf zugeheizt. Das Solarpanel ist das primäre Heizsystem und hat eine Fläche von 3m 2 (Abb. 2). Das Panel wird mit dem Lauf der Sonne mitbewegt, um einen hohen Wirkungsgrad zu erzielen. Die Position des Panels wird deshalb stündlich korrigiert. Die beste Position für jede Stunde wurde für jede Jahreszeit a priori ermittelt. Der Motor des Panels besitzt eine eigene Stromversorgung. Endschalter zu Beginn und am Ende des Weges sorgen dafür, dass das Panel sich nicht um sich selbst dreht und die eigenen Kabel und Schläuche abdreht. Diese Schalter sind aufgrund der Ungenauigkeit des Positioniermotors notwendig. Mit einem präziseren Motor könnte man auch darauf verzichten, dies würde jedoch den Preis der Anlage unnötig in die Höhe treiben und würde die Steuerung auch nicht vereinfachen. Abbildung 3: Die beiden Öfen, Holz (links) und Öl (rechts) Abbildung 2: Das bewegliche Solarpanel Abb. 4 zeigt den Heizverlauf für einen Novembertag. Im oberen Teil ist zu sehen wann die Heizkreispumpe (Heating Circuit Pump) und der Ölbrenner (Oil Burner) aktiv waren. Im unteren Teil sind verschiedene Temperaturen für ein Zimmer, den Rücklauf, den Holzofen und den Ölbrenner aufgetragen. Bis 6.00 Uhr morgens wurde keine Heizung benötigt, da in der Nacht die Restwärme des Systems zum beheizen ausreichte. Um 6.00 Uhr morgens wurde der Ölbrenner gestartet, woraufhin sich auch die Rücklauftemperatur erhöht. Durch die Geschwindigkeit, in der die Rücklauftemperatur sich erhöht oder abfällt kann der Heizbedarf ermittelt werden. Gut zu sehen ist dies beim ersten Anstieg, der flacher ist als die Folgenden, da beim ersten Start das Rohrleitungssystem mit erwärmt werden muss. Danach weist die Regelung ungefähr einen 40-minütigen Zyklus auf. Das warme Wasser für das Heizsystem wird in den beiden Öfen (Holzofen VEB Niederkirchner Berlin und Hansa Ölofen, Abb. 3 links und rechts) aufgeheizt. Im Gegensatz zu den meisten Systemen, die Heizwasser unabhängig vom Verbrauch produzieren, wurde hier ein verbrauchsorientiertes System ähnlich dem Bajorath-Verfahren (BAJO- RATH, 2005) implementiert. Dazu wird mit Hilfe eines Temperatursensors die Temperatur des rückfliessenden Heizungswassers bestimmt und daraus auf die im Haus absorbierte Energie geschlossen. Dieses Kontrollsystem verringert effektiv die Anzahl der Startvorgänge im Ölbrenner, da dieser gerade nach dem Start sehr ineffizient arbeitet und eine längere Aufwärmphase benötigt. Beide Heizöfen haben höchst unterschiedliche Eigenschaften. Der Ölofen ist vollständig durch das Kontrollsytem steuerbar, der Holzofen jedoch kann nur überwacht werden und muss manuell befeuert werden. Dieses lohnt sich aufgrund des hohen Ölpreises und aufgrund der Tatsache, dass die Bewohner sich selbst mit Feuerholz versorgen Abbildung 4: Heizverlauf an einem Novembertag 61

4 Um Uhr hat jemand versucht, den Holzofen zu starten. Der Kurve ist zu entnehmen, dass dies fehlschlug, weil die Temperatur nur von 10 auf 20 Grad Celsius gestiegen ist. Der Ofen brennt normalerweise ca. 2-3 Stunden, weshalb gegen Uhr wieder jemand zum nachfüllen kam und das Problem festgestellt hat. Diesmal war das Anfeuern erfolgreich, wie man an der Temperatur von ca. 65 Grad sehen kann. Da der Ölbrenner ebenfalls noch brannte, erreicht die Wassertemperatur beinahe 80 Grad. Wenn der Holzofen das Wasser auf über 40 Grad erhitzt hat, wird der Ölbrenner automatisch abgestellt. Da er sich jedoch in heißem Zustand befand, dauerte das Abkühlen noch eine Weile. Alle Türen werden außerdem durch das Alarmsystem überwacht. Normalerweise werden die Türen nur zwischen 6.00 und Uhr geöffnet. Außerhalb dieser Zeit werden alle Türöffnungen gemeldet. So werden potentielle Eindringlinge erfasst und die Bewohner daran erinnert, alle Türen nach Uhr geschlossen zu halten. Das gesamte Alarmsystem ist vollständig ereignisgetrieben, d. h., alles wird durch einen Zustandsautomaten gesteuert, der nur auf Ereignisse der Sensorik reagiert. Ein zeitgesteuertes oder zyklisches Abfragen der beteiligten Sensorik ist daher nicht notwendig. Ein eher ungewöhnlicher Aspekt des Heizungssystems ist die beheizte Hundehütte (Abb. 5). Da die Temperaturen im Winter beträchtlich niedrig sein können, wurde hier eine rein elektrisch betriebene Heizung für die Hundehütte vorgesehen, die ebenfalls mit Hilfe eines Sensors automatisch frostfrei gehalten wird. Abbildung 6: Skizze des Anwesens 3.3 Die Hauptkontrolleinheit und periphere Hardware Abbildung 5: Die beheizte Hundehütte 3.2 Das Hoflicht- und Alarmsystem Abb. 6 skizziert das Anwesen. Die bereits beschriebenen Öfen sind im oberen Mittelteil dargestellt. Das obere Gebäude war ehemals ein Stall, der jetzt als Garage und Waschküche dient und außer den Öfen auch die Holz- und Ölvorräte beherbergt. Das Wohnhaus ist auf der linken Seite zu finden. Die Gebäude rechts und unten sind Wirtschaftgebäude. In der Mitte des Bildes sind die Positionen der Lampen (n-p) und der Lichtsensoren dargestellt. Wenn es draußen dunkel ist und eine der Türen geöffnet wird, wird automatisch das Hoflicht eingeschaltet. Zwei der Lampen bleiben auch nach dem Schliessen aller Türen für weitere 20 Sekunden eingeschaltet, damit man den Hof problemlos überqueren kann. Die dritte Lampe (p) wird hingegen als Rückmeldung sofort abgeschaltet. Die Hauptkontrolleinheit besteht aus 6 Elementen. Zwei Netzteile (12 Watt bei 5 V bzw. 12 V) sind für die Stromversorgung der Sensoren und der Kontrollrelais verantwortlich. Die digitalen Ein- und Ausgänge der Sensorik/Aktuatorik werden über 4 I2C-Schnittstellenbausteine mit 8 Bit Breite angeschlossen, wobei 2 für die Eingänge und 2 für die Ausgänge verwendet werden. Die Eingänge bekommen Daten von den Türkontakten, dem Lichtsensor und den Endschaltern des Solarpanels. Die Platine mit dem steuernden Mikrocontroller ist eine CardD64 der Fa. Elektronikladen, die mit einem 8 MHz Freescale HC(S)12 mit 4 KB Hauptspeicher und 64 KB ROM bestückt ist. Die kleine Platine ist in Abb. 7 im oberen Mittelteil zu finden. Auf diesem Microcontroller läuft das gesamte Hauskontrollsystem. Neben der Hauptkontrolleinheit wird eine Reihe peripherer Hardware benötigt, um den Ölbrenner und die Pumpen zu steuern. Hier kommen insgesamt 16 Triac 220V/4A Lastschalter zum Einsatz. Letztere haben zusätzlich den Vorteil, dass sie auch manuell geschaltet werden können, was in Problemfällen z. B. eine schnelle Abschaltung defekter Geräte ermöglicht. 62

5 softwaregesteuerte Emulation einer parallelen Schnittstelle notwendig ist, die Signalantwortzeiten von 0.5 Millisekunden garantieren muss. Deshalb war es notwendig, ein präemptives, prioritätenbasiertes Planungsschema für die Steueraktivitäten zu verwenden. Andernfalls wäre es nicht möglich gewesen, die vorgegebenen Zeitschranken einzuhalten. Das kombinierte Licht-/Alarmsystem verwendet eine Sirene und einen Lichtsensor. Ferner kommen im Heizungssystem eine Reihe von Pumpen zum Einsatz. Die Kontrolleinheit ist über eine RS 232 Schnittstelle mit einem PC verbindbar, um das System bei Bedarf zu reprogrammieren oder den Zustand der Haussteuerung abzufragen. 3.4 Das Steuersystem Abbildung 7 Die Hauptkontrolleinheit Die Temperatursensoren vom Typ SMT160 arbeiten mit Pulsweitenmodulation (vergl. Abschnitt 2) und generieren eine Frequenz zwischen 1 und 8 Khz. Diese Sensoren sind über einen Maxim 16x1 Multiplexer an das System angeschlossen. Die Alarmanlage wie auch das Heizungssystem benötigen eine hinreichend genaue Uhrzeit, die von einer Conrad DCF77 Funkuhr geliefert wird. Mit Hilfe des Funksignals werden stündlich oder nach einem Reset die internen Uhren des Mikrocontrollers abgeglichen. Die Funkuhr ist batteriebetrieben und wird direkt an den Mikrocontroller angeschlossen. Letzteres ist nicht ganz trivial, da für den Anschluss eine In Abb. 8 sind die gesamten Komponenten des Steuersystems dargestellt. Alle dunkelgrauen Komponenten sind hardware-abhängige Gerätetreiber, während die hellgrauen Komponenten hardware-unabhängig sind. Mit ca. 800 Zeilen C++-Quellcode und einem Speicherverbaruch von 23 KB Code und 2 KB Daten, von denen ca. 1.7 KB allein auf die komplexe Funkuhrenbehandlung zurückzuführen sind, ist das Gesamtsystem trotz der relativ hohen Komplexität erstaunlich klein und wartbar. Dies ist in erster Linie auf das eingängige und problemadäquate Ereignisflusskonzept von REFLEX mit seinen impliziten Synchronisationsmechanismen und der objektorientierten Implementierung zurückzuführen. Der Programmierer kann so seine Probleme auf einem hohen Abstraktionsniveau formulieren und wird von der typischen, extrem fehleranfälligen Synchronisationsproblematik in nebenläufigen Systemen weitgehend befreit. Abbildung 8: Die Software-Komponenten des Hauskontrollsystems 63

6 Zu Beginn des Projektes musste die Software etwa wöchentlich aktualisiert werden, um all die diversen Parameter korrekt einzustellen. Dies war jedoch weniger ein Software als ein allgemeines Mess- und Regelproblem. Danach wurden Software-Änderungen in erster Linie zur funktionalen Erweiterung und zur Aktualisierung der REFLEX-Basiplattform durchgeführt, wobei die diversen graphischen Möglichkeiten zur Systemüberwachung die wichtigsten waren. Abgesehen davon lief das System über längere Perioden (bis zu 7 Monaten) fehlerfrei. Die längste Periode wurde jäh durch einen Blitzschlag im Sommer 2007, der alle elektrischen Einrichtungen des Hauses zerstörte, beendet. 5 Zusammenfassung In diesem Artikel haben wir REFLEX, ein ereignisgetriebenes Betriebssystem für tief eingebettete Systeme vorgestellt und die wesentlichen Eigenschaften des Systems anhand eines komplexen Hauskontrollsystems, das 24 Sensoren, 16 Aktuatoren und 6 externe Geräte mit nur einem einfachen Mikrocontroller steuert, demonstriert. Sowohl das REFLEX zugrunde liegende Ereignisflussmodell als auch die objektorientierte Implementierung haben eine hohe Effektivität in der Softwareentwicklung ermöglicht. Die Ereigniskanäle und die impliziten Synchronisationsmechanismen erlauben es in Verbindung mit dem Scheduling-Rahmenwerk, neue Steuer- und Regelsoftware weitgehend frei aus vorhandenen Komponenten zusammenzustellen. Der nächste logische Schritt wird eine weitere Erhöhung des Abstraktionsniveaus durch modellgetriebenen Entwurf sein. Ein erster Schritt in diese Richtung wurde bereits unternommen, indem eine REFLEX-Laufzeitumgebung für ein kommerzielles SDL-Werkzeug realisiert wurde (WAGENKNECHT, DIETTERLE, EBERT & KRAE- MER; 2006). Literatur BAJORATH, R.; (2005): Hintergrundinformationen zur verfahrenstechnik (Tech. Rep.). Bajorath Systemhaus für Regelungstechnik und Hydraulik GmbH. CHEONG, E.; LIEBMAN, J.; LIU, J. & ZHAO, F.; (2003): Tinygals: A programming model for event-driven embedded systems. In Sac (p ). WAGENKNECHT, G.; DIETTERLE, D.; EBERT J.-P. & KRAEMER R., (2006): Transforming protocol specifications for wireless sensor networks into efficient embedded system implementations. In Proc. of european workshop on wireless sensor networks. WALTHER K. & NOLTE J., (2006): Event-flow and synchronization in single threaded systems. In First gi/itg workshop on non-functional properties of embedded systems (nfpes). WALTHER K. & NOLTE J., (2007): A flexible scheduling framework for deeply embedded systems. In In proc. of 4th ieee international symposium on embedded computing. M.Sc. Karsten Walther, geboren 1978, Studium der Informations und Medientechnik an der BTU Cottbus , seit Oktober 2003 wissenschaftlicher Mitarbeiter am Lehrstuhl Verteilte Systeme Betriebssysteme. Beschäftigt sich mit der Hochsprachen-basierten Programmierung tief eingebetteter Systeme. Dipl.-Inf. Reinhardt Karnapke, geboren 1978, Studium der Informatik an der FU Berlin , seit April 2005 wissenschaftlicher Mitarbeiter am Lehrstuhl Verteilte Systeme Betriebssysteme. Beschäftigt sich mit Kommunikationsprotokollen für Sensornetze und tief eingebettete Systeme. Prof. Dr.-Ing. Jörg Nolte wurde 1962 geboren und ist seit 2003 Professor für Verteilte Systeme und Betriebssysteme an der Brandenburgischen Technischen Universität Cottbus. Er erhielt 1988 sein Diplom in Informatik von der TU Berlin und promovierte 1994 an der TU Berlin zum Dr.-Ing. Von war er am Forschungsinstitut für Rechnerund Softwaretechnik (FIRST) der GMD (seit 2001 FhG) tätig und war dort u. a. maßgeblich an dem Entwurf und der Entwicklung der PEACE Betriebssystemfamilie für Deutschlands ersten massiv parallelen Rechner beteiligt. In den Jahren und ging er als Postdoc Fellow und Senior Researcher im Rahmen des Real World Computing Programmes des MITI an das Tsukuba Research Center der RWCP in Japan. Die aktuellen Forschungsaktivitäten seines Lehrstuhls konzentrieren sich auf schlanke Middleware-, Laufzeit- und Betriebssysteme für verteilte, parallele und eingebettete Systeme. Jörg Nolte ist seit 2004 Mitglied des Leitungsgremiums der FG Betriebssysteme der Gesellschaft für Informatik und seit 2008 deren stellvertretender Sprecher. Ferner ist er Subject Area Editor for Parallel and Distributed Systems für Elsevier s Journal of Systems Architecture und seit Ende 2005 Vorsitzender des Fakultätsrates der Fakultät 1 Mathematik, Naturwissenschaften und Informatik an der BTU Cottbus. 64

Reflex The Real-Time Event Flow EXecutive

Reflex The Real-Time Event Flow EXecutive Einführung The Real-Time Event Flow EXecutive Karsten Walther, und Jörg Nolte Brandenburgische Technische Universität Cottbus 1. Statusseminar des InnoProfile Projekt TANDEM 2007 Gliederung Einführung

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem ein präemptives Echtzeit-Multitasking-Betriebssystem 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.9 2011-10-12 Management

Mehr

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung

Mehr

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich.

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich. Kapitel 2 Pulsweitenmodulation Die sogenannte Pulsweitenmodulation (kurz PWM) ist ein Rechtecksignal mit konstanter Periodendauer, das zwischen zwei verschiedenen Spannungspegeln oszilliert. Prinzipiell

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

OSEK / OSEKtime - ein Vergleich

OSEK / OSEKtime - ein Vergleich OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur

Mehr

Microcontroller Programmierung. Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0

Microcontroller Programmierung. Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0 Microcontroller Programmierung Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0 Inhalt Einführung Die Hardware Die Schaltlogik Implementierung der Steuerung

Mehr

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 3: Aspekte in Betriebssystemen und AspectC++-Tutorial Michael Engel und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

Bericht von Manuel Trimpop zum Wettbewerb Automation mit Fantasie

Bericht von Manuel Trimpop zum Wettbewerb Automation mit Fantasie Bericht von zum Wettbewerb Automation mit Fantasie Hintergrund meiner Idee: Wir haben uns seit ca.2005 mit dem Thema Heizen mit Holz beschäftigt, da wir im Zuge der steigenden Energiekosten eine Alternative

Mehr

Beispielprojekt Tuning einer Wärmepumpe

Beispielprojekt Tuning einer Wärmepumpe Bergstraße 32 89349 Burtenbach www.heizkoerperverstaerker.de www.mikrocontroller-experte.de heim@mikrocontroller-experte.de Beispielprojekt Tuning einer Wärmepumpe Inhalt 1. Wärmepumpenbaukasten... 1 2.

Mehr

Minisat. Eine neue Art der Bewässerung

Minisat. Eine neue Art der Bewässerung Minisat Eine neue Art der Bewässerung Können Sie sich vorstellen, über ein einheitliches Bewässerungssystem zu verfügen, das sich modernster Kommunikationssysteme wie Internet, Mobiltelefon und Funk bedient?

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Monitoring von. Sebastian Theiss. Innovationsforum Software Saxony Dresden, 24. April 2009

Monitoring von. Sebastian Theiss. Innovationsforum Software Saxony Dresden, 24. April 2009 TU Dresden» Informatik» ngewandte Informatik» Technische Informationssysteme Einsatz von genten zum Monitoring von utomatisierungssystemen Vladimir Vasyutynskyy Sebastian Theiss Innovationsforum Software

Mehr

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

Mehr

Serie 8: Microcontroller 17./18.07.2014

Serie 8: Microcontroller 17./18.07.2014 Serie 8: Microcontroller 17./18.07.2014 I. Ziel der Versuche Erster Erfahrungen mit einem Microcontroller sollen gesammelt werden, die grundlegenden Ein- Ausgabe-Operationen werden realisiert. II. Vorkenntnisse

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Alarmgeber. Alarmgeber. Produktkatalog - SafeLine 2011 152-153 154-160. Alarmgeber SmartSMS. Allgemeines Zubehör Ersatzteile Produktindex

Alarmgeber. Alarmgeber. Produktkatalog - SafeLine 2011 152-153 154-160. Alarmgeber SmartSMS. Allgemeines Zubehör Ersatzteile Produktindex menu Alarmgeber Produktkatalog - SafeLine 2011 Alarmgeber Alarmgeber SmartSMS Allgemeines Zubehör Ersatzteile Produktindex 152-153 154-160 179-196 197-202 211-212 151 Alarmgeber Alarmgeber SmartSMS Die

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

AVR Net-IO. Der originale von Pollin vertriebene Bausatz hat folgende Eckdaten:

AVR Net-IO. Der originale von Pollin vertriebene Bausatz hat folgende Eckdaten: AVR Net-IO 2013 DL2USR Bitte alles sorgfältig lesen. Weitere Hinweise enthält die Readme.txt im Softwareordner. Keine Garantie für Vollständigkeit und Fehlerfreiheit, kein Support in irgendeiner Art! Ein

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

OMEGA Architektur. Verlässlichkeit komponentenbasierter Systeme. Hauptseminar Softwaretechnik Falk Reimann EGS Softwaretechnik

OMEGA Architektur. Verlässlichkeit komponentenbasierter Systeme. Hauptseminar Softwaretechnik Falk Reimann EGS Softwaretechnik Verlässlichkeit komponentenbasierter Systeme Hauptseminar Softwaretechnik EGS Softwaretechnik s7286510@inf.tu-dresden.de Betreuer: Steffen Zschaler Überblick Motivation QoS Broker QoS Protokoll Dienste

Mehr

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen

Mehr

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

Mehr

Efficient Design Space Exploration for Embedded Systems

Efficient Design Space Exploration for Embedded Systems Diss. ETH No. 16589 Efficient Design Space Exploration for Embedded Systems A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Sciences presented by

Mehr

UART-Kommunikation mit dem Atmel AVR

UART-Kommunikation mit dem Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier UART-Kommunikation mit dem Atmel

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

[ Experiment- und Datenprotokollierung. mit der EV3 Software]

[ Experiment- und Datenprotokollierung. mit der EV3 Software] 2013 [ Experiment- und Datenprotokollierung mit der EV3 Software] Experiment Datenprotokollierung Es gibt zwei Möglichkeiten um die Datenaufzeichnung durchzuführen. Eine besteht darin, die Datenprotokollierung

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

Java Real-Time Specification

Java Real-Time Specification Ausgewählte Kapitel eingebetteter Systeme Java Real-Time Specification Tobias Distler 05.07.2006 Java und Echtzeit? Problem Nichtdeterministisches Verhalten der Garbage Collection Weitere Nachteile Scheduling

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Funktionskapselung in Steuergeräten

Funktionskapselung in Steuergeräten Funktionskapselung in Steuergeräten Mobilität und Echtzeit Boppard am Rhein, 07.12.2007 Stand: 07.12.2007 1 Funktionskapselung in Steuergeräten Inhalt Ausgangssituation und Motivation Begriff "Kapselung"

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

MODBUS/TCP und Beckhoff Steuerelemente

MODBUS/TCP und Beckhoff Steuerelemente MODBUS/TCP und Beckhoff Steuerelemente Die 1.7.5 Version wurde zum DOMIQ/Base Modul die Funktion der Bedienung des MOD- BUS/TCP und MODBUS/UDP Protokolls hinzugefügt. Das Base Modul erfüllt die Rolle des

Mehr

Wolki der freundliche DIY Wolkensensor

Wolki der freundliche DIY Wolkensensor Make Light-Wettbewerb 2014 Photonik vernetzt - vernetzte Photonik Wolki der freundliche DIY Wolkensensor Bei diesem Projekt handelt es sich um ein privates DIY-Projekt von René Bohne. Kurzbeschreibung

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

FACTS eine regelbasierte Middleware für WSN

FACTS eine regelbasierte Middleware für WSN FACTS eine regelbasierte Middleware für WSN Seminar Sensordatenbanken 13.07.2007 Vortragender: Paul Buerschaper Gliederung der Präsentation 1. Middleware 2. FACTS 3. Beispielszenario 4. Bewertung Definition

Mehr

Performance Monitoring Warum macht es Sinn?

Performance Monitoring Warum macht es Sinn? Performance Monitoring Warum macht es Sinn? achermann consulting ag Nicola Lardieri Network Engineer Luzern, 25.5.2011 Inhalt Definition Monitoring Warum Performance Monitoring? Performance Monitoring

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Softwaredokumentation. PaCT V2.04

Softwaredokumentation. PaCT V2.04 Softwaredokumentation Januar 2009 INHALTSVERZEICHNIS 1 Systemvoraussetzungen... 2 2 Softwareinstallation... 3 3 Hardwareinstallation... 3 4 Start... 4 5 Drop Down Menüs... 6 6 Programmeinstellungen...

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Integration mit dem Alarmsystem

Integration mit dem Alarmsystem Integration mit dem Alarmsystem In diesem Tutorial zeigen wir die Integration vom DOMIQ/Base mit der SATEL Alarmzentrale. Diese Kombination tritt in fast allen LCN und DOMIQ Installationen der Gebäudeautomatisierung

Mehr

Anleitung zur Durchführung von Softwareaktualisierungen THERMOMAX THX - DL

Anleitung zur Durchführung von Softwareaktualisierungen THERMOMAX THX - DL Anleitung zur Durchführung von Softwareaktualisierungen THERMOMAX THX - DL Datenlogger Einleitung Sehr geehrte Damen und Herren, vielen Dank das Sie sich für ein Produkt aus unserem Hause entschieden haben.

Mehr

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Projekt von Sergio Staab, Niklas Abel

Projekt von Sergio Staab, Niklas Abel (1) Was haben wir vor (Unser Projekt) -Hardware Aufbau -Software Aufbau (2) Der RP6 -Sensoren -Prozessor -Motor/Leistung (3) I2C Schnittstelle (4) Raspberry Pi -Schnittstellen -Prozessor -Betriebssystem

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Eberhard Baur Informatik Schützenstraße 24 78315 Radolfzell Germany Tel. +49 (0)7732 9459330 Fax. +49 (0)7732 9459332 Email: mail@eb-i.de

Mehr

On-Board Fahrzeugdiagnose

On-Board Fahrzeugdiagnose 1 Übersicht 1.Einführung 2.Bussysteme 3.OBD II 4.Zusammenfassung 2 Einführung Haupteinsatzbereiche elektronischer Systeme in Fahrzeugen: Motorsteuerung (Zündung,Einspritzung,...) Steuerung des Fahrverhaltens

Mehr

Einsparmöglichkeiten Biozentrum.

Einsparmöglichkeiten Biozentrum. Einsparmöglichkeiten Biozentrum. 1. 2. 3. 4. 5. 6. Einführung Zusammenfassung Einsparmöglichkeiten: EDV Einsparmöglichkeiten: Beleuchtung Einsparmöglichkeiten: Heißwasser Einsparmöglichkeiten: Heizungen

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan 0526530. 17. November 2015

HW/SW CODESIGN. Echtzeitverhalten. Mehmet Ozgan 0526530. 17. November 2015 HW/SW CODESIGN Echtzeitverhalten 17. November 2015 Mehmet Ozgan 0526530 ÜBERBLICK 1. Echtzeitsysteme 2. Hardware im Zeitbereich 3. Software im Zeitbereich 2 ECHTZEITSYSTEME REAL-TIME SYSTEM Ein Echtzeitsystem

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Caching Handbuch. Auftraggeber: Version: 01. INM Inter Network Marketing AG Usterstrasse 202 CH-8620 Wetzikon

Caching Handbuch. Auftraggeber: Version: 01. INM Inter Network Marketing AG Usterstrasse 202 CH-8620 Wetzikon Caching Handbuch Auftraggeber: Version: 01 Projekttyp: Erstellt durch: Internet David Bürge INM Inter Network Marketing AG Usterstrasse 202 CH-8620 Wetzikon Email david.buerge@inm.ch URL http://www.inm.ch

Mehr

LÖSUNG FÜR HEIZEN UND KÜHLEN IM WOHNBEREICH

LÖSUNG FÜR HEIZEN UND KÜHLEN IM WOHNBEREICH LÖSUNG FÜR HEIZEN UND KÜHLEN IM WOHNBEREICH WÄRMEPUMPENTECHNOLOGIE VON SEINER BESTEN SEITE Das Heiz- und Kühlsystem Daikin Altherma basiert auf einer ntechnologie und stellt eine flexible und kostengünstige

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Einführung der neuen 10- -Banknote der Europa-Serie

Einführung der neuen 10- -Banknote der Europa-Serie Einführung der neuen 10- -Banknote der Europa-Serie Die neue Version der 10- -Banknote wird am 23. September in Umlauf gebracht. CPI ist erfreut, bekanntgeben zu können, der MEI Cashflow 2000 sowie alle

Mehr

Kann man Wärme pumpen? Die Wärmepumpe

Kann man Wärme pumpen? Die Wärmepumpe Kann man Wärme pumpen? Die Wärmepumpe Inhalt 1. Was ist eine Wärmepumpe? Wie funktioniert sie? 2. Experimente 2.1 Welchen Wirkungsgrad hat die Wärmepumpe? (Experiment 1) 2.2 Wie groß ist die spezifische

Mehr

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem

Limit betrieben wird. Als Systemsoftware wird wenn überhaupt ein schlankes, vielfach selbst entwickeltes Realzeitbetriebssystem 1 1 Einleitung Systeme, die neben den ohnehin vorhandenen funktionalen Anforderungen zusätzlich noch zeitlichen Anforderungen typischerweise im Sekundenbereich und darunter genügen müssen, werden als Realzeitsysteme

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Firmware-Update für den SUPER COOLSCAN 4000 ED

Firmware-Update für den SUPER COOLSCAN 4000 ED Einführung (Seite 2) Durchführung des Updates (Seite 3 6) 1 Einführung 1.1 Überblick Das Firmware-Update-Programm für den SUPER COOLSCAN 4000 ED ist ein Hilfsprogramm, das die im Flash-Speicher des SUPER

Mehr

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08 PIWIN II Kap. 3: Verteilte Systeme & Rechnernetze 1 PIWIN II Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II Vorlesung 2 SWS SS 08 Fakultät für Informatik Technische

Mehr

Mit wärmsten Empfehlungen

Mit wärmsten Empfehlungen Mit wärmsten Empfehlungen Tipps zur Warmwasserbereitung TIPPS ZUR WARMWASSERBEREITUNG 2 Warm sparen Eine wohltemperierte Dusche an einem kalten Morgen ein guter Einstieg in den Tag! Durchschnittlich entfallen

Mehr

5. Digitale Schnittstellen und Vernetzung im Überblick

5. Digitale Schnittstellen und Vernetzung im Überblick 5. Digitale Schnittstellen und Vernetzung im Überblick 5.1 Schnittstellen für Computerperipherie speziell: USB, FireWire 5.2 Drahtgebundene Netztechnologien z.b. Ethernet, ATM 5.3 Drahtlose Netztechnologien

Mehr

ABB i-bus KNX Energieaktor SE/S 3.16.1 Produktinformation

ABB i-bus KNX Energieaktor SE/S 3.16.1 Produktinformation ABB i-bus KNX Energieaktor Produktinformation ABB i-bus KNX Energieaktor Der neue ABB i-bus KNX Energieaktor ist ein Schaltaktor, der den Energieverbrauch der angeschlossenen elektrischen Verbraucher im

Mehr

Visualisierung paralleler bzw. verteilter Programme

Visualisierung paralleler bzw. verteilter Programme Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte

Mehr

Forschungsergebnisse: UART/TP-Bus. ein maßschneiderbares Feldbussystem zur Vernetzung von Microcontrollern. Computer Networks Group

Forschungsergebnisse: UART/TP-Bus. ein maßschneiderbares Feldbussystem zur Vernetzung von Microcontrollern. Computer Networks Group Forschungsergebnisse: Der UART/TP-Bus ein maßschneiderbares Feldbussystem zur Vernetzung von Microcontrollern Computer Networks Group Dipl.-Inform. J. Thees Fachbereich Informatik Universität Kaiserslautern

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Leckage-Überwachung LECKAGE - NACHTVERBRAUCH LECKAGE - VORLAGE

Leckage-Überwachung LECKAGE - NACHTVERBRAUCH LECKAGE - VORLAGE Mai, 2010 Leckage-Überwachung LECKAGE - NACHTVERBRAUCH Alle Messwerte werden in kurzen Intervallen (15 Minuten Werte), ausgelesen. Deshalb lässt sich eine präzise Verbrauchskurve für den jeweiligen Leitungsabschnitt

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Makros für SolidWorks und Excel

Makros für SolidWorks und Excel Inhalt 1 Einleitung... 1 2 Viele SolidWorks-Dateien umbenennen und im Feature-Baum austauschen (SolidWorks + Excel)... 2 2.1 Anwendungsfälle... 2 2.2 Features... 2 2.3 Vorrausetzungen... 2 2.4 Ihr Gewinn...

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Rapid Prototyping mit CANape Version 1.0 2010-11-22

Rapid Prototyping mit CANape Version 1.0 2010-11-22 Version 1.0 2010-11-22 Inhaltsverzeichnis 1.0 Übersicht...3 2.0 Funktionsentwicklung mit MATLAB...4 3.0 Simulink als Ablaufumgebung CANape als komfortable Bedienoberfläche...4 4.0 CANape als Ablaufumgebung...5

Mehr

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem? 1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Programierung Stand 24.05.2014

Programierung Stand 24.05.2014 Funktion 1: Heizkreisregelung A3, A8/9 Programierung Stand 24.05.2014 http://doku.uvr1611.at/doku.php/uvr1611/funktionen/timer S15: Raumsenor Erdgeschoss S 15 Temp.Raum S5: Fussbodenheizung Vorlauf S 5

Mehr

Business Process Model and Notation

Business Process Model and Notation BPMN 2.0 Crashkurs Business Process Model and Notation entwickelt von der Object Management Group, einem Konsortium von vielen Firmen (u.a. HP, IBM, Microsoft, Oracle, SAP) >60 verschiedene Produkte implementieren

Mehr

Einsatz einer Echtzeit-Publish/Subscribe-Kommunikation für die Teleoperation mobiler Roboter

Einsatz einer Echtzeit-Publish/Subscribe-Kommunikation für die Teleoperation mobiler Roboter Einsatz einer Echtzeit-Publish/Subscribe-Kommunikation für die Teleoperation mobiler Roboter, André Herms und Michael Schulze lindhors@st.ovgu.de, {aherms,mschulze}@ovgu.de Fakultät für Informatik Institut

Mehr

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering,

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität München Institut für Informatik ISO 26262 Functional

Mehr