Страница 1 из 1

Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 20:19
Sio
Приветствую вас, уважаемые коллеги.
Столкнулся со следующей задачей:
Есть два датчика для измерения расхода воды, на выходе этих двух датчиков два значения.
Вычитая данные одного датчика из данных другого, мы получаем разницу между измеренными значениями. 3-2=1
На основании этой разницы, если поток воды отсутствует (в данном случае для охлаждения), срабатывает сигнал тревоги об отсутствии потока воды. Таким образом, можно обнаружить либо прорыв трубы, либо утечку.
Надеюсь, пока все понятно.....

Теперь, если вы измените подключение этих датчиков, первый датчик вместо второго и второй датчик вместо первого, разница между этими датчиками станет ОТРИЦАТЕЛЬНОЙ. ( - МИНУС 2-3=-1)
Вопрос в том, как преобразовать отрицательные показания в положительные?
Ну например: Если сенсоры подключены неправильным образом или поток изменил направление. Разница должна быть с плюсом +

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 20:32
Phazz
Я может чего-то не понял. Но ответ содержится в заголовке темы

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 20:37
Sio
Phazz да вы правы. Но при компиляции я получаю ошибку, как только вставляю блок ABS.
И ещё, я не совсем понял где блок ABS надо вставлять? ( \abs(S1-S2)=>1 )

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 20:46
Phazz
А можно проект?

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 20:57
ingener
Возвести в квадрат и извлечь корень :)

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 21:21
Sio
Извините, я не могу выложить весь проект.
Но вот основа всего проекта и мой вопрос. Может быть, блок ABS реализован неправильно?
На "ОСНОВЕ" всё компилируется...

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 08 ноя 2024, 21:35
densat
Sio писал(а): 08 ноя 2024, 21:21 Извините, я не могу выложить весь проект.
Но вот основа всего проекта и мой вопрос. Может быть, блок ABS реализован неправильно?
На "ОСНОВЕ" всё компилируется...
Попробуйте результат вычитания положить в переменную типа unsigned long integer. Это положительные значения От 0 до 4 294 967 295. Теоретически, минус должен быть отброшен.

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 09 ноя 2024, 07:59
Phazz
Sio писал(а): 08 ноя 2024, 21:21 Извините, я не могу выложить весь проект.
Но вот основа всего проекта и мой вопрос. Может быть, блок ABS реализован неправильно?
На "ОСНОВЕ" всё компилируется...
ABS правильно использован. А ошибки нет, дайте пожалуйста тот вариант который у вас вызывает ошибку

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 09 ноя 2024, 08:46
fefar51702
ерунда это всё
я делал для домашнего котла на заказ определитель наличия движения воды не по литражу а по импульсам
если их в некоем количестве нет в промежутке времени значит воды нет либо она медленная что тоже не годится и далее работаете с этим сигналом годится/негодится

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 09 ноя 2024, 09:56
Naladchik
ingener писал(а): 08 ноя 2024, 20:57 Возвести в квадрат и извлечь корень :)
А из нуля его вычесть не проще? Если число отрицательное.

Re: Блок ABS Как преобразовать отрицательное число в положительное?

Добавлено: 09 ноя 2024, 11:03
Phazz
умножить на -1 если отрицательное)