PEARL-User-Group / AK1 GI-FG REAL-TIME
Treffen 2006


Allgemeines

Das Treffen der PEARL-User-Group bzw. des Arbeitskreises Embedded Systems, RTOS-UH/PEARL der GI-Fachgruppe Echtzeitsysteme und PEARL (REAL-TIME) fand am Donnerstag, 08.06.2006, 14:00-17:00 Uhr, mit 10 Teilnehmern am Institut für Regelungstechnik der Universität Hannover statt.

TOP1: PEARL 90 Weiterentwicklungen

  • Prof. Thiele wird in Kürze in den Ruhestand gehen. Für seine Tätigkeit im Normenausschuss Informationssysteme (NI22) wird noch ein Nachfolger gesucht.
  • Frau Prof. Vogel-Heuser ist jetzt an der Universität Kassel tätig, wird sich aber weiterhin in der Fachgruppe engagieren.
  • Der Workshop PEARL 2006 findet vom 30.11.-01.12.2006 in Boppard mit 13 Beiträgen zu den Themen Echtzeit im Alltag, Methoden der Echtzeitdatenverarbeitung und Kommunikation statt.
  • Die Fachgruppe lobt Reisestipendien für junge Wissenschaftler zwecks Teilnahme an einer anerkannten internationalen Konferenz im Bereich Echtzeitsysteme aus. Bisher ist das Angebot leider nur wenig in Anspruch genommen worden.
  • In 2005 wurden von Geräteherstellern (ohne Ingenieurbüros) 3.500 RTOS-Systeme verkauft. Damit dürfte die Zahl der insgesamt realisierten RTOS-Systeme auf über 50.000 gestiegen sein.
  • Eine Erteilung der Betriebsbewährtheit für ein PowerPC RTOS-System wie 1997 für ein 68K-System erfolgt zunächst nicht, da dem TÜV nicht mehr die Bestätigung von fehlerfreien Betriebsstunden ausreicht. Statt dessen wird eine genaue Anwendungsanalyse gefordert, die aber nicht mit vertretbarem Aufwand realisierbar ist.

TOP2: Compiler und Laufzeitsysteme: Statusbericht und Ausblick

Die Änderungen in den Systemkomponenten sind der ständig aktualisierten Revisionsliste zu entnehmen.

Nukleus

  • Die neueste Version des Nukleus ist 7.9-O mit einer Änderung, die Probleme bei Message-Send mit dynamischen Prioritäten verhindert. Dieser Fehler tritt jedoch nur bei sehr wenigen Anwendungen auf und wird dann sofort sichtbar.

PEARL-Compiler

  • Behebung eines Fehlers beim alten P80 WRITE und Dation-Namen mit mehr als 6 Zeichen.
  • Ein Fehler beim Aufruf von Prozeduren mit leerer Parameterliste wurde behoben. Beispiel: Zwei Funktionen ohne Eingabeparameter werden wie folgt deklariert:
    XYZ1: PROC RETURNS(FIXED); und
    XYZ2: PROC RETURNS(REF ...); Während man mit X=XYZ2; den Zeiger auf die Prozedur XYZ2 erhält, liefert X=XYZ2(); den von der Prozedur ermittelten und zurückgegebenen Zeiger. Der in PEARL90 nicht beschriebene Aufruf mit leerer Parameterliste ist nur in diesem Fall sinnvoll. Der Aufruf I=XYZ1(); ist nicht vorgesehen und konnte unter Umständen zu dem behobenen Fehler führen, der auch nicht unmittelbar sichtbar wurde. Zur genauen Erläuterung des Fehlers ist eine grundsätzliche Erläuterung des Speichermodells bei Prozeduraufrufen in einem PEARL-Programm erforderlich. Nachfolgend dargestellt ist der Aufbau eines A5-Workspace-Blockes im Speicher.
    PWSP/TWS-Speicherblock
    Im Fehlerfall (bei I=XYZ1();) wird bei einem Aufruf der Prozedur der Returnvalue-Pointer nicht in den freien Speicherbereich für Prozeduraufrufe geschrieben (s. obige Abbildung), sondern in die letzten 4 Byte der großen lokalen Variablen. Dieses führte dazu, dass ggf. die letzten 4 Byte eines Feldes oder einer Struktur überschrieben wurden. In diesem Zusammenhang wird darauf hingewiesen, dass der reservierte Bereich für weitere Prozeduren mit /*+R=...*/ vorgegeben werden kann. Dieses kann zu einer besseren Performance führen, da das System bei nicht mehr ausreichendem Speicher einen neuen PWSP-Block im Speicher anlegen muss. Zudem kann mit einem ausreichend großen Speicher ein Stacküberlauf bei C-Unterprogrammen vermieden werden, da der Stack in diesem Speicherbereich von oben nach unten wächst.
  • Die maximale Länge von CHAR-Variablen wurde von 255 auf 1000 erweitert. Werden neue Programme mit langen CHAR-Variablen mit einem alten Hyperprozessor verwendet, kommt es zu einer Fehlermeldung. In der Schlussbilanz des Compilers wird auf die Verwendung der langen Zeichenketten hingewiesen.
  • Der bereits beim letzten Treffen vorgestellte XHELP-Befehl, der Bedienbefehle mit nur einem Befehl pro Zeile und mit Platz für einen kurzen Hilfetext ausgibt, kann bei selbst programmierten Bedienbefehlen wie nachstehend aufgeführt mit dem Hilfetext versorgt werden.
    • Assembler: Der Hilfetext steht vor einer Signatur unmittelbar vor der Einsprungmarke der Prozedur des Bedienbefehls.
    • PEARL-Shellmodule: Der Hilfetext wird bei der Deklaration der für den Bedienbefehl verwendeten PEARL-Prozedur in folgender Form angegeben:
      XYZ: PROC{Hilfetext ... } (STDIN DATION ...   ); oder
      XYZ: PROC{'Hilfetext ... '} (STDIN DATION ...   );  
    Der Text kann auch für normale Prozeduren verwendet werden, um z. B. Copyrightvermerke im S-Record zu platzieren. Von den Anwesenden wurde die Möglichkeit von Sonderzeichen im Hilfetext gewünscht.
  • Für den RTOS-UH Exception-Handler wurde ein Anschluss für PEARL-Programme erstellt. Die detaillierte Realisierung soll sich nach den Wünschen der Anwender richten und wird daher zur Diskussion gestellt. Der Bisherige Stand ist:
    • Vereinbarung nur auf Taskebene:
              TT: TASK;
                ...
                ON E_(integer) RST(structname)
                   Code für Exception-Handling
                END;
                ...
              END;
      
      
    • integer bezeichnet die Exception und structname ist eine Struktur, in der der Exceptionhandler Informationen ablegt.
    • Das END des ON-Blockes führt auf ein TERMINATE. Es ist jedoch zu überlegen, ob es nicht auch sinnvoll sein kann, die Task nach entsprechender Umkonfiguration durch den ON-Block weiter laufen zu lassen, da z. B. sonst die Behandlung offener Dations unklar ist.

