@Smith2007, Всё, разобрался я со своим вопросом. Расскажу, может пригодится как нибудь. Для того, что бы мне с сигналки вырубать и врубать свет мне нужно купить для нее специальный программируемый модуль PGM4. Он позволяет послать сигнал в зависимости от того, что в настройках задали. Сигнал тоже настраивается и по времени и по вольтажу (до 110В). Для управления освещением действительно используется контактор. Они есть на 12, 24 и 220В. Коли сигналка у меня не выдает 220, взял на 24. Контактор сам по себе не работает, ему нужно питание. Для питания взял модульный блок питания на 24В, к которому потом подключу контактор. У модуля PGM 4 выхода, настраиваемых как захочется. Так что их можно примастрячить к перекрытию, например подачи воды при сработке канала датчика протечки и т. д. Вот как то так.
@RoMZzeSS, хорошо, что разобрались. Но у меня иной путь Я сторонник самому алгоритмы дописать и поэтому за основу взял ПЛК. Не нужно думать "какой программируемый модуль" следующий покупать. Все реализуется несколькими строками кода. Мы немного от темы отошли, но вот чего нашел на сайте Овен по поводу систем автоматизации дома.
Все зависит от того как далеко Вы собираетесь зайти в части автоматизации жилища. Если "далеко" - тогда сейчас Вы тратите время и деньги попусту.
как пример. Попробуйте сначала обрисовать, что Вы хотите сделать дома. Что вероятно будете делать в ближайшие год-два. Не менее важно ответить так же на вопрос: Вам точно это нужно? А что будете делать когда спустя 3-4-6 лет энтузиазм угаснет, а выйдет из строя вон та коробочка? Появится прообраз технического задания. Затем каждую в отдельности задачку распишите до деталей дабы выявить потребность в датчиках (ввод) и управляющих элементах (вывод). После этого у Вас будет примерная потребность в количестве портов ввода-вывода. Затем подумайте как Вы планируете создавать алгоритмы управления Вашими задачами. Нужно ли между задачками взаимосвязь. В итоге Вы придете к устройству на котором можно будет загрузить Вашу программу. Ну а дальше - выбирайте. Вариантов огромное количество как по функционалу так и по цене. Есть заточенные изначально KNX системы есть и десятки других не менее гибких. Иначе через год все будет выглядеть как латание дыр. Сюда PGM, сюда еще чего и т. д.
А вот у вас хватает терпения описать все варианты событий, для тех же астр, как это сделано у больших братьев? типа контроль целостности шлейфа, контроль тампера в детекторе и. т. п. какой софт для перечисления шлейвов и обработки событий, или все своё?
Не вижу смысла городить контроль целостности шлейфа как и тамперы. Датчики стоят внутри дома и доступа к ним посторонним нет. В момент когда злоумышленник попытается повредить датчик - уже будет сработка. Днем же не актуально. Тамперы имеют отдельные контакты и тоже могут быть выведены на вход ПЛК. Но тоже нет необходимости. Тампер можно подключить последовательно с основными сигнальными контактами и тогда будет сработка по тамперу. Тем не менее вопрос, который Вы задали интересен. Хорошую мысль подкинули. На особо важных участках, где может быть доступ посторонних к прибору - необходимо подключать приборы через резисторо (параллельный сигнальным контактам) и заводить на модуль ввода аналоговых сигналов. Причем из-за разброса параметров резисторов (на каждом канале) нужно будет "обучить" систему данным сигналам, что в свою очередь сделает систему более взломостойкой. (сюда же можно и резистор на тампер) В этом случае будет контроль шлейфа, тампер и сигналка. А что значит "софт"? Это громко сказано На ПЛК это одна программа, которая опрашивает входы с заданной периодичностью (например 500 мс). В случае обнаружения сработки - выдать управляющий сигнал на штатную сигналку (пусть уже едут), заставить видеорегистратор сделать снимки камерами и отправить их мне на емейл, отправить мне СМС, включить освещение периметра, ... добавить по вкусу. Все зависит исключительно от фантазии.
@Smith2007, Я прекрасно знаю чего хочу и сейчас и через 10 лет. PGM сигнализации, так же как и релюшки вполне пригодны для использования в системах "умный дом" в дальнейшем. А вообще мне нужна надежная система с необходимым минимумом по ОПС и Климату. На опс я настраиваю Парадокс, а на климат Rexau. Плк, серверы, базы, языки программирования, ну их нафиг, считаю это не необходимым
Вот как пример - управление автоматическими воротами. Если система в режиме охраны, то проверяется датчик ворот. Если открыт - то через заданное время делаем попытку закрыть подачей импульса на автоматику ворот. Делается 4 попытки. Если не получилось - флаг аварии, смс, звуковое опопвещение и пр. действия. Время паузы перед закрытием необходимо для того, что бы не происходило сразу попытки закрыть, когда мы подъехали к дому, не сняли с охраны и открыли ворота. Сейчас уставка 5 минут. За это время можно легко заехать. Длинный код связан с особенностью управления автоматикой ворот. Там всего одна кнопка, которая последовательно: открыть-стоп-закрыть-стоп и по новой. Для других ворот алгоритм проще. Там отдельная кнопка открыть и отдельная закрыть. коменты в (* *) удалил. Переписывать лень. Шрифт не подходит. Код: PROGRAM ProgDOOR1 VAR t_imp: TIME := t#1s; t_Open: TIME := t#30s; t_Close: TIME := t#30s; btDoor1: BOOL := FALSE; step: INT := 0; clik_bt1: TOF; Chk_Open: BOOL := FALSE; (* TRUE - *) Chk_Close: BOOL := FALSE; (* TRUE - *) TON_Close: TON; TON_Open: TON; TOF_Pause: TON; R_TRIG_Close: R_TRIG; Need_Close: BOOL := FALSE; d1: WORD; (* MK110*) END_VAR VAR_OUTPUT ErrorDoor1: WORD; (* 0 - , 1 - , 2 - , 99 - *) END_VAR _____________________________________________________________________________ Door1 := dDoor1; IF execDoor1 = TRUE THEN (* *) ErrorDoor1 := 99; (* *) execDoor1 := FALSE; (* *) IF cmdDoor1 = TRUE THEN (* *) Chk_Close := TRUE; (* *) IF Door1 = FALSE THEN (* *) btDoor1 := TRUE; END_IF; ELSE (* *) Chk_Open := TRUE; (* *) IF Door1 = TRUE THEN (* *) btDoor1 := TRUE; END_IF; END_IF; ELSE Control[11].Alert := FALSE; Control[11].Msg := ' '; END_IF; clik_bt1( IN := btDoor1, PT := t_imp); btDoor1 := FALSE; IF clik_bt1.Q = TRUE THEN MK110out.0 := 1; ELSE MK110out.0 := 0; END_IF; TON_Close(IN := Chk_Close, PT := t_Close); IF TON_Close.Q = TRUE THEN Chk_Close := FALSE; TON_Close(IN := Chk_Close, PT := t_Close); IF Door1 = TRUE THEN ErrorDoor1 := 0; step := 0; ELSE (* Door1 = FALSE *) IF step <= 3 THEN step := step +1; execDoor1 := TRUE; ELSE ErrorDoor1 := 1; step := 0; Control[11].Alert := TRUE; Control[11].Msg := 'Ошибка открытия секционных ворот'; END_IF; END_IF; (* Door1 *) END_IF; TON_Open(IN := Chk_Open, PT := t_Open); IF TON_Open.Q = TRUE THEN Chk_Open := FALSE; TON_Open(IN := Chk_Open, PT := t_Open); IF Door1 = FALSE THEN ErrorDoor1 := 0; step := 0; ELSE (* Door1 = TRUE *) IF step <= 2 THEN step := step +1; execDoor1 := TRUE; ELSE ErrorDoor1 := 2; step := 0; Control[11].Alert := TRUE; Control[11].Msg := 'Ошибка закрытия секционных ворот'; END_IF; END_IF; (* Door1 *) END_IF; IF Mode = 1 AND Door1 = FALSE AND ErrorDoor1 <> 99 THEN Need_Close := TRUE; END_IF; TOF_Pause( IN := Need_Close, PT := T#5m); IF TOF_Pause.Q THEN cmdDoor1 := TRUE; execDoor1 := TRUE; Need_Close := FALSE; END_IF;
ну это маловероятно... там на форуме такие "зубры", что я порой стесняюсь вопрос задать Но если бы я сейчас заново начал делать систему - то построил бы на 323 серии (linux based) с Codesys 3. 3-я версия имеет существенно больше функций, более шустрая и имеет web сервер на борту. Хотя использование его для меня под сомнением. Openhab имеет куда больший функционал и возможности.
@Smith2007, и не надо. У вас, по моему мнению, образовался отличный набор железок. Плюсы и минусы есть везде, а главное, понимание избыточности или недостаточности решения определенной задачи у всех разное. Мне нравиться направление ваших мыслей и решений.
Как говорится в поговорке "хорошая мысля, приходит опосля". После десятка инциндентов вероятно программа будет достаточно доработана. А в готовых решениях более-менее продумано (я про Болид и вроде них) По поводу резисторов, не знаю как у китайцев а в СССР насколько я помню в ходу у любителей были вариант подешевле с допусками 10%, подороже с допуском 5% и для особых узлов 1% . Думаю, современная промышленность в этом смысле шагнула далеко вперед.