То, что вы описываете - это штатный функционал. По умолчанию всё именно так и работает.
Вид для печати
Создается одинаковый набор экранов, но с разными ветками переходов и они не должны перекрещиваться.
У меня так работает две ветки. Одна на СПК с возможностью изменения уставок и вторая для инета без возможности изменений.
Если не ошибаюсь, в CODESYS возможны два способа переходов-навигации по страницам интерфейса. Первый, это когда к определенной кнопке непосредственно привязана команда (действие) на переход к другой странице интерфейса. И второй, когда страницы интерфейса можно отрывать программно, по командам от контроллера. Мне потребуется второй способ.
P.S. Видимо, цепочка рассуждений должна быть примерно такая:
MySetVisu: VU.FbChangeVisu;
MySetVisu(itfClientFilter:=VU.Globals.AllClients, xExecute:=TRUE, sVisuName:=MyVisuName);
А вот далее, как я понимаю (или пока не понимаю) фильтра по конкретному клиенту, хотя бы по IP, и нет.
Подумалось. Судя по всему, даже если в VU.Globals.AllClients заменить AllClients на CurrentClient, то это позволяет указать пользователя, который сам делал что-то с элементом визуализации (тут не понятно до конца, если честно),
т.е. опять по направленияю от страницы с визуализацией к контроллеру.
Но. Нельзя ли подобрать такой элемент визуализации (или не визуальный элемент страницы), что поддерживает "Конфигурация ввода" а в ней "Изменить показанную визуализацию". Тогда, посылая этому элементу (элементам) данные в переменные, можно было бы переключать страницы визуализации на нужном клиенте.
Если я вас правильно понял, то вам нужен элемент визуализации "Фрейм" содержащий несколько визуализаций (мб подойдёт ещё "Набор вкладок") и кнопки для переключения этих визуализаций. Единственное, если вы используете "Переменную-переключатель фрейма" Визуализация сменится на всех активных клиентах.
> Визуализация сменится на всех активных клиентах.
Спасибо за ответ. Но вот тут как раз и проблема - хотелось бы сделать так, что бы я мог по команде контроллера, а не оператора, открывать на одной из панелей (в браузере) нужную мне страницу или фрейм, причем это никак не должно отражаться на остальных панелях с интерфейсом. Год назад я делал нечто подобное через:
MyOpenDialog: VU.FbOpenDialog;
MyCloseDialog: VU.FbCloseDialog;
MySetVisu: VU.FbChangeVisu;
Но я умею применять это только для всех клиентов (браузеров).
Вызов там такой: MySetVisu(itfClientFilter:=VU.Globals.AllClients, xExecute:=TRUE, sVisuName:=MyVisuName);
И вот этот самый itfClientFilter, как я понял, допускает ограниченный набор ситуаций, без выбора нужного браузера, по IP например.
В теории, в нужный браузер, а точнее, страницу которая будет на нем открыта, мы можеи отправить что-то в переменную, которая для него индивидуальна (переменная). Вот как от нее, от самого факта изменения этой переменной, или ее значения, перейти к смене страницы интерфейса - я пока не могу придумать. У текстового поля нет, например, Сhange. А только Mouse Down ("Конфигурация ввода" а в ней "Изменить показанную визуализацию"). Иначе бы уже получилось.
Добрый день! Подскажите, возможно ли использовать анимацию в визуализации? Например, при изменении переменной лопасти вентилятора начинали вращаться
Фильтры, конечно же, есть.Цитата:
MySetVisu(itfClientFilter:=VU.Globals.AllClients, xExecute:=TRUE, sVisuName:=MyVisuName);
А вот далее, как я понимаю (или пока не понимаю) фильтра по конкретному клиенту, хотя бы по IP, и нет.
Можно с помощью VU.FbIterateClients пройтись по всем клиентам и найти нужного, после чего передать его интерфейс в вызове VU.FbChangeVisu.
В примере по ссылке есть всё необходимое для решения вашей задачи - потребуется только изучить и осмыслить его:
https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
Добрый день.
См. пример: https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
Привет.
Подскажите, есть ли способ перевести курсор (фокус ввода) сразу в текстовое поле?
Вот открылась визуализация N5 и на ней есть текстовое поле. И курсор (фокус ввода) уже там сразу и стоит. Так сказать без "трогательного прикосновения" или "мышечного движения". ;)
На прикрепленном рисунке курсор должен попасть сразу же в поле "введите значение".
Спасибо.
Вложение 62503