The bit order for the CRC appears to be reversed. The first CRC bit should be the first bit transmitted, which is the lsb of each byte. The CRC package being used (PCK_CRC16_D8.vhd) treats the msb as the first serial bit, but the data is not bit-reversed prior to calling this CRC function.
Could you share a fixed version.