For a better experience on dSPACE.com, enable JavaScript in your browser. Thank you!

Fehlerbehebung bei häufig auftretenden technischen Problemen

Veröffentlicht: 06.03.2015

Chris Grigas, Technical Support Engineer, dSPACE Inc.

Im technischen Support von dSPACE Inc. arbeiten wir täglich mit unseren Kunden zusammen, um ihnen zu helfen, sich mit den vielen verschiedenen Produkten von dSPACE vertraut zu machen und bieten Lösungen für alle auftretenden Probleme.

Manchmal stoßen wir auf Probleme, die wir noch nie zuvor gesehen haben. Und dann sind weitere Schritte erforderlich, bevor wir eine Lösung vorschlagen können. Aber wenn man diese Arbeit eine Weile gemacht hat, beginnt man, Muster zu erkennen. In diesem Blog werde ich Sie durch einen Tag im Leben eines fiktiven dSPACE Anwenders führen, der einen sehr unglücklichen Tag hat. Wir nennen ihn Chris.

Chris nahm an der zweitägigen dSPACE Schulung zum Thema Echtzeitsysteme teil (Kontaktieren Sie Ihren Account Manager, wenn Sie weitere Informationen dazu erhalten möchten). Daher hat er also ein ziemlich gutes Grundverständnis für unsere Produkte. Aber da er wie gesagt einen schlechten Tag erlebt, wird er auf viele Probleme stoßen. Wir werden diese gemeinsam durchgehen und ich werde Ihnen zeigen, welche Schritte Sie unternehmen können, um diese Art von Problemen zu beheben und zu vermeiden.

Chris hat gerade eine MicroAutoBox II (MABXII) erhalten, mit deren Bedienung er nicht vertraut ist. Also erinnert er sich an die weisen Worte des Dozenten aus seiner Schulung Real-Time Systems, startet MATLAB®, gibt „RTI" in das Befehlsfenster ein und öffnet die Bibliothek „Demos". Als die Bibliothek sich öffnet, sieht er zwar, dass es eine Reihe von Demos für verschiedene Funktionen der MABXII gibt, da er aber gerade erst angefangen hat, beschließt er, einfach die erste zu nehmen. Er öffnet die Demo und klickt sofort auf „Build". Eine Weile scheint alles in Ordnung zu sein, und dann, in letzter Sekunde, öffnet sich eine Fehlermeldung:

Chris hat vergessen, dass MATLAB automatisch versucht, das kompilierte Modell nach erfolgreicher Erstellung auf die MABXII herunterzuladen – aber nur, wenn MABXII vorab in ControlDesk Next Generation (CDNG) registriert wurde. Zum Glück besagt die Fehlermeldung nur, dass der Ladeprozess fehlgeschlagen ist, der Build aber erfolgreich abgeschlossen wurde. Wenn er also CDNG startet, wird die Anwendung problemlos auf seinen Prozessor geladen. Chris beschließt, dass er nicht möchte, dass MATLAB seine Anwendung automatisch lädt, aber er weiß nicht, wie er diese Einstellung deaktivieren soll. Also öffnet er unter File > Help > Search den dSPACE HelpDesk. Dort erfährt er, dass er in seinem Simulink-Modell zu Simulation > Model Configuration Parameters navigieren soll, dort dann zu Code Generation > RTI Load Options, um dort das Kontrollkästchen Load Application After Build zu deaktivieren.

Zuversichtlich, dass er nun eine Anwendung erstellen und auf seine MABXII laden kann, beschließt er, mit dem Hinzufügen von Input/Output-Kanälen zum Modell zu beginnen. Die Anwendung, an der sein Team arbeitet, benötigt Kanäle für Digital-Analog-Wandler (DACs), CAN-Kommunikation und digitale Ausgangssignale. Nachdem er all diese Blöcke hinzugefügt und konfiguriert hat, bemerkt er, dass sich sein Modell nicht so verhält, wie er es nach dem Laden in seine MABXII erwartet hat. Er stellt drei Probleme fest:

  1. Seine DAC-Kanäle geben eine Spannung aus, aber es ist nicht die Spannung, die er vorgibt.
  2. Keine seiner CAN-Botschaften wird korrekt interpretiert.
  3. Keines der Signale wird auf seine digitalen Ausgangskanäle übertragen.

Um diese Probleme zu lösen, öffnet Chris die Bibliothek mit den von dSPACE bereitgestellten RTI (Real-Time Interface)-Demomodellen. Er öffnet diese Bibliothek, indem er 'rti' in das MATLAB-Befehlsfenster eingibt und dann auf den Bibliotheksblock Demos klickt.

Nachdem er einige der I/O-Demomodelle näher betrachtet hat, stellt er fest, dass alle DAC-Blöcke in den Demomodellen Gain-Blöcke vor sich haben. Um herauszufinden, warum das so ist, öffnet er den Dialog eines DAC-Blocks und klickt dann auf die Schaltfläche "Hilfe", die den dSPACE HelpDesk startet und ihn direkt zu der Seite bringt, die diesen speziellen DAC-Block behandelt. Hier wird erklärt, dass jeder DAC/ADC-Block einen anderen „Skalierungsfaktor" hat, der bestimmt, wie er den Wert innerhalb von Simulink in den physikalischen Spannungswert übersetzt, den er aus-/eingibt. Dieser Skalierungsfaktor muss mit einem Gain-Block berücksichtigt werden.

