PEARL-User-Group / AK1 GI-FG REAL-TIME
Das Treffen der PEARL-User-Group bzw. des Arbeitskreises 1 der GI-Fachgruppe 4.4.2 fand am 04.06.1998, 14:00-16:30 Uhr, mit 24 Teilnehmern am Institut für Regelungstechnik statt.
PEARL 90 Weiterentwicklungen
- Die PEARL 90 Norm (DIN 66253-2:1998-04) ist jetzt in endgültiger Form erschienen (Weißdruck).
- Die GI-Fachgruppe 4.4.2 plant, einen deutsch- und englischsprachigen PEARL-Sprachreport auf ihrem WWW-Server zu veröffentlichen.
- Der PEARL-Workshop 1998 findet vom 26.-27.11. wie gewohnt in Boppard statt.
- Am Institut für Regelungstechnik wurde mit einer englischen übersetzung des RTOS-UH Handbuchs begonnen (zunächst nur die Beschreibung der Bedienbefehle). Das deutschsprachige Handbuch ist auf dem RTOS-UH Server als PDF-Dokument verfügbar. Die Probleme bei der Darstellung des Handbuchs im PDF-Format auf Apple-Rechnern sind behoben.
- Die mögliche Erweiterung von PEARL 90 um Elemente der objektorientierten Programmierung wird aktuell diskutiert.
Compiler und Laufzeitsysteme
- Der PEARL 90 Compiler für RTOS-UH bietet das neue Attribut
CONTROL
fürBASIC
-Dations:
SPC ... DATION IN/OUT/INOUT BASIC CONTORL;
...
SEND/TAKE ... TO ... BY RST(I),CONTROL(J);
Dabei sindI
undJ
vom Typ FIXED(31).I
enthählt einen möglichen Fehlerstatus der Ein-/Ausgabe (Adr. vonI
wird in A1 übergeben) undJ
einen übergabewert an die Datenstation, wie z.B. Nummer des AD-Kanals, Offset etc. (Wert vonJ
wird in D1 übergeben). - Die neue Einbaufunktion
CMPW
ermöglicht den Vergleich von Strings, die Wildcards enthalten. - Module dürfen größer als 16MB sein. Ein in diesem Fall neues S-Record-Format erfordert jedoch einen neuen Lader.
- Symbolnamen, die mit '
_
' oder einer Ziffer beginnen, sind nicht mehr erlaubt (nach Norm auch nicht vorgesehen). - Neue Compilermodes:
MODE=CLOCK50
, Zeitatom fürCLOCK
- undDURATION
-Variablen beträgt 50µs;MODE=CLOCK1
, Zeitatom fürCLOCK
- undDURATION
-Variablen beträgt 1ms (Defaulteinstellung);
CLOCK50
werden neue Systemtraps verwendet, die zyklische Einplanungen mit Frequenzen bis zu 20KHz ermöglichen. Die dann häufiger durchlaufene Serviceroutine des Timer-Interrupts benötigt beim MC68060 ca. 4% und beim PPC weniger als 1% der zur Verfügung stehenden Rechenleistung. - Behobene Compilerfehler:
- Fehler beim Wiederaufsetzen des Compilers nach Programmfehlern,
- zu große Toleranz bei
REFADD
bezüglich Strukturen mit noch unbekanntem Typ.
- Eine neue Version des Filehandlers behebt die Beschränkungen bzgl. der Dateinamenlänge als auch die eingeschränkte Anzahl an Ordnern, Dateien pro Ordner etc. Außerdem soll ein Zusatzprogramm eine Konsistenzprüfung ermöglichen.
- Um netzwerkfähige Mikrocontroller komfortabel mit gängigen Browser-Programmen bedienen zu können, entsteht ein HTTP-Dämon unter RTOS-UH. Weiteres Ziel ist neben der übermittlung von HTML-Dateien (Task-/Speicher-Listen etc.) auch der Transfer von Grafikdateien. Somit werden Prozeßvisualisierungen auch mit Mikrocontrollern möglich.
- Ein neuer Exception-Mechanismus, der auch in der PEARL-Welt zur Verfügung gestellt werden soll, weist folgende Vorteile auf:
- Taskindividuelle Fehlerumlenkung und nutzerdefinierte Unterdrückung einzelner, asynchroner Fehler,
- Ausgabe der Meldung mit Priorität der User-Task,
- eigene Fehlerbehandlung durch Anwenderprogramm.
- Der Bedienbefehl
TRACE
taskname1
führt zur Ausführung der Task taskname im Single-Step-Modus. - Tasks können wie Datenstationen angesprochen werden, z.B. die Task taskname als Datenstation /taskname. Jede Task ist
somit eine I/O-Task, in deren Queue CEs eingereiht werden können (
XIO
-Trap). Der Empfang der Daten erfolgt mit Hilfe desTOQ
-Traps. Ein entsprechender Mechanismus für die PEARL-Welt ist bereits implementiert (PUT
) bzw. wird in den nächsten Tagen erstellt (GET
).
GNU-C/C++ unter RTOS-UH
- Anschluß für C-Unterprogramme an PEARL-Programme:
SPC XYZ ENTRY_C(...) RETURNS(...) GLOBAL;
...
A=XYZ(...);
Beim Aufruf des Unterprogrammes werden die Parameter auf den Stack gelegt. Der Rückgabewert ist in D0 enthalten. Nicht möglich ist die übergabe von Feldern mit Feldbeschreibungsblöcken, da C diese nicht kennt. An C-Unterprogramme müssen Felder wie ein Skalar übergeben werden. Beim Aufruf ist dann das erste Feldelement einzutragen.
Neue RTOS-UH Implementierungen
- RTOS-UH ist auf den High-End Rechnern Motorola MTX 'PowerTower' (MPC604/300MHz) sowie Motorola MVME2700 (MPC750/233MHz) verfügbar. Der MPC750 gehört der sogenannten 'Generation 3' an und liefert bei 233MHz teilweise gleiche oder sogar bessere Leistungsdaten als der MPC604 bei 300MHz.
- Low-End-PowerPC: Motorola MBX (MPC821/40MHz), Low-Cost-Rechner mit teilweise besseren Leistungsdaten als MC68060/50MHz. Bei der Implementierung von RTOS-UH fehlt z.Zt. noch die Unterstützung der Festplatte.
Berichte aus den Ingenieurbüros
An dieser Stelle soll lediglich eine Auswahl der beim Treffen vorgestellten Neuentwicklungen oder Erfahrungen mit RTOS-UH angegeben werden:
- Wie auch schon in den Vorjahren berichtet wurde, setzen sich Feldbusse immer mehr durch.
- Große Nachfrage nach RTOS-UH besteht insbesondere bei den PowerPC Systemen.
- Für die MVME3600-, MTX- und MBX-821-Rechner ist der Presentation-Manager auf der lokalen (für den MTX-Rechner wird lediglich eine PCI-Grafikkarte benötigt) Grafik-, Maus- und Tastaturschnittstelle verfügbar.
- Die Weiterentwicklung der Netzanbindung von RTOS-Systemen ermöglicht u.a. den Anschluß eines RTOS-Rechners an das Windows-Netzwerk oder an gängige SPS-Systeme.
- Eine Soft-SPS für RTOS-Systeme mit IEC-1131 konformer Entwicklungsoberfläche unter Windows95/NT ist verfügbar.
- Die C-Compiler (GNU/CREST) für RTOS-UH auf MC68xxx oder PowerPC finden große Nachfrage.
- Erkennbarer Trend: Großer Bedarf an Kleinstrechnern.
- Ein Beispiel für die Stabilität von RTOS-UH: In einem Projekt laufen 200 Rechensysteme, die lediglich von zwei Mitarbeitern ohne Schichtbetrieb betreut werden.
- Auch für ältere Rechner wie den ATARI oder den GWK c't68000 sind die neuesten RTOS-UH Versionen verfügbar.