Показано с 1 по 9 из 9

Тема: Вопрос: ПЛК100 управление группами света тригирами

  1. #1

    Question Вопрос: ПЛК100 управление группами света тригирами

    Добрый день. Подскажите как решить задачу. Делаю дома управление светом. Необходимо чтобы при нажатии на выключатель кнопку 1 раз свет включался, 2 раз выключался. Так же на один выключатель который будет в коридоре сделать выключение всех групп света. Что удалось сделать:
    1) Включение и выключение лампы с таймером задержки.
    Код:
    rt(CLK:=A);
    
    IF rt.Q THEN
    	tm_start(IN:=TRUE , PT:=t );
    END_IF
    
    tm_start;
    
    IF tm_start.Q AND NOT Y THEN
    Y:=TRUE;
    tm_start(IN:=FALSE , PT:=t );
    ELSIF tm_start.Q AND Y THEN
    Y:=FALSE;
    tm_start(IN:=FALSE , PT:=t );
    END_IF
    Но не понятно, нужно делать такие обработки для каждой кнопки или можно унифицировать код.
    2) не могу понять как реализовать выключение всех групп света при условии что я держу кнопку Y в течении 3-х секунд.

  2. #2
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,671

    По умолчанию

    Оформить такой обработчик в виде функционального блока в проекте .
    2.так-же через таймер и выключать все группы , код правильно написан , прямого присвоения нет.

  3. #3

    По умолчанию

    А как сделать чтобы не срабатывал первый таймер на 0,03 сек., ведь кнопка в коридоре должна включать и выключать свет в коридоре и выключать все группы освещения.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    В оскат библиотеку сходите, там есть поу со всевозможными нажатиями

  5. #5

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Оформить такой обработчик в виде функционального блока в проекте .
    2.так-же через таймер и выключать все группы , код правильно написан , прямого присвоения нет.
    А как выглядит этот функционального блока, я просто только второй день этим занимаюсь и не все понимаю. Можно пример привести.

  6. #6
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    Thumbs up

    Добрый день. Подскажите как решить задачу. Делаю дома управление светом. Необходимо чтобы при нажатии на выключатель кнопку 1 раз свет включался, 2 раз выключался. Так же на один выключатель который будет в коридоре сделать выключение всех групп света.
    Код HTML:
    FUNCTION_BLOCK prim1
    VAR_INPUT
    	in: BOOL;	(*кнопка*)
    	off:BOOL;	(*на этот вход подается выход off_all для отключения всех групп освещения*)
    END_VAR
    VAR_OUTPUT
    	Q: BOOL;	(*лампочка*)
    	off_all:BOOL;	(*выход для выключения всех лампочек*)
    END_VAR
    VAR
    	step: BYTE;
    	R_TRIG1: R_TRIG;
    	TON1: TON;
    	pt: TIME := t#3s;
    END_VAR
    
    ----------------------------
    
    TON1(IN:=in , PT:=pt , Q=> , ET=> );	(*таймер для отключения всего освещения*)
    R_TRIG1(CLK:=in , Q=> );(*нужен для включения/выключения лампочки в коридоре*)
    
    CASE step OF
    0:		(*шаг включение лампочки*)
    	IF R_TRIG1.Q THEN
    		Q:=TRUE;
    		step:=1;
    	END_IF
    1:		(*шаг отключения лампочки*)
    	IF R_TRIG1.Q THEN
    		Q:=FALSE;
    		step:=0;
    	END_IF
    END_CASE
    
    (*для отключения всего освещения*)
    off_all:=TON1.Q;(*если кнопку держали 3 секунды отключаем все группы освещения*)
    IF off THEN	(*пришел сигнал на оключение всех групп освещения*)
    	Q:=FALSE;
    	step:=0;
    END_IF
    Последний раз редактировалось amn; 05.12.2013 в 23:31.

  7. #7
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,671

    По умолчанию

    Получи и распишись.
    Вложения Вложения
    • Тип файла: pro Ligth.pro (31.4 Кб, Просмотров: 25)

  8. #8

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Код HTML:
    FUNCTION_BLOCK prim1
    VAR_INPUT
    	in: BOOL;	(*кнопка*)
    	off:BOOL;	(*на этот вход подается выход off_all для отключения всех групп освещения*)
    END_VAR
    VAR_OUTPUT
    	Q: BOOL;	(*лампочка*)
    	off_all:BOOL;	(*выход для выключения всех лампочек*)
    END_VAR
    VAR
    	step: BYTE;
    	R_TRIG1: R_TRIG;
    	TON1: TON;
    	pt: TIME := t#3s;
    END_VAR
    
    ----------------------------
    
    TON1(IN:=in , PT:=pt , Q=> , ET=> );	(*таймер для отключения всего освещения*)
    R_TRIG1(CLK:=in , Q=> );(*нужен для включения/выключения лампочки в коридоре*)
    
    CASE step OF
    0:		(*шаг включение лампочки*)
    	IF R_TRIG1.Q THEN
    		Q:=TRUE;
    		step:=1;
    	END_IF
    1:		(*шаг отключения лампочки*)
    	IF R_TRIG1.Q THEN
    		Q:=FALSE;
    		step:=0;
    	END_IF
    END_CASE
    
    (*для отключения всего освещения*)
    off_all:=TON1.Q;(*если кнопку держали 3 секунды отключаем все группы освещения*)
    IF off THEN	(*пришел сигнал на оключение всех групп освещения*)
    	Q:=FALSE;
    	step:=0;
    END_IF
    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Получи и распишись.
    Спасибо большое, а подскажите в каких случаях используется CASE, вообще какую роль он выполняет в сценарии?

  9. #9
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Про CASE можно почитать в документации CoDeSys_V23_RU.pdf стр 24. Его особенность в том, что в текущем цикле выполняются только те инструкции, которые соответсвуют значению переменной (в моем случае переменная step).

Похожие темы

  1. Вопрос про управление ЧП
    от Alor в разделе Подбор Оборудования
    Ответов: 4
    Последнее сообщение: 07.07.2013, 12:56
  2. Конец света?
    от жекон в разделе Трёп (Курилка)
    Ответов: 11
    Последнее сообщение: 21.12.2012, 14:35
  3. управление по RS485 ПК + ПЛК100 + СП270
    от danko в разделе ПЛК1хх
    Ответов: 19
    Последнее сообщение: 31.01.2012, 18:41
  4. Выбор датчика света
    от satinp в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 08.07.2011, 14:32
  5. вопрос новичка по плк100
    от Dimur в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 15.02.2010, 14:09

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •