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

Тема: Непонятки по запуску таймера ТР внутри IF END_IF

  1. #1

    По умолчанию Непонятки по запуску таймера ТР внутри IF END_IF

    Должно работать но не работает. Программа функционирует правильно до того как переменная принимает значение MBSTEP := 4;здесь же должен запуститься таймер.
    Что не правильно сделал подскажите, плиз!

    T_OPERATION:TP;

    IF ((NOT WORK_CYCLE) AND (STA_BUTTON OR START)) THEN

    WORK_CYCLE := TRUE;
    RELY_SLOW := TRUE;
    RELY_FAST := TRUE;
    RELY_UP := FALSE;
    START := FALSE;
    TIME_DWORD := WORD_TO_TIME(W);
    MBSTEP := 2 ;
    END_IF;


    IF (WORK_CYCLE AND(MBSTEP=2) AND (MBNUM_OPERATION = CUT) AND SEN_DOWN )=TRUE THEN
    RELY_SLOW := TRUE;
    RELY_FAST := FALSE;
    MBSTEP := 3 ;
    END_IF
    //где-то здесь ГЛЮК, таймер не запускается видно в отладчике
    IF (WORK_CYCLE AND(MBSTEP=3) AND (MBNUM_OPERATION = CUT) AND (Pbuf>P1))=TRUE THEN
    T_OPERATION(IN:=TRUE,PT:= TIME_DWORD);
    RELY_SLOW := 0;
    MBSTEP := 4;
    END_IF

    IF (WORK_CYCLE AND(MBSTEP=4) AND(MBNUM_OPERATION = CUT) AND NOT T_OPERATION.Q)=TRUE THEN
    RELY_UP := TRUE;
    MBSTEP := 5;
    END_IF
    Вложения Вложения

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

    По умолчанию

    Должно работать но не работает
    Я бы не был так категоричен, мое мнение что в условиях полный хаос

  3. #3
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Если не выполняется условие, то не обрабатыватся и таймер. он остается в непонятном состоянии.
    нужно по условию включать маркер запуска таймера. И выключать не забывайте.
    А таймер обрабатывать вне IF.

    В целом CFPZAR ПРАВ.

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

    По умолчанию

    чтоб не проверять условия поодиночке, используйте ELSIF или CASE, общие для всех равенства, такие как WORK_CYCLE, выведите, по назначению, в общее условие, а внутри этого условия уже проверяйте экземплярные равенства

  5. #5

    По умолчанию

    В IF всё вроде логично:
    WORK_CYCLE =TRUE включение рабочего цикла.
    MBNUM_OPERATION = 0 (CUT) Тип операции (на оборудовании два типа операции вырубка0 гибка1).


    Этот кусок кода точно проходит.


    IF (WORK_CYCLE AND(MBSTEP=3) AND (MBNUM_OPERATION = CUT) AND (Pbuf>P1))=TRUE THEN
    T_OPERATION(IN:=TRUE,PT:= TIME_DWORD);
    RELY_SLOW := 0;
    MBSTEP := 4;
    END_IF

    MBSTEP точно присваивается 4 это видно по отладчику и панель Опер. считывает четвёрку.

    В отладчике для таймера
    IN =TRUE;
    PT = то число какое нужно;
    Q = TRUE;
    а вот ET =0 и не изменяется

    Почему то таймер не запускается.
    соответственно ET не догоняет PT и T_OPERATION.Q никогда не становится FALSE Следующее условие не выполняется
    IF (WORK_CYCLE AND(MBSTEP=4) AND(MBNUM_OPERATION = CUT) AND NOT T_OPERATION.Q)=TRUE THEN

  6. #6

    По умолчанию

    А что ST допускает вложения типа: IF
    IF
    END_IF
    END_IF
    ???

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

    По умолчанию

    допускает такое вложение, главное синтаксис выдерживать, хотя о нем и компилятор напомнит если что. А по поводу таймера, это особенность контроллеров, чтобы он "тикал" надо его запускать каждый цикл, а у Вас он один раз выполняется, потому что ограничен условием, вот и стоит на месте, выведите его за условия, в начало или в конец, помоему не так важно, вообщем об этом уже писалось выше

  8. #8

    По умолчанию

    Спасибо за помощь действительно внутри IF ... END_IF таймер не запускается

Похожие темы

  1. SFC внутри SFC
    от drvlas в разделе ПЛК1хх
    Ответов: 32
    Последнее сообщение: 24.09.2011, 20:38
  2. помогите подобрать оборудование (картинка внутри)
    от Life23 в разделе Подбор Оборудования
    Ответов: 13
    Последнее сообщение: 10.01.2010, 11:28
  3. сохранение данных внутри плк
    от Kraft в разделе ПЛК1хх
    Ответов: 13
    Последнее сообщение: 02.12.2009, 09:48
  4. Настройка таймера ПЛК
    от lisnuk в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 30.06.2008, 09:16

Ваши права

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