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