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

Тема: ошибка или багофича ПЛК150

  1. #1

    По умолчанию ошибка или багофича ПЛК150

    Среда програмирования CoDeSys 2.3.9.25
    ПЛК 150 - прошивка та что шла с диском, номер не помню не под рукой.
    В програме в основном модуле PLC_PRG вызов функции

    out_1:=voda_suto(stadii);
    stadii - int;
    в самом теле функции

    IF stadii_l=2 OR stadii_l=3 OR stadii_l=7 THEN
    IF stadii_l=7 THEN time_dovkluchennya:=t#1s; time_promuvku:=t#3s; ELSE time_dovkluchennya:=t#5s; time_promuvku:=t#20s; END_IF
    T_VODA(in:=TRUE,pt:=time_dovkluchennya);
    ELSE
    T_VODA(in:=FALSE);
    END_IF
    IF T_VODA.Q=TRUE THEN T_VODA1(in:=TRUE,pt:=time_promuvku); voda_suto:=TRUE; ELSE T_VODA1(in:=FALSE); voda_suto:=FALSE;END_IF;
    IF T_VODA1.Q=TRUE THEN voda_suto:=FALSE;END_IF

    Собственно сам вопрос
    Если таймеры T_VODA и T_VODA1 обявить в теле самой функции как локальные то на емуляторе все работает на ура, но стоить залить в контроллер - таймеры не срабатывают и выход всегда лож, но стоить таймеры обявить как глобальные - все работает на ура и в контроллере и в емуляторе?
    Это так задумано или есть какието особенности в алгоритмах исполнения емулятора и контроллера ?
    А то хотелось бы их знать, чтоб потом на производстве с кабелями не бегать.
    Спасибо.

  2. #2

    По умолчанию

    Так странно - таймер это не совсем переменная, а более похож на тригер, далее почему оно так в эмуляторе работает ?
    Ну а если так задумано - значит буду иметь ввиду.

  3. #3

    По умолчанию

    Спасибо, значит все таки недоработка эмулятора - буду знать.

Ваши права

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