Вложений: 13
Библиотека OwenVisuDialogs (релиз версии 3.5.17.3)
Добрый день, коллеги.
У пользователей, разрабатывающих визуализацию в среде 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 - отображение уникальных иконок для таблиц и графических файлов, возможность выбора текста на основной кнопке диалога через переменную.
Библиотека:
Пример использования:
Документация: читать
История разработки библиотеки: читать
Обсудить библиотеку и задать вопросы можно в этой теме:
https://owen.ru/forum/showthread.php?t=22038
Вложений: 4
Релиз библиотеки OwenVisuDialogs 3.5.14.2
Обновили библиотеку до версии 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 и ввода нового значения.
В рамках исправления также добавлена индикация ошибки при вводе пустой строки.
Вложений: 3
Релиз библиотеки OwenVisuDialogs 3.5.14.3
Обновили библиотеку до версии 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
Релиз библиотеки OwenVisuDialogs 3.5.16.3
В связи с тем, что в версии CODESYS V3.5 SP16 Patch 3 произошли изменения в библиотеке VisuUserManagement - выпустили версию библиотеки OwenVisuDialogs для этой версии среды.
(при попытке использовать версию библиотеки 3.5.14.x в CODESYS V3.5 SP16 Patch 3 - не будет возможности использования диалогов UserChangePasswordOwen и UserMgmtConfigOwen - их добавление в проекте приведет к ошибкам компиляции).
Ссылки на обновленную библиотеку и пример - в первом посте.
Вложений: 5
Релиз библиотеки OwenVisuDialogs 3.5.17.2
В связи с выходом новых прошивок с поддержкой 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
Вложений: 2
При переносе проекта в SP17 возникает ошибка "Идентификатор LANG не задан"
Вопрос: при переносе проекта в версию CODESYS V3.5 SP17 Patch 3 возникают следующие ошибки:
Вложение 65699
Как их исправить?
Ответ: ошибки связаны с библиотекой OwenVisuDialogs.
Для начала обновите версию библиотеки до 3.5.17.2.
После этого откройте библиотеку в Менеджере библиотек и выделите в ней узел KeypadDefaultLanguage.
В столбце Значение (редактируется) введите KEYPAD_LANG.RUS_LC, чтобы указать, что по умолчанию диалог KeypadOwen будет открываться с русской раскладой в нижнем регистре.
Можно указать и одно из других значений - KEYPAD_LANG.RUS_UC (верхний регистр), KEYPAD_LANG.ENG_LC или KEYPAD_LANG.ENG_UC.
После этого ошибки исчезнут.
Вложение 65700
Вложений: 4
Релиз библиотеки OwenVisuDialogs 3.5.17.3
Обновили библиотеку до версии 3.5.17.3.
Ссылки на обновленную библиотеку и пример - в первом посте.
Новые диалоги:
1. ScreenOwen - для настройки спящего режима экрана контроллера СПК1хх.
При использовании диалога не забудьте в узле Screen на вкладке Конфигурация для параметра Parameters are used установить значение FALSE.
Диалог добавлен по запросу Михаила Троицкого.
Вложение 69649
2. LoginOnlyPassOwen, LoginOnlyPassOwen2, LoginOnlyPassWithKeysOwen - диалоги ввода пароля без логина.
Логин задается через глобальную переменную библиотеки: OVD.DialogsSettings.g_wsOnlyPassUserName.
В диалоге LoginOnlyPassWithKeysOwen кнопки ввода пароля размещены прямо в диалоге (т. е. не требуется открытия Numpad'a); соответственно, поддерживаются только полностью цифровые пароли.
Диалоги добавлены по запросу Вячеслава Лапшина.
Вложение 69650
3. NumpadOwenHuge, KeypadOwenHuge, LoginOwenBig, LoginOwenBig2, LoginOnlyPassOwenBig, LoginOnlyPassOwenBig2, LoginOnlyPassWithKeysOwenBig, UserChangePasswordOwenBig, UserChangePasswordOwenBig2, UserMgmtConfigOwenBig, UserMgmtConfigOwenBig2 - "увеличенные" версии диалогов ввода и управления пользователями. Могут быть полезны при работе с web-визуализацией на мониторах с разрешением 4K и выше.
Сравнение различных вариантов диалогов ("обычный" / big / huge):
Вложение 69651 Вложение 69652
Диалоги добавлены по запросу Сергея Шугаева.
Улучшения:
1. В диалоге FileDirChoiceOwen реализована сортировка отображаемых файлов и папок по алфавиту (за счет интеграции соответствующего кода из библиотеки VisuDialogs версии 4.3.0.0).
2. Диалог MessageBoxOwen теперь возвращает результаты своего закрытия через глобальную переменную библиотеки OVD.DialogsSettings.g_stClosedDialogInfo по аналогии с другими диалогами библиотеки.
3. Исправлено несколько опечаток и внесено несколько незначительных визуальных улучшений в диалоги библиотеки.
Исправленные ошибки:
1. В диалогах DateSetOwen и TimeSetOwen исправлена ошибка, из-за которой не удавалось ввести значения дней (в DateSetOwen) и секунд (в TimeSetOwen) с помощью экранной клавиатуры СПК.
Спасибо пользователю andemeno за сообщение об ошибке.