PDA

Просмотр полной версии : Программирование аппаратных кнопок в Owen Logic



EvgenyR
01.09.2020, 17:30
В одном из следующих релизов Owen Logic хотим добавить программирование аппаратных кнопок прибора.

Если у вас есть пожелания или видение по реализации этой функции, то их можно написать тут.
Мы постараемся их учесть при разработке.

Евгений Кислов
01.09.2020, 18:17
Евгений, видимо, постеснялся написать - он является системным аналитиком из отдела разработки OwenLogic.
И ваша обратная связь по этому вопросу действительно важна для нас.
Поэтому ждем ваших требований к реализации данного функционала.

Goodwin2
01.09.2020, 20:31
Это будет очень нужная и востребованная функция.

Думаю будет правильно вывести состояние кнопок точно так же, как и текущее время, т.е. обычными переменными. А удерживание, отпускание и т.д. пользователь сам запрограммирует уже в самой программе.
К этой функции очень кстати подойдет добавление переменной с номером текущего экрана.

Например находимся на экране №3 на котором написано:

Выберите режим
->Фасовка с добором
При нажатии на кнопку "ОК" и при открытом экране №3 запускается режим фасовки с добором.

Или можно использовать стрелки для изменения скорости вращения двигателя, без нажатия на кнопку SEL.
Или произошла авария и пользователю необходимо её подтвердить нажатием на "ОК", тем самым сбросить триггер.

От ИПП120 приходится часто отказываться из-за отсутствия возможности работы с аппаратными кнопками в самой программе.

Santi
02.09.2020, 08:20
Конечно это нужно. Дисплей без пользовательских кнопок - это полуфабрикат. Стриптиз какой-то: смотреть можно, а трогать нет. У всех производителей аналогичной техники кнопки могут использоваться в программе пользователя, ОВЕНовские изделия конечно отстают в этой части.

Алексеев
02.09.2020, 08:35
При использовании кнопок в программе ,с целью предотвращения их дублирования функций в экранах необходимо знать на каком экране находится пользователь .
С этой целью необходимо иметь переменные характеризующие экран . Например логическую переменную , если 1 значить тот экран ,в котором необходимо
использовать кнопку и выбирать её например оператором SEL . Совместное использования переменных характеризующий открытый экран и переменные характеризующие
кнопки даст очень положительный эффект .

Сергей0308
02.09.2020, 08:54
При использовании кнопок в программе ,с целью предотвращения их дублирования функций в экранах необходимо знать на каком экране находится пользователь .
С этой целью необходимо иметь переменные характеризующие экран . Например логическую переменную , если 1 значить тот экран ,в котором необходимо
использовать кнопку и выбирать её например оператором SEL . Совместное использования переменных характеризующий открытый экран и переменные характеризующие
кнопки даст очень положительный эффект .

А в 3 посте не тоже самое написали?
Тогда тоже повторю свое видение исполнения этой функции: добавляется одна переменная(16 бит), младшие 10 бит(0-9) занимает переменная с номером активного экрана, до 1024 экранов, думаю всем с избытком хватит, старшие 6 бит(10-15) занимает битовая маска нажатых кнопок, соответствие кнопке конкретному биту не важно, можно любое, всё!

Алексеев
02.09.2020, 09:03
А в 3 посте не тоже самое написали?
Тогда тоже повторю свое видение исполнения этой функции: добавляется одна переменная(16 бит), младшие 10 бит(0-9) занимает переменная с номером активного экрана, до 1024 экранов, думаю всем с избытком хватит, старшие 6 бит(10-15) занимает битовая маска нажатых кнопок, соответствие кнопке конкретному биту не важно, можно любое, всё!

Пот поводу переменной характеризующий экран не сказано не слова . А как быть с удержанием и передним фронтом и задним фронтом ??????????? Как допустим в экранах .
Самим колхозить ?????. Желательно иметь стандартные они всех устраивают .

Сергей0308
02.09.2020, 09:10
Пот поводу переменной характеризующий экран не сказано не слова . А как быть с удержанием и передним фронтом и задним фронтом ??????????? Как допустим в экранах .
Самим колхозить ?????. Желательно иметь стандартные они всех устраивают .

Не понял при чём здесь фронта, есть переменная с номером активного экрана, изменяй её как хочешь из программы хоть по спаду хоть по фронту, как захочется!

Алексеев
02.09.2020, 09:39
Не понял при чём здесь фронта, есть переменная с номером активного экрана, изменяй её как хочешь из программы хоть по спаду хоть по фронту, как захочется!

Я это имею введу уже всё реализовано и переменная экрана и нажатие ( передний фронт) отпускание ( задний фронт) . Уже всё реализовано только необходимо
в проекте получить доступ к имеющимся переменным .50877 . Выбирать переменную экрана . И своей переменной присваивать действие кнопок .
Это всё реализовано в драйверах прошивок приборах имеющих экраны и кнопки..

Сергей0308
02.09.2020, 09:50
Я это имею введу уже всё реализовано и переменная экрана и нажатие ( передний фронт) отпускание ( задний фронт) . Уже всё реализовано только необходимо
в проекте получить доступ к имеющимся переменным .50877 . Выбирать переменную экрана . И своей переменной присваивать действие кнопок .
Это всё реализовано в драйверах прошивок приборах имеющих экраны и кнопки..

Если добавят переменную(переменные) с номером активного экрана и битовой маской нажатых кнопок, то это, что Вы на картинке показали будет ни к чему, как собаке пятая нога, короче объявят это как тупиковый путь развития и уберут, ну сами подумайте зачем они будут нужны если вдруг такое сделают о чём говорят(мечтают) уже не менее 5-7 лет!

Ревака Юрий
02.09.2020, 09:55
Добавлю некоторые упоминания по этой теме:
-https://owen.ru/forum/showthread.php?t=28579&p=299130&viewfull=1#post299130
-https://owen.ru/forum/showthread.php?t=28579&p=333764&viewfull=1#post333764
-https://owen.ru/forum/showthread.php?t=33403
их на самом деле значительно больше.
По функционалу в принципе уже все сказано, я бы добавил возможность вкл/выкл стандартного режима управления клавиатурой, как это реализовано сейчас, и управления битами.
Так как если биты будут передаваться всегда, то при режимах редактирования будет не очень удобно использовать, а с другой стороны, даже если пользователь не планирует использовать клавиатуру как это сделано сейчас, то может понадобится заход в системное меню, а там все равно нужен стандартный функционал кнопок.

Алексеев
02.09.2020, 10:03
Если добавят переменную(переменные) с номером активного экрана и битовой маской нажатых кнопок, то это, что Вы на картинке показали будет ни к чему, как собаке пятая нога, короче объявят это как тупиковый путь развития и уберут, ну сами подумайте зачем они будут нужны если если вдруг такое сделают о чём говорят(мечтают) уже не менее 5-7 лет!

Разработчики спрашивают наше мнение , а реализуют как им удобно . А удобно им будет использовать , то что уже наработано . А чтоб не было конфликтов с существующими
функциями кнопок, необходимо разработчикам проектов знать, где находится пользователь ( или проект ) , на каком экране и Сам будет отвечать за конфликтные ситуации в своём проекте .
А чтоб их не было нужен контроль разработчику на каком экране необходимо использовать ту или иную функцию кнопок . В прошлых постах они так и говорили ( писали) , что будут
конфликты . Вот и всё . Спасибо .

Сергей0308
02.09.2020, 10:11
Разработчики спрашивают наше мнение , а реализуют как им удобно . А удобно им будет использовать , то что уже наработано . А чтоб не было конфликтов с существующими
функциями кнопок, необходимо разработчикам проектов знать, где находится пользователь ( или проект ) , на каком экране и Сам будет отвечать за конфликтные ситуации в своём проекте .
А чтоб их не было нужен контроль разработчику на каком экране необходимо использовать ту или иную функцию кнопок . В прошлых постах они так и говорили ( писали) , что будут
конфликты . Вот и всё . Спасибо .

