• No results found

För att kunna köra simuleringar måste självklart en CANdatabas finnas tillgänglig, de övriga noderna konfigurerade korrekt osv. Den här användarhandlingen kommer inte ta upp dessa aspekter då det finns fullgod dokumentation[5] tillgänglig från Vector. Endast de specifika detaljerna som krävs för att importera en dll skapad av Simulink Coder beaktas.

För att köra simuleringar utan Simulink måste en ny nätverksnod skapas och associeras med en dll-fil.

• Nätverksnoden skapas genom att högerklicka i nod-listan och välja Insert

Network Node.

• Högerklicka på noden och välj Properties

• Under fliken Simulink, lägg till Simulinkmodellen (.mdl, den genererade bitmappen av modellen (.ini) samt RealTime-Workshop (Simulink Coder) dll-filen, se figur 7.3.

7.3 Importera Simulink-dll till CANoe 45

Kapitel 8

Diskussion

Arbetet har till stor del varit utforskande i sin natur då det ej fanns möjlighet att implementera en riktig hardware-in-the-loop miljö. Den modell som tagits fram i Hopsan och kopplats samman med sensorgränssnittet i Simulink bör ge en god grund för en framtida fysisk HIL-miljö.

Hydraulikmodellen är till stor del baserad på mätningar som leverantören av komponenterna tillhandahållit. Frilyftet validerades mot en riktig truck och ka- librerades för att få korrekta trycknivåer. Utskjut och huvudlyftet har ej kunnat valideras och trycknivåerna är garanterat felaktiga. Position och hastighet bör däremot stämma bättre då arean hos cylindrarna är kända från ritningar.

Både hydraulikmodellen i Hopsan och det överliggande gränssnittet i Simulink är enkla att förändra vid tillkomst av nya hydrauliksystem, nya sensorer och andra ändringar av designen. Hopsan har visat sig vara ett väldigt lättarbetat program. De korta simuleringstiderna i samband med de inbyggda funktionerna för bland annat känslighetsanalys bjuder in till experimenterande då resultaten av ändringar visar sig direkt.

Efterforskningarna kring möjligheten till software-in-the-loop har resulterat i ett antal insikter. Den första är att det är möjligt med SIL både i form av en dll med ett CAPL exportlager, samt i form av en s-funktion för simulering i Mat- lab/Simulink. Det finns dock ett aber med SIL i praktiken; för att få en funktion t.ex. reach() att fungera krävs flera delar av koden, förarparametrar, EEPROM, CAN, kalibrering, sensorinformation etc. EEPROM måste emuleras, kalibreringen använder sensorer som i sin tur förlitar sig på interruptstyrda funktioner osv. Man ställs inför ett ”allt eller inget” val, där man antingen måste implementera ersätt- ningar för det som inte existerar i en simulerad miljö t.ex. EEPROM, alternativt kapa bort stora delar av koden och endast använda de bitar som direkt påverkar PWM-signaler till ventiler, hastighetsprofiler etc. Det som återstår när man tar bort allt som inte direkt låter sig fungera i en simulerad miljö kan liknas med en glorifierad uppslagstabell varpå syftet med det hela kan ifrågasättas.

Att importera kod till en s-funktion är mer problematiskt än att skapa en 47

48 Diskussion

DLL och exportera funktionerna till CAPL. Framförallt uppstår problem när de- lar av koden skall exekveras var 20ms och vissa mer frekvent. I Simulink kan Rate Transition-block användas för att hantera olika samplehastigheter i samma mo- dell. Ytterligare är ett alternativ att skriva egna rutiner för att emulera de olika exekveringstiderna. CAPL hanterar detta med ”timers” för att exekvera rutiner olika ofta.

8.1

Framtida arbete

Något som ligger nära till hands är att koppla samman en riktig MCU med Si- mulinkmodellen. Det innebär nog ett visst arbete med att få modellen och MCUn att samspela även om det teoretiskt endast bör vara att mappa I/O-portar mot Environment/CAN-signaler/meddelanden.

Vidare kan det finnas fördelar med att finjustera hydraulikmodellen för att ännu bättre efterlikna någon av de truckar som finns tillgängliga i labbet. Det finns nackdelar med att anpassa modeller för bra mot mätdata då det är lätt att man missar beteenden som kanske inte är uppenbart i den mätserien. Fördelen är däremot att man kan vara säker på att inom vissa intervall så beter sig modellen precis som den fysiska trucken. Något som skulle tillåta ingenjörerna att utföra delar av sitt arbeta från sitt skrivbord istället för att boka tid i labbet. Ytterligare finns det säkerligen mer dynamik och mer realistiskt beteende om mekaniken i trucken modelleras. Modellen tar idag ingen hänsyn till hastigheten hos trucken eller hur t.ex. reach-rörelsen ser ut vid kraftig inbromsning. Rörelseenergin i en truck är inte att förakta i dessa sammanhang.

Mjukvarusimuleringen, software-in-the-loop, är ett lovande område. Att arbeta med att implementera ett HAL specifikt för Vector CANoe skulle möjliggöra att koden kan byggas specifikt i simuleringssyfte.

Kapitel 9

Slutsats

Genom att skapa ett HAL specifikt för simuleringsmiljön är det möjligt att använ- da mjukvaran i trucken i en software-in-the-loop miljö. Det är möjligt att skapa en DLL som med ett exportlager till CAPL kan användas som en nätverksnod i CANoe. Alternativt skapas en s-funktion för direkt integration med Simulink. Den enklare hanteringen av skilda exekveringstider samt interruptfunktioner gör DLL och CAPL till ett attraktivare val.

Hydraulikmodellen som skapats över delar av gaffeltrucken stämmer väl över- ens med verkligheten förutom när insignalerna till ventilblocken ligger nära dess dödband. Den friktion som uppstår i ventilen vid högre lasttryck förflyttar död- bandet och ger upphov till ett olinjärt beteende. Förlusterna som uppkommer när Hopsan exporteras till Simulink utgör inget hinder för realtidssimuleringar. Den kombinerade hydraulik och sensorgränssnittet i Simulink kan exporteras till C- kod med Simulink Coder. Den resulterande C-koden är sedan enkel att importera i CANoe för realtidssimuleringar.

Litteraturförteckning

[1] Syed Adeel Asghar and Sonia Tariq. Design and implementation of a user friendly openmodelica graphical connection editor, 2010.

[2] Mikael Axin, Robert Braun, Alessandro Dell´Amico, Björn Eriksson, Peter Nordin, Karl Pettersson, Ingo Staack, and Petter Krus. Next Generation Si- mulation Software using Transmission Line Elements. In Fluid Power and Motion Control, pages 265–276, 2010.

[3] Robert Braun. Multi-threaded real-time simulations of fluid power systems using transmission line elements, -.

[4] Vector CANtech Inc. Programming With CAPL, Dec 2004.

[5] Vector CANtech Inc. CANoe Test Feature Set Tutorial, May 2009. AN-AND- 1-118.

[6] Petter Krus. Robust modelling using bi-lateral delay lines for high speed simu- lation of complex systems. In DINAME 2011 : 14th International Symposium on Dynamic Problems in Mechanics, 2011. Invited conference contribution. [7] Jun Lin. Implementing and Integrating CAPL DLLs, July 2008.

[8] Martin Söderlund and Fredrik Öhman. Simulering av hydrauliken i haldex- kopplingen, 2005.

Related documents