Здравствуйте!
Помогите, пожалуйста, решить проблему. Написал блок в Codesys 2.3 для ПЛК. В нем какая то загвоздка с присвоением "Temp_Prev := Temp_Curr;"
При выполнении этого присвоения у Temp_Prev сохраняется прошлое значение. Переменные Temp_Prev и Temp_Curr обе глобальные. Подскажите в какую сторону копать?
Код:(*Данный блок выполняется 1 раз при завершении времени таймера отсчета ступени. Далее он может повторно выполняться при условии, что разница температур была больше 45 градусов. Условием для повторного выполнения будет сигнал с дополнительного таймера включения с отсчетом 1 час*) IF Exec_trig THEN delT := Temp_Curr - Temp_Prev; IF delT < ust_delT THEN (*Если разница температур меньше 45 градусов, то подаем сигнал на увеличение ступени на 1 и сбрасываем таймер отсчета ступени*) StepUp := TRUE; ResetTimer := TRUE; ExtraTimer_On := FALSE; ELSE (*В противном случае присваиваем текущее значение температуры предыдущему и запускаем таймер повторного выполнения блока спустя 1 час*) Temp_Prev := Temp_Curr; StepUp := FALSE; ResetTimer := FALSE; ExtraTimer_On := TRUE; END_IF ELSE (*Если нет сигнала на выполнение, то обнуляем подъем ступени и сброс таймеров*) StepUp := FALSE; ResetTimer := FALSE; END_IF


Ответить с цитированием
