rapid-control-prototyping und hardware-in- the-loop ... · pdf filesimulink rtw xpc target...
TRANSCRIPT
1
Rapid-Control-Prototyping und Hardware-in-the-Loop Simulationen mit xPC Target und
xPCLabDesk/LabVIEWN. Bajcinca
Institut für Robotik und MechatronikDLR, Oberpfaffenhofen
NI Automotive-TechnologietagMai 2004, München
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
2
Übersicht
xPCTarget TechnologieNeues HMI Werkzeug: xPCLabDeskSoftwarearchitektur von xPCLabDeskEntwurfsprozess einer HMIxPCLabDesk BeispieleAusblick
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
3
xPC-Technologie: Konfiguration
Ethernet or serial cable
MathWorks Tools hosted hereMATLABSimulinkRTWxPC Target
Compiler
xPC Target PCCustomer ApplicationxPC Target Runtime
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
4
xPC-Technologie: Host, Target
Host Host computercomputer
PC (desktop PC (desktop oderoder laptop) laptop) unterunter WIN32 BSWIN32 BS
MATLAB/MATLAB/Simulink EntwicklungsumgebungSimulink Entwicklungsumgebung
Host hat Host hat benötigt keine speziellebenötigt keine spezielle EchtzeitwerkzeugeEchtzeitwerkzeuge, also , also standard PCstandard PC
Target computerTarget computer
PCPC--kompatibles kompatibles System: System: desktop, PXI, PC/104(+)desktop, PXI, PC/104(+), , SBCSBC, , CompactPCICompactPCI
Optimiertes EchtzeitOptimiertes Echtzeit--BetriebssystemBetriebssystem
GroßeGroße I/OI/O--KartenauswahlKartenauswahl (>150)(>150)
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
5
xPC-Technologie: xPC TargetBox
EigenschaftenEigenschaften
SchnellesSchnelles BootenBooten, ca 2 , ca 2 secssecs..
BootenBooten vomvom FlashFlash--Disk Disk oderoder StandStand--Alone Alone AnwendungAnwendung
Kompaktes SytemKompaktes Sytem –– keinerkeiner KühlungKühlung oderoder beweglichebewegliche TeileTeile
GrößeGröße: 270 mm x 162 mm x 82 mm: 270 mm x 162 mm x 82 mm
Interne Interne StromversorgungStromversorgung —— Onboard Onboard StromversorgungStromversorgung DC: 8 DC: 8 -- 28 volts.28 volts.
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
6
xPC-Technologie: Schnittstellen zu xPC Target
Windows OS
MATLAB
Hos
t
RS232 and Windows TCP/IP Sockets (WIN32- API)
xPC Target C-API (DLL)
Development environments, stand-alone applications
Vis
ual C
/C++
, ...
Vis
ual B
asic
Lab
view
Alti
a
Any
softw
are
whi
ch c
an u
se a
D
LL MEX-wrapper for C-API
MATLABApps
HG
GU
I
Java
SimulinkTo and From blocks
SimulinkApps
DnG
VR
Alti
a
...
xPC
Tar
get A
pp
Keyboard &
Mouse
Com
mand Line Interface
Targ
et
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
7
xPC-Technologie: HMI Erfahrungen
DialsDials--andand--GaugesGaugesSimulinkSimulink ExternalExternal--ModeMode
++ VollstVollstäändige Bibliothek von HMI Steuerndige Bibliothek von HMI Steuer-- und und AnzeigekomponentenAnzeigekomponenten
-- Begrenzte benutzergerechte Handhabung
++ Akzeptable Umgebung mit einem Akzeptable Umgebung mit einem TargetTargetMonitor fMonitor füür einfachere HMI Anforderungenr einfachere HMI Anforderungen
++ Direkter Zugriff auf Signale und ParameterDirekter Zugriff auf Signale und Parameter
++ Zugriff auf vollstZugriff auf vollstäändige MATLAB ndige MATLAB FunktionalitFunktionalitäät t
++ Schnelle erste TestsSchnelle erste Tests
-- Nicht geeignet fNicht geeignet füür komplexere HMI r komplexere HMI Anforderungen
Begrenzte benutzergerechte Handhabung
Anforderungen
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
8
xPC-Technologie: HMI Erfahrungen
MATLAB MATLAB GUIsGUIs
++ VollstVollstäändige MATLAB/ndige MATLAB/SimulinkSimulinkFunktionalitFunktionalitäätt
-- Komplexer und zeitaufwKomplexer und zeitaufwäändiger ndiger Aufbau einer HMIAufbau einer HMI
- Begrenzter Satz von Steuer- und Anzeigekkomponenten
- Nicht geeignet für Echtzeitanwendungen
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
9
xPC-Technologie: Also ...
Our current approach is not to force theuser to be dependent on a certain HMI development tool. OK, one could say, thatwe have this approach because we don'thave a good HMI tool on our own ;-)
...
For the future we plan to offer even moreconvenient API interfaces.
...
I cannot promise that we will ever releasean HMI tool like ControlDesk on our own. The development effort is huge and time would have to be diverted from kernel and driver development.
… ein neues Tool … ein neues Tool wird gebrauchtwird gebraucht
Mitte, 2002
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
10
xPCLabDesk: Features
FeaturesFeatures
verwendet die offene verwendet die offene xPCxPC API Schnittstelle (API Schnittstelle (üüber 90 Funktionen) von ber 90 Funktionen) von TheMathworks TheMathworks
eine intuitive Entwurfsumgebungeine intuitive Entwurfsumgebung
schnelle Anpassung der schnelle Anpassung der TemplateTemplate xLDxLD--AnwendungAnwendung
Parameteranpassung, und Parameteranpassung, und ––monitoringmonitoring, ,
Signalerfassung und Signalerfassung und --visualisierungvisualisierung, ,
DataData--LoggingLogging
der Benutzer sieht nur 3 (von über 300) identisch programmierbarder Benutzer sieht nur 3 (von über 300) identisch programmierbare e SubVIs SubVIs
Zwei Versionen Zwei Versionen
xPCLabDeskxPCLabDesk DeveloperDeveloper zum entwickeln von einem UI in zum entwickeln von einem UI in LabVIEWLabVIEW
RunRun--Time Time xPCLabDeskxPCLabDesk zur Benutzung einer fertigen zur Benutzung einer fertigen xLDxLD Anwendung ohne Anwendung ohne LabVIEWLabVIEW
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
11
xPCLabDesk: Warum LabVIEW?
LabVIEWLabVIEW ist …ist …
extrem mextrem määchtige Umgebung zur Erstellung von UI (User Interfaces)chtige Umgebung zur Erstellung von UI (User Interfaces)
StateState--ofof--thethe--Art graphische ProgrammierspracheArt graphische Programmiersprache
sehr verbreitet und etabliertes Werkzeug in der Industrie und Hsehr verbreitet und etabliertes Werkzeug in der Industrie und Hochschulen ochschulen
intuitiv und einfach zu bedienen intuitiv und einfach zu bedienen
vollständige vollständige TestStandTestStand und und DIAdemDIAdem Funktionalität Funktionalität
……
…… und schlieund schließßlich,lich, passt in die Grundphilosophie von passt in die Grundphilosophie von xPCxPC TargetTarget, n, näämlich Aufbau mlich Aufbau einer Echtzeitsimulationsumgebung auf Basis unabheiner Echtzeitsimulationsumgebung auf Basis unabhäängiger Softngiger Soft-- und und HardwaretechnoologienHardwaretechnoologien
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
12
xPCLabDesk: Illustrationsbeispiel
xLDxLD DeveloperDeveloper
xLDxLD PanelPanel
xLDxLD AnwendungAnwendung
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
13
xPCLabDesk: Softwarearchitektur
xLDxLD PanelPanel
xLDxLD DeveloperDeveloper
LoaderLoader
xLDxLD AnwendungAnwendung
KomponentenKomponenten
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
14
xPCLabDesk: xLD Panel
FunktionenFunktionen
EchtzeitEchtzeit--AnwendungAnwendungxLDxLD AnAnwendungenwendungen
Erstellung Erstellung
VerwaltungVerwaltung
EchtzeitEchtzeitanwendunganwendungStatus Status MonitoringMonitoring
Laden/EntladenLaden/Entladen
Starten/StoppenStarten/Stoppen
TargetTarget--RechnerRechnerStatus Status MonitoringMonitoring
Verbinden/TrennenVerbinden/Trennen
Booten/Booten/PingPing
SimulinkSimulink ModellModell
Änderungsupdate
AusführungsAusführungs--ZeitZeitStart Start
StopStop
TargetTargetVerbindungVerbindung
TargetTargetgeladen?geladen?
LoggingLoggingStatusStatus
Änderungsupdate
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
15
xPCLabDesk: xLD Developer
FunktionenFunktionen
Parameter SetupParameter Setup
Signal SetupSignal Setup
ScopeScope SetupSetup
Data LoggingData Logging
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
16
Entwurfsprozess: Erstellung neuer Anwendung
xLDxLD TemplateTemplate
xLDxLD Projekt:Projekt:
-- xLDxLD Anwendung VI,Anwendung VI,
-- xLDxLD Treiber,Treiber,
-- LDK BrowsersLDK Browsers
>> xPCxPC Parameter DateiParameter Datei
>> xPCxPC Signal DateiSignal Datei
>> xPCxPC DLM AnwendungDLM Anwendung
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
17
Entwurfsprozess: xLD Treiber
xLD xLD Treiber fürTreiber für
Parameter Tuning/Parameter Tuning/MonitoringMonitoring ((SkalarSkalar, Array), Array)
Signal Signal Monitoring Monitoring ((SkalarSkalar, Array), Array)
ScopesScopes
Parameter Parameter ArrayArray
TunerTuner
TargetTargetPortPort
ParameterParameter
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
18
Entwurfsprozess: Parameter Tuning
>> EinfEinfüügung des Parameters gung des Parameters üüber den Browserber den Browser
>> Den Parameter mit einem Den Parameter mit einem entsprechenden entsprechenden xLDxLDNamen Namen bennenen bennenen
>> UpdatenUpdaten
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
19
Entwurfsprozess: Parameter Tuning
ProgrammierungProgrammierung
>> Im BlockIm Block--Diagram die Diagram die entsprechende Steuerkomponente entsprechende Steuerkomponente mit dem mit dem xLDxLD Treiber bindenTreiber binden
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
20
Entwurfsprozess: Signal Monitoring
>> EinfEinfüügung des Signals gung des Signals üüber ber den Browserden Browser
>> Den Signal mit einem Den Signal mit einem entsprechenden entsprechenden xLDxLDNamen Namen bennenen bennenen
>> UpdatenUpdaten
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
21
Entwurfsprozess: Signal Monitoring
ProgrammierungProgrammierung
>> Im BlockIm Block--Diagram die Diagram die entsprechende Anzeigekomponente entsprechende Anzeigekomponente mit dem mit dem xLDxLD Treiber bindenTreiber binden
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
22
Entwurfsprozess: Signal Tracing
>> EinfEinfüügung des gung des ScopesScopes
>> Den Den ScopeScope mit einem mit einem entsprechenden entsprechenden xLDxLDNamen Namen bennenen bennenen
>> ParametereinstellenParametereinstellen
>> UpdatenUpdaten
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
23
Entwurfsprozess: Signal Tracing
ProgrammierungProgrammierung
>> Im BlockIm Block--Diagram den Diagram den entsprechenden Graph mit dem entsprechenden Graph mit dem xLDxLD Treiber bindenTreiber binden
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
24
Entwurfsprozess: Data Logging
LoggingLoggingStatusStatus
SchritteSchritte>> AufzeichnungsAufzeichnungs--Einstellungen Einstellungen
festlegenfestlegen
>> Signale hinzufSignale hinzufüügengen
>> Aufzeichnung startenAufzeichnung starten
>> Daten abspeichernDaten abspeichern
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
25
Beispiele: Rapid-Control-Prototyping
Veh
icle
Vis
ualiz
atio
nD
ata
Rapid Rapid ControlControlPrototypingPrototyping SetupSetup
1. Schritt:1. Schritt:
LenkradaktuatorLenkradaktuator (SWA) (SWA) im geschlossenen im geschlossenen RegelkreisRegelkreis
Steering Wheel Actuator (SWA)
SbW ControllerForce-Feedback Control
Steering System Dynamicsve-DYNA Vehicle(Target Processor
AMD Athlon)
SWA ForceSWA Force--FeedbackFeedback
LenkwinkelLenkwinkel
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
26
Beispiele: Rapid-Control-Prototyping
VorderradaktuatorBürstenloser DC-Motor mit
DLR PWG-Spindel
Fahr
zeug
Visu
alis
ieru
ngsd
aten
FWA Le
nkkra
ft / -p
ositio
n
Spurst
ange
npos
ition /
-kraf
t
Lenkradposition
SWA Force Feedback
Rad-Straße Interaktion
Spurstangenposition
Steering Wheel Actuator
Videoclip
Rapid Rapid ControlControlPrototypingPrototyping SetupSetup
SteerSteer--byby--WireWire SetupSetup
SbW ControllerTarget Processor
AMD Athlon
ve-DYNA Target Processor
AMD Athlon
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
27
Beispiele: ve-DYNA Cockpit HMI
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
28
Beispiele: Steer-by-Wire HMI
RapidRapid--ControlControl--PrototypingPrototyping und Hardwareund Hardware--inin--thethe--LoopLoop Simulationen mit Simulationen mit xPCxPC TargetTarget und und xPCLabDeskxPCLabDesk//LabVIEWLabVIEWN. Bajcinca N. Bajcinca –– 21. April 200421. April 2004
29
Ausblick
Erweiterung des xPCLabDesk auf „xLabDesk“: Unterstützung anderer Echtzeitplatformen (dSPACE, OPAL, ...)
Integration TestStand, Simulation Interface Toolkit…