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)
Представление в C++ enum class
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, специфичные для устройства
};Представление в Python IntEnum
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: таблица команд safety PDU — полный список команд FSoE
CRC
- FSoE CRC: какой полином используется? — 17-битный полином CRC FSoE
- FSoE: Как устроены таблицы CRC? — как генерируются таблицы CRC
- FSoE: Как работает наследование CRC? — как цепочка CRC связывает последовательные PDU
Коды ошибок и формат данных
- FSoE: данные передаются в little-endian или big-endian? — порядок байтов в многобайтовых полях
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow