Documentatie

Arnodiqa is een desktop-applicatie voor Windows. Deze documentatie legt per taak uit hoe je het in de app doet, met de stappen, schermafbeeldingen en een korte opname. Voor testbanken zonder scherm en voor pipelines is er de command line, beschreven onder Automatisering en CI.

Een project maken, de meting starten, de Trace met een filter, een frame met signalen en een signaal in Graphics.

Het hoofdvenster

ToolbarProjectmenu, Start en Stop (F9, Esc), de toestand en meettijd, de werkmodus (gesimuleerde bus, echte bus of offline), het zoekveld voor commando's (Ctrl+K), de busload per kanaal, Help en het thema.
DesktopsAnalysis (Trace en Write), Messages, Signals (Graphics, Data, Statistics), Stimulation (Interactive Generator) en Project (projectverkenner en Simulation Setup).
VenstersMet Window voeg je vensters toe. Vensters zijn te verslepen en te docken; Layout bewaart de indeling.
Write-vensterMeldingen van het systeem, van scripts (tabblad Program) en van tests (tabblad Test).
StatusbalkToestand, verbinding met de engine, aantal events, events per seconde, buffer en logging.

De schermafbeeldingen en opnamen volgen het thema van deze site. Klik op een afbeelding om haar te vergroten.

Project openen, nieuw project maken en een database toevoegen

Een project bundelt de netwerken, databases, Measurement Setup, panels en simulatienodes in één YAML-bestand.

  1. Zonder geladen project opent Arnodiqa de startpagina (Start). Onder New project staan de sjablonen, onder Examples de voorbeelden en onder Recent projects de laatst gebruikte projecten.

    Project openen, nieuw project maken en een database toevoegen, stap 1Project openen, nieuw project maken en een database toevoegen, stap 1
  2. Klik linksboven op het projectmenu (de knop met de projectnaam; zonder project staat er No project). Kies New project… voor een nieuw project of Open project… (Ctrl+O) om een bestaand projectbestand (.yaml) te openen.

    Project openen, nieuw project maken en een database toevoegen, stap 2Project openen, nieuw project maken en een database toevoegen, stap 2
  3. In het venster New project vul je bij Name de projectnaam in, kies je bij Folder de projectmap (met Browse…) en bij Template een sjabloon, bijvoorbeeld Full demo (CAN FD, CAN, panel, diagnostics). Klik op Create.

    Project openen, nieuw project maken en een database toevoegen, stap 3Project openen, nieuw project maken en een database toevoegen, stap 3
  4. Het project is geladen en de projectnaam staat in de toolbar. Op de desktop Project toont de projectverkenner de netwerken, de databases, de Measurement Setup, de panels en de simulatienodes; rechts staat de Simulation Setup.

    Project openen, nieuw project maken en een database toevoegen, stap 4Project openen, nieuw project maken en een database toevoegen, stap 4
  5. De databases van het project staan onder Databases, hier powertrain.dbc voor PowerTrain en comfort.dbc voor Comfort. Het potlood naast een DBC- of LDF-bestand opent de Database Editor; de prullenbak haalt de database uit het project, het bestand zelf blijft staan.

    Project openen, nieuw project maken en een database toevoegen, stap 5Project openen, nieuw project maken en een database toevoegen, stap 5
  6. Een database toevoegen: klik op de + rechts naast Databases of op de + bij een netwerk. Kies in Add database het netwerk (hier Comfort), klik op Choose… en kies een DBC-, LDF- (voor een LIN-netwerk), ARXML- of FIBEX-bestand.

    Project openen, nieuw project maken en een database toevoegen, stap 6Project openen, nieuw project maken en een database toevoegen, stap 6
  7. Staat het bestand buiten de projectmap, dan kies je Copy it into the project folder (een kopie naast het projectbestand) of Reference it where it is (het project verwijst relatief naar het bestand, bijvoorbeeld ../Shared databases/body_extra.dbc). Klik op Add database.

    Project openen, nieuw project maken en een database toevoegen, stap 7Project openen, nieuw project maken en een database toevoegen, stap 7
  8. Arnodiqa slaat het project op en laadt het opnieuw: de database staat onder Databases bij Comfort, en Trace, Data en Graphics kennen de berichten ervan meteen.

    Project openen, nieuw project maken en een database toevoegen, stap 8Project openen, nieuw project maken en een database toevoegen, stap 8
Arnodiqa herkent een FIBEX-bestand, maar laadt het niet als database van een netwerk; bij het toevoegen krijg je daarover een melding.

