PoE

Programmierung - C auf mCAT-Echzeitkern

mCAT
  • Welche Dienste bietet der mCAT Echtzeitkern?
    • Download-Empfänger für Ihre Programme, Flash-Programmierung und Löschen einzelner Seiten.
    • Monitor-Programm zum Debuggen.
    • "Ticker" zur Intervallsteuerung
    • Echtzeituhr zur Zeitpunktsteuerung.
    • EEPROM-Verwaltung für Konfigurations-Parameter.
    • SerDrv für ser. Kommunikation
    • BITBUS-Treiber für Slave- und Masterfunktionen am Feldbus.
    • Express-I/O zur einfachen Ansprache von digitalen und analogen E/A. Mit Express Hintergrundfunktionen u.a. für:
    • Ereigniszähler, Frequenzzähler, Impulsfänger
    • Zeitversetzte Ausgänge (Wischrelais, Monoflop)
    • Impulserzeugung, PWM
    • Sensor-Linearisierung
    • BgMem Dateisystem zur Ablage von Datensätzen

 

 

Ein Echtzeitkern ermöglicht die Aufteilung einer Progammieraufgabe in Einzelprogramme für z.B. Ablauf, Regelung, PC-Kommunikation etc. und nutzt die Wartezeiten jedes Teilprogramms, um die anderen quasi-gleichzeitig laufen zu lassen.

 

mCATs "Express-I/O" zählt so z.B. auf normalen digitalen Eingängen - es schaut alle 10ms nach, ob der Eingang sich verändert hat, wenn ja, wird der entsprechende Zähler hochgesetzt. Ihre PC-Kommunikationstask z.B. nutzt den seriellen Interrupttreiber SerDrv: Programmiert man diesen etwa auf CR als Telegrammende, dann sendet SerDrv eine Nachricht an Ihre Task, wenn eine Anforderungszeile vom PC komplett eingegangen ist. Ihre Task wird durch die Nachricht geweckt (dabei wird noch der Vorrang evtl. wichtigerer Tasks berücksichtigt) und kann dann beispielsweise mit Statusinformationen antworten. Während diese Antwort durch SerDrv im Hintergrund per Interrupt versandt wird, läuft schon wieder eine andere Task Ihrer Anwendung.

 

In ähnlicher Weise wartet Ihre Task z.B. auf ein Ethernet-Telegramm über die TCP/IP-Socket-Schnittstelle.

 

Zur Zeit steht mCat für den TLCS900 und ARM Prozessoren zur Verfügung.