QUOTE (IF_P @ Jun 30 2017, 02:21)

Но у union есть имя.
Какое? Я вижу объявление переменной Data_ModBus_IN безымянного типа "union {...}"
QUOTE (IF_P @ Jun 30 2017, 02:21)

Файл всего лишь один. Есть основная программа к которой подключен хидер.
Программа ваша. Вы можете писать ее как угодно, а можете писать сразу правильно. Наступить на лично заботливо разложенные грабли - ваше право. Когда у вас в программе появится второй-третий файл, использующий этот заголовочный - вы получите кучу ошибок, которые все-таки придется исправить.
QUOTE (IF_P @ Jun 30 2017, 02:21)

Больше его нигде нет. Я всего лишь разделил один хидер на два и последовательно их подключил, чтоб заработало.
Чудес не бывает. Значит этот файл включается туда же через какой-то другой заголовочный файл. Люди не зря придумали защиту от повторного включения заголовочных файлов.