Nachdem Chris diese Änderung in seinem Modell vorgenommen hat, geben die DAC-Kanäle von Chris nun die richtige Spannung aus, aber es gibt immer noch Probleme mit dem CAN-Kanal und dem digitalen Ausgangskanal. Es scheint keine Informationen mehr zu geben, die er aus den Demomodellen gewinnen kann, also wendet sich Chris der Hardware-Dokumentation seiner MABXII zu, die ihm eine detaillierte Beschreibung aller seiner I/O-Kanäle liefert. Nach einigem Suchen in diesem Dokument stellt er fest, dass er zwei Dinge vergessen hat:

Zum einen hat er vergessen, dass die dSPACE Dokumentation einen externen Abschlusswiderstand auf dem CAN-Bus empfiehlt, und zweitens muss er seinen digitalen Ausgangskanälen die entsprechend hohe Referenzspannung zur Verfügung stellen. Um das CAN-Problem zu beheben, fügt Chris einen 120-Ohm-Widerstand zu seinem CAN-Bus hinzu. Und um den digitalen Ausgangskanal zu fixieren, setzt er eine Steckbrücke zwischen die VDRIVE- und VSENS-Pins des ZIF (Zero Insertion Force)-Steckers auf seiner MABXII.
Nachdem Chris nun all diese Änderungen an seinem Modell und dem Hardware-Aufbau vorgenommen hat, ist das Ausgabeverhalten seiner MABXII korrekt, so dass er nun mit der Erfassung und Analyse einiger Daten mit ControlDesk Next Generation beginnen kann. Nachdem er sein Projekt erstellt, einige Signale auf einen Plotter gezogen und die Messung gestartet hat, bemerkt er wieder Probleme mit den Daten, die sein Plotter anzeigt:

  1. Einige der Variablen, die er in seinem Modell definiert hat, sind im Variablenfenster innerhalb von CDNG nicht verfügbar.
  2. Wenn er seinen Plotter von Triggered auf Continuous umschaltet, stellt er fest, dass es periodisch kleine Lücken in seinen erfassten Daten gibt, er aber kontinuierliche Daten erfassen möchte.
  3. Er kann nicht herausfinden, wie er die x-Achse seines Plotters so ändern kann, dass er einen längeren Zeitraum sehen kann.

Glücklicherweise bietet dSPACE eine durchsuchbare Datenbank mit den häufigsten Fragen, die detaillierte Antworten auf zwei seiner drei Fragen enthält. Sie finden diese Datenbank auf der dSPACE Website (www.dspace.com). Dort wählen Sie das Land, in dem Sie ansässig sind, klicken auf Support > Knowledge Base und können in der Datenbank suchen. Chris findet zwei Dokumente, die sich auf seine Themen beziehen. Das Dokument, in dem fehlende Variablen im Fenster Variables behandelt werden, weist darauf hin, dass im Fenster Model Configuration Parameters die Option „Inline Parameter" deaktiviert sein muss. Aus diesen Dokumenten erfährt er auch, dass die Lücken in seinem kontinuierlichen Plotter daher kommen, dass obwohl sein Plotter auf „continuous" stand, bei der Erfassung immer noch „triggered" eingestellt war.

Nach der Suche durch diese Dokumente weiß er immer noch nicht, wie er die Skala auf seiner x-Achse ändern kann. Daher beschließt er, sich an den dSPACE Support zu wenden.

Dieser erklärt ihm, dass es zwei Möglichkeiten gibt, die x-Achse zu ändern, je nachdem, ob sich sein Plotter im kontinuierlichen oder im getriggerten Modus befindet. Wenn sich der Plotter im kontinuierlichen Modus befindet, kann Chris die Achse ändern, indem er mit der rechten Maustaste auf den Plotter klickt und unter Properties > Axis > x-axis > Synchronization auswählt. Wenn sich der Plotter dagegen im getriggerten Modus befindet, muss Chris die Achse wechseln, indem er die Länge des Dauer-Triggers im richtigen Raster ändert. Diese Änderung kann er vornehmen, indem er im Fenster Measurement Configuration zu Acquisition > HostService > Duration Trigger navigiert.

Es würde mich freuen, wenn Sie durch diesen Blog weniger Probleme bei der Arbeit mit Ihrem dSPACE System haben. Noch wichtiger wäre mir, dass Sie die vielen verschiedenen Möglichkeiten kennen, die dSPACE zur Fehlerbehebung zur Verfügung stellt. Wenn Sie also das nächste Mal bei Ihrem dSPACE System auf ein Problem stoßen, wissen Sie, wo Sie mit der Lösung des Problems anfangen können. Und wenn Sie Fragen haben, wird Ihnen der dSPACE Support gerne weiterhelfen!

Support