Никак не могу понять, в чём проблема? Переменная с номером активного экрана как раз и будет показывать на каком экране мы находимся и её(эту переменную) можно редактировать, чтобы перейти на другой экран!

Алексеев
02.09.2020, 10:20
Никак не могу понять, в чём проблема? Переменная с номером активного экрана как раз и будет показывать на каком экране мы находимся и её(эту переменную) можно редактировать, чтобы перейти на другой экран!

Насколько без разницы какая будет переменная целочисленная или булевая ( логическая ) . Только булевая ( логическая ) уже существует . Это название экрана .
Мне кажется Мы об одном и том же говорим . Как программистам ОЛ будет удобно , так пусть они реализуют , но только обязательно нужно знать на каком экране
нужно использовать , ту или иную функцию кнопок , чтобы не было конфликтов .

Евгений Кислов
02.09.2020, 10:32
В данный момент не стоит думать об удобстве программистов OwenLogic - напишите, как будет удобно вам.

Насчет системных переменных для состояния кнопок - идея понятна.
Нужны ли переменные для короткого/длинного нажатия на каждую кнопку?
Нужна ли возможность настройки индивидуальной длительности короткого и длинного нажатия для каждой кнопки или достаточно глобальных настроек для этого?
Или это вообще не нужно, и пользователю проще обрабатывать короткие/длинные нажатия самому в FBD-программе?

Есть ли потребность в привязке событий к кнопкам в редакторе визуализации?
(по аналогии с ИП320 - изменить значение бита, произвести действие с регистром (записать константу, увеличить/уменьшить на константу), перейти на другой экран.
Эти действия могут быть уникальными в контексте экрана визуализации.
Или все это опять же удобнее делать в FBD, и нужно только добавить макрос типа SwitchScreen?

Сергей0308
02.09.2020, 10:42
В данный момент не стоит думать об удобстве программистов OwenLogic - напишите, как будет удобно вам.

Насчет системных переменных для состояния кнопок - идея понятна.
Нужны ли переменные для короткого/длинного нажатия на каждую кнопку?
Нужна ли возможность настройки индивидуальной длительности короткого и длинного нажатия для каждой кнопки или достаточно глобальных настроек для этого?
Или это вообще не нужно, и пользователю проще обрабатывать короткие/длинные нажатия самому в FBD-программе?

Есть ли потребность в привязке событий к кнопкам в редакторе визуализации?
(по аналогии с ИП320 - изменить значение бита, произвести действие с регистром (записать константу, увеличить/уменьшить на константу), перейти на другой экран.
Эти действия могут быть уникальными в контексте экрана визуализации.
Или все это опять же удобнее делать в FBD, и нужно только добавить макрос типа SwitchScreen?

Зачем делать то, что можно в программе сделать, всем не угодишь, этого и не нужно делать, нужно добавить переменную с номером активного экрана и битовую маску нажатых кнопок, лучше в одной переменной, как я чуть ранее написал, всё!
Для новичков, особо тупеньких, можно потом и макрос(ы) сделать с разными вариантами нажатий и присвоений, мне так кажется!

Алексеев
02.09.2020, 11:25
У меня допустим сейчас задействован один вход на пуск / стоп ( без фиксации ). Допустим хочу использовать кнопку ввод для этой функции .
Но если Я начну редактировать какой нибудь параметр и нажму кнопку ввод для записи , то у меня может произойти останов или запуск по этой кнопки .
Тогда желательно запрещать использования этой кнопки ( ОК или ESC ) на некоторое время допустим на 3 сек в системной переменной , после редактирования.
С макросами с Сергеем согласен . Номер активного экрана --- это значит нужно держать в голове эти номера , а если их много .
Названия даются по функционалу экрана , и спокойно сохраняются в голове на длительное время . А здесь как быть ? .
Есть ли потребность в привязке событий к кнопкам в редакторе визуализации? Здесь мне допустим не совсем понятно
разве не достаточно существующего функционала перехода между экранами .??

Или допустим есть меню для редактирования и сброса параметров и предупреждений . То вход в это меню подразумевает уже редактирование
И уже параметр должен моргать . Нажимаешь ESC ( не нужно ) начинает моргать другой по ходу . Меняешь стрелками нажимаешь ОК ,записывается
А чтобы это реализовать необходимо ещё и запрещать на определенных экранах стандартных функций клавиатуры ,как допустим листать строки
экранов стрелками . И передать это допустим ESC и ОК В этом согласен с Ревака Юрием .

Алексеев
02.09.2020, 11:57
Зачем делать то, что можно в программе сделать, всем не угодишь, этого и не нужно делать, нужно добавить переменную с номером активного экрана и битовую маску нажатых кнопок, лучше в одной переменной, как я чуть ранее написал, всё!
Для новичков, особо тупеньких, можно потом и макрос(ы) сделать с разными вариантами нажатий и присвоений, мне так кажется!

А ты даже не можешь догадаться , что у некоторый пользователь мозги заточены под другие Языки программирования ,которых большое количество .
И они считают ,что FBD это язык для рисования и используется инженерами КИП и А , а не программистами.

Серёга Букашкин
02.09.2020, 12:38
Удобнее если две отдельные переменные (чтобы не разбирать/собирать): номер экрана (читать и записывать, для записи лучше отдельную переменную) и биты состояния кнопок (только читать, чтобы не было конфликтов в принципе).

Ревака Юрий
02.09.2020, 13:15
Удобнее если две отдельные переменные (чтобы не разбирать/собирать): номер экрана (читать и записывать, для записи лучше отдельную переменную) и биты состояния кнопок (только читать, чтобы не было конфликтов в принципе).

Для кнопок, я бы сразу сделал готовые пиктограммы , которые можно добавлять в любое место логики, кнопка нажата на выходе "1" отжата "0", все остальное на откуп пользователя, делайте что хотите, задержки, передний фронт, задний, длинное нажатие/короткое, под это есть всевозможные блоки/макросы.
Для экранов регистр на чтение/запись, читаем текущее состояние, изменяем значение - переходим на номер экрана если этот номер существует. Дальше переход или из логики или через Combobox можно построить любое меню.
Если будет доработка я бы еще добавил бит управления подсветкой из логики.

Сергей0308
02.09.2020, 13:35
Для кнопок, я бы сразу сделал готовые пиктограммы , которые можно добавлять в любое место логики, кнопка нажата на выходе "1" отжата "0", все остальное на откуп пользователя, делайте что хотите, задержки, передний фронт, задний, длинное нажатие/короткое, под это есть всевозможные блоки/макросы.
Для экранов регистр на чтение/запись, читаем текущее состояние, изменяем значение - переходим на номер экрана если этот номер существует. Дальше переход или из логики или через Combobox можно построить любое меню.
Если будет доработка я бы еще добавил бит управления подсветкой из логики.

Слава Богу, просто торжество здравого смысла, я так и предлагал, чисто состояние кнопок сделать доступным в программе, остальное всё лишнее, только повредит, если добавить любую функцию, нужную для конкретного частного случая, это только ограничит функционал, а так, любой может сделать как он захочет, какой смысл что-то придумывать, чтобы сделать хуже?!

Алексеев
02.09.2020, 13:48
Слава Богу, просто торжество здравого смысла, я так и предлагал, чисто состояние кнопок сделать доступным в программе, остальное всё лишнее, только повредит, если добавить любую функцию, нужную для конкретного частного случая, это только ограничит функционал, а так, любой может сделать как он захочет, какой смысл что-то придумывать, чтобы сделать хуже?!

И не прошло и нескольких часов https://owen.ru/forum/showthread.php?t=33644&p=338993&viewfull=1#post338993 . Предлагали объединенный регистр с наложением маски .
А Юрий предлагает 6 системных логических переменных на каждую кнопку. 1 нажата 0 отжата . Мне кажется это разные вещи .
И аналогично с экранами добавил экран появилась системная переменная с названием экрана , убрал исчезла .
Записал 1 в переменную ---- перешёл на этот экран , записал 0 вернулся в предыдущий . А с управлением подсветкой из проекта это очень удобно .
Произошла Авария засветился с первопричиной Аварии , если бы еще Яркостью регулировать подсветки . Слегка подсвечивает --- Авария ярко подсвечивает .

Сергей0308
02.09.2020, 14:21
И не прошло и нескольких часов https://owen.ru/forum/showthread.php?t=33644&p=338993&viewfull=1#post338993 . Предлагали объединенный регистр с наложением маски .
А Юрий предлагает 6 системных логических переменных на каждую кнопку. 1 нажата 0 отжата . Мне кажется это разные вещи .
И аналогично с экранами добавил экран появилась системная переменная с названием экрана , убрал исчезла .
Записал 1 в переменную ---- перешёл на этот экран , записал 0 вернулся в предыдущий . А с управлением подсветкой из проекта это очень удобно .
Произошла Авария засветился с первопричиной Аварии , если бы еще Яркостью регулировать подсветки . Слегка подсвечивает --- Авария ярко подсвечивает .

Так ничего и не поменялось, там я тоже никаких функций добавлять не предлагал, чисто состояние кнопок, в отдельных булевых переменных эти состояния или битовой маской в одной целочисленной переменной это не имеет принципиального значения и можно всегда собрать-разобрать, всё! Остальное, просто пожелания и принципиального значения не имеют и не обязательны, ту же переменную с номером активного экрана можно будет самому сделать, так как всё из программы управляется, это я про переходы между экранами!

dan75
03.09.2020, 07:56
Для кнопок, я бы сразу сделал готовые пиктограммы , которые можно добавлять в любое место логики, кнопка нажата на выходе "1" отжата "0", все остальное на откуп пользователя, делайте что хотите, задержки, передний фронт, задний, длинное нажатие/короткое, под это есть всевозможные блоки/макросы.
Для экранов регистр на чтение/запись, читаем текущее состояние, изменяем значение - переходим на номер экрана если этот номер существует. Дальше переход или из логики или через Combobox можно построить любое меню.
Если будет доработка я бы еще добавил бит управления подсветкой из логики.
Пиктограммы, конечно, удобнее, чем выводить кнопки в виде битовой маски. Кста, и в эмуляторе это тоже будет нагляднее: кликнул по пиктограмме -- программа совершила какое-то действие.
ID экрана -- удобно, но, в принципе, можно обойтись и переменными перехода.
Управление подсветкой -- было бы здорово. Можно сделать даже не бит, а системную int переменную яркость (в%).
И напоследок вопрос: ежели возможность программного управления кнопками будет добавлена, будет ли это совместимо со старыми ПР? Встанет ли на них новая прошивка?

Алексеев
03.09.2020, 08:28
И напоследок вопрос: ежели возможность программного управления кнопками будет добавлена, будет ли это совместимо со старыми ПР? Встанет ли на них новая прошивка?
Я хоть и не разработчик Овен, Но будем скорей всего менятся и ОЛ и внутренняя прошивка приборов Тогда какой смысл менять это только для новых ????
У кого будет желание доработает свой проект под это ново введение -- доработает. Как допустим последнее изменение в ОЛ 0 знаков после запятой . Поменялся и ОЛ и прошивка приборов .

Сергей0308
03.09.2020, 09:06
Если не ошибаюсь, представители Овен уже высказывались по этой теме и заявляли, что получение состояния кнопок в программе если и будет реализовано, то только для новых реле, которые выпустят в будущем, короче ПР200 точно не будет это поддерживать, ну если верить представителям Овен, тему не помню, кто захочет думаю найдёт без проблем!

игорь68
04.09.2020, 11:32
Ну кнопки логичны если бы у Овен были функциональные кнопки. У француза "меллениум" Есть свободные кнопки "А" и "Б" и именно эти кнопки отданы пользователю. Остальные "прописаны" под меню. Хотя и их можно использовать. Но так как в дизайне нового ПР с экраном нет места то проще как предлагаю только нажата /не нажата. Хотя я бы посмотрел на немецкие симатики. Там пользователю дали кнопки для функций и кнопки для работы с меню.

EvgenyR
04.09.2020, 12:46
Всем спасибо за обратную связь и идеи!
Можете поделиться практическими ситуациями, когда (и для чего) нужно перепрограммировать физическую кнопку?
Про принудительное включение подсветки я понял, а когда ещё это может потребоваться?

игорь68
04.09.2020, 13:16
Всем спасибо за обратную связь и идеи!
Можете поделиться практическими ситуациями, когда (и для чего) нужно перепрограммировать физическую кнопку?
Про принудительное включение подсветки я понял, а когда ещё это может потребоваться?

Самый простое использование рецепты. То есть оператор выбирает режим работы установки на экране . И нажимает внешнею кнопку Пуск.( хотя можно и через комбо бокс)

Алексеев
04.09.2020, 13:16
Всем спасибо за обратную связь и идеи!
Можете поделиться практическими ситуациями, когда (и для чего) нужно перепрограммировать физическую кнопку?
Про принудительное включение подсветки я понял, а когда ещё это может потребоваться?

Я буду использовать ;

1 Уберу со шкафа кнопку Пуск/Стоп и заменю её кнопкой Ввод ( ПЛК63 есть такая кнопка , очень удобно) .
2 Во время работы происходит не штатная ситуация ( по Аварии происходит АВР насосов -- это как пример) , она при АВРе исчезает .
Возникает предупреждение произошел АВР -- пользователю не нужно помнить как войти в процесс редактирования , а просто сбросить
нажатием одной кнопки ESC и всё. Очень удобно . Долго приходится объяснять операторам- как это сделать , а память у них куриная .
3 Есть меню , если пользователь входит в него значит хочет что то изменить . Имея возможность использовать кнопки вверх , вниз , ОК и ESC
Можно спокойно обходиться этими кнопками без кнопки SEL ( вход в редактирования ) , но это не во всех меню . А только в конкретных .
Очень удобно .

И не только принудительная подсветка , но и её изменение по Яркости . Во многих случаях она нужна слегка подсвеченной
, но если что то произошло она должна сигнализировать своей яркостью ( или морганием яркостью ).

dan75
04.09.2020, 16:10
Всем спасибо за обратную связь и идеи!
Можете поделиться практическими ситуациями, когда (и для чего) нужно перепрограммировать физическую кнопку?
Про принудительное включение подсветки я понял, а когда ещё это может потребоваться?
Простой пример, с которым мне доводилось сталкиваться: возврат с экрана по таймеру. Т.е. листаем кнопками экраны настройки, и если в течение определённого времени никаких действий не предпринимается, происходит автоматический влзврат на главный экран программы. Для корректной работы, как минимум, должна быть возможность отслеживать из программы факт нажатия кнопок.

bayk
12.09.2020, 14:36
Кстати для этого достаточно знать номер текущего экрана, но и этой радости в ОЛ нету (((

dan75
12.09.2020, 21:54
Кстати для этого достаточно знать номер текущего экрана, но и этой радости в ОЛ нету (((
Не совсем. Можно, конечно, вести отсчёт таймера с момента последнего изменения переменной, но правильнее вести его с момента последнего нажатия любой кнопки. Например: в моей последней программе режим наладчика после введения пароля действует тупо 30 минут, а вот с отслеживанием нажатий можно было бы сделать и кое-что поинтереснее.

Алексеев
12.09.2020, 22:31
Не совсем. Можно, конечно, вести отсчёт таймера с момента последнего изменения переменной, но правильнее вести его с момента последнего нажатия любой кнопки. Например: в моей последней программе режим наладчика после введения пароля действует тупо 30 минут, а вот с отслеживанием нажатий можно было бы сделать и кое-что поинтереснее.
Есть экраны которые не требуют ввода пароля . Я хоть это не делаю в своих проектах , но идея очень интересная .
Будем надеяться , что в следующем релизе появится в проекте ;
1 переменные названия экрана характеризующие на каком экране находимся.
(желательно иметь название экрана созданного пользователем, а не номер )
2 переменные характеризующие состояние кнопок .
3 даже возможность включение подсветки экрана и регулирование яркостью подсветки.
Как только появятся, у себя тоже это реализую .

dan75
13.09.2020, 10:20
Есть экраны которые не требуют ввода пароля . Я хоть это не делаю в своих проектах , но идея очень интересная .
Будем надеяться , что в следующем релизе появится в проекте ;
1 переменные названия экрана характеризующие на каком экране находимся.
(желательно иметь название экрана созданного пользователем, а не номер )
2 переменные характеризующие состояние кнопок .
3 даже возможность включение подсветки экрана и регулирование яркостью подсветки.
1. Да можно и номер. Но с выплывающим при наведении мышки названием экрана.
2. Лучше, кмк, оформить кнопки в интерфейсе ОЛ не как переменные, а как входы. Нагляднее.
3. Да, может быть полезно.

Votrj1
25.11.2020, 13:26
Полностью поддерживаю и ждем переделки по работе с кнопками как входами и индексами экранов. И может ввод реализовать не поразрядный ,а просто +/- с адаптивной скоростью.

stesel
08.12.2020, 11:40
Очень нужно, ждем. Думаю что лучшим способом будет ввести системные переменные соответствующие клавишам. А ещё, было бы здорово, если экрану присвоить переменную, т.е. экран можно было бы вызывать по изменению переменной, и переход был возможен с любого экрана. Тогда логика управления экранами перекочует в программу и не будет громоздкой конструкции с кучей переходов.

artem_on
01.01.2021, 15:55
Почему бы не дать возможность привязать к любому экрану переменную "код нажатой клавиши"?
Тогда можно было бы не отслеживать номер активного экрана, а работать непосредственно с отдельными переменными экранов, по фронту их изменений.
Для моих целей мне было бы достаточно сделать макрос, принимающий на вход эту переменную и выдающий на выходе логические переменные вроде "На экране14 нажата клавиша ОК".

игорь68
04.01.2021, 03:26
Коллеги. А как часто нужно менять параметры переменной кнопками на ПР. Может проще пересмотреть дерево переходов.
Я сейчас делаю так. У меня "главный экран" который виден на ПР выводит рабочие состояние установки. Переход в меню настроек по клавише вниз. Там меняю параметры нескольких таймером и на последнем экране могу по кнопке вниз попасть на главный экран.
Экраны "аварийных сообщений" расположены выше "главного экрана" и переход туда по состоянию переменой. Так как моё оборудование просто осуществляет контроль состояние концевых выключателей. То у меня всего три типа аварий(пожар, аварийная кнопка, концевой выключатель N открыт больше 5сек) . В программе эти три сигнала я контролируются по переднему и заднему фронту. Это позволяет автоматический возврат на главный экран если аварийные сигналы пропали. Тем самых мне нужен только один экран где я меняю уставку нескольких таймеров.

kipota
20.01.2021, 22:06
Доброго времени суток, Уважаемый!
Только-только начал осваивать ПР-200. Очччень даже хорошее "железо"!
И уже есть вопросы-пожелания: не хочется ставить кнопку-тумблер для снятия питания с ПР-200 для возврата схемы в исходное состояние после фиксации, анализа причины формирования и устранения аварийного сигнала. Несерьезно! Нажатием (удержанием) имеющейся на лицевой панели программируемой кнопки (комбинации кнопок) это выполнить гораздо интереснее. При этом не плохо бы и "запаролить" эту функцию.
Есть перспективы?
С уважением, Малахов Юрий (kipota)

Сергей0308
20.01.2021, 22:20
Доброго времени суток, Уважаемый!
Только-только начал осваивать ПР-200. Очччень даже хорошее "железо"!
И уже есть вопросы-пожелания: не хочется ставить кнопку-тумблер для снятия питания с ПР-200 для возврата схемы в исходное состояние после фиксации, анализа причины формирования и устранения аварийного сигнала. Несерьезно! Нажатием (удержанием) имеющейся на лицевой панели программируемой кнопки (комбинации кнопок) это выполнить гораздо интереснее. При этом не плохо бы и "запаролить" эту функцию.
Есть перспективы?
С уважением, Малахов Юрий (kipota)

Проблема то в чём? Сомневаетесь в своих способностях?
Вроде задачи несложные!

Ревака Юрий
21.01.2021, 08:27
Доброго времени суток, Уважаемый!
Только-только начал осваивать ПР-200. Очччень даже хорошее "железо"!
И уже есть вопросы-пожелания: не хочется ставить кнопку-тумблер для снятия питания с ПР-200 для возврата схемы в исходное состояние после фиксации, анализа причины формирования и устранения аварийного сигнала. Несерьезно! Нажатием (удержанием) имеющейся на лицевой панели программируемой кнопки (комбинации кнопок) это выполнить гораздо интереснее. При этом не плохо бы и "запаролить" эту функцию.
Есть перспективы?
С уважением, Малахов Юрий (kipota)

Добрый день, просто по нажатию кнопки на лицевой панели не получится, можно например через внешний дискретный вход организовать или через другой экран и на нем уже вывести бит, устанавливая который будут сбрасываться взведенные аварии. Примеры как это работает можно посмотреть тут:
https://youtu.be/NDxnh2Nxs8A
https://youtu.be/05w1rle3weE
Ссылки на проекты должны быть там же.

kipota
22.01.2021, 22:21
Доброго времени суток, Юрий!
Спасибо за информацию. Буду ставить тумблер.
С наилучшими пожеланиями!

melky
23.01.2021, 11:28
Зачем тумблер и занимать вход? просто на экране булевая переменная для сброса и все. нажали SEL, заморгала, стрелку вверх и ОК. зато вход свободен.

Votrj1
20.02.2021, 18:52
ПР200. Хочу переменные текущие : номер экрана , номер строки в экране и нажатие ОК. Сделайте разработчики, больше ничего просить не буду. Ну нет связи с оператором, доколе!

Dmitry
01.11.2021, 20:26
Мне бы хотелось
- биты состояния кнопок
- чтение номера экрана. Запись можно реализовать и самому через переходы
- управление яркостью или бит принудительной подсветки

Задача сейчас довольно простая - выбирать рецепт из списка. Но, пока это не очень удобно получается. Надо нажать SEL, выбрать номер рецепта, нажать OK. И только тогда на экране появятся параметры этого рецепта. А так можно было бы по нажатию кнопок вверх и вниз сразу листать рецепты.
Ну можно входы занять и всё это внешними кнопками сделать, но зачем, если штатные есть.

Ну и подсветка пригодилась бы. Я бы на время работы дозирующего насоса экран включал, чтобы было видно дозу, а при не работающем насосе пусть гаснет.

Ollema
01.11.2021, 20:59
Да сделайте уж наконец ПЛК для Овенлоджика! :)

Сергей0308
01.11.2021, 21:06
Ну, если ночку не поспят, к утру сделают!

Уже лет десять просят добавить переменные с номером активного экрана, нажатых кнопок для ПР200!

Dimensy
01.11.2021, 21:31
Мне кажется будет достаточно переменной anykey - нажатие любой кнопки и отдельные переменные на каждую кнопку. Те что не используются в экранах, можно задействовать в программе.
Ну, или если хочется полного контроля, тогда надо к каждому экрану добавить обработчик событий, где и отслеживать нажатие кнопок. Обработчик на ST, тем более что его хотят добавить.
Да, и еще, добавить оператор прямого перехода на экран, независимо на каком экране мы сейчас находимся

игорь68
07.11.2021, 23:24
Пр200 это точно не получит а вот новая версия ПР будет иметь доступ к кнопка через лоджик. Как и некоторые другие "плюшки". PS Спасибо. Писал с телефона. Телефон решил по умничать Т9

Ollema
08.11.2021, 01:12
:confused: доступ к кнопка через дождик. Инопланетяне, блин.

petera
08.11.2021, 10:04
:confused: доступ к кнопка через дождик. Инопланетяне, блин.

дождик / лоджик - какая разница?
С Днем Октябрьской революции!
Не только языки заплетаются, бывает и пальцы :rolleyes: