Если создать параметр типа LWORD ULINT и попытаться ввести начальное значение 18446744073709551615 (=16#FFFFFFFFFFFFFFFF), то есть единицы во всех 64-х разрядах, то
выводится сообщения:
Для LWORD, ULINT - Ошибка установки значения 18446744073709551615 свойству Начальное значение : Value was either too large or too small for an Int64.
А если с контроллера передать по Modbus TCP это же число, то принимается значение -1, независимо от того, чтоб тип приемного параметра беззнаковый.
Если присвоить беззнаковому параметру значение 16#7FFFFFFFFFFFFFFF (=9223372036854775807) и вывести значение в окно на экран, то в окне будет отображаться значение 9223372036854776000.
Вопрос - как правильно работать с длинными беззнаковыми параметрами?
MS4D 1.3.9




Ответить с цитированием