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

Тема: функциональный блок для управления перекидным клапаном

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

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

    По умолчанию

    Я тут набросал еще один функциональный блок для управления вертикальным транспортёром Норией хотелось бы чтобы прокомментировали правильно ли я все сделал может что можно сделать лучше хотя вроде все работает но хочется все сделать хорошо
    во вложении проект с визуализацией для тестирования таджеты если нужно в предыдущем вложение

    FUNCTION_BLOCK EL(*Функциональный блок для управления Норией*)
    VAR(*Внутрении переменные для собственых нужд ФБ таймеры и прочее*)
    step : ( stop, start, alarm_reset, alarm_reidi, alarm_sped, alarm_podpor, alarm_tok);(*Обявляем Функцию step*)
    timer1:TON; (*Обявляем ФБ таймер аварии по контролю включения*)
    timer2:TON; (*Обявляем ФБ таймер аварии по контролю скорости*)
    timer3:TON; (*Обявляем ФБ таймер аварии по подпору продуктом*)
    END_VAR

    VAR_INPUT(*Входные переменные датчики кнопки и тп*)
    auto:BOOL; (*Автоматический режим работы*)
    man_start, man_stop:BOOL; (*Экранные кнопки СТАРТ и СТОП*)
    auto_start, auto_stop:BOOL; (*Сигналы в режиме автомат СТАРТ и СТОП*)
    sens_reidi:BOOL; (*Контроль включения механизма*)
    sens_sped:BOOL; (*Контроль скорости механизма*)
    sens_podpor:BOOL; (*Контроль подпора механизма прдуктом*)
    sens_tok:BOOL; (*Контроль токовой нагрузки электродвигателя*)
    reset: BOOL; (*Сигнал сброса аварии*)
    END_VAR

    VAR_OUTPUT(*выходные переменые пускатели аварии и тп*)
    out:BOOL; (*Выходы на пускатель*)
    out_alarm: WORD; (*Выход аварии нории*)
    END_VAR

    ******************************************

    CASE step OF

    stop:
    step:=SEL(SEL(auto, man_start, auto_start), step, start); (*Обработка кнопок ручного и автоматического режима СТАРТ*)
    timer1(in:=FALSE); (*Обнуляем таймер 1*)
    timer2(in:=FALSE); (*Обнуляем таймер 2*)
    timer3(in:=FALSE); (*Обнуляем таймер 3*)

    start:
    step:=SEL(SEL(auto, man_stop, auto_stop), step, stop); (*Обработка кнопок ручного и автоматического режима СТОП*)
    IF out =TRUE THEN
    timer1(in:=TRUE, pt:=T#1s);
    timer2(in:=TRUE, pt:=T#3s);
    timer3(in:=sens_podpor, pt:=T#3s);

    step:=SEL(timer1.Q, SEL(sens_reidi, step, start), alarm_reidi);
    step:=SEL(timer3.Q, step, alarm_podpor);

    step:=SEL(timer2.Q, step, alarm_sped);

    step:=SEL(sens_tok, step, alarm_tok);
    ELSE
    timer1(in:=FALSE);
    timer2(in:=FALSE);
    timer3(in:=FALSE);
    END_IF
    IF sens_reidi =TRUE THEN
    timer1(in:=FALSE);
    END_IF
    IF sens_sped =TRUE THEN
    timer2(in:=FALSE);
    END_IF

    alarm_reset:
    timer1(in:=FALSE); (*Обнуляем таймер 1*)
    timer2(in:=FALSE); (*Обнуляем таймер 2*)
    timer3(in:=FALSE); (*Обнуляем таймер 3*)
    out_alarm:=0; (*Обнуляем АВАРИИ*)
    step:=stop; (*Стоп механизма*)

    alarm_reidi:
    out_alarm:=1; (*Присваиваем переменной out_alarm аварию №1*)
    step:=SEL(reset, step, alarm_reset); (*Контроль кнопки Сброса аварии*)
    out:=step=stop; (*Стоп механизма*)

    alarm_sped:
    out_alarm:=2; (*Присваиваем переменной out_alarm аварию №2*)
    step:=SEL(reset, step, alarm_reset); (*Контроль кнопки Сброса аварии*)
    out:=step=stop; (*Стоп механизма*)

    alarm_podpor:
    out_alarm:=3; (*Присваиваем переменной out_alarm аварию №3*)
    step:=SEL(reset, step, alarm_reset); (*Контроль кнопки Сброса аварии*)
    out:=step=stop; (*Стоп механизма*)

    alarm_tok:
    out_alarm:=4; (*Присваиваем переменной out_alarm аварию №4*)
    step:=SEL(reset, step, alarm_reset); (*Контроль кнопки Сброса аварии*)
    out:=step=stop; (*Стоп механизма*)
    END_CASE
    out:=step=start; (*Старт механизма*)
    Вложения Вложения
    • Тип файла: zip 22.ZIP (37.2 Кб, Просмотров: 26)
    Последний раз редактировалось alexval2006; 03.12.2010 в 01:12.

Ваши права

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