Вход

Просмотр полной версии : OWENCOMMUNICATION - WORD2_TO_DWORD - работает неправильно



lunyov_i
30.09.2025, 08:20
Доброе утро, обратите внимание что функция OCL.WORD2_TO_DWORD
работает неправильно - преобразует неверно85924
В блоке программы на ST посмотрите, в строчке номер 232 специально пример сделал
Переменная DW принимая через OCL.WORD_TO_DWORD первое значение 10000 а второе ( старшее слово ) нуль преобразует
его 65536000
Если переставляешь слова то все равно выдает какое то отвлеченное число.
Пришлось свое написать для того чтобы для свой работы все корректно было.

Евгений Кислов
30.09.2025, 08:40
Добрый день.
Функция работает корректно. Это в т.ч. видно на вашем скриншоте.

655360000 = 0x27100000
0x2710 = 10000



а второе ( старшее слово ) нуль

Первый из аргументов функции является старшим словом, второй - младшим.

lunyov_i
30.09.2025, 09:01
[QUOTE=Евгений Кислов;472601]Добрый день.
Функция работает корректно. Это в т.ч. видно на вашем скриншоте.

655360000 = 0x27100000
0x2710 = 10000




Первый из аргументов функции является старшим словом, второй - младшим.[/QU0OTE]
Хорошо посмотрим.

lunyov_i
30.09.2025, 10:12
Добрый день.
Функция работает корректно. Это в т.ч. видно на вашем скриншоте.

655360000 = 0x27100000
0x2710 = 10000




Первый из аргументов функции является старшим словом, второй - младшим.

Да Вы правы, что-то я не сообразил что в этом преобразователе сначала старшее слово потом младшее. Просто видимо думал что по аналогии как в МОDBUS, там чаще всего младшее слово как правило первое потом старшее.