СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Евгений! Скажите пожалуйста, а в разных экземплярах браузера можно вызывать разные страницы и всплывающие диалоги, т.е. что бы интерфейсы работали полностью независимо, если потребуется. Как это можно сделать?
И, в то же время, на всех экземплярах браузера могут быть индикаторы, отражающие одну и ту же величину. Ну это наверное проще, тут можно обойтись общими переменными.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Создается одинаковый набор экранов, но с разными ветками переходов и они не должны перекрещиваться.
У меня так работает две ветки. Одна на СПК с возможностью изменения уставок и вторая для инета без возможности изменений.
Если не ошибаюсь, в CODESYS возможны два способа переходов-навигации по страницам интерфейса. Первый, это когда к определенной кнопке непосредственно привязана команда (действие) на переход к другой странице интерфейса. И второй, когда страницы интерфейса можно отрывать программно, по командам от контроллера. Мне потребуется второй способ.
P.S. Видимо, цепочка рассуждений должна быть примерно такая:
MySetVisu: VU.FbChangeVisu;
MySetVisu(itfClientFilter:=VU.Globals.AllClients, xExecute:=TRUE, sVisuName:=MyVisuName);
А вот далее, как я понимаю (или пока не понимаю) фильтра по конкретному клиенту, хотя бы по IP, и нет.
Последний раз редактировалось Петр Петрович; 06.09.2022 в 12:33.
Подумалось. Судя по всему, даже если в VU.Globals.AllClients заменить AllClients на CurrentClient, то это позволяет указать пользователя, который сам делал что-то с элементом визуализации (тут не понятно до конца, если честно),
т.е. опять по направленияю от страницы с визуализацией к контроллеру.
Но. Нельзя ли подобрать такой элемент визуализации (или не визуальный элемент страницы), что поддерживает "Конфигурация ввода" а в ней "Изменить показанную визуализацию". Тогда, посылая этому элементу (элементам) данные в переменные, можно было бы переключать страницы визуализации на нужном клиенте.
Если я вас правильно понял, то вам нужен элемент визуализации "Фрейм" содержащий несколько визуализаций (мб подойдёт ещё "Набор вкладок") и кнопки для переключения этих визуализаций. Единственное, если вы используете "Переменную-переключатель фрейма" Визуализация сменится на всех активных клиентах.
Последний раз редактировалось DenisV; 06.09.2022 в 17:08.
> Визуализация сменится на всех активных клиентах.
Спасибо за ответ. Но вот тут как раз и проблема - хотелось бы сделать так, что бы я мог по команде контроллера, а не оператора, открывать на одной из панелей (в браузере) нужную мне страницу или фрейм, причем это никак не должно отражаться на остальных панелях с интерфейсом. Год назад я делал нечто подобное через:
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
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk