PDA

Просмотр полной версии : Библиотека OwenVisuDialogs (релиз версии 3.5.17.3)



Евгений Кислов
27.01.2021, 07:52
Добрый день, коллеги.

У пользователей, разрабатывающих визуализацию в среде CODESYS V3.5, часто возникают претензии к стандартным диалогам ввода из библиотеки VisuDialogs (Numpad, Keypad) - в частности, из-за крайне аскетичного дизайна и мелкого размера надписей на кнопках.

53203

Мы подготовили библиотеку OwenVisuDialogs, которая должна помочь вам решить эту проблему.

Библиотека включает в себя все стандартные диалоги из библиотек VisuDialogs и VisuKeyboard_En-Ru (для обратной совместимости с существующими проектами), а также кастомизированные диалоги:

NumpadOwen, NumpadOwenBig (кастомизированный Numpad с двумя разными вариантами размера - обычный подходит для вертикальной ориентации экрана);
KeypadOwen, KeypadOwenBig (кастомизированный Keypad с переключаемой раскладкой En/Ru);
LoginOwen, UserChangePasswordOwen, UserMgmtConfigOwen (диалоги управления пользователями);
FileDirChoiceOwen (диалог выбора файлов);
MessageBoxOwen (всплывающее окно для отображения сообщений).


53204 53205 53206 53207 53208
53209 53210 53211 53212 53213

В Менеджере визуализации на вкладке Установки диалога можно выбрать диалоги библиотеки в качестве диалогов по умолчанию, а на вкладке Визуализации - указать для каждого диалога максимальное количество одновременно открытых экземпляров.

53214 53215

Внешний вид всех диалогов соответствует диалогам ввода экранного конфигуратора СПК1хх [М01].
Все диалоги поддерживают передачу параметров типа WSTRING (для кириллицы). Все надписи в диалогах переведены на русский
Цветовую палитру всех диалогов можно менять прямо в процессе работы через глобальные переменные библиотеки (DialogsSettings), что позволяет создавать переключаемые цветовые темы.
Библиотека доступна в исходниках и может быть адаптирована пользователем под его задачу

Частные улучшения:
1. Numpad - возможность ввода значений типа TIME (за счет добавления кнопки ":"), поддержка горячих клавиш, контроль диапазона значения "на лету" (в стандартном диалоге проверка проводилась только после нажатия на клавишу ОК).
2. FileDirChoiceOwen - отображение уникальных иконок для таблиц и графических файлов, возможность выбора текста на основной кнопке диалога через переменную.


Библиотека:

Для версии CODESYS V3.5 SP14 Patch 3: OwenVisuDialogs_v3.5.14.3.library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenVisuDialogs_v3.5.14.3.library)
Для версии CODESYS V3.5 SP16 Patch 3: OwenVisuDialogs_v3.5.16.3.library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenVisuDialogs_v3.5.16.3.library)
Для версии CODESYS V3.5 SP17 Patch 3: OwenVisuDialogs_v3.5.17.3.library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenVisuDialogs_v3.5.17.3.library)


Пример использования:

Для версии CODESYS V3.5 SP14 Patch 3: Example_OwenVisuDialogs_3514v3.projectarchive (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3514v3.projectarchive)
Для версии CODESYS V3.5 SP16 Patch 3: Example_OwenVisuDialogs_3516v3.projectarchive (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3516v3.projectarchive)
Для версии CODESYS V3.5 SP17 Patch 3: Example_OwenVisuDialogs_3517v3.projectarchive (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v3.projectarchive)