Hardware kiezen of de virtuele bus gebruiken

Elk netwerk van het project wordt aan een kanaal toegewezen: een kanaal van een interface of van de virtuele bus.

  1. Op de desktop Project toont de projectverkenner onder Networks per netwerk de toewijzing, bijvoorbeeld → virtual vcan1 · Virtual CAN Bus. Klik op het pictogram Hardware configuration rechts naast Networks.

    Hardware kiezen of de virtuele bus gebruiken, stap 1Hardware kiezen of de virtuele bus gebruiken, stap 1
  2. Het venster Hardware toont onder Channel mapping per netwerk het kanaal (kolom Hardware) en de status, en onder Interfaces per driver of die beschikbaar is en welke kanalen hij vond. Klik op Rescan nadat je een interface hebt aangesloten.

    Hardware kiezen of de virtuele bus gebruiken, stap 2Hardware kiezen of de virtuele bus gebruiken, stap 2
  3. Kies per netwerk in de keuzelijst onder Hardware een kanaal van een aangesloten interface, een kanaal van de virtuele bus (Virtual CAN 1 …) of Virtual network (Comfort). De toewijzing geldt meteen; klik op Save project om het projectbestand bij te werken.

    Hardware kiezen of de virtuele bus gebruiken, stap 3Hardware kiezen of de virtuele bus gebruiken, stap 3
  4. De projectverkenner toont de nieuwe toewijzing bij het netwerk (→ virtual Comfort). Een kanaal dat bij de start niet gevonden wordt, staat daar als not connected.

    Hardware kiezen of de virtuele bus gebruiken, stap 4Hardware kiezen of de virtuele bus gebruiken, stap 4

Een meting starten en stoppen

Toolbar, statusbalk en het venster Statistics tonen de toestand van de meting en de busload.

  1. Klik op Start in de toolbar of druk op F9. Met het pijltje naast Start kies je Start measurement without logging.

    Een meting starten en stoppen, stap 1Een meting starten en stoppen, stap 1
  2. Tijdens de meting staat de status op Running met de meettijd ernaast, en daarnaast de busload per kanaal. De Trace vult zich. De statusbalk onderaan toont het aantal events, de events per seconde en de buffervulling.

    Een meting starten en stoppen, stap 2Een meting starten en stoppen, stap 2
  3. De busload staat in de toolbar en in de statusbalk. Meer detail geeft het venster Statistics op de desktop Signals: per kanaal Busload [%], Peak load [%], frames per seconde en de framecounters. Alle drie gebruiken dezelfde berekening over een venster van één seconde.

    Een meting starten en stoppen, stap 3Een meting starten en stoppen, stap 3
  4. Stop de meting met Stop of met Esc. Het Write-venster meldt Measurement 1 stopped (user) after … s.

    Een meting starten en stoppen, stap 4Een meting starten en stoppen, stap 4

De Trace: modi, filteren, signalen en export

De Trace toont elk frame en elk busevent, gedecodeerd met de databases van het project.

  1. De Trace staat op de desktop Analysis. In de modus Chronological krijgt elk event een eigen regel, de nieuwste onderaan. Met Maximize rechtsboven vult het venster de desktop.

    De Trace: modi, filteren, signalen en export, stap 1De Trace: modi, filteren, signalen en export, stap 1
  2. Klik op Fixed voor één regel per bericht, die op zijn plaats wordt bijgewerkt. Abs en Rel kiezen absolute of relatieve tijd; Spatie pauzeert de weergave.

    De Trace: modi, filteren, signalen en export, stap 2De Trace: modi, filteren, signalen en export, stap 2
  3. Typ in het filterveld (Ctrl+F) een filter, hier name:Engine. Voorbeelden: 1A0 of id:100-1FF (ID of bereik), ch:CAN2 of ch:Comfort (kanaal of netwerk), dir:tx, type:fd, !name:Door (niet). Termen worden gecombineerd; de tooltip van het veld toont de volledige syntax.

    De Trace: modi, filteren, signalen en export, stap 3De Trace: modi, filteren, signalen en export, stap 3
  4. Een tweede voorbeeld: ch:Comfort !name:Door toont alle berichten op het netwerk Comfort behalve die met Door in de naam. Onderaan staat filtered; Esc in het veld wist het filter.

    De Trace: modi, filteren, signalen en export, stap 4De Trace: modi, filteren, signalen en export, stap 4
  5. Klik op het pijltje vooraan een regel om het frame open te klappen: elk signaal staat eronder met fysische waarde, eenheid en ruwe waarde.

    De Trace: modi, filteren, signalen en export, stap 5De Trace: modi, filteren, signalen en export, stap 5
  6. Het contextmenu (rechtermuisknop) bevat Export selected rows to log file… en Export shown events to log file… (alles wat het venster met het huidige filter toont). In het opslagvenster kies je de naam en het type: BLF, ASC, MF4 of PCAPNG.

    De Trace: modi, filteren, signalen en export, stap 6De Trace: modi, filteren, signalen en export, stap 6
  7. Na het exporteren meldt Arnodiqa het aantal geschreven events; het Write-venster vermeldt elk bestand, hier trace.blf, trace.asc en trace.mf4.

    De Trace: modi, filteren, signalen en export, stap 7De Trace: modi, filteren, signalen en export, stap 7

