Добрый день, написал код который работает он дискретной переменной ready. Переменная ready - это подключённый контакт к выносному клеммному модулю. Пока переменная в false,по задумке, картинка должна окрашиваться в красный показывая что двигатель не готов к работе из-за отпавшего контакта ready. Раньше всё работало исправно, но после временного перерыва, снова подключили контакт ready и был написан следующий код:
мало того что контакт начал сам по себе периодически переходить кратковременно в false, так и изображение с "alarm" после того как ready становится true не переходит в "normal". Помогите понять что сделал не так, дело в коде или всё же в чём-то другом?Код:IF inputs.ready=TRUE THEN sCurrentFrame:=CONCAT(sPictureMainName,sFrame2); sCurrentNagrName:=CONCAT(sPictureNagrName,sFrame2Nagr); ELSIF inputs.ready=FALSE THEN sCurrentFrame:=CONCAT(sPictureMainName,sFrame4); sCurrentNagrName:=CONCAT(sPictureNagrName,sFrame4Nagr); startMain.startall:=FALSE; END_IF
Ниже привожу список объявленных переменных и скрин работы на самом плк.
forforum.PNGКод:PROGRAM idImage VAR sPictureMainName:STRING :='right_engine_'; sCurrentFrame:STRING:='right_engine_default'; sFrame1:STRING:='default'; sFrame2:STRING:='normal'; sFrame3:STRING:='warning'; sFrame4:STRING:='alarm'; sPictureNagrName:STRING:='engine_'; sCurrentNagrName:STRING:='engine_default'; sFrame1Nagr:STRING:='default'; sFrame2Nagr:STRING:='normal'; sFrame3Nagr:STRING:='warning'; sFrame4Nagr:STRING:='alarm'; END_VAR


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