Документация: читать (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_OwenVisuDialogs_v3.0.pdf)
История разработки библиотеки: читать (https://ftp.owen.ru/CoDeSys3/98_Books/OwenVisuDialogsHistory.pdf)

Обсудить библиотеку и задать вопросы можно в этой теме:
https://owen.ru/forum/showthread.php?t=22038

Евгений Кислов
05.04.2021, 08:39
Обновили библиотеку до версии 3.5.14.2.
Ссылки на обновленную библиотеку и пример - в первом посте.


Список изменений:

1. Добавлен диалог изменения системного времени DateTimeSetOwen.
Значение текущего системного времени передается в диалог через глобальные переменные из списка DialogSettings.

54384 54385

2. Для диалога MessageBoxOwen добавлена возможность задавать пиктограмму (вход eIconType).
Также расширено число вариантов кнопок в диалоге (вход eType).

54386

3. Для клавиатур KeypadOwen и KeypadOwenBig добавлена поддержка горячих клавиш (для клавиш, поддерживаемых CODESYS).

4. Для клавиатур KeypadOwen и KeypadOwenBig добавлена возможность выбора языка, с которым открывается диалог - через параметры библиотеки (см. список параметров KeypadDefaultLanguage).

54387

5. Исправлена ошибка, связанная с тем, что не все цвета диалогов можно было изменять через глобальные переменные.

6. Исправлена ошибка в диалогах NumpadOwen и NumpadOwenBig, из-за которой не удавалось закрыть диалог после нажатия на клавишу Backspace и ввода нового значения.
В рамках исправления также добавлена индикация ошибки при вводе пустой строки.

Евгений Кислов
02.06.2021, 10:36
Обновили библиотеку до версии 3.5.14.3.
Ссылки на обновленную библиотеку и пример - в первом посте.

Список изменений:

1. Добавлена возможность получения информации о результате закрытия диалогов NumpadOwen, NumpadOwenBig, KeypadOwen, KeypadOwenBig.
Для этого используется переменная g_stClosedDialogInfo из списка глобальных переменных DialogsSettings.
Переменная является структурой типа OwenDialogClosingInfo и включает следующие поля, содержащие информацию о последнем закрытом диалоге:

55389


xIsDialogClosed (BOOL) - флаг закрытия диалога. Принимает значение TRUE при закрытии любого из упомянутых выше диалогов.
Сбрасывается в FALSE автоматически при открытии любого из упомянутых диалогов или вручную из программы пользователя.
wsDialogTitle (WSTRING) - заголовок закрытого диалога
eDialogType (перечисление OwenDialog_TYPE) - тип закрытого диалога (NUMPAD или KEYPAD)
eDialogClosingResult (перечисление OwenDialogClosed_RESULT) - результат закрытия диалога (т.е. кнопка диалога, по нажатию на которую он был закрыт - OK или CANCEL)


2. Добавлены диалоги DateSetOwen и TimeSetOwen для отдельного поразрядного задания даты и времени.
Результат задания может быть получен в виде переменных типа DATE и TIME или же отдельных целочисленных переменных для каждого разряда.

55390 55391

Евгений Кислов
29.09.2021, 09:28
В связи с тем, что в версии CODESYS V3.5 SP16 Patch 3 произошли изменения в библиотеке VisuUserManagement - выпустили версию библиотеки OwenVisuDialogs для этой версии среды.
(при попытке использовать версию библиотеки 3.5.14.x в CODESYS V3.5 SP16 Patch 3 - не будет возможности использования диалогов UserChangePasswordOwen и UserMgmtConfigOwen - их добавление в проекте приведет к ошибкам компиляции).

Ссылки на обновленную библиотеку и пример - в первом посте.

Евгений Кислов
24.05.2022, 13:12
В связи с выходом новых прошивок с поддержкой CODESYS V3.5 SP17 Patch 3 - обновили версию библиотеки до 3.5.17.2 (более ранние версии библиотеки в новой версии CODESYS работать не будут).
Ссылки на обновленную библиотеку и пример - в первом посте.

Новый функционал:

1. Для всех Owen-диалогов поддержано переключение языков (en/ru). См. функцию ChangeLanguage в библиотеке.
2. Добавлены диалоги для работы с узлами таргет-файла (в диалоги передаются экземпляры структур из библиотеки OwenTypes - она входит в пакет таргет-файлов 3.5.17.31):


DrivesOwen
NetworkOwen
DebugOwen
InfoOwen
WatchdogOwen


60854 60853 60852 60851 60885

Улучшения и исправления:

1. Добавлены диалоги LoginOwen2, UserChangePasswordOwen2 и UserMgmtConfigOwen2 для решения бага CODESYS, возникшего в версии 3.5.17.30:

В web-визуализации СПК* некорректно работает диалог VUM_Login (диалог аутентификации пользователя визуализации) – его не удается закрыть (он не реагирует на нажатие кнопок ОК или Cancel).
Аналогичная ситуация с диалогами VUM_ChangePassword и VUM_UserManagement.
Ошибка будет исправлена в версии плагина визуализации 4.2.0.0.

2. В web-визуализации ПЛК2хх* добавлена возможность перетаскивания диалогов по экрану при зажатии левой кнопки мыши.

3. В диалоге DateTimeSetOwen - добавлен выход DT (раньше введенное время возвращалось только в виде значений отдельных разрядов).

4. В диалоге NumpadOwenBig добавлены горячие клавиши для цифр "1" и "3".

5. В диалоге KeypadOwen устранено визуальное залипание кнопки смены языков (при нажатии на кнопку EN / РУ).

6. В диалоге FileDirChoiceOwen добавлена возможность удаление папок, в которых есть файлы (раньше, как и в стандартном диалоге, можно было удалять только пустые папки).

* - это связано с тем, что СПК в данный момент не поддерживают технологию overlay visu

Евгений Кислов
03.02.2023, 11:10
Вопрос: при переносе проекта в версию CODESYS V3.5 SP17 Patch 3 возникают следующие ошибки:

65699

Как их исправить?

Ответ: ошибки связаны с библиотекой OwenVisuDialogs (https://owen.ru/forum/showthread.php?t=34327).
Для начала обновите версию библиотеки до 3.5.17.2.
После этого откройте библиотеку в Менеджере библиотек и выделите в ней узел KeypadDefaultLanguage.
В столбце Значение (редактируется) введите KEYPAD_LANG.RUS_LC, чтобы указать, что по умолчанию диалог KeypadOwen будет открываться с русской раскладой в нижнем регистре.
Можно указать и одно из других значений - KEYPAD_LANG.RUS_UC (верхний регистр), KEYPAD_LANG.ENG_LC или KEYPAD_LANG.ENG_UC.
После этого ошибки исчезнут.

65700

Евгений Кислов
17.08.2023, 09:52
Обновили библиотеку до версии 3.5.17.3.
Ссылки на обновленную библиотеку и пример - в первом посте.

Новые диалоги:

1. ScreenOwen - для настройки спящего режима экрана контроллера СПК1хх.
При использовании диалога не забудьте в узле Screen на вкладке Конфигурация для параметра Parameters are used установить значение FALSE.
Диалог добавлен по запросу Михаила Троицкого (https://owen.ru/forum/member.php?u=83277).

69649

2. LoginOnlyPassOwen, LoginOnlyPassOwen2, LoginOnlyPassWithKeysOwen - диалоги ввода пароля без логина.
Логин задается через глобальную переменную библиотеки: OVD.DialogsSettings.g_wsOnlyPassUserName.
В диалоге LoginOnlyPassWithKeysOwen кнопки ввода пароля размещены прямо в диалоге (т. е. не требуется открытия Numpad'a); соответственно, поддерживаются только полностью цифровые пароли.
Диалоги добавлены по запросу Вячеслава Лапшина (https://fast-project.ru/about/director/).

69650

3. NumpadOwenHuge, KeypadOwenHuge, LoginOwenBig, LoginOwenBig2, LoginOnlyPassOwenBig, LoginOnlyPassOwenBig2, LoginOnlyPassWithKeysOwenBig, UserChangePasswordOwenBig, UserChangePasswordOwenBig2, UserMgmtConfigOwenBig, UserMgmtConfigOwenBig2 - "увеличенные" версии диалогов ввода и управления пользователями. Могут быть полезны при работе с web-визуализацией на мониторах с разрешением 4K и выше.

Сравнение различных вариантов диалогов ("обычный" / big / huge):

69651 69652

Диалоги добавлены по запросу Сергея Шугаева (http://www.project-p.ru/).

Улучшения:

1. В диалоге FileDirChoiceOwen реализована сортировка отображаемых файлов и папок по алфавиту (за счет интеграции соответствующего кода из библиотеки VisuDialogs версии 4.3.0.0).

2. Диалог MessageBoxOwen теперь возвращает результаты своего закрытия через глобальную переменную библиотеки OVD.DialogsSettings.g_stClosedDialogInfo по аналогии с другими диалогами библиотеки.

3. Исправлено несколько опечаток и внесено несколько незначительных визуальных улучшений в диалоги библиотеки.

Исправленные ошибки:

1. В диалогах DateSetOwen и TimeSetOwen исправлена ошибка, из-за которой не удавалось ввести значения дней (в DateSetOwen) и секунд (в TimeSetOwen) с помощью экранной клавиатуры СПК.
Спасибо пользователю andemeno за сообщение об ошибке (https://owen.ru/forum/showthread.php?t=22038&page=210&p=406816&viewfull=1#post406816).