Страница 174 из 306 ПерваяПервая ... 74124164172173174175176184224274 ... ПоследняяПоследняя
Показано с 1,731 по 1,740 из 3057

Тема: CODESYS V3.5. Визуализация

  1. #1731

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Привет.
    Подскажите, есть ли способ перевести курсор (фокус ввода) сразу в текстовое поле?
    Вот открылась визуализация N5 и на ней есть текстовое поле. И курсор (фокус ввода) уже там сразу и стоит. Так сказать без "трогательного прикосновения" или "мышечного движения".
    На прикрепленном рисунке курсор должен попасть сразу же в поле "введите значение".
    Спасибо.
    Вложение 62503
    Добрый день.
    Посмотрите этот пример:
    https://forge.codesys.com/prj/codesy...nag/home/Home/

    Несколько нюансов:

    1. Пример сделан для одного клиента визуализации - пользователя таргет-визу.
    Если, например, нужно активировать курсор для нескольких клиентов - то нужно получить их контекст (pClientData) и вызвать код примера для всех клиентов.
    Как получить контекст клиента - см. здесь: https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive

    2. В коде обработки xClick замените VisuElems.VISU_ET_KEYUP на VisuElems.VISU_ET_KEYDOWN (так как в примере запись в элемент повесили на OnMouseDown - вероятно, по ошибке - хотели на OnMouseUp).

    3. Рекомендую использовать VISU_SELECTION_TAB и для нужного элемента установить порядковый номер 0 - тогда будет достаточно один раз вызвать xTab (добавьте его в пример) и xClick.

    2022-09-07_13-24-50.png

    На досуге сделаю готовый пример на эту тему.

  2. #1732

    По умолчанию

    В общем...
    Протестировал я этот проект. Упростил его для понимания работы.
    Есть два элемента для вызова: 1 и 2.
    Вводите в поле номер и нажимаете клавишу и должен выбраться соответствующий элемент.
    Это должно работать именно так?

    Selection.project

    Тогда проблема осталась.
    Вот элемент номер 2 - это и есть поле, которое мне нужно выбрать и чтобы там сразу был фокус ввода.
    И этот элемент выбирается, если задать его номер "2" и нажать клавишу "Выбрать граф. элемент".
    Но курсор там все равно отсутствует. Выделение есть, а курсора нет!
    Последний раз редактировалось ВладОвен; 07.09.2022 в 17:24.

  3. #1733

    По умолчанию

    "Проблема", которую вы наблюдаете - это последствие вашего "упрощения" исходного примера.

    В посте выше я написал всю необходимую информацию.

    Возможно, будет проще подождать, пока я сделаю свою интерпретацию этого примера.

    Upd. - сделал свою версию примера, совместив пример ClientManager и SelectionManager.
    https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive

    Для каждого подключенного клиента происходит выбор сиреневого прямоугольника (с ID = 24) и активация в нем ввода (в таргет-визу появляется Numpad, в web-визу - курсор).

  4. #1734

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Фильтры, конечно же, есть.
    Можно с помощью VU.FbIterateClients пройтись по всем клиентам и найти нужного, после чего передать его интерфейс в вызове VU.FbChangeVisu.
    [/url]
    Евгений! Более или менее заработало, но пока по такой схеме: VU.Visu_Globals.g_VisuManager.SetMainVisu(pClient, 'Vis2');
    где pClient указывает на клиента визуализации, отобранного по нужному признаку.

    Но как скрестить pClient с более новым VU.FbChangeVisu что-то пока не понимаю. Если будет врямя, покажите?

  5. #1735

    По умолчанию

    Цитата Сообщение от Петр Петрович Посмотреть сообщение
    Евгений! Более или менее заработало, но пока по такой схеме: VU.Visu_Globals.g_VisuManager.SetMainVisu(pClient, 'Vis2');
    где pClient указывает на клиента визуализации, отобранного по нужному признаку.

    Но как скрестить pClient с более новым VU.FbChangeVisu что-то пока не понимаю. Если будет врямя, покажите?
    При вызове VU.FbIterateClients вы передаете на его вход itfIterationCallback имя экземпляра ФБ, реализующего интерфейс VU.IVisualizationClientIteration.
    В примере такой ФБ называется VisuClientIteration. Методы этого ФБ вызываются автоматически.
    При вызове метода HandleClient на вход itfClient подставляется экземпляр интерфейса очередного клиента визуализации.
    Через этот интерфейс вы получаете доступ к данным клиента (в том числе, к указателю на его контекст - pClient) и можете определить, интересут ли он вас или нет.

    Предположим, вам нужно вызывать VU.FbChangeVisu для конкретных клиентов.

    Тогда вы должны создать ФБ с реализацией (EXTENDS) интерфейса IVisualizationClientFilter, объявить его экземпляр и передать его на вход FbChangeVisu.itfClientFilter при его вызове.
    В блоке есть единственный метод - IsAccepted. Этот метод будет вызываться автоматически; на вход itfClient подставляется экземпляр интерфейса очередного клиента визуализации.
    Для тех клиентов, которые вас интересуют - необходимо на выход метода присвоить TRUE.

  6. #1736

    По умолчанию

    Евгений!
    > Тогда вы должны создать ФБ с реализацией (EXTENDS) интерфейса IVisualizationClientFilter, объявить его экземпляр и передать его на вход FbChangeVisu.itfClientFilter при его вызове.

    Спасибо, займусь сегодня вечером. А не подскажите, HTML5 Control Editor в релизе SP18, он в бесплатной версии есть и полностью функционален?

  7. #1737

    По умолчанию

    Цитата Сообщение от Петр Петрович Посмотреть сообщение
    Евгений!
    > Тогда вы должны создать ФБ с реализацией (EXTENDS) интерфейса IVisualizationClientFilter, объявить его экземпляр и передать его на вход FbChangeVisu.itfClientFilter при его вызове.

    Спасибо, займусь сегодня вечером. А не подскажите, HTML5 Control Editor в релизе SP18, он в бесплатной версии есть и полностью функционален?
    Да, именно так.

  8. #1738

    По умолчанию

    Привет.
    Подскажите, а в таргет-визуализации можно установить параметр "ввод текста по молчанию" так, что бы он принимал ввод и с клавиатуры и с сенсора одновременно? Или же только клава или только сенсор отдельно?
    И если совмещённого ввода нет, то как это можно обыграть, что-бы он был.
    Например, надо ходить по меню, но при этом кое-где надо ввести с клавиатуры что-либо без сенсора.
    Спасибо.

  9. #1739

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Привет.
    Подскажите, а в таргет-визуализации можно установить параметр "ввод текста по молчанию" так, что бы он принимал ввод и с клавиатуры и с сенсора одновременно? Или же только клава или только сенсор отдельно?
    И если совмещённого ввода нет, то как это можно обыграть, что-бы он был.
    Например, надо ходить по меню, но при этом кое-где надо ввести с клавиатуры что-либо без сенсора.
    Спасибо.
    Добрый день.
    Такой возможности пока нет, но в баг-трекере есть соответствующее пожелание.

    2022-09-08_13-15-55.png

    Но пока не понял, в чем у вас проблема. На "хождение по меню" способ ввода значений не влияет.

  10. #1740

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    ...Но пока не понял, в чем у вас проблема...
    Я хочу реализовать задачу, при которой ПЛК управляется оператором при помощи сенсорного экрана. Настройку ПЛК выполняют редко, поэтому подойдет сенсорный ввод значений, переменных, пунктов меню. Т.е. сенсора будет достаточно.
    И при этом, пока идет основной процесс, оператор может ставить испытуемые изделия в виртуальную очередь на обработку. Все это придумано из-за того, что все испытуемые изделия должны отлежаться не менее 2-х часов перед установкой в стенд. Такова дисциплина, потому-что необходимо гарантированное выравнивание по температуре вновь подносимых изделий с холодного склада. Оператор находится в 3-4 метрах от ПЛК и сканирует штрих-коды подготавливаемых изделий. При этом ПЛК продолжает работать по своей основной программе.
    Как это реализовать:

    Вариант А. Купить ПЛК ОВЕН. Задействовать библиотеку ОВЕН для сканеров. Тогда будет все работать супер-пупер: асинхронно и параллельно. Запустил ПЛК пальцем, отошел на приемку с беспроводным сканером и "пикай" себе по изделиям. ПЛК будет асинхронно ловить штрих-коды и ставить их на учет. При этом основная прога может работать в другой задаче. Профит!

    Вариант Б. Не купить ПЛК ОВЕН, а пользоваться другим оборудованием в котором нет библиотеки для сканеров. Тогда сканер подключится в USB как клавиатура. И не будет работать, т.к. его штрих-код будет прилетать в никуда. Можно переиграть так: оператор запускает основную прогу, потом переходит на другой экран визуализации, там автоматически фокус ввода падает на текстовое поле (о чем мы тут и беседуем). В это поле прилетает штрих-код и нажимается enter. После учета этого штрих кода, фокус ввода падает снова на текстовое поле и всё по кругу. Но так не работает, потому-что если вы включили сенсорное управление, то ввод от клавиатуры не работает. И наоборот.

    В общем - не решаемая задача.
    Или у Евгения нет нереализуемых задач?
    Последний раз редактировалось ВладОвен; 09.09.2022 в 09:39.

Страница 174 из 306 ПерваяПервая ... 74124164172173174175176184224274 ... ПоследняяПоследняя

Похожие темы

  1. Визуализация CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.04.2018, 15:26
  2. Визуализация в CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 10.05.2017, 21:11
  3. Визуализация CodeSys
    от DanJer в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.08.2012, 03:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 17:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •