Добрый день.
Задача следующая - ввести 4 значения: два в формате INT и две уставки времени для таймеров (те, которые будут на входе PT).
Пример "Редактирование уставок" есть, но там для одной уставки, а поскольку я до этого работал только с контроллерами SIEMENS, то вопросов много....
Начать с того, как мне сказать, что у меня будет несколько экранов для ввода параметров?
Как ввести значение в формате TIME?Код:IF NOT starting THEN (*то что выполняется один раз при запуске программы*) SetWorkScreenCount(ЗДЕСЬ???);
Для того, чтобы можно было зайти в режим редактирования достаточно будет вставить этот код в программу (и соответствующие библиотеки Int_Mode.lib и Work_Mode.lib)?
Как с панели контроллера перейти в режим редактирования? В программе указано сочетание:Код:ft(clk:=kbrd=key); (*если пользователь нажал заданное сочетание клавиш*) IF ft.Q THEN (*отработаем по отпусканию клавиш*) flag:=TRUE; (*установим флаг первой стадии редактирования*) flag1:=TRUE; (*и флаг необходимости переключения в single_mode*) END_IF IF flag THEN (*первая стадия редактирования*) IF flag1 THEN (*если необходимо переключение в single_mode*) Switch_To_Single_Mode(); (*осуществим переключение в single_mode*) flag1:=FALSE; (*сбросим флаг необходимости перехода в single_mode*) END_IF ton2(in:=TRUE,pt:=t#1000ms); (*с момента запроса перехода в режим редактирования подождём 1000 мс*) IF ton2.Q THEN (*1000 мс прошло?*) Switch_To_EDITOR(pnode_); (*переключаемся в режим редактора*) flag:=FALSE; (*сбрасываем флаг первой стадии редактирования*) flag2:=TRUE; (*устанавливаем флаг второй стадии редактирования*) ton2(in:=FALSE,pt:=t#1000ms); (*сбрасываем таймер ton2*) END_IF END_IF IF flag2 THEN (*последняя стадия -- отслеживаем редактирование*) dm:=Get_Display_Mode(); (*в dm занесём текущий режим*) IF dm<>editor_mode THEN (*пользователь вышел из редактирования? тогда в dm будет single_mode*) ton2(in:=TRUE,pt:=t#1000ms); (*подождём после выхода 1000 мс*) IF ton2.Q THEN (*1000 мс прошло?*) Switch_To_PREV_Mode(); (*переключаемся в предыдущий режим. То есть в work_mode*) flag2:=FALSE; (*сбросим флаг второй стадии редактирования*) ton2(in:=FALSE,pt:=t#1000ms); (*сбросим таймер ton2*) END_IF END_IF END_IF
Это можно изменить или это стандартная комбинация?Код:key:BYTE:=136; (*код сочетания альт+стрелка вверх*)
И как получить доступ к функциональным клавишам Ф1, Ф2, Ф3?
В документе РП ПЛК63.73 для ПЛК73 состояние клавиатуры WORD и значения:
![]()




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

