Ga naar inhoud

nRF-CAN communicatie protocol

Controller berichten

De communicatie van de controller naar de nRF-CAN module is in twee berichten opgesplitst.
Het eerste bericht, TPDO1, stelt het adres en het kanaal in van de doel 4IO module voor de nRF-CAN module.
Het tweede bericht, TPDO2, bevat de opdracht voor elke uitgang van de doel module.

TPDO1

Dit bericht laat de nRF-CAN module weten waar het TPDO2 bericht naartoe gestuurd moet worden.

Bit posities Signaal naam Data bereik Opmerkingen
0 t/m 7 Module modus 0 - 255 Gereserveerd, altijd 0
8 t/m 15 Doel adres 0 - 255 Adres van de 4IO module (0 - 127)
16 t/m 19 Doel kanaal 0 - 15 Kanaal van de 4IO module (1 - 7)
20 t/m 24 Bericht type 0 - 15 Gereserveerd, altijd 0

TPDO2

Dit bericht laat de doel 4IO module weten wat elke uitgang moet doen. De beschikbare commando's zijn:
* 0: Uitgang uit * 1: Uitgang aan voor onbepaalde tijd.
De uitgang blijft aan totdat de uitgang het commando krijgt om uit te gaan. * 2: Uitgang aan voor bepaalde tijd.
De duratie wordt bepaald door de waarde die met het commando meegestuurd wordt. Die waarde * 500ms is de tijd dat de uitgang aan blijft.

Bit posities Signaal naam Data bereik Opmerkingen
0 t/m 3 Uitgang 1 cmd 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
4 t/m 15 Uitgang 1 cmd waarde 0 - 4095 Bepaalt tijd dat de uitgang aan blijft.
16 t/m 19 Uitgang 2 cmd 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
20 t/m 31 Uitgang 2 cmd waarde 0 - 4095 Bepaalt tijd dat de uitgang aan blijft.
32 t/m 35 Uitgang 3 cmd 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
36 t/m 47 Uitgang 3 cmd waarde 0 - 4095 Bepaalt tijd dat de uitgang aan blijft.
48 t/m 51 Uitgang 4 cmd 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
52 t/m 63 Uitgang 4 cmd waarde 0 - 4095 Bepaalt tijd dat de uitgang aan blijft.

nRF-CAN berichten

De communicatie van de nRF-CAN module naar de controller is ook verdeeld over twee berichten.
Het eerste bericht, RPDO1, bevat de huidige status van de nRF-CAN module. Dit bericht wordt elke 100ms verstuurd.
Het tweede bericht, RPDO2, bevat het antwoord van de 4IO module waar een opdracht naar verstuurd is.

RPDO1

(Elke 100ms)

Bit posities Signaal naam Data bereik Opmerkingen
0 t/m 7 Module modus 0 - 255 Gereserveerd, altijd 0
8 t/m 15 Module status 0 - 255 0 = inactief, 1 = verstuur aanvraag aanwezig, 2 = bezig met versturen, 3 = bericht verstuurd, wacht op antwoord, 4 = antwoord timeout
16 t/m 23 Doel adres 0 - 255 Adres waarop gecommuniceerd wordt (0 - 127)
24 t/m 31 Doel kanaal 0 - 15 Kanaal waarop gecommuniceerd wordt (1 - 7)
32 t/m 35 Bericht type 0 - 15 Gereserveerd, altijd 0

RPDO2

Dit bericht bevat de informatie die de 4IO module terugstuurt als antwoord op de opdracht.

Bit posities Signaal naam Data bereik Opmerkingen
0 t/m 7 Adres 0 - 255 Adres van de 4IO module
8 t/m 11 Kanaal 0 - 15 Kanaal van de 4IO module
12 t/m 15 Bericht type 0 - 15 Gereserveerd voor de toekomst. (0 voor nu)
16 t/m 23 Signaal sterkte 0 - 255 Signaal sterkte tussen de nRF-CAN en de 4IO module
24 t/m 31 4IO module status 0 - 255 Status van de 4IO module
36 t/m 39 Uitgang 1 status 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
40 t/m 43 Uitgang 2 status 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
44 t/m 47 Uitgang 3 status 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
48 t/m 51 Uitgang 4 status 0 - 15 0 = uit, 1 = aan voor onbepaalde tijd, 2 = aan voor bepaalde tijd
48 t/m 51 Ingang 1 status 0 - 15 0 = uit, 1 = aan
48 t/m 51 Ingang 2 status 0 - 15 0 = uit, 1 = aan
48 t/m 51 Ingang 3 status 0 - 15 0 = uit, 1 = aan
48 t/m 51 Ingang 4 status 0 - 15 0 = uit, 1 = aan

SDO bericht

Bit posities Naam
0 t/m 7 SDO Cmd
8 t/m 23 index
24 t/m 31 sub index
32 t/m 63 Waarde

index tabel

Index Subindex Naam Type Attr. Default Beschrijving Opmerkingen
0x2000 0x00 EEPROM Magic UINT32 RW 0xAA55AA55 Afhankelijk van geinstalleerde software versie Alleen schrijven op lege modules. Als dit fout is, wordt alleen RAM gebruikt en gaat informatie verloren bij herstart
0x01 EEPROM Versie UINT32 RW 0 Afhankelijk van geinstalleerde software versie Alleen schrijven op lege modules. Als dit fout is, wordt alleen RAM gebruikt en gaat informatie verloren bij herstart
0x02 EEPROM Resets UINT32 RW 0 Telt aantal EEPROM resets. Dit gebeurt bij onjuiste magic of versie nummer
0x03 Boot count UINT32 RW 0
0x04 Power on reset count UINT32 RW 0
0x05 External reset count UINT32 RW 0
0x06 Brownout reset count UINT32 RW 0
0x07 Watchdog reset count UINT32 RW 0
0x08 Nullpointer exception UINT32 RW 0
0x09 Invalid switch-case value UINT32 RW 0
0x0A Buffer overflow count UINT32 RW 0
0x0B Relais1 switch count UINT32 RW 0
0x0C Relais2 switch count UINT32 RW 0
0x0D Relais3 switch count UINT32 RW 0
0x0E Relais4 switch count UINT32 RW 0