📘 MarinAnalyse · dokumentert arbeidsflyt
Komplett, trinnvis fremgangsmåte for å dekode en Actisense EBL-logg til CSV, oppdatere Excel-malen, hente ut Gobius- og vinddata, beregne meldingsavbrudd og dokumentere målinger før og etter programvareoppdatering.
🎯 Hovedprinsipp: Den opprinnelige EBL-filen skal alltid bevares uendret. CSV-filen brukes som arbeidskopi, mens EBL_Data beholdes som råspørring og Bare tilkobling. Alle analyser lages som referanser til råspørringen.
1️⃣ EBL → CSV
Dekod loggfilen med Actisense.
2️⃣ CSV → Kildefil
Bare én CSV-fil i mappen.
3️⃣ Oppdater Excel
Data → Oppdater alt.
4️⃣ Filtrer PGN
Gobius 127505 og vind 130306.
5️⃣ Analyser
Tidsavstand og andre meldinger.
6️⃣ Dokumenter
Lagre før/etter-filer og skjermbilder.
🧰 1. Forbered mapper og filnavn
Opprett denne hovedmappen i OneDrive:
C:\Users\Henry\OneDrive\Dokumenter\EBL Power Query
Bruk denne mappestrukturen:
EBL Power Query ├── Arkiv ├── Kildefil └── EBL_analyse_mal.xlsx
- Arkiv: Tidligere CSV-filer og ferdige analysefiler.
- Kildefil: Skal bare inneholde én aktiv
.csv-fil om gangen. - EBL_analyse_mal.xlsx: Power Query-malen som oppdateres når kildefilen byttes.
⚠️ Viktig: Vent til OneDrive viser grønt hake-symbol på CSV-filen før du åpner Excel og velger Oppdater alt.
🧾 2. Fra Actisense EBL-fil til dekodet CSV
- Finn den opprinnelige Actisense-loggfilen med filendelsen
.ebl. - Lag en sikkerhetskopi. Den opprinnelige EBL-filen skal ikke overskrives.
- Åpne EBL-filen i Actisense EBL Reader eller EBL Toolkit.
- Velg funksjonen for å dekode eller eksportere loggen til CSV. Menynavnet kan variere mellom versjoner og kan hete for eksempel Export, Save As eller Decode to CSV.
- Velg dekodet NMEA 2000-format slik at filnavnet ender med
.n2kdecoded.csv. - Bruk et tydelig filnavn, for eksempel
PowerQuery_000013_057.n2kdecoded.csv. - Flytt eventuell gammel CSV-fil fra Kildefil til Arkiv.
- Legg den nye CSV-filen alene i
C:\Users\Henry\OneDrive\Dokumenter\EBL Power Query\Kildefil.
📥 3. Oppdater Excel-malen
- Åpne EBL_analyse_mal.xlsx.
- Velg fanen Data.
- Klikk Oppdater alt.
- Vent til oppdateringen er ferdig. Store CSV-filer kan bruke flere minutter.
- Åpne Data → Spørringer og tilkoblinger.
| Spørring | Formål | Lastestatus |
|---|---|---|
| EBL_Data | Rådata fra CSV-filen | Bare tilkobling |
| PGN_Oversikt | Antall meldinger per PGN og navn | Tabell i eget ark |
| Vinddata | PGN 130306 – Wind Data | Valgfritt analyseark |
| Gobius_data | PGN 127505 – Fluid Level | Tabell i eget ark |
🔒 Beskytt rådataene: Ikke rediger EBL_Data direkte. Lag alltid nye analyser ved å høyreklikke på EBL_Data og velge Referanse.
📊 4. Opprett PGN_Oversikt
- Høyreklikk EBL_Data og velg Referanse.
- Gi spørringen navnet PGN_Oversikt.
- Velg Velg kolonner og behold bare
PGNogName. - Velg Grupper etter → Avansert.
- Grupper etter både PGN og Name.
- Navn på ny kolonne: Antall meldinger.
- Operasjon: Antall rader.
- Sorter Antall meldinger fra størst til minst.
- Velg Lukk og last inn til … → Tabell → Nytt regneark.
Viktige PGN-er: 127505 Fluid Level, 130306 Wind Data, 127257 Attitude, 127245 Rudder, 129025 Position og 128267 Water Depth.
🌬️ 5. Opprett Vinddata
- Høyreklikk EBL_Data og velg Referanse.
- Gi spørringen navnet Vinddata.
- Finn kolonnen PGN via Velg kolonner → Gå til kolonne.
- Filtrer PGN slik at bare 130306 beholdes.
- Behold
Line,Time,PGN,Name,Wind Speed,Wind DirectionogWind Reference. - Gjør Line til Heltall.
- Gjør Time, Wind Speed og Wind Direction til Desimaltall med Engelsk (USA).
- Sorter Line stigende og last inn som tabell ved behov.
🛢️ 6. Opprett Gobius_data
- Høyreklikk EBL_Data og velg Referanse.
- Gi spørringen navnet Gobius_data.
- Filtrer PGN slik at bare 127505 beholdes.
- Behold kolonnene
Line,Time,PGN,Name,Fluid Instance,Fluid Type,Fluid LevelogTank Capacity.
| Kolonne | Datatype | Innstilling |
|---|---|---|
| Line | Heltall | Vanlig |
| Time | Desimaltall | Engelsk (USA) |
| Fluid Level | Desimaltall | Engelsk (USA) |
| Tank Capacity | Desimaltall | Engelsk (USA) |
For desimalkolonnene: Klikk datatypeikonet → Med nasjonal innstilling … → Desimaltall → Engelsk (USA).
⚠️ Hvorfor Engelsk (USA)? CSV-filen bruker punktum som desimalskilletegn. Uten riktig nasjonal innstilling kan tall bli tolket som tekst eller få feil verdi.
🔼 Sorter og last inn
- Kontroller at Line har tallikonet 123, ikke ABC.
- Klikk filterpilen i Line og velg Sorter stigende.
- Kontroller at et nytt trinn kalt omtrent Sorterte rader kommer nederst under Brukte trinn.
- Velg Hjem → Lukk og last inn til … → Tabell → Nytt regneark.
De første linjene skal komme omtrent slik: 43 → 321 → 597 → 887 → 1168 → 1455 → 1723.
🚫 Ikke sorter etter Fluid Level, Tidsavstand eller Andre meldinger mellom. Beregningene sammenligner hver rad med raden over. Bruk filter, ikke sortering.
⏱️ 7. Beregn tidsavstand
Opprett kolonnen Tidsavstand (s) til høyre for tabellen. Skriv i første datarad:
=HVIS(RAD()=2;"";B2-B1)
Tolkning:
- 2–3 sekunder: Vanlig sendeintervall.
- 5–15 sekunder: Kort avbrudd.
- 15–60 sekunder: Tydelig avbrudd.
- Over 60 sekunder: Vurder som mulig ny loggperiode eller avslått utstyr.
📨 8. Tell andre meldinger mellom
Opprett kolonnen Andre meldinger mellom. Skriv:
=HVIS(RAD()=2;"";A2-A1-1)
Eksempel: Line 321 − Line 43 − 1 = 277 andre loggmeldinger mellom to Gobius-meldinger.
🚨 9. Filtrer mulige avbrudd
Minst 5 sekunder
- Klikk filterpilen i Tidsavstand (s).
- Velg Tallfiltre → Større enn eller lik ….
- Skriv 5 og klikk OK.
Anbefalt dokumentasjonsfilter: 5–60 sekunder
- Velg Tallfiltre → Egendefinert filter.
- Første betingelse: større enn eller lik 5.
- Velg Og.
- Andre betingelse: mindre enn eller lik 60.
📌 Dokumenterbar observasjon: Høy tidsavstand kombinert med et stort positivt antall andre meldinger viser at annen NMEA 2000-trafikk fortsatte mens Gobius Fluid Level uteble.
💯 10. Undersøk 100 %-verdier
Metode A – finn alle
- Fjern filteret fra Tidsavstand (s).
- Kontroller at Line fortsatt står stigende.
- Filtrer Fluid Level med Tallfiltre → Er lik → 100.
Metode B – vis før, under og etter
- Fjern filteret fra Fluid Level.
- Filtrer Line med Tallfiltre → Mellom ….
- Bruk et avgrenset område rundt en kjent 100 %-periode.
Eksempler fra analysen: 302000–312600 og 316000–323700.
Se etter mønsteret normalt nivå → 100 % i mange meldinger med normalt intervall → tilbake til omtrent 46 %, eventuelt via 67,4 % eller 89,8 %.
🧭 Tolkning: Gjentatte 100 %-meldinger med normalt sendeintervall viser at PGN 127505 faktisk inneholder 100 %-verdier. Loggen alene avgjør ikke den tekniske årsaken.
🧯 11. Vanlige feil
| Problem | Årsak | Løsning |
|---|---|---|
| Line viser A–Å | Line er tekst | Endre Line til Heltall i Power Query |
| Negative tidsavstander | Feil sortering | Sorter bare Line stigende |
| #VERDI! i første rad | Ingen foregående rad | Bruk HVIS(RAD()=2;»»; … ) |
| Enorm tidsavstand | Mulig ny loggperiode | Bruk filter 5–60 sekunder |
| Feil desimaltall | Punktum tolkes feil | Desimaltall + Engelsk (USA) |
| Feil kildefil | Flere CSV-filer | La bare én CSV ligge i Kildefil |
💾 12. Filnavn og arkivering
Lagre en egen kopi før kildefilen byttes.
Før oppdatering: Gobius_før_oppdatering_000013_057.xlsx
Etter oppdatering: Gobius_etter_oppdatering_ÅÅÅÅMMDD.xlsx
Behold samlet: EBL-fil, dekodet CSV, Excel-arbeidsbok, skjermbilder, testdato, sted, testforhold, appversjon og programvareversjon.
🔄 13. Sammenlign før og etter Gobius-oppdatering
- Noter gammel app- og programvareversjon.
- Installer ny app og programvare via Bluetooth i båten.
- Kontroller ved kai og gjennomfør deretter en testtur.
- Lag ny EBL-logg og dekod den til CSV.
- Flytt gammel CSV til Arkiv og legg den nye alene i Kildefil.
- Åpne malen og velg Data → Oppdater alt.
- Gjenta samme filtre og vurderinger.
Sammenlign: antall PGN 127505-meldinger, normalt intervall, avbrudd ≥5 sekunder, avbrudd 15–60 sekunder, lengste relevante avbrudd, andre meldinger under avbruddene, 100 %-perioder og stabilitet i Simrad/MarinAnalyse.
✅ 14. Hurtigsjekkliste
☐ EBL-filen er bevart uendret
☐ CSV-filen ender med .n2kdecoded.csv
☐ Bare én CSV-fil ligger i Kildefil
☐ OneDrive viser grønt hake-symbol
☐ EBL_Data står som Bare tilkobling
☐ Gobius_data er en referanse til EBL_Data
☐ PGN er filtrert til 127505
☐ Line er Heltall og sortert stigende
☐ Time, Fluid Level og Tank Capacity er desimaltall med Engelsk (USA)
☐ Tidsavstand og Andre meldinger mellom er beregnet
☐ Det brukes filter, ikke sortering, på analysekolonnene
☐ Før/etter-filer og skjermbilder er lagret 🧩 Tillegg: Power Query-kode for EBL_Data
let
Mappe = Folder.Files("C:\Users\Henry\OneDrive\Dokumenter\EBL Power Query\Kildefil"),
CSVfiler = Table.SelectRows(Mappe, each Text.Lower([Extension]) = ".csv"),
Sortert = Table.Sort(CSVfiler, {{"Date modified", Order.Descending}}),
Filinnhold = Sortert{0}[Content],
Kilde = Csv.Document(Filinnhold,[Delimiter=",", Encoding=1252, QuoteStyle=QuoteStyle.Csv]),
#"Forfremmede overskrifter" = Table.PromoteHeaders(Kilde,[PromoteAllScalars=true])
in
#"Forfremmede overskrifter"
🧩 Tillegg: Power Query-kode for PGN_Oversikt
let
Kilde = EBL_Data,
#"Andre kolonner fjernet" = Table.SelectColumns(Kilde,{"PGN","Name"}),
#"Grupperte rader" = Table.Group(#"Andre kolonner fjernet",{"PGN","Name"},{{"Antall meldinger", each Table.RowCount(_), Int64.Type}}),
#"Sorterte rader" = Table.Sort(#"Grupperte rader",{{"Antall meldinger",Order.Descending}})
in
#"Sorterte rader"
🧩 Tillegg: Power Query-kode for Gobius_data
let
Kilde = EBL_Data,
#"Filtrerte rader" = Table.SelectRows(Kilde, each [PGN] = "127505"),
#"Andre kolonner fjernet" = Table.SelectColumns(#"Filtrerte rader",{"Line","Time","PGN","Name","Fluid Instance","Fluid Type","Fluid Level","Tank Capacity"}),
#"Desimaltall med engelsk innstilling" = Table.TransformColumnTypes(#"Andre kolonner fjernet",{{"Time",type number},{"Fluid Level",type number},{"Tank Capacity",type number}},"en-US"),
#"Line som heltall" = Table.TransformColumnTypes(#"Desimaltall med engelsk innstilling",{{"Line",Int64.Type}}),
#"Sorterte rader" = Table.Sort(#"Line som heltall",{{"Line",Order.Ascending}})
in
#"Sorterte rader"
📚 Arbeidsregelen som beskytter analysen:
Bevar rådataene, bruk referansespørringer, sorter bare etter Line og bruk filter når avvik skal undersøkes.