TDT-Eval¶
Devices should not use same IDs.
CANOpen is limited to 128 devices (some manufactures support only 64).
CAN 2.0.A: 0x800
11-Bit-Identifier, auch „Base frame format“ genannt (CAN 2.0A)
29-Bit-Identifier, auch „Extended frame format“ genannt (CAN 2.0B).
Bei 4Bit Sub-ID waeren noch 128 Nodes möglich; 0x?80.
Wenn alle Informationen im Daten-Feld sind, koennen Nodes nicht filtern.Use-Cases:
- Node will nur System-Kommandos haben
- Node will nur Messwerte haben; overhead aber nicht so relevant
- Node will nur hoch-priore Alarme haben
CANOpen geht bei der Nachrichtenart ueber Ranges; in den heoheren Bits ist der Type eincodiert. Some IDs are fixed for a single "CAN network manager".
16 Typen; NMT; Alerts, PDOs
0 | NMT |
1 | Alert |
8 | System commands; set Date, set ambient light |
14 | |
15 | Broadcastet Sensor values |
Usecases¶
- Sensor verschickt messdaten
- Controller setzt Licht
- Controller setzt Datum/Uhrzeit
- Sensor sendet firmware version
- Sensor sendet Unique ID
- Controller weist Unique ID eine Node-ID zu
- Binary Blobs lesen/schreiben; Temprec auslesen
Set CAN-ID¶
Ueber CAN die ID zu setzen waere praktisch. Die Boards keonnen sich ueber Produkt-ID und Serennummer vorstellen.
Product-ID + serial 32 Bit.
Die CAN-Id ist die Ziel-CAN-ID.
Size | Decription | Examples |
---|---|---|
2 | Object | Node-ID |
1 | Data type | Int, Float, Time, Date, Percent, Promil, Multipacket-String |
1 | Unit | Hz, °C, Time, Date, PWM, CAN-ID, Name, Description, Room |
4 | Value | 32Bit |
Network¶
User wants to know which nodes do not support current protocol.
Alerts/Events/Status¶
- Send objects could be set as 'Alert' by flag. Cordyceps can mark it red.
- Example: Overtemperature; undervoltage
- Events; integrated in logging.
- Simple Event-Object. Cordyceps has to keep list in order to have history.
- Device Status
- Good, Warning, Error, Bootloader
Von Maximilian Seesslen vor 11 Monaten aktualisiert · 12 Revisionen