Добрый день.Подскажите ,пожалуйста,как можно реализовать вывод диалогового окна(MessageBox)с текстовым сообщением,например,при выполнении xB1=TRUE.
Добрый день.Подскажите ,пожалуйста,как можно реализовать вывод диалогового окна(MessageBox)с текстовым сообщением,например,при выполнении xB1=TRUE.
Прошу закрыть тему,нашел решение.
Добрый день.
Если нужен именно MessageBox, то вот пример:
https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
Если подойдет вариант со своим диалогом (созданным в проекте), то проще будет использовать его:
https://youtu.be/_kA9WVtbg3A
Последний раз редактировалось Евгений Кислов; 23.12.2020 в 12:14.
С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
Благодарю,как раз нашел решение на Вашем Ю-канале.
Здравствуйте.
Вариант со своим диалогом из Ю-видео (тыц) отличная идея. Просто и быстро.
Но есть нюанс (c):
При переименовании экрана визуализации (рефакторинг) все проходит нормально, но в коде не переименовывается. Рефакторинг не видит то, что в кавычках (выделил жирным).
Т.е. окно визуализации переименовалось, а название этого окна в коде - нет. При компиляции и последующей отработке кода функциональный блок fbError не вызывает видимых ошибок из-за отсутствующего экрана визуализации, вписанного в аргумент "sDialogName". Код работает в ПЛК, но окно не появляется: SomethingPushMessageBox был переименован в Something2. При большом количестве экранов визуализации и всплывающих окон можно запутаться и начать вспоминать чью-то маму (с). Но это мелочь, так сказать - особенности применения и понимания.Код:fbError(xExecute:=TRUE,itfClientFilter:=VU.Globals.AllClients,sDialogName:='SomethingPushMessageBox',xModal:=TRUE);
Вопрос в другом:
Я создаю проект, в котором использую глобальную переменную VisuElems.CURRENTVISU. Я хочу чтобы у всех пользователей был виден всегда одинаковый экран (в web, target и service). Т.е. однопользовательская система.
Но этот метод всплывающих окон с применением функционального блока нарушает эту концепцию и всплывающие окна работают независимо.
Печаль.
Последний раз редактировалось ВладОвен; 07.06.2022 в 11:16.
Добрый день.
Подробно опишите, что вы подразумеваете под этой фразой.всплывающие окна работают независимо.
С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
Имеется ввиду следующее:
В проекте используется переменная VisuElems.CURRENTVISU. Она дает однопользовательский режим - где бы вы не переключали визуализацию, она будет переключаться везде синхронно: web (много клиентов), target, service (внутри IDE).
Если же попадается ситуация, при которой выскакивает окно, созданное при помощи библиотеки VisuUtils и ее функционального блока FbOpenDialog, эта концепция нарушается. Окно выскакивает, но вы можете его в web закрыть, а в target оно продолжает висеть и ждет, когда вы его закроете именно в target.
Т.е. рассинхронизация получается: в web вы уже сняли ошибку и начали снова работать, настраивать, "ходить" по экранам визуализации. А в target все еще висит то окно ошибки.
Нарушается концепция глобальной переменной VisuElems.CURRENTVISU и однопользовательской системы.
Последний раз редактировалось ВладОвен; 07.06.2022 в 11:06.
Тогда нужно настроить кнопку закрытия диалога таким образом, чтобы при ее нажатии в коде программы выполнялось закрытие этого диалога для всех клиентов.
См. пример: https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
Для нашего СПК прошивок с V3.5 SP17 Patch 3 еще нет (но мы усиленно работаем над их выпуском) - для них можно использовать старую версию примера:
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
Привет.
Настроил три таких окна для отображения ошибок при помощи VU.FbOpenDialog. Но планирую в последствии их сделать 100500. Потому что это очень удобно.
Скажите, а такой подход будет работать даже и при 100 таких условиях в коде программы?Код:IF xFlag1 THEN fbError(xExecute:=TRUE,itfClientFilter:=VU.Globals.AllClients,sDialogName:='Push_Error1',xModal:=TRUE); // Вывод окна ошибки 1 IF xFlag2 THEN fbError(xExecute:=TRUE,itfClientFilter:=VU.Globals.AllClients,sDialogName:='Push_Error2',xModal:=TRUE); // Вывод окна ошибки 2 ... IF xFlag3 THEN fbError(xExecute:=TRUE,itfClientFilter:=VU.Globals.AllClients,sDialogName:='Push_Error3',xModal:=TRUE); // Вывод окна ошибки 3
У меня почему-то при срабатывании условия с xFlag3 выскакивает окно от xFalg1 (т.е. Push_Error1).
Что я делаю не так?
Спасибо.
P.S. Разобрался!!! Там в окне был еще "Динамический текст" (языковая локализация), который я забыл исправить при Copy-Paste!
Всем спасибо за молчание и удачных выходных!
Последний раз редактировалось ВладОвен; 08.07.2022 в 17:19.
Выложите простейший проект, на котором это можно будет воспроизвести.Что я делаю не так?
С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