как заставить пользовательский блок гистерезиса исполнять его функционал

Вопросы от новичков
Ответить
Аватара пользователя
Di123
Сержант
Сообщения: 122
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 0
Имя: Дмитрий

как заставить пользовательский блок гистерезиса исполнять его функционал

#1

Сообщение Di123 » 08.11.2019{, 17:22}

Скачал пользовательский блок гистерезиса от Пользователя Boroda,
выбрал блок на понижение гистерезиса
И в промежутке гистерезиса у меня на выходе в данном случае светодиод моргает как стробоскоп
То есть у меня стоит гистерезис на 10 и в этой десятке происходит моргание непрерывные
Это особенность блока ?
Или я что-то делаю не так ?
увлажнитель.flp
(96.85 КБ) 8 скачиваний
Я представляю себе работу этого блока Так что что в промежутке гистерезиса на выходе должен быть 0
Что собственно Так и должно быть в данном случае
Но на деле Этот праздничный эффект меня совсем не радует

Аватара пользователя
magpit
Лейтенант
Сообщения: 337
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 15
Откуда: Заводоуковск
Имя: Сергей

как заставить пользовательский блок гистерезиса исполнять его функционал

#2

Сообщение magpit » 08.11.2019{, 18:46}

попробуй...
Вложения
увлажнитель.flp
(538.85 КБ) 5 скачиваний

Аватара пользователя
Di123
Сержант
Сообщения: 122
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 0
Имя: Дмитрий

как заставить пользовательский блок гистерезиса исполнять его функционал

#3

Сообщение Di123 » 08.11.2019{, 20:07}

нет
с этим блоком он вообще не реагирует
светодиод постоянно горит независимо от значения
При 35 процентах он должен отключаться
Гистерезис равен 10 а это значит он должен включаться при 25%

av
Лейтенант
Сообщения: 681
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

как заставить пользовательский блок гистерезиса исполнять его функционал

#4

Сообщение av » 08.11.2019{, 21:25}

Di123, а что вам мешает создать свой гистерезис на основе штатных блоках (компараторах) ? Посмотрел ваш проект возможно вам нужно конвертировать выход влажности с типом Float в тип integer. Отсоедините вход in блока гистерезиса и вы увидите, что он как раз с типом integer (синим цветом). Вероятно затык может быть в этом, но не факт.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 28
Откуда: Коломна
Имя: Станислав
Контактная информация:

как заставить пользовательский блок гистерезиса исполнять его функционал

#5

Сообщение Boroda » 09.11.2019{, 01:44}

Di123 писал(а):
08.11.2019{, 17:22}
светодиод моргает как стробоскоп
Перепишите LoopSection вот так

// CompHys
if (in > (set + hys)) {out = !(Hot);}
if (in < (set - hys)) {out = Hot;}

Аватара пользователя
Anydy
Администратор
Сообщения: 2386
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 158
Имя: Андрей

как заставить пользовательский блок гистерезиса исполнять его функционал

#6

Сообщение Anydy » 09.11.2019{, 02:31}

Di123 писал(а):
08.11.2019{, 17:22}
Скачал пользовательский блок гистерезиса от бороды
А может быть правильно написать от пользователя Boroda? Или ввести пункт в правилах ---учите русский язык? форум вроде как русскоязычный....для иностранцев простим ошибки))) ....поправил первый пост...

Аватара пользователя
Di123
Сержант
Сообщения: 122
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 0
Имя: Дмитрий

как заставить пользовательский блок гистерезиса исполнять его функционал

#7

Сообщение Di123 » 09.11.2019{, 05:55}

av писал(а):
08.11.2019{, 21:25}
Di123, а что вам мешает создать свой гистерезис на основе штатных блоках (компараторах) ? Посмотрел ваш проект возможно вам нужно конвертировать выход влажности с типом Float в тип integer. Отсоедините вход in блока гистерезиса и вы увидите, что он как раз с типом integer (синим цветом). Вероятно затык может быть в этом, но не факт.
Можно сделать гистерезис на компараторах задав крайние точки
но дальше добавиться блок меню где нужно будет изменять как и влажность так и гистерезис
раз товарищ поделился своим блоком почему бы и не воспользоваться им
тем более возможно кому-нибудь тоже понадобится такой блок с чистым нулём на протяжении гистерезиса
Float в тип integer не помогает
Boroda писал(а):
09.11.2019{, 01:44}
Di123 писал(а):
08.11.2019{, 17:22}
светодиод моргает как стробоскоп
Перепишите LoopSection вот так

// CompHys
if (in > (set + hys)) {out = !(Hot);}
if (in < (set - hys)) {out = Hot;}
переписал блок CompHysDN
Стало почти нормально
Только теперь гистерезис работает в две стороны
То есть при 35 он не отключается а работает на величину гистерезиса выше
В данном случае 35 + 10 отключение происходит при 45
Теоретическая попытка удалить строчку if (in > (set + hys)) {out = !(Hot);} никак не меняет ситуацию
Стробоскоп пропал
увлажнитель.flp
(99.27 КБ) 4 скачивания
:smile469:

Аватара пользователя
magpit
Лейтенант
Сообщения: 337
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 15
Откуда: Заводоуковск
Имя: Сергей

как заставить пользовательский блок гистерезиса исполнять его функционал

#8

Сообщение magpit » 09.11.2019{, 09:09}

Di123 писал(а):
09.11.2019{, 05:55}
раз товарищ поделился своим блоком почему бы и не воспользоваться им
:) Это не мой блок.
У меня работает чётко.
Но с датчиком DS18b20
попробуй ещё так.
Вложения
увлажнитель.flp
(547.89 КБ) 0 скачиваний

Аватара пользователя
Di123
Сержант
Сообщения: 122
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 0
Имя: Дмитрий

как заставить пользовательский блок гистерезиса исполнять его функционал

#9

Сообщение Di123 » 09.11.2019{, 09:29}

нет ваш блок немного про другое
он про тоже но с другой наклонностью простоты использования
тоесть в вашем случае в меню нужно помимо изменения порога влажности нужно выщитывать гистерезис и выставлять нижний порог
куда проще изменять только влажность а гистерезис будет сам подстраиваться под новое значение лишь изредко его изменяя под обстановку

Аватара пользователя
magpit
Лейтенант
Сообщения: 337
Зарегистрирован: 01.10.2017{, 12:55}
Репутация: 15
Откуда: Заводоуковск
Имя: Сергей

как заставить пользовательский блок гистерезиса исполнять его функционал

#10

Сообщение magpit » 09.11.2019{, 09:32}

Как я понял вам нужен фиксированный гистерезис!?

av
Лейтенант
Сообщения: 681
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

как заставить пользовательский блок гистерезиса исполнять его функционал

#11

Сообщение av » 09.11.2019{, 10:43}

Di123, а вы можете более точнее описать работу нужного вам гистерезиса. Попробуем сваять на штатных блоках.

Аватара пользователя
rw6cm
Полковник
Сообщения: 1605
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 120
Имя: Владимир

как заставить пользовательский блок гистерезиса исполнять его функционал

#12

Сообщение rw6cm » 09.11.2019{, 11:20}

Di123,
Понимаю Вам надо не просто гистерезис.
А такая логика: При первом включении, если влажность меньше 35 включать увлажнитель, при 35 выключать,
в работе после выключения включаться должен при понижении влажности до 25.
это можно сделать обычными блоками
СпойлерПоказать
2019_11_09_11_06_25_FLProg_5.3.0.png
2019_11_09_11_06_25_FLProg_5.3.0.png (6.83 КБ) 71 просмотр
Win10-64, FLProg (portable)

Аватара пользователя
Anydy
Администратор
Сообщения: 2386
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 158
Имя: Андрей

как заставить пользовательский блок гистерезиса исполнять его функционал

#13

Сообщение Anydy » 09.11.2019{, 11:40}

Человек видимо не понимает что такое гистерезис может его в гугле забанили....тогда вот ссылка -- https://ru.wikipedia.org/wiki/%D0%93%D0 ... 0%B8%D1%81
А вообще все просто -- задаем определенный параметр например 25 ...не важно градусы это или влажность ....если гистерезис указан 2 --то включение происходит при 24, а выключение при 26 .... так понятно на пальцах объяснил?
Это в наших поделках сделано чтобы например реле не тарахтело как пулемет....в момент срабатывания датчика....

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 336
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 38
Откуда: Днепр.UA
Имя: Григорий
Контактная информация:

как заставить пользовательский блок гистерезиса исполнять его функционал

#14

Сообщение grin-mpx » 09.11.2019{, 11:56}

Anydy писал(а):
09.11.2019{, 11:40}
А вообще все просто -- задаем определенный параметр например 25 ...не важно градусы это или влажность ....если гистерезис указан 2 --то включение происходит при 24, а выключение при 26 .... так понятно на пальцах объяснил?
Не совсем так. Скорее 25+2 отключение и 25-2 включение.
http://infosantehnik.ru/str/54.html

Отправлено спустя 4 минуты 19 секунд:
А вообще, я в своих автоматиках использую гистерезис только для включения нагрузки. То есть, при установке верхнего порога 25 и гистерезиса 2, автоматика вырубит нагрузку при 25 а включит при 23. Так проще клиенту-пользователю ориентироваться в цифрах.

Аватара пользователя
Phazz
Майор
Сообщения: 1078
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 67
Откуда: Сургут
Имя: Анатолий

как заставить пользовательский блок гистерезиса исполнять его функционал

#15

Сообщение Phazz » 09.11.2019{, 12:13}

Anydy, ну не совсем так, бывает что гистрезис полностью в плюс или минус от установленной температуры. Если взять те же 25 гр., то выключение будет происходить при 25 а включение при 23 - это если значение гистрезиса вычитается от уставки (для нагревателя). Если гистерезис прибавляется, то выключение будет при 27 а включение при 25.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 28
Откуда: Коломна
Имя: Станислав
Контактная информация:

как заставить пользовательский блок гистерезиса исполнять его функционал

#16

Сообщение Boroda » 09.11.2019{, 14:07}

Ну блоки там есть разные. Гистерезис в плюс, гистерезис в минус, гистерезис в плюс/минус.

Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость