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

Тема: Вопрос. Управление механизмами по уровню в двух бункерах.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию Вопрос. Управление механизмами по уровню в двух бункерах.

    Доброго времени суток.
    Возник вопрос не могу сам решить запутался.
    надумало моё руководство доработать существующую линию на заводе системой подмешивания зерна в продукт. И как всегда заказали проект на механику сказали дорого обошлось электрику и автоматику клепайте сами от бумаг до воплощения в железе.
    Основная задача состоит в управлении заполнением двух бункеров зерном по уровню в них.
    В начале стоит задвижка MS1 далее Нория EL_EV1460 далее транспортёр TKF1. На котором над первым бункером стоит задвижка MS2 она и переключает в какой бункер сыпать зерно если открыта то в первый если закрыта то во второй.

    Проект ниже. Для ПЛК110_60КМ
    При запуске системы проверяем уровень в бункере №1 если там нету среднего или нижнего уровня то начинаем закачку в него MS2 откр, TKF1 старт, EL_EV1460 старт, MS1 откр. Заполняем до верхнего уровня. Если в этот момент уходит средний уровень в бункере №2 то ставим его в очередь. Закачаем его когда закончим с бункером №1. Если же в это время в бункере №2 вышел и нижний уровень то нужно перейти на его заполнение до верхнего уровня и пока не закачаем на другие запросы не реагировать. У меня получилось сделать очередь и закачку для работы средние верхние уровни в обоих бункерах. А с нижними проблема не получается. Даже если задвижку MS2 переключит по нижнему уровню и закачает бункер до верха то не возвращает задвижку обратно для стоящего в очереди второго бункера у которого ушли верхний и средний уровни.
    вот основная программа. Для тестирования в визуализации собрано управление уровнями а также есть кнопка тест её нужно нажать чтобы выходы начали работать на входы так как реальной схемы вокруг ПЛК пока не собрано.

    Разобрался сам Исправленный код разбил задачу на части и нарисовал релейную схемку подумал перерисовал несколько раз и получил рабочую схемку перевел в на язык ST попробовал работает. Архив с проектом тоже заменён на рабочий.
    Это программа управления загрузочными механизмами задвижка MS1, Нория EL_EV1460, транспортёр TKF1 так как они общие для обоих маршрутов.
    PHP код:
    PROGRAM PRG_U_MECH_ST
    (*Программа управления механизмами TKF1MS1EL_EV1460 по отсутствию ВУ и СУ или НУ любого из бункеров*)
    VAR
        
    LEVEL_FLAGBOOL;
        
    BUNKER_ZAGRUZ_ONBOOL;
        
    SR_BUNKER_ZAGRUZ_ONSR;
        
    SR_BUNKER_ZAGRUZ_OFFSR;
        
    timer_OFF_1timer_OFF_2timer_OFF_3TON;
        
    timer_ON_1timer_ON_2timer_ON_3TON;
        
    R_TRIG_BUNKER_ZAGRUZ_ONR_TRIG;
        
    R_TRIG_BUNKER_ZAGRUZ_OFFR_TRIG;
    END_VAR
    (******************************************************************************************************)
    (*
    ЕСЛИ ХОТЬ В ОДНОМ ИЗ БУНКЕРОВ УРОВЕНЬ НИЖЕ НОРМЫ ЗАПУСКАЕМ МЕХАНИЗМЫ ЗАКАЧКИ ПРОДУКТА В БУНКЕРА*)
    IF (
    NU1=FALSE OR SU1=FALSE OR NU2=FALSE OR SU2=FALSE OR LEVEL_FLAG=TRUETHEN
                LEVEL_FLAG
    :=TRUE;
                
    BUNKER_ZAGRUZ_ON:=TRUE;
    END_IF
    (*И КАЧАЕМ ДО ВЕРХНЕГО УРОВНЯ В ОБОИХ БУНКЕРАХ *)
    IF (
    VU1=TRUE AND VU2=TRUETHEN
          LEVEL_FLAG
    :=FALSE;
          
    BUNKER_ZAGRUZ_ON:=FALSE;
    END_IF
    (*****************ВКЛЮЧЕНИЕ МЕХАНИЗМОВ ЗАКАЧКИ ПО УРОВНЮ*******************************)
    R_TRIG_BUNKER_ZAGRUZ_ON(CLK:=BUNKER_ZAGRUZ_ON);
    SR_BUNKER_ZAGRUZ_ON(SET1:=R_TRIG_BUNKER_ZAGRUZ_ON.QRESET:=timer_ON_3.Q);
    timer_ON_1(in:=SR_BUNKER_ZAGRUZ_ON.Q1,  pt:=T#1s, Q=>TKF1_AUTO_START);       (*ВКЛЮЧЕНИЕ ТР-Р TKF1*)
    timer_ON_2(in:=timer_ON_1.Q,  pt:=T#1s, Q=>EL_EV1460_AUTO_START);                           (*ВКЛЮЧЕНИЕ НОРИИ EL_EV1460*)
    timer_ON_3(in:=timer_ON_2.Q,  pt:=T#1s, Q=>MS1_AUTO_OPEN);                                          (*ОТКРЫТИЕ ЗАДВИЖКИ MS1*)
    (*****************ВЫКЛЮЧЕНИЕ МЕХАНИЗМОВ ЗАКАЧКИ ПО УРОВНЮ*******************************)
    R_TRIG_BUNKER_ZAGRUZ_OFF(CLK:=BUNKER_ZAGRUZ_ON=FALSE);
    SR_BUNKER_ZAGRUZ_OFF(SET1:=R_TRIG_BUNKER_ZAGRUZ_OFF.QRESET:=timer_OFF_3.Q);
    timer_OFF_1(in:=SR_BUNKER_ZAGRUZ_OFF.Q1,  pt:=T#2s, Q=>MS1_AUTO_CLOSED);(*ЗАКРЫТИЕ ЗАДВИЖКИ MS1*)
    timer_OFF_2(in:=timer_OFF_1.Q,  pt:=T#2s, Q=>EL_EV1460_AUTO_STOP);                        (*ВЫКЛЮЧЕНИЕ НОРИИ EL_EV1460*)
    timer_OFF_3(in:=timer_OFF_2.Q,  pt:=T#2s, Q=>TKF1_AUTO_STOP);                                    (*ВЫКЛЮЧЕНИЕ ТР-Р TKF1*) 
    А эта программа управляет задвижкой MS2 которая переключает загрузку между бункерами.
    PHP код:
    PROGRAM PRG_U_MS2_ST
    (*Программа управления задвижкой MS2для закачки бункеров по отсусвию ВУ и СУ или НУ любого из бункеров*)
    VAR
        
    B1_SU_FLAGBOOL;
        
    B2_SU_FLAGBOOL;
        
    B1_ZAGRUZ_ONBOOL;
        
    B2_ZAGRUZ_ONBOOL;
           
    B1_NU_FLAGBOOL;
        
    B2_NU_FLAGBOOL;
        
    R_TRIG_MS2_B_ZAGRUZ_OPENR_TRIG;
        
    R_TRIG_MS2_B_ZAGRUZ_CLOSEDR_TRIG;
        
    SR_MS2_B_ZAGRUZ_OPENSR;
        
    SR_MS2_B_NU_CLOSEDSR;
        
    SR_MS2_B_ZAGRUZ_CLOSEDSR;
        
    timer_B_CLOSEDTON;
        
    timer_B_OPENTON;
    END_VAR
    (***************************************************************************************************)
    (*
    Если сработал НУ бункера №1 и флаг загрузки по нижнему уровню бункера №2 неустановлен*)
    (*
    Если сработал НУ бункера №2 и флаг загрузки по нижнему уровню бункера №2 неустановлен*)
    (*****************
    Бункер №1***************************************************************************)
    (*
    СРЕДНИЙ И НИЖНИЙ УРОВЕНЬ*)
    IF (
    SU1=FALSE AND B2_SU_FLAG=FALSE  AND B1_SU_FLAG) OR (NU1 FALSE AND B1_NU_FLAGTHEN
         B1_ZAGRUZ_ON
    :=TRUE;(*установим флаг закачки в бункер №1 по СУ и незанятости маршрута бункером №2*)
    ELSE
         
    B1_ZAGRUZ_ON:=FALSE;
    END_IF
    (*ВЕРХНИЙ УРОВЕНЬ*)
    IF 
    VU1=FALSE  THEN
         B1_SU_FLAG
    :=TRUE; (*флаг закачки в бункер №1 по СУ*)
         
    B1_NU_FLAG:=TRUE; (*флаг закачки в бункер №1 по НУ*)
    ELSE
         
    B1_SU_FLAG:=FALSE;
         
    B1_NU_FLAG:=FALSE;
    END_IF
    (*****************Бункер №2************************************************************************)
    (*
    СРЕДНИЙ И НИЖНИЙ УРОВЕНЬ*)
    IF (
    SU2=FALSE AND B1_SU_FLAG=FALSE AND B2_SU_FLAG) OR (NU2 FALSE AND B2_NU_FLAGTHEN
         B2_ZAGRUZ_ON
    :=TRUE;(*установим флаг закачки в бункер №1 по СУ и незанятости маршрута бункером №2*)
    ELSE
         
    B2_ZAGRUZ_ON:=FALSE;
    END_IF
    (*ВЕРХНИЙ УРОВЕНЬ*)
    IF 
    VU2=FALSE  THEN
         B2_SU_FLAG
    :=TRUE; (*флаг закачки в бункер №1 по СУ*)
         
    B2_NU_FLAG:=TRUE; (*флаг закачки в бункер №1 по НУ*)
    ELSE
         
    B2_SU_FLAG:=FALSE;
         
    B2_NU_FLAG:=FALSE;
    END_IF

    (**УПРАВЛЕНИЕ ЗАДВИЖКОЙ MS2 ДЛЯ ВЫБОРА В КАКОЙ ИЗ БУНКЕРОВ ЗАКАЧИВАТЬ**)
    (***************
    Переход на загрузку бункера №1 по срабатыванию SU1 или NU1******************)
    R_TRIG_MS2_B_ZAGRUZ_OPEN(CLK:=B1_ZAGRUZ_ON);
    SR_MS2_B_ZAGRUZ_OPEN(SET1:=R_TRIG_MS2_B_ZAGRUZ_OPEN.QRESET:=timer_B_OPEN.Q);
    timer_B_OPEN(in:=SR_MS2_B_ZAGRUZ_OPEN.Q1,  pt:=T#1s, Q=>MS2_AUTO_OPEN); (*ОТКРЫТИЕ ЗАДВИЖКИ MS2*)
    (***************Переход на загрузку бункера №2 по срабатыванию SU2****************************)
    R_TRIG_MS2_B_ZAGRUZ_CLOSED(CLK:=B2_ZAGRUZ_ON);
    SR_MS2_B_ZAGRUZ_CLOSED(SET1:=R_TRIG_MS2_B_ZAGRUZ_CLOSED.QRESET:=timer_B_CLOSED.Q);
    timer_B_CLOSED(in:=SR_MS2_B_ZAGRUZ_CLOSED.Q1,  pt:=T#1s, Q=>MS2_AUTO_CLOSED); (*ЗАКР ЗАДВИЖКИ MS2*) 
    Изображения Изображения
    • Тип файла: gif zavod.GIF (40.5 Кб, Просмотров: 42)
    Вложения Вложения
    Последний раз редактировалось alexval2006; 07.02.2016 в 19:46. Причина: Разобрался с проблемой выложил исправленную версию

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 19.11.2015, 13:00
  2. Ответов: 23
    Последнее сообщение: 28.06.2015, 02:14
  3. Ответов: 1
    Последнее сообщение: 03.05.2015, 20:09
  4. Ответов: 8
    Последнее сообщение: 06.12.2013, 10:29
  5. Вопрос про управление ЧП
    от Alor в разделе Подбор Оборудования
    Ответов: 4
    Последнее сообщение: 07.07.2013, 11:56

Ваши права

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