PDA

Просмотр полной версии : как сделать гистерезис?



Citroengsa
20.10.2014, 13:24
Добрый день уважаемое сообщество!
Подскажите пожалуйста как сделать гистерезис на аналоговом компараторе? На зелио- знаю а в овен- лоджик не могу придумать.
Заранее благодарен!

AVF
20.10.2014, 13:36
Вот так ... к примеру
14848
1 - сравниваемая величина
2 - заданная
3 - зона гистерезиса +/- относительно заданной

melky
20.10.2014, 14:56
Citroengsa не в тему, а поделитесь как в Zelio ? а то что-то смотрю и не вижу там операций с плавающей точкой. только с целыми числами.

Citroengsa
20.10.2014, 14:59
ATF, Красиво! Спасибо.
melky, да там с целыми. С плав не знаю.
А вообще в зелио есть еще и аналоговый мультиплексор, на мой взгляд тоже оч полезная вещь. Хочу перейти на овен отсюда и вопросы. Извиняйте...

Павел Братковский
20.10.2014, 14:59
14849

может неправильно скопировал , чет не работает

melky
20.10.2014, 15:24
Без высокой математики.

AVF
20.10.2014, 15:36
Всё работает. Если внимательно поглядеть на математическую операцию, производимую с величиной гистерезиса, то можно догадаться, что 1 соответствует 100% заданной величины.

AVF
20.10.2014, 15:39
А вообще в зелио есть еще и аналоговый мультиплексор
--- так это делается на макросе fSEL от rovki. На нём же можно и аналоговый регистр сдвига слепить - тоже вещица полезная ;)

AVF
20.10.2014, 15:41
Без высокой математики.
--- логика работы не вполне удачная. В моём примере выход активен, когда измеряемая величина вне зоны допуска - больше или меньше.
В принципе, для релейной логики вкл/выкл вполне подойдёт.

melky
20.10.2014, 15:52
AVF гистерезис работает не так. Ниже нижнего уровня, включаем, выше верхнего отключаем. Пока не опустилось ниже нижнего включаться не должно.
Ваш пример это не гистерезис, а аналог Limit Alarm и то, не уверен, что правильно работает.

Никак оно у вас не работает, а Павел Братковский вроде все правильно соединил.

Алексей ПМ
20.10.2014, 16:12
Без высокой математики.
согласен на 100%. именно такой макрос и появился в библиотеке с месяц назад. просто, прозрачно, легко. задаче соответствует абсолютно.

melky
20.10.2014, 16:13
Алексей ПМ да ? я даже не смотрел в библиотеку :)
Странно, не нашел там такого макроса....

Алексей ПМ
20.10.2014, 16:19
не, не в интернете, а на моем компе.
я к тому, что порой мысли и решения сходятся)
было (да и есть) желание сделать из пр114 контроллер нескольких холодильных потребителей, поскольку готовые решения либо дорого, либо не хватает функционала.
но увы: для этого надо нпт. а когда сумма по нпт перешагивает за цену пр114 - решение уже сразу становится неконкурентноспособным. так что я теперь присматриваю аналоги овену с УЖЕ входами для нтс-птс-пт1000.

Citroengsa
20.10.2014, 16:20
melky
схема работает так как нужно!!!
огр. спасибо всем!!!

Алексей ПМ
20.10.2014, 16:20
Citroengsa, признавайтесь: холодилка или отопление? )

melky
20.10.2014, 16:28
Citroengsa выложите ваш owl, а то у меня лыжи не едут, чтобы оно заработало как гистерезис
Алексей ПМ я для дома использую в качестве датчика температуры LM335, делаю аналоговый датчик 0-10В (точнее 2,3315 - 3,7315) и масштабирую его при помощи ScaleR от capzap (он выкладывал его на форуме).

Можно применять готовые датчики 0-10В или 4-20мА правда на готовые ценников не знаю.

Алексей ПМ
20.10.2014, 17:09
просто датчик нтс или птс - 110...150руб.

температурный датчик с выходом 0-10в - 3000...4200руб.
типа 50м, 100м - 500р + нпт 1000руб.

неинтересен ни мне, ни конечному пользователю продукт с таким ценообразованием получается.

AVF
20.10.2014, 17:13
AVF
Никак оно у вас не работает, .
--- там, где мне нужно, всё работает ... а то, что там двойной гистерезис реализован с инверсией выхода ... так это ещё увидеть надо ;)

Citroengsa
20.10.2014, 17:14
Citroengsa, признавайтесь: холодилка или отопление? )
управление освещением по датчику осв

Citroengsa
20.10.2014, 17:16
Citroengsa выложите ваш owl, а то у меня лыжи не едут, чтобы оно заработало как гистерезис
Алексей ПМ я для дома использую в качестве датчика температуры LM335, делаю аналоговый датчик 0-10В (точнее 2,3315 - 3,7315) и масштабирую его при помощи ScaleR от capzap (он выкладывал его на форуме).

