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

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 00:01}
Hibernator
Друзья, запутался и не могу оформить задачу в Программе.
Задача:

Есть 3 датчика температуры, т.е. три значения.
Необходимо определить датчик, показывающий второе значение для дальнейшей с ним работы.

Что такое второе значение:
1-й датчик показывает 21.1, 2-й датчик показывает 23.2, 3-й датчик показывает 22.0.
В этом случае второе значение показывает 3-й датчик, его и нужно определить для дальнейшей работы в Программе.

Заранее спасибо.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 00:39}
Airis
Что это  "22.0"- минимальное температура трех датчиков, среднее математическое всех трех датчиков , или что то другое? Если температура "22.0" и выбор датчика поддается логическому, математическому вычислению, то применяем советующее математическое вычисление, а если выбор датчика происходит наугад, то в FLProg есть функция RANDOM.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 01:01}
Hibernator
Airis писал(а):Что это  "22.0"- минимальное температура трех датчиков, среднее математическое всех трех датчиков , или что то другое? Если температура "22.0" и выбор датчика поддается логическому, математическому вычислению, то применяем советующее математическое вычисление, а если выбор датчика происходит наугад, то в FLProg есть функция RANDOM.
Это показание 3 датчика. Все цифры - это текущие показания датчиков.
Именно, второе значение (что это я описал в первом посте), его логический поиск я и не понимаю как собрать в FLProg.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 01:21}
Олег
Можно сделать на компараторах. В приложении вы увидите как это сделать если 1-й датчик имеет среднее значение, аналогично делайте для второго и третьего датчиков. Еще вопрос как вы хотите обрабатывать ситуацию когда на двух или трех датчиках температура одинаковая.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 01:34}
Hibernator
Олег писал(а):Можно сделать на компараторах. В приложении вы увидите как это сделать если 1-й датчик имеет среднее значение, аналогично делайте для второго и третьего датчиков. Еще вопрос как вы хотите обрабатывать ситуацию когда на двух или трех датчиках температура одинаковая.
Олег, спасибо за идею.
Да, хороший вопрос, в принципе, в этом случае берется любой.

Может быть я решаю задачу через не то место...
На самом деле, задача такая: Резервирование датчика температуры.
Сейчас есть 2 датчика. Один как основной, другой для резерва. При температуре ниже 4 градуса должна включиться печка. Сейчас это работает через OR, т.е. если какой-либо датчик ушел ниже 4, включается печка через реле с задержкой. Была ситуация, когда датчик сломался и показывал 0 градусов. Т.е. печка заработала и уже не отключалась. Хочу ввести 3-й датчик, тем самым смоделировать следующее: выбирается среднее показание и по нему работаю.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 06:45}
DerAlex
Нужно ввести какие то минимальные и максимальные значения датчика при превышении которых считать датчик неисправным и не использовать его показания.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 09:40}
Олег
С тремя датчикам самый надежный вариант. Нижний предел сложно задать, а то возможен вариант что резко мороз ударит, а система ТЭН выключит. Хотя можно попробовать сделать так: задаем нижнюю температуру в 0 градусов и считаем разницу между показаниями обоих датчиков. Если один датчик показывает 0, а второй 6, а допустимая разница 4 градуса, то работаем по второму.
 Еще вариант, делаем проверку на изменение температуры, для этого надо знать особенности своего помещения. Если включен ТЭН, то отслеживаем динамику температуры за определенное время, если температура не поднимается, то переходим на второй датчик.
 А если и на втором то-же самое, то тогда ТЭН сдох или пускатель и включаем аларм.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 13:00}
Balzamalex
Может быть так:
2251144.png
8323474.png
2146349.png
7497879.png
Наверняка есть способ намного проще, только он в голову не приходит  Изображение

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 14:45}
Олег
Мне кажется так проще будет.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 19:13}
gore-40
Hibernator писал(а):Была ситуация, когда датчик сломался и показывал 0 градусов. Т.е. печка заработала и уже не отключалась. Хочу ввести 3-й датчик, тем самым смоделировать следующее:
надо делать по схеме 2 из 3 как на производстве, тогда при выходе из строя 1 датчика таких ситуаций не возникнет.
включай нагрузку  при достижении заданной температуры 2х датчиков.

Помогите оформить задачу в FLProg

Добавлено: 10.01.2016{, 20:47}
Hibernator
Олег писал(а):Мне кажется так проще будет.
Олег, спасибо.
Все заработало!
gore-40 писал(а):надо делать по схеме 2 из 3 как на производстве, тогда при выходе из строя 1 датчика таких ситуаций не возникнет.включай нагрузку  при достижении заданной температуры 2х датчиков
Gore согласен, но эта схема тоже не лишена недостатков.
Мне ближе к этой задачи тройное резервирование с алгоритмом Олега.
В этом случае, если датчик умер, а умирает он показывая или 0 или 86, 1 из 3 точно выживет.
Мне очень далеко нужно ехать для замены датчика.

Еще вопрос про удаленный мониторинг, однозначно нужен GSM модуль для этого.
Они дорогие, но есть вот такой - GSM/GPRS модуль SIM800L.
Кто с ним работал?

Помогите оформить задачу в FLProg

Добавлено: 11.01.2016{, 01:10}
Олег
Думаю, что задав вопрос с названием модуля в теме, будет больше шансов найти единомышленников.