FSoE : structure de trame expliquée par exemples

English Français

Un octet de données de sécurité : la PDU de sécurité la plus simple

Celle-ci contient une seule instance de données de sécurité, composée d’un seul octet

OffsetSizeNameDescription
01 byteCommandCommand
11 byteSafeData[0]safety data, octet 0
22 byteCRC_016-bit CRC
42 byteConn_Idunique connection ID

Tous les champs multi-octets sont stockés en little endian.

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

Deux octets de données de sécurité

OffsetSizeNameDescription
01 byteCommandCommand
11 byteSafeData[0]safety data, octet 0
21 byteSafeData[1]safety data, octet 1
32 byteCRC_016-bit CRC
52 byteConn_Idunique connection ID

Tous les champs multi-octets sont stockés en 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;
};

Quatre octets de données de sécurité

OffsetSizeNameDescription
01 byteCommandCommand
11 byteSafeData[0]safety data, octet 0
21 byteSafeData[1]safety data, octet 1
32 byteCRC_016-bit CRC 0
51 byteSafeData[2]safety data, octet 2
61 byteSafeData[3]safety data, octet 3
72 byteCRC_116-bit CRC 1
92 byteConn_Idunique connection ID

Tous les champs multi-octets sont stockés en 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;
};

Source : ETG.5100 S (D) V1.2.0, Table 4: Shortest safety PDU et Table 3: General Safety PDU, disponible sur demande auprès de l’EtherCAT Technology Group (ETG)


Check out similar posts by category: FSoE, EtherCAT, Safety