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
| Toolbar | Projectmenu, 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. |
|---|---|
| Desktops | Analysis (Trace en Write), Messages, Signals (Graphics, Data, Statistics), Stimulation (Interactive Generator) en Project (projectverkenner en Simulation Setup). |
| Vensters | Met Window voeg je vensters toe. Vensters zijn te verslepen en te docken; Layout bewaart de indeling. |
| Write-venster | Meldingen van het systeem, van scripts (tabblad Program) en van tests (tabblad Test). |
| Statusbalk | Toestand, 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.
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.


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.


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.


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.


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.


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.


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.


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.


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.
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.


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.


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.


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.


Een meting starten en stoppen
Toolbar, statusbalk en het venster Statistics tonen de toestand van de meting en de busload.
Klik op Start in de toolbar of druk op F9. Met het pijltje naast Start kies je Start measurement without logging.


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.


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.


Stop de meting met Stop of met Esc. Het Write-venster meldt Measurement 1 stopped (user) after … s.


De Trace: modi, filteren, signalen en export
De Trace toont elk frame en elk busevent, gedecodeerd met de databases van het project.
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.


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.


Typ in het filterveld (Ctrl+F) een filter, hier
name:Engine. Voorbeelden:1A0ofid:100-1FF(ID of bereik),ch:CAN2ofch:Comfort(kanaal of netwerk),dir:tx,type:fd,!name:Door(niet). Termen worden gecombineerd; de tooltip van het veld toont de volledige syntax.

Een tweede voorbeeld:
ch:Comfort !name:Doortoont alle berichten op het netwerk Comfort behalve die met Door in de naam. Onderaan staat filtered; Esc in het veld wist het filter.

Klik op het pijltje vooraan een regel om het frame open te klappen: elk signaal staat eronder met fysische waarde, eenheid en ruwe waarde.


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.


Na het exporteren meldt Arnodiqa het aantal geschreven events; het Write-venster vermeldt elk bestand, hier trace.blf, trace.asc en trace.mf4.


Signalen volgen in Data en Graphics
Data toont actuele signaalwaarden, Graphics het verloop in de tijd.
Open de desktop Signals. Graphics en Data zijn al gevuld met signalen uit de databases van het project.


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.


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.


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.


Berichten zenden met de Interactive Generator
De Interactive Generator zendt frames eenmalig, periodiek of op een toets.
De desktop Stimulation bevat de Interactive Generator met berichten uit de database van het project.


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.


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.


In de Trace op de desktop Analysis verschijnen de gezonden frames met richting Tx; het filter
dir:tx id:7E0toont alleen dit frame.

Restbussimulatie: nodes en interaction layer
De Simulation Setup toont de gesimuleerde nodes en de toestand van hun interaction layer (IL).
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.


Start de meting: de IL-nodes zenden hun berichten volgens de database (Sending).


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.


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.


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.
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.

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.


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.


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


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.


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).


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.


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.


Diagnose: UDS-console en foutgeheugen
Diagnostic Console en Fault Memory werken met de diagnostische ECU's van het project, gesimuleerd of echt.
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.


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.

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.


Clear all wist het foutgeheugen (ClearDiagnosticInformation, 14 FF FF FF); bevestig met Clear.


Na het wissen leest Read de DTC's opnieuw: hun status is teruggezet.


Een ECU flashen
Het Flash-venster voert het flashprogramma van een ECU uit, met voortgang per stap en per blok.
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.


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.


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.


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.
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.


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.

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.


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.


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.


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.


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).


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.


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.
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.


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.


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.


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 testvoor dezelfde uitkomst geeft, hier 1: minstens één testcase faalde.

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.


Export bewaart het rapport als HTML, als JUnit XML voor een CI-server of als het canonieke JSON-rapport.


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.
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).


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: ….

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.


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) entype:linbus(wake-up, sleep, schedulewissel).

In Chronological toont het filter
type:linbusde busevents: hier de wissels van schedule table, en verder wake-up en sleep.type:linerrortoont foutregels zoals No response of Checksum error.

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.


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.
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.


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.


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.


Database-editor: een signaal toevoegen
De Database Editor bewerkt DBC- en LDF-bestanden van het project, met undo/redo en controle tijdens het bewerken.
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.


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.


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.


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.


Hardware-zelftest
De zelftest controleert een interface en zijn driver met een kanaalpaar of met één kanaal en interne loopback.
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.


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.


Klik op Start self-test (Ctrl+Enter). Per check zie je de status en de duur.


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.


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.
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.


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.


Open log folder opent de map met de logbestanden van Arnodiqa in Verkenner; een melding toont het pad.


FAQ
Kan ik het met echte hardware gebruiken?
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?
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?
arnodiqa capl check. De taal is geïmplementeerd op basis van eigen specificaties.Kan ik tests in CI draaien?
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?
Welke platformen?
Werkt het zonder internet (air-gapped)?
Heb ik een dongle of licentieserver nodig?
*.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.