PDA

Просмотр полной версии : Преобразование значения регистра с условиями в OwenCloud



Евгений Ш
17.10.2023, 13:27
Добрый день.

Подскажите, есть ли возможность преобразования считанных значений в OwenCloud с условным оператором if? Дело в том, что опрашиваю контроллер (не Owen) и в качестве результата получаю значение типа int. Проблема преобразования появляется при получении отрицательного числа. Если у меня измерение идет в диапазоне -50...+200, то отрицательные числа приходят в виде чисел типа 65500 и т.д. Таким образом мне нужно прописать условие if (<текущее значение>/10) > 200 then <температура> = (<текущее значение> - FFFFh)/10. Выполнить преобразование в приборе нет возможности.

Евгений Ш
17.10.2023, 14:23
Возможно Вы что то не правильно настроили, знаковые типы тоже встречаются 70990

В карте регистров этого контроллера регистр значится как integer.

Евгений Ш
17.10.2023, 14:43
да не важно что там в карте, скрин покажите как вы настроили в облаке этот параметр

Пожалуйста

70993

melky
17.10.2023, 14:49
int16 установите в формате

petera
17.10.2023, 14:52
Пожалуйста

70993

uint16 это как раз без знаковый тип 0..65535. Нужен int16 от -32768 до 32767

Евгений Ш
17.10.2023, 14:55
Спасибо за ответ

Ollema
17.10.2023, 23:51
Сделали бы еще старший и младший байт забирать от int. Иногда можно было бы одним регистром передавать два значения.