111 1 1 1111 1 1 1 Scoobys verrückter TagQuiz 111 1 1 1111 1 1 1 Scoobys verrückter Tag.
Steuerzentrale, Befehlssystem und Framework zugleich · r-- ---- - LEntwicklung +Test 1111 AT~_ ATE...
Transcript of Steuerzentrale, Befehlssystem und Framework zugleich · r-- ---- - LEntwicklung +Test 1111 AT~_ ATE...
ATE 11 11 Entwicklung + Test
Steuerzentrale,Befehlssystem
und Frameworkzugleich
~ det ~~~e tlll"H') l _ _ t-
'-J' I--::=tm'-:~' '.,,'~~_:;'=_';-='~' 'J ';,::;::::~~~'~_, .f!
I Bild 1.Für die Test-Skript-Entwicklung mit kTest kann die integrierte Open-Source-Entwicklungsumgebung EClIPSEverwendet werden.
f) sl~_ :.',;,;=""' 0 E::o.th l:l"- "" 0
sind klar - sie bedürfen keiner weiteren Erläuterung .
P=l'r::oe: t t' .lIIt rpu c: :"'1"1 V1 t b S t .lr.'-&J4 t': CZJ e t cu rP.l: o:;~=e: ;J:e-~e (;orJe: t"''"''
(:cnt'j :.~.t J; ":::I o.t r 1lJ.u>r;).fJ: ( $ )
stu' t .l:.u:.orl!!r {s }
.l: .:;C'~J fI: ; /:115":H o, r ec ol!<!er (.s]l' " .. t - r " eor d e.:: l'h~ ..
Te O SUU.1Dltl s eJ t 7Tt:o · SUB dm:l)
LV_TIlI_.IlQ, _ J.CT_nal . lDit Is~l:t·. LV_ TOI_P.ClI_ .lCT_ftClUulIll
11~ •• ~ __ " · · - -l'r ~. - l 'l C(IoI"!lt H J:h~l ft -- - - - - - -- - - - - - - ----- --~ --~- --. ---- -_. - -
h .;-e;oH:>eM la.ll:.ll ....·.J,'I~ ~:1\.
c llltl ~vl lll' - Co.lbpl lI"J~.t"lI tr1 1el
cllltl~vl ll llVarLlst - (LV r ox, LV l OIl: fteu, LV TQl p.a l l CT Ilal , Jl 3Z I!CU .T3c()_GRD_~ctl,-TCO.TCO=ll crl-:- TCO_SUBJ -
~ r r; e c:u... ,,~ c:~.~:n"' !~(' .~ (;' , ~ H.~~ rs ~ ~ <1 ' .
c a ltl ev l:Jlp .CClnflg-lcal IlevbpVBrLUt, '1:"'.J t u t ell ' l"! \:::-... l ...·.1.O:'. ~~eJ't,::' :'0. ' ~~o:~~ unr !~.:..;~~ :- ::~.e t
~~Ö~~t~~~-:-~};:~'~;e~~~~r~::t:'~.: a ~er~ J.:: ~ u:. :"iI_~'''L.: .:-:_·~Oy 'J
TCO SlI1l. " e t 186• • t .:~t ('~ .!a( = t'", : e TC,) !' ll'B' ,1IlI.l t IS .O, " I -
" , ,,·;:.:. '!':-r r loe.:.cII.ID ~vE lll' .lItartP~ell Il lot..,::,.': ' I,~ l 1c:otdc.o,1Illlt(0.3, " ITCO••recrtc. 'teil t er .Jnt e:r4Ce> XC"_ ::UP ' I1III.lt(3 . 0 , '"1III.lt(2 . 0, ' t e il t e t' r eo:ur r e.'l:::"r ,l'. t ll 'lcII. ID~vExp. lIt Cl pP ll c l l
f k Edr: 5tucr p~aaern:;J 1I/1\'\' lte Selrrll ~t Pydr.o AI6\ Wf'wbo, ~
!rl .~~ J ~ I @' "\> ' o · Q. . ] <& t.>' J,(" '1 " ;' &" •.':C .~ .t: l'yt!wP~EQ:.~ r-z, ... 1:1
Die Historie der Automotive-Testsysteme ist kurz, aber komplex: Selbst
entwickelte Eigensysteme mutieren derzeit zu Standards, aber oft genug
auch zu Pseudo-Standards. In Wirklichkeit aber herrscht noch ein wenig
Wildwuchs, der sich mit der Bedienoberfläche kTest, die alles zusammen
zufügen vermag, lichten dürfte.
Arbeit mit Testsystemen der Automobilbranchefällt nun leichter
Von Erich Wildmoser und Kurt Emonts
Logik und die Vorteile, die sich ausdiesem Denkansatz ergeben (können),
Der Ansatz fürTestsysteme
Im Grunde sind Testsysteme dazu da,den endlosen Bau von Prototypen einzuschränken und Erkenntnisse übe rdas (gemeinsame) Funktionieren vonSchaltun gen, Systemen, Steuerungenauf den Computer zu verlagern. Die
Die klassische Methode, mit derman einen Standard erarbeitet,beruht darauf, dass sich Her
steller an einen Tisch setzen, um sichauf einen gemeinsamen Standard zu einigen. Die Marktmethode , die ebenfallszu einem Standard führen kann, ist der"Ellenbogen" oder die Durchsetzungskraft des Markt- oder Branchenführers.
Wenn die noch junge Branche derTestsoftware im Automobilmarkt nunauch nach einem Standard ruft , weildie bereits verfügbaren Wege in ihreneinzelnen Ansätzen gut, aber selten alsGanzes optimal sind, dann wird das eigentliche Problem deutlich: Es ist dieSuche nach der Lösung, welche die"besten Rosinen aus den besten Kuchen herauspickt".
Dr. Keil-IT hat sich mit kTest nuneinen Weg ausgedacht, der nicht nurauf den ersten Blick recht intelligentist: Man strebt die Vereinheitlichungoder die Standardisie rung an, indemman nicht das Testsy stem vereinh eitlicht, sondern dessen Ansteuerung.Darunter muss man sich so etwas wieeinen Dietrich vorstellen - also einen.Llni versalschl üssel" - , der auf seineureigenste Methode für eine Vielzahlvon Türen passt. Dieser Dietrich stellteine Art Framework - also eine Kommandozentrale - dar, die von allenTestsystemen verstanden wird.
wwvv.elektroniknet.de Elektronik automotive Z2007 43
r-- --- - -LEntwicklung + Test 1111 AT~_
------------- ---------== = = = =ATE 1111 Entwicklung + Test
----------
I listing 2.lnitialisierung derTestklasse
__nJI
I
Erich Wildmoserbegleitet die Szene der Testsysteme vomersten Tag an und ist im Hause Dr. Keil zuständig für das Produkt [email protected]
Die Methode "eva luation" (Listing 4) definiert die Bedingungen fürdie Testfallbewertung. Wichtig ist hierbei, dass die Evaluierung in mehrere,zeitl ich aufeinander folgende Phaseneingeteilt werden kann, und die Klasse.Eval'hase" die Bedingungen für Startund Endzeitpunkt der jeweiligen Phase definiert. Die Klasse "TestReq" definiert die Bedingungen, die für einenerfolgreichen Test notwendig sind.
In dem bis dato gezeigten Beispielwird für Phase2 überprüft , ob das aufgezeichnete Signal in einem vorgegeben Toleranzfenster liegt. go
~ Post-Recorder Pha se: Hier könnenBerechnungen mit den aufgezeichneten Werten durchgeführt werden.
Kurt Emontsist freier IT-Fachjournalist und Autor in Saarbrü[email protected]
def eval uati on(self ) ;ep2 EvaPhase (phase ID = 'EP2', star tAnalyse = ep1.getEno ( ),
beginP ar = TCO, begi nOp erat or = '<' .beginVal = 73, whil ePar = LV_IGK,wh il eOperator = ' =' , wh i l eval = 1)
t est Req2 Test Req( ' t est of in t erf ace TCO_SU B', ' TR 2' )te stReq2.e vaTol Wi nSi g(TCO_MON, ep2.get Begi n() ,
[[ 91. 87.0 , 0]. [89 .5, 85.5", 0. 40].[B8 .0, 84. 0 , 0.80 ]. [8B.0 . 84. 0 , 1. 20J]. ep2)
I listing 4.Bei .evaluatlon" können mehrere aufeinanderfolgende Phasen eingeteilt werden
I1..----- - -
def st i mu lation(self);calDevExp = Cal Exp(sel f.test File)calDevExpVarLi st = [LV_ IG K. LV_ IG K_MON . LV_TOI _MON_ACT_MON , N_32_MO N,
T_T CO~G RD_MO N , TCO,TCO_MON, TCO_SUBJcalDev Exp.config (c alDevExpVarList , ' sw_it es t_cal ' )LLTOL~lOfLACT_MO N . set t l , ' t es t of i nterface LLTO Lt~O N_ACLfl0 N ' )
TCO. set (90 . ' t es t of i nterface TCO' )TCO_SUB. set (B6 , ' t est of i nt erf ace TeO_SUB ' )wait (5. 0 . " )ca l De vExp .s tart Rec() # start s th e recorderwait (0 .3, ")TCO. set (70. ' te st of i nt erface TCO_SUB' )\'iait (2.0 , ' t es t of recur r ency rate ')cal DevExp.stopRec()
- --- ----
I listing 3. Die Methode .stlmulation": eigentliche Testdurchführung
Die Methode "s timulation" führtdann den eigentlichen Test (Listing 3)durch, der wiederum in mehrere Phasen aufgeteilt ist:~ Pre-Recorder Pha se : Hier werden
das Experiment initialisiert und eineListe der verwendeten Variablen erzeugt.
~ Recorder Configuration: Hier wirdder Recorder mit den Variablen konfiguriert .
~ StartRec: Startet die Aufzeichnungder Testwerte.
~ Recorder Phase: Hier können Befehle angegeben werden, welche die auf- .zuzeichnenden Werte beeinflussen z.B. Änderungen von Steuergrößen.
~ StopRec : Beendet die Aufzeichnungder Test werte.
a Testskript-Strukturam Beispiel
Die Funk tionsweise des Test-Framework lässt sich so zus ammenfassen,dass kTest vorhandene (wie zukünftige) HiL-Systeme unter einem einzigen , universell eins etzbaren Framework mit nur einer Skriptsprache steuert (Bild 2). Test anforderungen können auf jedem PC geschrieben und entwickelt werden - nur für den eigentlichen Testlauf wird das HiL-Sy stembenötigt.
Als Folge dessen ergeben sich beider Entwicklung von Tests keine Engpässe mehr: Nur der HiL-Durchlauf istmit einem Aufwand an Zeit, aber ohneAufwand an Manpower verbunden.Die Komm andozentrale kTest "versteht" die Anforderungen der am Marktverfügbaren Systeme und vermag diese Systeme seinerseits zu steuern .kTest vereinigt also alle gängigen TestSysteme im HiL-Bereich .
Zur Verdeutlichung wird im Folgenden ein Testskript kurz angerissenund kommentiert. Es dient der Überwachung der Kühlmitteltemperatur.Das vollständige Skript kann unterwww.drkeil-it.de/de/unsere-produkte/ktes tldow nload-ktes t-demos-scri ptlherunter geladen werden.
a Interesse der Industriefällt positiv aus
Für die Durchführung eines Tests wirdeine Testkl asse von .Testßase" abgeleitet. Diese Klasse enthält verschiedene Methoden, die für den individuellenTest überschrieben werden müssen .Die folgenden Code-Ausschnitte zeigen beispielhaft, wie ein solcher Te-stablauf aussehen könnte : .
Für die Ausführung eines Tests werden zuerst die benötigten Module undKlassen importiert. "readCnfGeneral"liest die glob alen Einstellungen fürden Test aus einer XML-D atei (Listing 1).
Die Methode .Jnit" ist für die Initialisierung der Testklasse verantwort lieh (Listing 2). Hier werden zum Beispiel einerseits XML-Dateien angegeben, welche die Stimulationsdaten enthalten, und andererseits die entsprechenden Variablen mit den Stimulationsdaten initialisiert.
hierzu notwendigen Software anzustoßen. Vielmehr haben die Beteiligten am Markt getüftelt , herumprobiert,Eigenentwicklungen fortgeschrieben und gleichzeitig alte proprietäre Denkansätze zum Schutz der investiertenZeit und Entwicklungskosten verwendet.
Für die Erstellung der Testentwicklung (Bild I) genügen bei kTest Computer-Arbeitsplätze mit der entsprechenden Software . Hier können vieleMitarbeiter gleichzeitig unterschiedliche Aufgaben bearbeiten. Für dieHiL-Simulation allerdings bedarf eszeitaufwendiger Testläufe, die nur amTestsystem möglich sind; aber dieskann immerhin auch in der Nacht oderam Wochenende "ohne menschlicheBegleitung " geschehen .
kTest wurde konkret vor dem Hintergrund dieser Situation entwickelt.Es bietet dementsprechend die Offline- Testskr iptentwicklung inklusiveDebugging, die den ökonomischenEins atz der HiL-Testwerkzeuge verbessert. Die Testsysteme können imOnl ine -Betrieb bleiben, währendScriptentwicklun gen offline durchgeführt werden. Darüber hinaus bietetkTest mit seinen umfangreichen generischen Bibl iotheken zur automatisierten Testfallbewertung eine zuverlässige Basis für die effiziente Nutzung.
kTest
Anwender Report
Der Ansatz geht noch weiter. Dasgemeinsame und reibungslose Funktionieren der einzelnen Steuergeräteeines Kfz, das man mit Hilfe der Testsysteme im Labor testet, muss sichergestellt werden , bevor der Bau vonPrototypen ansetzt. Die reale Fahrzeug welt wird dabe i durch die HiLSimulation (Hardware-in-the-Loop)ersetzt, die realitätsgetreu simuliert,was sich zwischen den Steuergerätenabspielt.
Den Nutzen daraus ziehen inzwischen alle Kfz-Hersteller und -Zulieferer. Ohne diese Werkzeuge ist die kostspielige Phase vor der Lancierung neuer Modelle nicht mehr zu finanzieren.Allerdings hat sich bisher niemand mitseinem Wettbewerber an einen Tischgesetzt, um die Weiterentwicklung der
Datensätze
I Bild 2.Übersicht des kTestFramework mit
derAbgrenzungzuden Benutzerund Testsystem
Schnittstellen.
def tn t t Lsel f ) :se lf .stf Eds = ' sw_it es t_eds . xml·sel f .TCO_dsm = 'TC O_sl_dsm . xml 'se lf . TC O_S UB_dsm = 'TCO_SUB_s l_dsm. xm l 'se l f . LV_TOI_MON_AC T_MON_dsm = 'LV_TOI_MON_ACT_MO N_s l_dsm. xml 'se lf .eds Ha ndle r = EdsH andl er.(parent = se lf)se lf . edsHandl er . l oadAt t r i b(se l f. eds Fi le)st f . i nit(se l f.s t f Eds)TC O.i ni t (self.TCO_dsm )TCO_SU B.init (self. TCO_SUB_dsm)LV_TOI _MON_ACT_MON. i ni t (sel f.LV_TOI_MON_ACT_MON_dsm)
from ktes t . taLc nf impor t readCnf Genera lreadCnf Ge nera l ( "cnL genera l . xml ")>f rom ktest.t af_eds i mpor t EdsHandl er>f rom ktes t .taf_ca l_exp import Cal Exp>f rom ktest. ta Lge neral impor t wait>f rom ktest. t aL rel _t _eva l i mport EvaPhase, Test Req>f rom ktest. t af_test import TestBase>f rom kt est . t af_graph i mport plotS igna lsimpor t itest_stimu la t ion>f rom i test_st i mulat ion i mport stf , TCO_MO N, T_TC O_GRO_MO N, TCO, TCO_SU Bfr om t t est .is t imul at i on i mp ort N_3LMON , LL TOL t·lO N_ACL MON, L V_IGK_~10N . LV_IGK
I listing 1. Import derbenötigten Module und Klassen
44 Elektronik automotive 7.2007 www.elektroniknet.de www.elcktroniknet.de Elektronik automotive 7.2007