-
ошибка или багофича ПЛК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 обявить в теле самой функции как локальные то на емуляторе все работает на ура, но стоить залить в контроллер - таймеры не срабатывают и выход всегда лож, но стоить таймеры обявить как глобальные - все работает на ура и в контроллере и в емуляторе?
Это так задумано или есть какието особенности в алгоритмах исполнения емулятора и контроллера ?
А то хотелось бы их знать, чтоб потом на производстве с кабелями не бегать.
Спасибо.
-
Так странно - таймер это не совсем переменная, а более похож на тригер, далее почему оно так в эмуляторе работает ?
Ну а если так задумано - значит буду иметь ввиду.
-
Спасибо, значит все таки недоработка эмулятора - буду знать.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума