Структура кадру FSoE з прикладами
Один байт безпекових даних: найпростіша безпекова PDU
Містить лише один екземпляр безпекових даних, що складається всього з одного байта
| Зміщення | Розмір | Назва | Опис |
|---|---|---|---|
| 0 | 1 байт | Command | Команда |
| 1 | 1 байт | SafeData[0] | безпекові дані, октет 0 |
| 2 | 2 байт | CRC_0 | 16-бітний CRC |
| 4 | 2 байт | Conn_Id | унікальний ID з’єднання |
Усі багатобайтові поля зберігаються у little endian.
FSoEShortestSafetyPDU.h
struct __attribute__((packed)) FSoEShortestSafetyPDU {
uint8_t Command;
uint8_t SafeData_0;
uint16_t CRC_0;
uint16_t Conn_Id;
};Два байти безпекових даних
| Зміщення | Розмір | Назва | Опис |
|---|---|---|---|
| 0 | 1 байт | Command | Команда |
| 1 | 1 байт | SafeData[0] | безпекові дані, октет 0 |
| 2 | 1 байт | SafeData[1] | безпекові дані, октет 1 |
| 3 | 2 байт | CRC_0 | 16-бітний CRC |
| 5 | 2 байт | Conn_Id | унікальний ID з’єднання |
Усі багатобайтові поля зберігаються у little endian.
FSoETwoByteSafeDataPDU.h
struct __attribute__((packed)) FSoETwoByteSafeDataPDU {
uint8_t Command;
uint8_t SafeData_0;
uint8_t SafeData_1;
uint16_t CRC_0;
uint16_t Conn_Id;
};Чотири байти безпекових даних
| Зміщення | Розмір | Назва | Опис |
|---|---|---|---|
| 0 | 1 байт | Command | Команда |
| 1 | 1 байт | SafeData[0] | безпекові дані, октет 0 |
| 2 | 1 байт | SafeData[1] | безпекові дані, октет 1 |
| 3 | 2 байт | CRC_0 | 16-бітний CRC 0 |
| 5 | 1 байт | SafeData[2] | безпекові дані, октет 2 |
| 6 | 1 байт | SafeData[3] | безпекові дані, октет 3 |
| 7 | 2 байт | CRC_1 | 16-бітний CRC 1 |
| 9 | 2 байт | Conn_Id | унікальний ID з’єднання |
Усі багатобайтові поля зберігаються у little endian.
FSoEFourByteSafeDataPDU.h
struct __attribute__((packed)) FSoEFourByteSafeDataPDU {
uint8_t Command;
uint8_t SafeData_0;
uint8_t SafeData_1;
uint16_t CRC_0;
uint8_t SafeData_2;
uint8_t SafeData_3;
uint16_t CRC_1;
uint16_t Conn_Id;
};Джерело: ETG.5100 S (D) V1.2.0, Table 4: Shortest safety PDU та Table 3: General Safety PDU, доступно на запит від EtherCAT Technology Group (ETG)
Пов’язані статті
Огляд та основи
- Що насправді означає абревіатура FSoE? — що означає абревіатура FSoE
- FSoE: Таблиця команд безпекової PDU — повний перелік команд FSoE
CRC
- FSoE CRC: Який поліном він використовує? — 17-бітний поліном CRC FSoE
- FSoE: Як устроєні таблиці CRC? — як генеруються таблиці CRC
- FSoE: Як працює успадкування CRC? — як ланцюг CRC пов’язує послідовні PDU
- Як обчислити контрольну суму CRC для FSoE PDU? — алгоритм обчислення CRC побайтово
Коди помилок та формат даних
- FSoE: Перелік усіх кодів помилок зв’язку — усі коди помилок зв’язку FSoE
- FSoE: дані передаються у little-endian чи big-endian? — порядок байтів у багатобайтових полях
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow