FSoE: Struktura rámce vysvětlená na příkladech

Jeden bajt bezpečnostních dat: Nejkratší bezpečnostní PDU

Toto obsahuje pouze jednu instanci bezpečnostních dat, skládající se z jediného bajtu

OffsetVelikostNázevPopis
01 bajtCommandPříkaz
11 bajtSafeData[0]bezpečnostní data, oktet 0
22 bajtyCRC_016bitové CRC
42 bajtyConn_Idunikátní ID připojení

Všechna multibajtová pole jsou uložena v little endian.

FSoEShortestSafetyPDU.h
struct __attribute__((packed)) FSoEShortestSafetyPDU {
    uint8_t Command;
    uint8_t SafeData_0;
    uint16_t CRC_0;
    uint16_t Conn_Id;
};

Dva bajty bezpečnostních dat

OffsetVelikostNázevPopis
01 bajtCommandPříkaz
11 bajtSafeData[0]bezpečnostní data, oktet 0
21 bajtSafeData[1]bezpečnostní data, oktet 1
32 bajtyCRC_016bitové CRC
52 bajtyConn_Idunikátní ID připojení

Všechna multibajtová pole jsou uložena v 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;
};

Čtyři bajty bezpečnostních dat

OffsetVelikostNázevPopis
01 bajtCommandPříkaz
11 bajtSafeData[0]bezpečnostní data, oktet 0
21 bajtSafeData[1]bezpečnostní data, oktet 1
32 bajtyCRC_016bitové CRC 0
51 bajtSafeData[2]bezpečnostní data, oktet 2
61 bajtSafeData[3]bezpečnostní data, oktet 3
72 bajtyCRC_116bitové CRC 1
92 bajtyConn_Idunikátní ID připojení

Všechna multibajtová pole jsou uložena v 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;
};

Zdroj: ETG.5100 S (D) V1.2.0, Tabulka 4: Nejkratší bezpečnostní PDU a Tabulka 3: Obecná bezpečnostní PDU, dostupné na vyžádání od EtherCAT Technology Group (ETG)

Související příspěvky

Přehled a základy

CRC

Chybové kódy a formát dat


Podívejte se na podobné články podle kategorie: FSoE, EtherCAT, Safety