بنية إطار FSoE مشروحة بالأمثلة

بايت واحد من بيانات السلامة: أبسط PDU للسلامة

يحتوي هذا على مثيل واحد فقط من بيانات السلامة، يتكون من بايت واحد فقط

الإزاحةالحجمالاسمالوصف
01 byteCommandالأمر
11 byteSafeData[0]بيانات السلامة، الثمانية 0
22 byteCRC_0CRC بـ 16 بت
42 byteConn_Idمعرف اتصال فريد

تُخزَّن جميع الحقول متعددة البايتات بصيغة little endian.

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

بايتان من بيانات السلامة

الإزاحةالحجمالاسمالوصف
01 byteCommandالأمر
11 byteSafeData[0]بيانات السلامة، الثمانية 0
21 byteSafeData[1]بيانات السلامة، الثمانية 1
32 byteCRC_0CRC بـ 16 بت
52 byteConn_Idمعرف اتصال فريد

تُخزَّن جميع الحقول متعددة البايتات بصيغة 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;
};

أربعة بايتات من بيانات السلامة

الإزاحةالحجمالاسمالوصف
01 byteCommandالأمر
11 byteSafeData[0]بيانات السلامة، الثمانية 0
21 byteSafeData[1]بيانات السلامة، الثمانية 1
32 byteCRC_0CRC 0 بـ 16 بت
51 byteSafeData[2]بيانات السلامة، الثمانية 2
61 byteSafeData[3]بيانات السلامة، الثمانية 3
72 byteCRC_1CRC 1 بـ 16 بت
92 byteConn_Idمعرف اتصال فريد

تُخزَّن جميع الحقول متعددة البايتات بصيغة 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;
};

المصدر: ETG.5100 S (D) V1.2.0، Table 4: Shortest safety PDU وTable 3: General Safety PDU، متاح عند الطلب من مجموعة تقنية EtherCAT (ETG)


Check out similar posts by category: FSoE EtherCAT Safety