TOP3: Neue RTOS-UH Implementierungen

  • Eine neue Version des WinSTon mit schnellerem Festplattenzugriff und der Zugriffsmöglichkeit auf PCI-Karten steht zum Download zur Verfügung.
  • Eine neue Version des WinNetFM, der den Zugriff von RTOS-Rechnern auf Speichermedien (Festplatte, USB-Stick, Diskette etc.) von Windows-Systemen gestattet, steht zum Download zur Verfügung. Der WinNetFM funktioniert z. Zt. nur auf den TCP/IP-Sockets der Fa. esd.
  • Am IRT ist eine RTOS-UH Implementierung für die PPMC280-Karte von Motorola entstanden. Die Karte hat einen MPC7447 PowerPC G4 mit 1 GHz, eine 128-Bit AltiVec-Einheit, 2 Ethernet-Ports und PCI. Da aber nur wenig Prozess-I/O verfügbar ist, wird die Karte mit einer am IRT entwickelten Trägerkarte inklusive PCI-Bridge und einem FPGA, in dem ein freier 32-Bit RISC-Prozessor die CAN-Anbindung realisiert, betrieben.
  • Mit der Implementierung der PPMC280 wurde für den Filemanager UHFM2 ein Unterteil für das interne Flash des Prozessors erstellt. Damit steht unmittelbar ein Massenspeicher für den Rechner zur Verfügung. Der Flash-Filemanager läuft auch auf dem MPC555.

TOP4: Berichte aus den Ingenieurbüros, Entwicklungsabteilungen und Forschungsinstituten

Berichte aus dem Anwenderkreis von RTOS-UH/PEARL

  • Aus dem Bereich Maschinen- und Anlagenbau wird von einer erfolgreichen Umstellung auf PowerPC-Prozessoren berichtet, wodurch in einer Anlagensteuerung vier MC68060-Prozessoren durch einen PowerPC ersetzt werden konnten.
  • Eine neue Version des bereits im letzten Jahr von Herrn Bartels erweiterten Web-Servers ist in Kürze zum freien Download zur Verfügung.
  • Das Thema Vernetzung spielt auch in diesem Jahr wieder eine wichtige Rolle. Berichtet wird von der Ferndiagnose und -wartung von einer großen Zahl, zum Teil im Ausland installierten RTOS-Systemen über FTP- und Mail-Dienste.
  • An Hochschulen wird RTOS-UH sowohl in Forschungsprojekten als auch in der Lehre eingesetzt.
  • Auch ältere, noch nicht mit PEARL90 realisierte Projekte laufen noch immer und werden weiter gepflegt.

Berichte aus den Ingenieurbüros

  • Herr Kroll von der Fa. IEP berichtet über die steigende Nachfrage nach PowerPC-Systemen. Hier wird der MPC5200 (FPU, 400MHz) langfristig den z.Zt. noch überwiegend eingesetzten MC68332 ersetzen. Auch für den privaten Bereich geeignet ist ein Kleinrechner mit MC68332, Gehäuse, serieller und CAN-Schnittstelle sowie Digital-I/O. Die Entwicklungsumgebung CoDeSys nach IEC 61131-3 steht mit einer neuen Oberfläche zur Verfügung.
  • Herr Jensch von der Fa. esd GmbH stellt einen Kleinrechner auf Basis des MPC5200 (FPU, 400MHz) vor. Der Rechner ist für die Montage auf einer Hutschiene vorgesehen, über die sowohl die Spannungsversorgung als auch der CAN-Anschluss von zusätzlichen Hutschienenmodulen für Prozess-I/O erfolgt. Der MPC5200 ist auch als Compact-PCI-Rechner verfügbar.

Torsten Lilge