А у меня нет =)))
Переоткрыл проект в Codesys.
1. Удалил все задачи. Проверка - в визуализации выставить входное давление >1500, нажать Auto, потом Start. Работает.
2. Создал задачу Count_Pump_Working_Time, вызывает одноимённую программу, вызов каждую секунду, приоритет 1.
3. Создал задачу PLC_PRG, тип freewheeling, приоритет 1.
4. Проверка - в визуализации выставить входное давление >1500, нажать Auto, потом Start. Ничего не происходит, даже если Start долго держать.
5. Выключил задачу Count_Pump_Working_Time.
6. Проверка - не работает, как в п. 4.
Поэтому, напишите плиз свою версию ОС и CodeSys. Может, ему x64 не по-душе? Но вообще, впервые с таким сталкиваюсь, чтобы IDE некорректно работала.
Апдейт:
Вот такая вот картинка в дебаггере. Переменные Current_State, System_State.Idle, System_State.Running при каждом цикле меняют свои значения на случайные.
Может, как-то не так объявляю\присваиваю?
Удаляю все задачи и... ляпота - Current_State=0, System_State.Idle=0, System_State.Running=1.Код:Это в специально отведенном месте: TYPE System_States : STRUCT Idle:BYTE:=0; Running:BYTE:=1; END_STRUCT END_TYPE Это в блоке для глобальных переменных VAR_GLOBAL Current_State: BYTE; System_State:System_States;
Эти переменные используются только в PLC_PRG, так что о блокировках речи не идет.