U_sACN_Packet
U_sACN_Packet is a union, so all packet views share the same memory. FB_sACN_UDP_Communicator, via I_sAcnReceiver, writes the incoming UDP packet bytes directly into a variable of this data type. Because the sACN packet types share common header fields, you can inspect those fields in ReceivedPacket to determine which packet type was received. Then you access the corresponding union member (AsDataPacket, AsSyncPacket, or AsUniDiscovery) to work with the packet. Only one view should be considered active at a time; reading others will reinterpret the same bytes.
Read more about Unions:
https://infosys.beckhoff.com/content/1033/tc3_plc_intro/2529421195.html?id=2192070974948030363
TYPE U_sACN_Packet :
UNION
AsDataPacket : ST_SACN_DataPacket;
AsSyncPacket : ST_SACN_SyncPacket;
AsUniDiscovery : ST_SACN_UniDiscoveryPacket;
END_UNION
END_TYPE