FSoE: Перелік усіх кодів помилок зв'язку
Ця таблиця містить усі коди помилок зв’язку FSoE, визначені в стандарті ETG.5100:
| Код помилки | Опис | Код помилки |
|---|---|---|
| 0 | Локальне скидання або підтвердження команди RESET | - |
| 1 | Неочікувана команда | INVALID_CMD |
| 2 | Невідома команда | UNKNOWN_CMD |
| 3 | Невірний ID з’єднання | INVALID_CONNID |
| 4 | Помилка CRC | INVALID_CRC |
| 5 | Час watchdog минув | WD_EXPIRED |
| 6 | Невірна адреса підлеглого FSoE | INVALID_ADDRESS |
| 7 | Невірні безпекові дані | INVALID_DATA |
| 8 | Невірна довжина параметра зв’язку | INVALID_COMMPARALEN |
| 9 | Невірні дані параметра зв’язку | INVALID_COMPARA |
| 10 | Невірна довжина параметра застосунку | INVALID_USERPARALEN |
| 11 | Невірні дані параметра застосунку | INVALID_USERPARA |
| 0x80-0xFF | Невірний SafePara (специфічний для пристрою) | - |
Джерело: ETG.5100 S (D) V1.2.0, Table 28: FSoE communication error codes, доступно безкоштовно на запит від EtherCAT Technology Group (ETG)
Представлення як enum class у C++
FSoECommErrorCode.h
enum class FSoECommErrorCode : uint8_t {
Reset = 0x00,
InvalidCmd = 0x01,
UnknownCmd = 0x02,
InvalidConnID = 0x03,
InvalidCRC = 0x04,
WdExpired = 0x05,
InvalidAddress = 0x06,
InvalidData = 0x07,
InvalidCommParaLen = 0x08,
InvalidCommPara = 0x09,
InvalidUserParaLen = 0x0A,
InvalidUserPara = 0x0B,
// 0x80–0xFF: помилки SafePara, специфічні для пристрою
};Представлення як IntEnum у Python
fsoe_comm_error_codes.py
from enum import IntEnum
class FSoECommErrorCode(IntEnum):
RESET = 0x00
INVALID_CMD = 0x01
UNKNOWN_CMD = 0x02
INVALID_CONN_ID = 0x03
INVALID_CRC = 0x04
WD_EXPIRED = 0x05
INVALID_ADDRESS = 0x06
INVALID_DATA = 0x07
INVALID_COMM_PARA_LEN = 0x08
INVALID_COMM_PARA = 0x09
INVALID_USER_PARA_LEN = 0x0A
INVALID_USER_PARA = 0x0B
# 0x80–0xFF: помилки SafePara, специфічні для пристроюПов’язані статті
Огляд та основи
- Що насправді означає абревіатура FSoE? — що означає абревіатура FSoE
- Структура кадру FSoE з прикладами — загальна структура Safety PDU
- FSoE: Таблиця команд безпекової PDU — повний перелік команд FSoE
CRC
- FSoE CRC: Який поліном він використовує? — 17-бітний поліном CRC FSoE
- FSoE: Як устроєні таблиці CRC? — як генеруються таблиці CRC
- FSoE: Як працює успадкування CRC? — як ланцюг CRC пов’язує послідовні PDU
- Як обчислити контрольну суму CRC для FSoE PDU? — алгоритм обчислення CRC побайтово
Коди помилок та формат даних
- FSoE: дані передаються у little-endian чи big-endian? — порядок байтів у багатобайтових полях
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow