По порядку.
1. Функции пытался использовать. Но MakeInt(w1, w2) выдает integer, а нужно получать dword, так как присылают dword.
Как результат (по крайней мере у меня) при w1= 65535 и w2= 65535 MakeInt выдает -1, что в принципе верно. Но нужно то 4294967295.
2. Преобразование из темы работает и результат выдает 4294967295.
3. Дальше как бы в ПЛК было преобразование REAL_TO_DWORD и на скаде надо было бы сделать обратную операцию. Но есть более "древний" способ. Деление на 10, 100 и т.д.
Так что вопрос про преобразование отпал. Ну или в настройках сдвиг запятой.
4. Из старой темы выделилось преобразование LongWord() как бы это не документированная возможность, но с отсылкой на Object Pascal (операция явного приведения типов)
5. Разные эксперименты показали интересный результат. Если использовать явное приведение к типу Single, то значение отличается на 1 и равно 4294967296.
В общем то наверное тему можно закрывать. Но если прокомментируете, думаю будет полезно для пользователей.