|
|
| Assistent für Design, Test und Service |
canAnalyser/32 - Ein hilfreicher Assistent für Design, Test und Service von CAN-basierenden Systemen |
[von Roman Hofmann und Christian Schlegel]
In den letzten Jahren wurden CAN-basierende Systeme in einer Vielzahl von industriellen Anwendungen vermehrt eingesetzt.
Um den Entwickler sowie den Service-techniker zu unterstützen werden somit umfangreiche Analyse- und Test-Tools benötigt. Für die einzelnen Entwicklungs-, Test- und Servicearbeiten werden hierbei häufig verschiedene Tools verwendet, die den nötigen Anforderungen der einzelnen Phasen abgepaßt sind.
Mit dem neuartigen, modularen canAnalyser/32 werden nun alle Funktionalitäten, die in den verschiedenen Entwicklungs- und Servicephasen benötigt werden, in einem Tool vereinigt. Das Konzept und der Einsatz dieses neuartigen Tools werden im Folgenden beschreiben.
Die zentrale Kommunikationskontrolle
Zum grundlegenden Konzept des canAnalyser/32 gehört die Trennung von Kommunikations- und Analyseaufgaben. Kommunikationsaufgaben sind hierbei die kritische Echtzeitübertragungen und der Empfang von Nachrichten sowie die Kontrolle von Identifier und Hardwareplattform (CAN-Interfacekarte).
Zu den Analyseaufgaben gehören die Benutzerschnittstelle sowie Funktionen zur Überwachung, Stimulation und Analyse der CAN-Nachtichten, die durch den canAnalyser/32 bereitgestellt werden.
Kern des canAnalyser/32 ist das sogenannte "Control-Panel", welches als Überwachungs- und Verwaltungseinheit sowie als Server für die kommunikationsorientierte Funktionalität des canAnalyser/32 fungiert.
Für den Zugriff auf die CAN-Interfacekarte verwendet das Control-Panel das Virtual-CAN-Interface (VCI), eine universelle Programmierschnittstelle von IXXAT. Die VCI unterstützt alle von IXXAT angebotenen, intelligenten Interfacekarten für ISA, PCI, PC Card und Parallelport, unter Bereitstellung einer gleichbleibenden Applkationsschnittstelle. Hierdurch wird eine unter Verwendung der VCI programmierte Anwendung unabhänig von eingesetzten Interfacekartentyp, was den Einsatz auf Desktop-Rechnern sowie den mobilen Einsatz mit dem Laptop erlaubt.
Die VCI unterstützt sowohl 11-Bit- als auch 29-Bit-Identifier, signalisiert Errorframes, und stellt einen Zeitstempel für jedes empfangene Objekt mit einer Auflösung von bis zu 25 ms bereit (Bild. 1).
Bild 1: Technisches Konzept, basierend auf der modularen Struktur
Client-Anwendungen zur Bereitstellung der Benutzerfunktionalität
Die eigentliche Funktionalität des canAnalyser/32 wird durch die sogenannten "Clients" bereitgestellt.
Diese unabhängigen Anwendungen setzen auf der Serverfunktionalität des Control-Panels auf, und kommunizieren mit diesem unter Zuhilfenahme einer offenen Programmierschnittstelle (API).
Die API stellt die Funktionen eines abstrakten CAN-Controllers zur Verfügung, mit Funktionen zur Konfiguration und zum senden/empfangen von CAN-Nachrichten.
Bei der Entwicklung des canAnalyser/32 wurden Windows-95/NT-Funktionalitäten, wie Multithreading und Interprozeßkommunikation, weitestgehend eingesetzt. Großer Entwicklungsaufwand wurde auch in die offene Programmierschnittstelle des canAnalyser/32 investiert, um den schnellstmöglichen Transfer von CAN-Nachrichten zwischen Control-Panel und Client-Anwendunge sicherzustellen.
Die Basis-Version des canAnalyser/32 wird mit Clients zum senden (Transmitt-Client) und empfangen (Receive-Client) von CAN-Nachrichten sowie mit je einem Client zur statistischen Auswertung (Statistic-Client) und zum senden von Nachrichtensequenzen (Batch-Client) geliefert.
Entscheidender Vorteil der modularen Struktur ist hierbei die Möglichkeit Client-Applikationen mehrfach zu nutzen. Dies erlaubt zum Beispiel das gleichzeitige verwenden von mehreren Empfangs-Clients, wobei durch Nachrichtenfilterung die im jeweiligen Client angezeigten Nachrichten spezifiziert werden können. Hierdurch kann eine hohe Übersichtlichkeit der empfangenen Daten erreicht werden.
Die empfangenen Nachrichten können kontinuierlich, mit symbolischen Namen und Zeitstempel, oder statistisch, mit Nachrichtenzähler und den zuletzt empfangenen Datenbytes angezeigt werden.
Der Transmit-Client erlaubt das Senden von einzelnen Nachrichten sowie das zyklische senden.
Für die statistische Analyse der CAN-Nachrichten können im Statistic-Client die Nachtichten nach Häufigkeit und Identifier grafisch angezeigt werden. Des weiteren kann die Auslastung des CAN-Netzwerks über einen variablen Zeitraum überwacht werden.
Zur Übertragung von Nachrichtensequenzen, zum Beispiel zur Simulation eines Gerätes, kann der Batch-Client verwendet werden. Er kann ebenfalls verwendet werden um via Trace aufgezeichnete Daten wieder in das CAN-Netzwerk zu übertragen.
Neben den durch die Client-Applikationen bereitgestellten Funktionalitäten bietet das Control-Panel Funktionen wie die Echtzeitaufzeichnung von Nachrichten auf die Festplatte (Trace). Die Länge dieser Aufzeichnung ist hierbei nur durch die Größe der Festplatte bestimmt. Diese Aufzeichnung kann hierbei durch Trigger-bedingungen gestartet und gestoppt werden. Getriggert werden kann auf Identifier, Daten und Errorframe.
Bild 2: Systementwicklung, mit und ohne canAnalyser/32
Standard Clients mit zusätzlichen Funktionalitäten
Zusätzlich zu den im Lieferumfang des canAnalyser/32 enthaltenen Basic-Clients kann die Funktionalität durch weitere Clients z. B. für die Dateninterpretation (DIM-Client), das Erstellen kleiner Testapplikationen in einer C-ähnliche Programmiersprache (Prog-Client) oder der CANopen-spezifischen Dateninterpretation (CANopen-Client) erweitert werden.
Benutzerspezifische Clients für die Systementwicklung, Emulation und den Test
Neben den bereits erwähnten Client-Applikationen ist es dem Anwender möglich weitere, eigene Client-Applikationen zu nutzen. Diese können vom Anwender in kurzer Zeit, unter Zuhilfenahme von Visual-Basic, Visual-C oder Delphi erstellt und mittels der offenen Programmierschnittstelle (API) des canAnalyser/32 leicht als Client-Applikation eingebunden werden. Hierdurch kann der canAnalyser/32 an besondere Anforderungen angepaßt werden, was ihn zum vielseitig einsetzbaren Werkzeug werden läßt.
Wo herkömmliche Tools nur in der Entwicklung und möglicherweise auch bei der Installation von Systemen zum Einsatz kommen, kann der canAnalyser/32 mittels anwenderspezifischen Clients auch im Service- und Diagnosebereich eingesetzt werden (Bild 2).
Als Beispiel können zur Realisierung eines einfachen Aufzugmodells Client-Applikationen zur Simulation das Motors, der Stockwerk-Anforderungstasten, und ein Aufzugsmodell verwendet werden. Eine Anwenderanfrage wird mittels Anforderungstaste an die Kontrolleinheit des Aufzugs gesendet. Diese verarbeitet diesen Befehl und fährt den Aufzug zum gewünschten Stockwerk. Die Kontrolleinheit sendet die aktuelle Position des Aufzugs an die Stockwerk-Anforderungseinheiten die die aktuelle Position anzeigen. Ein komplettes Aufzugssystem kann somit in kurzer Zeit für Präsentationszwecken oder für den Service simuliert werden (Bild. 3).
Bild 3: canAnalyser/32, als Entwicklungs- und Testwerkzeug für Aufzüge
|
 |
|