Можно применять готовые датчики 0-10В или 4-20мА правда на готовые ценников не знаю.
работает. завтра выложу.

melky
20.10.2014, 17:45
--- там, где мне нужно, всё работает ... а то, что там двойной гистерезис реализован с инверсией выхода ... так это ещё увидеть надо ;)

Так если блок не является гистерезисом а двойным, да еще с инверсией, то при чем тут гистерезис ? А ?
А то интересненько получается, у ПЛК Овен один гистерезис (и не только у Овен), а у вас совершенно другой, хитропопый.
Может все таки делать макросы единообразно другим контроллерам, а не только ПР114 ?
И чета все равно оно не фуричит никак.

rovki
20.10.2014, 18:15
Выкладывал же макрос давно

melky
20.10.2014, 20:49
О, точно, в макросах вещественных чисел даже был, а мы собстна тоже велосипед изобретаем :)

AVF
21.10.2014, 08:44
И чета все равно оно не фуричит никак.
--- 1. Если включить думалку + посмотреть на отработку в симуляторе, можно увидеть, что при заданной дельте 2.5 получается отлонение +/- 37.5
2. Если читать внимательно, то можно обнаружить ответ в посте не далее, как в #7 -ом ;)
Пример был дан для тех, кто соображает, как создать макрос под свою задачу
, а не кудахчет в форумах пока добрый дяденька не принесёт мёд с ложкой;)

Алексей Геннадьевич
21.10.2014, 08:57
Citroengsa
Скачайте уроки по программированию ПР, много вопросов отпадёт. Обратитесь к Кириллу Гайнутдинову.
Или хотя-бы это
http://www.owen.ru/uploads/rp_owen_logic_v08.pdf

melky
21.10.2014, 09:11
AVF вы опять не поняли. Есть блоки Hysteresis в Codesys, у Carel, у Siemens и куча у кого еще и они работают ОДИНАКОВО на всех контроллерах.
Ваша поделка работает ИНАЧЕ от принятого.
Стоило бы задуматься, делая блок, называть его именно Hysteresis. Так доходчивее объяснил ?

Ну а то, что мы иногда сами делаем блоки, которые уже кто-то сделал, так это полезно, видно что у людей сходятся мысли и даже способы реализации макросов.
У вас, при 12 включился, а при 13 уже выключился, хотя выключиться должен при 18 по логике работы гистерезиса.

AVF
21.10.2014, 09:29
1. Так и не назывался блок "гистерезисом". Был дан пример КАК сделать - общие с вашим вариантом моменты не находите?
2. Моя, как изволили выразиться, "поделка" работает в проекте так, как надо мне. И работает в самодельном ПИД-регуляторе, аналога которого я не нашёл в КДС.
Считаю, что правильнее потратить время не на рытьё в чужом белье, а своими ручками сваять вещь, заточенную под конкретную задачу!

Алексей Геннадьевич
21.10.2014, 09:32
14859
Как-то так.
melky Зачем в вашем макросе блок fmul?

melky
21.10.2014, 09:34
AVF заголовок темы и первый же ваш ответ с описанием (которое как бы соответствует гистерезису), а результат ?
Не съезжайте, либо надо было описать точнее работу вашего блока (и назвать его например "Инверсный гистерезис", либо не демонстрировать его в Тема: как сделать гистерезис?

Вот о чем речь, потому как ввели народ в заблуждение.

melky
21.10.2014, 09:36
Алексей Геннадьевич это не в моем блоке, а в блоке AVF, я тоже не знаю, зачем там fMUL, видимо для того, чтобы коридор был смещен сильно вверх относительно от заданного
Ваш тоже не работает как обычный гистерезис, он на выходе должен быть включен, так как сигнал меньше значения коридора

Алексей Геннадьевич
21.10.2014, 09:40
Алексей Геннадьевич это не в моем блоке, а в блоке AVF, я тоже не знаю, зачем там fMUL, видимо для того, чтобы коридор был смещен сильно вверх относительно от заданного
Ваш тоже не работает как обычный гистерезис, он на выходе должен быть включен, так как сигнал меньше значения коридора
Разобрался. Он зачем-то в процентах от заданной величины задаёт. В некоторых случаях может быть удобно.
А вообще-тема уже ниочём. На 1й странице всё есть.

AVF
21.10.2014, 09:47
В своём проекте зона задаётся в процентах. Чтобы не ломать голову на вычисления при смене уставки введён fMUL.
Деление на 100 не стал добавлять, чтобы не загромождать макрос и не нагружать ПР-ку. Для 3% вводим 0,03 :)

ТС не уточнял, какой гистерезис нужен - был показан возможный вариант :cool: