Kapitola 6
Formát konfiguračního souboru
Soubor *.rio je textový, takže jej lze v případě potřeby prohlížet i upravovat v libovolném textovém editoru pracujícím s prostým textem (například Notepad). Struktura souboru je zřejmá z následujícího příkladu:
NetAdapter "pcanpci0"
#NetAdapter "usb1"
NodeID 1
BaudRate 1000000
NodeMode 0x207
TimeoutSdo 0.2
Object {
Index 0x1000
Count 1
Entry {
Subindex 1
Flags 0x00000125
avi 0x6000
Value 301
}
}
Object {
Index 0x1280
Count 3
Entry {
Subindex 1
Flags 0x0000000D
avi 0x6000
Value 0x602
}
Entry {
Subindex 2
Flags 0x0000000D
avi 0x6000
Value 0x582
}
Entry {
Subindex 3
Flags 0x0000000D
avi 0x2000
Value 2
}
}
}
Platí, že parametry, jejichž název začíná znakem # jsou ignorovány a lze je tedy využít jako komentář. Sekce Object se opakuje tolikrát, kolik definujeme objektů/indexů v „object dictionary“. Obdobně sekce Entry se opakuje pro každý subindex. V názvech parametrů i sekcí se rozlišují velká a malá písmena.
Význam jednotlivých parametrů je následující:
- NetAdapter
- – Název komunikační karty v operačním systému. V Linuxu je to obvykle pcanpci0 pro PCI kartu a pcanusb0 pro USB kartu; ve Windows usb1 pro USB kartu.
- NodeID
- – Číslo stanice pro CANopen. Může nabývat hodnot 1 až 127.
- BaudRate
- – Rychlost sběrnice v bitech za sekundu. Všechny stanice na jedné lince musí mít nastavenu stejnou.
- TimeoutSdo
- – Doba v sekundách, jak dlouho se čeká na odpověď na SDO příkaz.
- NodeMode
-
– Upravuje některé vlastnosti ovladače. Každý bit představuje/zapíná
určitou vlastnost, přičemž:
bit 0 stanice má Master funkce (spouštění sítě, konfigurace stanic)
bit 1 synchronizace semaforem (lze pro urychlení vypnout, pokud všechny vstupy a výstupy do tohoto ovladače vedou jen z jemu přidruženému IOTASKu)
bit 2 Master stanice přejde do plného provozu i když nejsou k dispozici všechny nakonfigurované Slave stanice
bit 8 režim CAN (tj. bez CANopen vrstvy); celá konfigurace je ignorována a lze používat jen vstup RecvMsg a výstup SendMsg; v tomto režimu nelze použít IOTASK
bit 9 ve stavu preop se ignoruje, že Slave stanice neposílá stavové informace (tzv. heartbeat); odporuje to sice specifikaci CANopen, ale některá zařízení dokud nejsou nakonfigurována status neposílají
- Index
- – Číslo objektu v „object dictionary“
- Count
- – Počet subindexů objektu, tj. počet následujících sekcí Entry. Subindexy se nesmí vynechávat, takže je to současně nejvyšší subindex.
- Subindex
- – Číslo subindexu, který definuje tato sekce Entry.
- Flags
- – Upravuje některé vlastnosti položky. Každý bit představuje/zapíná
určitou vlastnost, přičemž:
bit 0 hodnota/subindex může být čten systémem REX bit 1 hodnota/subindex může být měněn/zapisován systémem REX bit 2 hodnota/subindex může být čten po sběrnici CAN bit 3 hodnota/subindex může být měněn/zapisován po sběrnici CAN bit 4 hodnota/subindex může být mapován do PDO bit 5 nastavuje se pokud, je jen jeden subindex a je považován za hodnotu celého objektu - avi
- – Typ hodnoty. Možnosti jsou:
0x1000 logická hodnota (on/off)
0x2000 BYTE/UNSIGNED8 - 8bitové číslo bez znaménka
0x3000 SHORT/SIGNED16 - 16bitové číslo se znaménkem
0x4000 LONG/SIGNED32 - 32bitové číslo se znaménkem
0x5000 WORD/UNSIGNED16 - 16bitové číslo bez znaménka
0x6000 DWORD/UNSIGNED32 - 32bitové číslo bez znaménka
0x7000 FLOAT/REAL32 - 4bajtové desetinné číslo (dle IEEE754)
0x8000 DOUBLE/REAL64 - 8bajtové desetinné číslo (dle IEEE754)
0xA000 LARGE/SIGNED64 - 64bitové číslo se znaménkem
0xC000 STRING - text
0xD000 INTPTR/DOMAIN - obecné pole bajtů (zadává se do uvozovek jako číslo v hexadecimálním formátu)
- Value
- – Vlastní (počáteční) hodnota subindexu. Formát musí odpovídat parametru avi.
[Předchozí] [Na začátek] [Výše] [Další]