FSoE Reset PDU: структура Master и Slave

FSoE (Fail Safe over EtherCAT) использует выделенный Safety PDU для управляющих и диагностических команд. Команда Reset отправляется Master после перезапуска или ошибки; Slave подтверждает её соответствующим Reset PDU. На приведённых ниже диаграммах показаны структуры кадров Master и Slave для 2, 4, 6 и 8 байтов безопасных данных. На каждой диаграмме верхняя строка показывает структуру на уровне слов (16-битные поля CRC и Connection ID), а вторая строка разбивает каждое слово на младший и старший октеты.

Примечание — количество байтов безопасных данных фиксировано для каждого направления. Каждое соединение FSoE имеет фиксированную длину безопасных данных (Master→Slave и Slave→Master), одинаково настроенную на обоих узлах. Допустимые длины: 1, 2, 4, 6 или 8 октетов. Фактическая длина для конкретного соединения зависит от устройства FSoE Slave и берётся из документации Slave или файла описания устройства (ESI/EEPROM). На диаграммах ниже показаны все стандартные длины, чтобы можно было найти структуру, применимую к конкретному устройству.

Master Reset PDU (FSoE Master → Slave)

2 байта безопасных данных

CommandSafeData[0]SafeData[1]CRC_0Conn_Id
Reset
Октет 0
код ошибки
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
Conn_Id_Lo
Октет 5
Conn_Id_Hi
Октет 6

4 байта безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1Conn_Id
Reset
Октет 0
код ошибки
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
Conn_Id_Lo
Октет 9
Conn_Id_Hi
Октет 10

6 байтов безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1
SafeData[4]SafeData[5]CRC_2Conn_Id
Reset
Октет 0
код ошибки
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
0
Октет 9
0
Октет 10
CRC_2_Lo
Октет 11
CRC_2_Hi
Октет 12
Conn_Id_Lo
Октет 13
Conn_Id_Hi
Октет 14

8 байтов безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1
SafeData[4]SafeData[5]CRC_2SafeData[6]SafeData[7]CRC_3Conn_Id
Reset
Октет 0
код ошибки
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
0
Октет 9
0
Октет 10
CRC_2_Lo
Октет 11
CRC_2_Hi
Октет 12
0
Октет 13
0
Октет 14
CRC_3_Lo
Октет 15
CRC_3_Hi
Октет 16
Conn_Id_Lo
Октет 17
Conn_Id_Hi
Октет 18

Slave Reset PDU (FSoE Slave → Master, подтверждение)

2 байта безопасных данных

CommandSafeData[0]SafeData[1]CRC_0Conn_Id
Reset
Октет 0
0
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
Conn_Id_Lo
Октет 5
Conn_Id_Hi
Октет 6

4 байта безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1Conn_Id
Reset
Октет 0
0
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
Conn_Id_Lo
Октет 9
Conn_Id_Hi
Октет 10

6 байтов безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1
SafeData[4]SafeData[5]CRC_2Conn_Id
Reset
Октет 0
0
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
0
Октет 9
0
Октет 10
CRC_2_Lo
Октет 11
CRC_2_Hi
Октет 12
Conn_Id_Lo
Октет 13
Conn_Id_Hi
Октет 14

8 байтов безопасных данных

CommandSafeData[0]SafeData[1]CRC_0SafeData[2]SafeData[3]CRC_1
SafeData[4]SafeData[5]CRC_2SafeData[6]SafeData[7]CRC_3Conn_Id
Reset
Октет 0
0
Октет 1
0
Октет 2
CRC_0_Lo
Октет 3
CRC_0_Hi
Октет 4
0
Октет 5
0
Октет 6
CRC_1_Lo
Октет 7
CRC_1_Hi
Октет 8
0
Октет 9
0
Октет 10
CRC_2_Lo
Октет 11
CRC_2_Hi
Октет 12
0
Октет 13
0
Октет 14
CRC_3_Lo
Октет 15
CRC_3_Hi
Октет 16
Conn_Id_Lo
Октет 17
Conn_Id_Hi
Октет 18

Коды ошибок связи FSoE

В Master Reset PDU SafeData[0] (биты 0–7) несёт код ошибки. Значение 0x00 означает локальный сброс или подтверждение.

Код ошибкиОписание
0Локальный сброс или подтверждение команды RESET
1Неожиданная команда (INVALID_CMD)
2Неизвестная команда (UNKNOWN_CMD)
3Неверный Connection ID (INVALID_CONNID)
4Ошибка CRC (INVALID_CRC)
5Истёк watchdog (WD_EXPIRED)
6Неверный адрес FSoE Slave (INVALID_ADDRESS)
7Неверные безопасные данные (INVALID_DATA)
8Неверная длина параметров связи (INVALID_COMPARALEN)
9Неверные данные параметров связи (INVALID_COMPARA)
10Неверная длина параметров приложения (INVALID_USERPARALEN)
11Неверные данные параметров приложения (INVALID_USERPARA)
0x80–0xFFНеверный SafePara (специфично для устройства)

Связанные статьи

Обзор и основы

Структуры PDU по состояниям

CRC

Коды ошибок и формат данных


Check out similar posts by category: FSoE EtherCAT