Signalen volgen in Data en Graphics

Data toont actuele signaalwaarden, Graphics het verloop in de tijd.

  1. Open de desktop Signals. Graphics en Data zijn al gevuld met signalen uit de databases van het project.

    Signalen volgen in Data en Graphics, stap 1Signalen volgen in Data en Graphics, stap 1
  2. Klik in het Data-venster op Add signals. Zoek in Add signals to Data window op naam (hier OilTemp), vink het signaal aan (Spatie) en klik op Add 1 signal (Enter). Een signaal uit de Trace kun je ook naar het venster slepen.

    Signalen volgen in Data en Graphics, stap 2Signalen volgen in Data en Graphics, stap 2
  3. Doe hetzelfde in Graphics met Add signals en start de meting (F9). Data toont per signaal de actuele waarde, eenheid, ruwe waarde en min/max; Graphics het verloop met de laatste waarde in de signaallijst.

    Signalen volgen in Data en Graphics, stap 3Signalen volgen in Data en Graphics, stap 3
  4. Na de stop blijft het verloop staan. Scroll in Graphics om te zoomen en sleep om te verschuiven; het contextmenu exporteert de frames naar een logbestand of de signalen als CSV.

    Signalen volgen in Data en Graphics, stap 4Signalen volgen in Data en Graphics, stap 4

Berichten zenden met de Interactive Generator

De Interactive Generator zendt frames eenmalig, periodiek of op een toets.

  1. De desktop Stimulation bevat de Interactive Generator met berichten uit de database van het project.

    Berichten zenden met de Interactive Generator, stap 1Berichten zenden met de Interactive Generator, stap 1
  2. Klik op + CAN voor een eigen CAN-frame; From database voegt een bericht uit de database toe. Vul de ID in (hier 7E0) en onder Raw Data de databytes; bij een databasebericht bewerk je de waarden onder Signals.

    Berichten zenden met de Interactive Generator, stap 2Berichten zenden met de Interactive Generator, stap 2
  3. Start de meting. Send zendt het frame één keer. Kies bij Trigger de waarde Periodic, vul de periode in ms in en klik op Send: het frame gaat cyclisch en de knop heet dan Stop.

    Berichten zenden met de Interactive Generator, stap 3Berichten zenden met de Interactive Generator, stap 3
  4. In de Trace op de desktop Analysis verschijnen de gezonden frames met richting Tx; het filter dir:tx id:7E0 toont alleen dit frame.

    Berichten zenden met de Interactive Generator, stap 4Berichten zenden met de Interactive Generator, stap 4

Restbussimulatie: nodes en interaction layer

De Simulation Setup toont de gesimuleerde nodes en de toestand van hun interaction layer (IL).

  1. De Simulation Setup staat op de desktop Project, of open hem met Ctrl+K en New Simulation Setup window. Per netwerk zie je de nodes met type (IL = interaction layer), bron en de status van de interaction layer.

    Restbussimulatie: nodes en interaction layer, stap 1Restbussimulatie: nodes en interaction layer, stap 1
  2. Start de meting: de IL-nodes zenden hun berichten volgens de database (Sending).

    Restbussimulatie: nodes en interaction layer, stap 2Restbussimulatie: nodes en interaction layer, stap 2
  3. Met Stop IL en Start IL rechts op de regel zet je de interaction layer van één node stil of weer aan, terwijl de meting doorloopt.

    Restbussimulatie: nodes en interaction layer, stap 3Restbussimulatie: nodes en interaction layer, stap 3
  4. De schakelaar in de kolom Active zet een node helemaal uit, bijvoorbeeld om een echte ECU in de plaats te laten zenden. Tijdens de meting geldt dat alleen voor deze meting; bij een gestopte meting wijzigt de schakelaar het project.

    Restbussimulatie: nodes en interaction layer, stap 4Restbussimulatie: nodes en interaction layer, stap 4

Opnemen, offline afspelen en replay

Logging-blokken in de Measurement Setup schrijven BLF, ASC, MF4 of PCAPNG. Een opname speel je offline af door dezelfde analyse als een live meting, of zet je met een replay-blok terug op de bus.

  1. Klik in de projectverkenner op het potlood bij Measurement Setup. De editor toont de graaf van Measurement source naar filters, triggers, logging en vensters. Bij een logging-blok staan rechts File (met field codes zoals {MeasurementIndex}, knop {…}), Format, New file after [MB] en de Logging trigger. Add block voegt een blok toe; Apply en Save to project bewaren de wijziging.

    Opnemen, offline afspelen en replay, stap 1Opnemen, offline afspelen en replay, stap 1
  2. Start en stop de meting. Elk ingeschakeld logging-blok schrijft zijn bestand in de projectmap, hier logs/Demo vehicle_1.blf en voor het trigger-blok HighRpm logs/high_rpm_001.asc. De statusbalk toont tijdens de meting Logging met het aantal events. De schakelaar bij een blok in de projectverkenner zet logging aan of uit; Start measurement without logging slaat logging één keer over.

    Opnemen, offline afspelen en replay, stap 2Opnemen, offline afspelen en replay, stap 2
  3. Klik in de Measurement Setup op het blok Measurement source. Rechts kies je de werkmodus: Real bus (de hardware van de netwerken), Simulated bus (alle netwerken gesimuleerd, virtuele tijd) of Offline (logbestanden afspelen). Daaronder staan de replay-blokken.

    Opnemen, offline afspelen en replay, stap 3Opnemen, offline afspelen en replay, stap 3
  4. Kies Offline, klik op Add log file… en kies een of meer BLF-, ASC-, MF4- of PCAPNG-bestanden, hier de opname van stap 2.

    Opnemen, offline afspelen en replay, stap 4Opnemen, offline afspelen en replay, stap 4
  5. Het logbestand staat onder Log files; het vinkje zet een bron tijdelijk uit, de prullenbak haalt hem weg. Kies bij Speed As fast as possible, Real time (with factor) (2 = half zo snel) of Animate (één event per vertraging). Bij meerdere bestanden bepaalt Order hoe ze samengevoegd worden; Skip to the first event en Start paused staan onder Start.

    Opnemen, offline afspelen en replay, stap 5Opnemen, offline afspelen en replay, stap 5
  6. Klik op Save to project (Apply past de wijziging toe zonder op te slaan). De toolbar toont nu Offline en het bronblok offline · 1 file. Hetzelfde kan via Ctrl+K met Working mode: Offline (log files).

    Opnemen, offline afspelen en replay, stap 6Opnemen, offline afspelen en replay, stap 6
  7. Klik op Start (F9): Arnodiqa speelt het logbestand af door dezelfde analyse als een live meting (Trace, Graphics, Statistics). Aan het einde van het bestand stopt de meting vanzelf; met Real time duurt dat zo lang als de opname.

    Opnemen, offline afspelen en replay, stap 7Opnemen, offline afspelen en replay, stap 7
  8. Een opname terug op de bus zetten tijdens een online meting: kies Simulated bus of Real bus en klik bij Replay blocks op Add replay block…. Per blok kies je de naam, Start at once, Original times of Delayed, en Loop. Apply zet het blok in het project. Bij de volgende start zendt het blok de frames van het bestand. In de offline-modus zijn replay-blokken inactief.

    Opnemen, offline afspelen en replay, stap 8Opnemen, offline afspelen en replay, stap 8

Diagnose: UDS-console en foutgeheugen

Diagnostic Console en Fault Memory werken met de diagnostische ECU's van het project, gesimuleerd of echt.

  1. Open de Diagnostic Console met Ctrl+K en New Diagnostic Console window en start de meting. Kies bij ECU de ECU (hier DoorECU). Kies bij Service een dienst en subfunctie en klik op Send, of typ bij Raw een request in hex.

    Diagnose: UDS-console en foutgeheugen, stap 1Diagnose: UDS-console en foutgeheugen, stap 1
  2. Typ bij Raw bijvoorbeeld 22 F1 90 (ReadDataByIdentifier, VIN) en druk op Enter of klik op Send raw. De historie toont request, response, resultaat en responstijd; klik op een regel voor de gedecodeerde parameters. Een negatieve response toont de NRC met naam.

    Diagnose: UDS-console en foutgeheugen, stap 2Diagnose: UDS-console en foutgeheugen, stap 2
  3. Open Fault Memory (Ctrl+K, New Fault Memory window) en klik op Read (dienst 19 02 met het statusmasker uit de keuzelijst, standaard All status bits (FF)). Per DTC zie je SAE-code, code, status en de statusbits als kolommen; onderaan de acht bits van de geselecteerde DTC uitgeschreven.

    Diagnose: UDS-console en foutgeheugen, stap 3Diagnose: UDS-console en foutgeheugen, stap 3
  4. Clear all wist het foutgeheugen (ClearDiagnosticInformation, 14 FF FF FF); bevestig met Clear.

    Diagnose: UDS-console en foutgeheugen, stap 4Diagnose: UDS-console en foutgeheugen, stap 4
  5. Na het wissen leest Read de DTC's opnieuw: hun status is teruggezet.

    Diagnose: UDS-console en foutgeheugen, stap 5Diagnose: UDS-console en foutgeheugen, stap 5

Een ECU flashen

Het Flash-venster voert het flashprogramma van een ECU uit, met voortgang per stap en per blok.

  1. Open het Flash-venster (Ctrl+K, New Flash window) en start de meting. Kies de ECU, het firmwarebestand (standaard dat uit het project, of via Browse…) en het formaat. Het venster toont vooraf de blokken van het bestand.

    Een ECU flashen, stap 1Een ECU flashen, stap 1
  2. Klik op Flash (Ctrl+Enter). De voortgangsbalk, de lopende stap, het blok, de snelheid en de resterende tijd lopen mee. Cancel breekt af; de clean-up-stappen lopen dan nog.

    Een ECU flashen, stap 2Een ECU flashen, stap 2
  3. Het eindrapport toont de uitkomst, duur, snelheid en checksums. Copy report kopieert het rapport; bij een fout staan de falende stap en de NRC erbij.

    Een ECU flashen, stap 3Een ECU flashen, stap 3

CAPL-nodes toevoegen en bewerken

Bestaande CAPL-programma's draaien als simulatienode naast de restbussimulatie. De ingebouwde CAPL Editor controleert het programma tijdens het typen.

  1. Op de desktop Project staan de CAPL-nodes onder Simulation nodes, met hun bronbestand (.can) en netwerken. In de Simulation Setup hebben ze het type CAPL; het potlood opent het programma in de CAPL Editor, de prullenbak haalt de node uit het project en Add CAPL node voegt er een toe.

    CAPL-nodes toevoegen en bewerken, stap 1CAPL-nodes toevoegen en bewerken, stap 1
  2. De CAPL Editor toont het programma met syntaxkleuring en regelnummers. Rechtsboven staan de nodes die dit bestand draaien (hier CaplGateway); No problems komt van dezelfde compiler als bij de meetstart en bij arnodiqa capl check.

    CAPL-nodes toevoegen en bewerken, stap 2CAPL-nodes toevoegen en bewerken, stap 2
  3. Houd de muis boven een naam voor uitleg: bij een CAPL-functie alle vormen met hun parameters, bij een bericht ID, lengte, cyclustijd en signalen, bij een signaal schaal, eenheid en value table.

    CAPL-nodes toevoegen en bewerken, stap 3CAPL-nodes toevoegen en bewerken, stap 3
  4. Arnodiqa controleert het programma terwijl je typt: fouten krijgen een rode golflijn en een markering in de kantlijn, en de teller in de werkbalk toont het aantal fouten en waarschuwingen (klik erop voor de lijst, of Ctrl+Shift+M). Hier is totl onbekend en ontbreekt een puntkomma.

    CAPL-nodes toevoegen en bewerken, stap 4CAPL-nodes toevoegen en bewerken, stap 4
  5. Ctrl+Space, of gewoon typen, toont aanvullingen: variabelen, functies en CAPL-functies, berichten en signalen uit de databases van het project, en na @ de systeemvariabelen. Enter of Tab neemt de keuze over.

    CAPL-nodes toevoegen en bewerken, stap 5CAPL-nodes toevoegen en bewerken, stap 5
  6. Ctrl+S (of Save) bewaart het bestand en laadt de node opnieuw met het nieuwe programma. Tijdens een meting vraagt Arnodiqa eerst bevestiging; de lopende meting houdt het oude programma tot de volgende start.

    CAPL-nodes toevoegen en bewerken, stap 6CAPL-nodes toevoegen en bewerken, stap 6
  7. Een node toevoegen: klik in de Simulation Setup op Add CAPL node of op de + bij Simulation nodes in de projectverkenner. Geef een naam, kies de netwerken en een sjabloon (Empty node, Cyclic sender, Echo / gateway); het bestand wordt capl/<naam>.can. Existing file gebruikt een bestaand .can-bestand, in de projectmap of daarbuiten (gekopieerd of relatief verwezen).

    CAPL-nodes toevoegen en bewerken, stap 7CAPL-nodes toevoegen en bewerken, stap 7
  8. De node staat in de Simulation Setup en zijn programma opent in de editor. Start de meting: de CAPL-programma's draaien en hun write()-uitvoer staat in het Write-venster op het tabblad Program, met de nodenaam ervoor. Sla het project op om de nieuwe node te bewaren.

    CAPL-nodes toevoegen en bewerken, stap 8CAPL-nodes toevoegen en bewerken, stap 8

Testunits draaien in de Test Runner

De Test Runner draait de testunits van het project in de gesimuleerde bus en toont het rapport in de app. De uitkomst is dezelfde als met arnodiqa test.

  1. Open de Test Runner met Ctrl+K en New Test Runner window. Links staan de testunits van het project (de *.vtestunit.yaml-bestanden onder tests/) met hun testcases; een testboom (*.vtesttree.yaml) verschijnt met zijn groepen. Het vinkje bepaalt welke units meedoen.

    Testunits draaien in de Test Runner, stap 1Testunits draaien in de Test Runner, stap 1
  2. Klik op een unit voor de details: titel en beschrijving, het bestand en de CAPL-bronnen (een klik opent ze in de CAPL Editor). Met de pijltjestoetsen loop je door de boom, Spatie zet het vinkje en Enter of Run this unit draait de geselecteerde unit.

    Testunits draaien in de Test Runner, stap 2Testunits draaien in de Test Runner, stap 2
  3. Klik op Run (Ctrl+Enter). Elke unit draait in een eigen meting op de gesimuleerde bus; de lopende testcase staat op Running en de verdicts verschijnen zodra een testcase klaar is. Cancel breekt de run af: de lopende unit stopt en de rest wordt overgeslagen.

    Testunits draaien in de Test Runner, stap 3Testunits draaien in de Test Runner, stap 3
  4. Na de run heeft elke testcase zijn verdict (Pass, Fail, Inconclusive, Error) en zijn duur in meettijd. Onderaan staan de samenvatting en de exitcode die arnodiqa test voor dezelfde uitkomst geeft, hier 1: minstens één testcase faalde.

    Testunits draaien in de Test Runner, stap 4Testunits draaien in de Test Runner, stap 4
  5. Klik op Report voor het HTML-rapport in de app: per unit de informatie en per testcase de stappen; gefaalde testcases staan open. Save HTML… bewaart het rapport.

    Testunits draaien in de Test Runner, stap 5Testunits draaien in de Test Runner, stap 5
  6. Export bewaart het rapport als HTML, als JUnit XML voor een CI-server of als het canonieke JSON-rapport.

    Testunits draaien in de Test Runner, stap 6Testunits draaien in de Test Runner, stap 6
De Test Runner start altijd een volledige testunit; afzonderlijke testcases start je niet apart.

LIN: schedule tables, slaves en LIN in de Trace

Een LIN-netwerk komt uit een LDF; Arnodiqa simuleert master en slaves en toont LIN-frames en busevents in de Trace.

  1. Project Body LIN uit het sjabloon LIN cluster. De projectverkenner toont het LIN-netwerk met baudrate, master, slaves en schedule tables; de Simulation Setup toont de LIN-nodes met hun rol (master of slave).

    LIN: schedule tables, slaves en LIN in de Trace, stap 1LIN: schedule tables, slaves en LIN in de Trace, stap 1
  2. Start de meting en kies in de Simulation Setup bij het LIN-netwerk een andere schedule table. De wissel gebeurt aan het einde van de lopende table; de regel toont running: ….

    LIN: schedule tables, slaves en LIN in de Trace, stap 2LIN: schedule tables, slaves en LIN in de Trace, stap 2
  3. Elke slave uit het LDF is een gesimuleerde node. Zet een slave uit met de schakelaar in de kolom Active (hier RLS) om een echte ECU op die plaats te laten antwoorden. Tijdens de meting geldt dat alleen voor deze meting; Write meldt dan Node 'RLS' deactivated for this measurement.

    LIN: schedule tables, slaves en LIN in de Trace, stap 3LIN: schedule tables, slaves en LIN in de Trace, stap 3
  4. In de Trace staan LIN-frames met kanaal LIN1. Via Columns zet je de kolommen PID en Checksum aan. Filters: bus:lin, type:lin, type:linerror (fouten) en type:linbus (wake-up, sleep, schedulewissel).

    LIN: schedule tables, slaves en LIN in de Trace, stap 4LIN: schedule tables, slaves en LIN in de Trace, stap 4
  5. In Chronological toont het filter type:linbus de busevents: hier de wissels van schedule table, en verder wake-up en sleep. type:linerror toont foutregels zoals No response of Checksum error.

    LIN: schedule tables, slaves en LIN in de Trace, stap 5LIN: schedule tables, slaves en LIN in de Trace, stap 5
  6. In de Interactive Generator op de desktop Stimulation kies je in de LIN-sectie een frame uit het LDF. Set response publiceert de response als slave, Send header zendt de header als master.

    LIN: schedule tables, slaves en LIN in de Trace, stap 6LIN: schedule tables, slaves en LIN in de Trace, stap 6

J1939 Monitor en DTC's

De J1939 Monitor toont de nodes op een J1939-netwerk, hun actieve foutcodes en het verloop van claims en transporten.

  1. Open de J1939 Monitor (Ctrl+K, New J1939 Monitor window) en start de meting. Het tabblad Nodes toont per adres de NAME met zijn velden, de tijd van de address claim en een DM1-samenvatting.

    J1939 Monitor en DTC's, stap 1J1939 Monitor en DTC's, stap 1
  2. Het tabblad DTC monitor toont per node de lampen (MIL, RSL, AWL, PL) en de actieve DTC's uit DM1: SPN, FMI met tekst en de occurrence count.

    J1939 Monitor en DTC's, stap 2J1939 Monitor en DTC's, stap 2
  3. Het tabblad Events toont address claims, verzoeken en antwoorden, ACK/NACK en meldingen van het transportprotocol. Met Request vraag je een PGN op bij een bestemming (hex); Clear active (DM11) en Clear previous (DM3) wissen DTC's.

    J1939 Monitor en DTC's, stap 3J1939 Monitor en DTC's, stap 3
In de opname zet de gesimuleerde motor-ECU de twee DTC's actief, zoals een echte fout dat zou doen.

Database-editor: een signaal toevoegen

De Database Editor bewerkt DBC- en LDF-bestanden van het project, met undo/redo en controle tijdens het bewerken.

  1. Klik in de projectverkenner op het potlood naast de database (hier powertrain.dbc). De Database Editor toont links de boom (nodes, berichten, signalen, value tables), in het midden de tabel en rechts de eigenschappen.

    Database-editor: een signaal toevoegen, stap 1Database-editor: een signaal toevoegen, stap 1
  2. Klik in de boom op een bericht (hier ABS_Status): het midden toont de bitlayout met elk signaal als gekleurde balk, en daaronder de signalen in een tabel.

    Database-editor: een signaal toevoegen, stap 2Database-editor: een signaal toevoegen, stap 2
  3. Klik boven de bitlayout op + Signal: het nieuwe signaal (1 bit) komt op de eerste vrije plek, hier bit 27. Geef het rechts onder Signal een naam (hier BrakeLampOn) en zo nodig lengte, byte order, factor, eenheid en ontvangers. Sleep de balk om het signaal te verplaatsen of een uiteinde om de lengte te wijzigen; overlap wordt rood gemarkeerd.

    Database-editor: een signaal toevoegen, stap 3Database-editor: een signaal toevoegen, stap 3
  4. Na het opslaan meldt Arnodiqa Database saved en herlaadt het project met de nieuwe database; de Trace decodeert het nieuwe signaal meteen. Ctrl+Z en Ctrl+Y (of de pijlen linksboven) maken wijzigingen ongedaan of opnieuw.

    Database-editor: een signaal toevoegen, stap 4Database-editor: een signaal toevoegen, stap 4

Hardware-zelftest

De zelftest controleert een interface en zijn driver met een kanaalpaar of met één kanaal en interne loopback.

  1. Open het venster Hardware (Ctrl+K, New Hardware window of via de projectverkenner) en klik op Self-test…. Het pictogram bij een kanaal start de test voor alleen dat kanaal.

    Hardware-zelftest, stap 1Hardware-zelftest, stap 1
  2. Kies de opstelling: Channel pair (twee kanalen met een kabel verbonden) of One channel, de kanalen A en B, de bitrate, CAN FD en de checks. Zonder hardware test Try on virtual channels op een virtuele bus.

    Hardware-zelftest, stap 2Hardware-zelftest, stap 2
  3. Klik op Start self-test (Ctrl+Enter). Per check zie je de status en de duur.

    Hardware-zelftest, stap 3Hardware-zelftest, stap 3
  4. Daarna volgt de samenvatting met de kanalen (toestel, serienummer, firmware, driver). Klap een check open voor meetwaarden en bij een fout de waarschijnlijke oorzaak. Save HTML report bewaart het rapport.

    Hardware-zelftest, stap 4Hardware-zelftest, stap 4

Supportbundel en logmap

Logs en crashrapporten blijven op de computer. Een supportbundel maak je zelf; stuur hem via je eigen kanaal door naar support@arnodiqa.com.

  1. Klik rechtsboven op het vraagteken (Help). Het menu bevat Open log folder, Create support bundle…, Debug logging until restart en About Arnodiqa. Dezelfde acties staan in Ctrl+K onder Help.

    Supportbundel en logmap, stap 1Supportbundel en logmap, stap 1
  2. Create support bundle… toont vooraf welke bestanden in het zip-bestand komen en wat bewust wordt weggelaten. Kies de periode van de logs en of het project, de computernaam of serienummers mee mogen. Klik op Save… en kies waar het zip-bestand komt; er wordt niets verstuurd.

    Supportbundel en logmap, stap 2Supportbundel en logmap, stap 2
  3. Open log folder opent de map met de logbestanden van Arnodiqa in Verkenner; een melding toont het pad.

    Supportbundel en logmap, stap 3Supportbundel en logmap, stap 3

FAQ

Kan ik het met echte hardware gebruiken?
Ja. Er zijn backends voor PEAK PCAN-Basic, Vector XL, Kvaser CANlib, SLCAN en candleLight/gs_usb; arnodiqa hw list en het venster Hardware tonen wat gevonden is. Arnodiqa gebruikt de officiële driver van de fabrikant; met de Hardware Self-Test controleer je een interface in de eigen opstelling. Zie hw list.
Kan ik een restbus simuleren?
Ja. Onder simulation.restbus wordt elke node uit de DBC een Interaction Layer-node met de send types, cyclustijden, start- en inactieve waarden uit de database. Sluit de te testen ECU uit met exclude. Zie Projectformaat.
Draait mijn bestaande CAPL-code?
De script-VM voert bestaande CAPL-programma's uit als simulatienode of als testmodule, inclusief functies voor Interaction Layer, diagnose, logging, bestanden en INI-profielen. Controleer een programma vooraf met arnodiqa capl check. De taal is geïmplementeerd op basis van eigen specificaties.
Kan ik tests in CI draaien?
Ja. arnodiqa test voert de test units van een project uit in de gesimuleerde bus, schrijft rapporten in HTML, JSON en JUnit XML en geeft een exitcode volgens het verdict.
Zijn de BLF-bestanden uitwisselbaar met CANoe/CANalyzer?
Ja, voor CAN- en CAN FD-frames en error frames. Systeemvariabelen worden in ASC ondersteund.
Welke platformen?
Arnodiqa draait op Windows 11 (x64).
Werkt het zonder internet (air-gapped)?
Ja. Engine en CLI maken geen netwerkverbindingen en deze documentatie werkt offline. De Windows-installer, de licentie (een ondertekend bestand, zonder activatie) en de VS Code-extensie werken zonder internet. SBOM en third-party notices komen bij elke release mee. Zie Offline gebruik.
Heb ik een dongle of licentieserver nodig?
Nee. De licentie is een ondertekend bestand (*.arnlic) dat Arnodiqa lokaal controleert: geen hardwaresleutel, geen activatie, geen phone-home. Machinegebonden, site- en volumelicenties zijn beschikbaar. Zonder licentie werkt Arnodiqa 30 dagen met alle functies, daarna blijven bekijken, offline afspelen, converteren en exporteren beschikbaar. Zie arnodiqa license en Prijzen.
Waarom YAML en niet een binair configuratiebestand?
Een YAML-project kan in git. Een wijziging verschijnt als leesbare diff, die je kunt reviewen en bij een merge kunt oplossen. Het JSON Schema maakt fouten al in de editor zichtbaar. De meetindex staat apart, zodat runs het project niet wijzigen.