Вход

Просмотр полной версии : Необходима помощь начинающему. Система управления освещением в помещении.



Влад123
13.01.2021, 18:08
Здравствуйте, прошу помочь советом в реализации системы управления освещением в помещении.

Задача в том, чтобы установить два датчика (снаружи и внутри комнаты), при срабатывании которых в определенном порядке будет включаться/выключаться свет в помещении и соответствующая визуализация.

Вопросы:
1. На каком языке и каким образом можно описать работу датчиков;
2. Имеется ли возможность в визуализации имитировать процесс захода и выхода "людей".

Ниже прикреплю скриншоты примерной визуализации и дополнительные разъяснения:

Визуализация:
52999
53000


Разработать программный проект, реализующий управляемые процессы средствами языков стандарта МЭК 61131-3 в среде CoDeSys:
− на языке Sequential Function Chart (SFC) для описания хронологической последовательности различных действий в программе;
− на языках FBD или CFC для создания требуемых функциональных блоков;
− на языках ST или IL для реализации отдельных алгоритмов;
− реализовать визуализацию работы системы.

Система управления освещением в помещении
Работа системы: свет должен быть выключен, когда в помещении никого нет. На входе установлены два дискретных датчика: один снаружи, другой внутри. Когда срабатывает сначала внешний датчик, затем внутренний, это означает, что человек зашел в помещение. Когда срабатывает сначала внутренний датчик, затем внешний, это означает, что человек вышел из помещения. Если человек вошел – включить свет, Если человек вышел – выключить свет.
Необходимо считать количество людей, заходящих и выходящих из помещения. Пока в помещении остается хотя бы один человек, свет должен быть включен.

melky
13.01.2021, 21:50
студент? вообще задача имеет в некотором роде не решаемый вариант, когда зашли двое под ручку одновременно, а вышел один.

а так, вроде на счетчиках решается. вроде даже были решения ранее.

Влад123
14.01.2021, 18:13
Берется все-таки идеальный вариант, нестандартные ситуации не учитываются.

Василий Кашуба
14.01.2021, 22:07
Берется все-таки идеальный вариант, нестандартные ситуации не учитываются.
Посмотрите этот проетк, и переделайте для своих потребностей.
Алгоритм работы, срабатывает 1 датчик, потом 2-й, потом 1-й отключается, потом 2-й отключается, после этого счётчик увеличивает свои показания.
При выходе из комнаты порядок срабатывания датчиков меняется. Сигналы датчиков должны частично перекрываться (не должно быть разрывов между срабатываниями.

Сергей0308
14.01.2021, 22:54
Как всё сложно! Вот мой вариант, точнее Петра из Минска(макроса энкодера):

53014

Как и в преведущем варианте датчики(оба датчика одновременно) должны перекрываться шириной человеческого тела в стоячем положении, короче, располагаться где-то примерно не далее 20 см друг от друга!

53015

И на высоте около метра, мало ли что, вдруг кот зайдёт!

Василий Кашуба
15.01.2021, 23:52
Сергей0308, Ваша схема будет неверно работать. представьте ситуацию, человек заходя в комнату перекроет оба датчика, но его кто то позвал и он не заходя в комнату вышел из дверного проёма, Ваша схема посчитает, что человек зашёл, а его нет в комнате.

Сергей0308
16.01.2021, 10:52
Сергей0308, Ваша схема будет неверно работать. представьте ситуацию, человек заходя в комнату перекроет оба датчика, но его кто то позвал и он не заходя в комнату вышел из дверного проёма, Ваша схема посчитает, что человек зашёл, а его нет в комнате.

Понятно! Вот свой макрос энкодера сделал(никогда с этим не сталкивался), немного усовершенствовал макрос Петра из столицы соседней республики, но всё равно это в несколько раз проще вашего варианта, мне не понятно зачем так всё усложнять, если можно просто сделать, хочу напомнить, что я совершенствовал готовый макрос(другого человека), если делать сначала, возможно и проще можно сделать!

53031

53030

Василий, вот, как мне кажется, повторил ваш алгоритм, только добавил вход данных для значения предустановки счётчика, как говорится коль пошла такая пьянка - режь последний огурец! Непонятно зачем менять значение на выходе счётчика только когда отсутствуют активные сигналы на всех(двух) входах, в моём преведущем варианте всё правильно будет считать и без этого, короче я бы это удалил, может такое и потребуется в редком случае, проще добавить внешней логикой эту функцию, так как в большинстве случаев думаю это не нужно и я это отметил на картинке:

53052

53051

Чуть не забыл добавить, что счётчик сделал энергонезависимым, в смысле значение счётчика сохранится при выключении-включении ПР!
И вывел на выход оба варианта, кому какой понравится!

Влад123
19.01.2021, 22:36
Господа, тут безусловно проделано много работы, однако для меня все это довольно туманно, как мне объединить все это в целостный проект в среде CoDeSys v2.3?
На данном этапе я лишь могу на языке CFC воссоздать аналог Вашей схемы, но какие переменные мне привязать к мои кнопкам?
P.S.
Ваше решение задачи больше похоже на реальный проект: коты, люди которые тригерят датчики и не заходят и т.п.)))


53031

53030

Юрий Н
20.01.2021, 06:56
как мне объединить все это в целостный проект в среде CoDeSys v2.3?

Видимо надо начать изучать среду CoDeSys v2.3.

Влад123
20.01.2021, 18:37
Подскажите, будьте добры, почему у меня объекты написаны серым текстом и не участвуют в работе программы?53105

capzap
20.01.2021, 18:48
Ваше решение задачи больше похоже на реальный проект: коты, люди которые тригерят датчики и не заходят и т.п.)))


а еще можно так https://resources-boschsecurity-cdn.azureedge.net/public/documents/DS_IVA_6_60_Data_sheet_ruRU_68546541579.pdf

А по поводу серого, всё крутится в PLC_PRG, запустите в нем прогу таймер и перестанет быть серым