PDA

Просмотр полной версии : как сложить старший и младший байт значения?



kjum4n
17.04.2022, 22:55
Доброго времени суток!
Есть контроллер он дает значение наработки двигателя в виде старшего и младшего байта в формате uint32
как обработать эти данные чтоб получить понятное число в часах?))
60359

keysansa
18.04.2022, 00:39
У вас 2 варианта )

capzap
18.04.2022, 07:42
Доброго времени суток!
Есть контроллер он дает значение наработки двигателя в виде старшего и младшего байта в формате uint32
как обработать эти данные чтоб получить понятное число в часах?))
60359

таблица конечно странная, в одной колонке упоминаются байты, в другой шорты
В любом случае старший байт/слово необходимо по разрядно сместить в лево таким образом чтоб оно заняло старшую половину разрядов, это можно сделать как смещением, так и умножением, преобразовав значения в результирующий тип данных. Почерпнуть информацию как это выглядит и как делать можно здесь https://ru.abcdef.wiki/wiki/Arithmetic_shift

SCADAMaster
18.04.2022, 08:06
В ОРС сервере задаете тип данных в сервере Uint32 (возможно потребуется подобрать чередование байт) и все.
В скаде потом это значение поделите на 3600 (или можно на уровне ОРС с помощью пересчета поделить).

Валенок
18.04.2022, 08:58
походу на картинке просто очепятка, и речь не о ст/мл.байтах а о словах

kjum4n
28.05.2022, 10:27
так и было)

kjum4n
28.05.2022, 10:28
Админ, тему можно закрывать!