В процессе разработки проекта Alpha.HMI пользователи иногда сталкиваются с ситуацией, при которой настройки, выполненные в параметрах конкретного экземпляра HMI.Alarms либо HMI.Trends, применяются ко всем другим экземплярам HMI.Alarms либо HMI.Trends проекта.
При этом стоит задача для разных экземпляров установить индивидуальные настройки, например параметры визуального оформления: цвета шрифтов, цвета трендов, ширину столбцов и другие свойства.
Пример параметров отдельного экземпляра в проекте Alpha.HMI.Измененные настройки могут применяться к другим экземплярам при использовании общей папки конфигурации.
Общая папка конфигурации Alpha.HMI.Alarms и Alpha.HMI.Trends
Это не ошибка, а особенность работы конфигураций. Она связана с тем, что для всех экземпляров HMI.Alarms, а также для HMI.Trends, по умолчанию используется общая папка конфигурации.
Папка конфигурации создается автоматически после сохранения параметров в рантайме.
Все настройки хранятся в конфигурационных файлах с расширением .json.
Конфигурационные файлы с настройками сохраняются в формате JSON.
Настройки, сохраненные в папке по умолчанию, будут применяться как к самостоятельным приложениям HMI.Alarms или HMI.Trends, так и к встроенным экземплярам проекта, для которых не указана иная папка конфигурации.
Создание индивидуальной папки конфигурации для экземпляра
Задача решается путем создания отдельной папки конфигурации для тех экземпляров, которым требуются индивидуальные настройки.
Для этого достаточно указать новый путь в свойствах встроенного экземпляра. В дальнейшем при изменении и сохранении параметров в рантайме папка конфигурации будет создана автоматически. Также можно скопировать существующую папку и указать ее путь в свойствах экземпляра.
Для отдельного экземпляра можно указать собственный путь к папке конфигурации.
Таким образом для каждого встроенного экземпляра HMI.Alarms или HMI.Trends можно создать и указать свою папку конфигурации, где будут определены индивидуальные настройки.
Например, такие базовые настройки, как видимость легенды, дерева сигналов, панели инструментов и другие параметры, определяют, что будет отображаться и доступно пользователю в среде рантайм.
Часть настроек экземпляра доступна непосредственно в режиме дизайнера HMI.
При этом параметры в режиме рантайм позволяют указать более детальные настройки и сохранить их в папку конфигурации. Например, цвета, толщину трендов, отображение элементов, ширину столбцов и другие параметры.
Следует учитывать, что при совпадении настроек приоритет будут иметь значения, сохраненные в конфигурации, а не заданные в свойствах встроенного экземпляра в дизайнере. Например, толщина графиков, режим интерполяции и другие аналогичные параметры.
Alpha.HMI.Trends
Для загрузки сохраненных настроек в рантайме свойство «Автоматически загружать конфигурацию» должно иметь значение True.
Alpha.HMI.Alarms
Для HMI.Alarms достаточно указать путь к папке конфигурации, а доступность редактирования параметров задается отдельным свойством.
Особенности настройки Alpha.HMI.Trends
Чтобы в среде рантайм использовать сохраненные настройки и загружать конфигурацию из папки, в свойстве «Автоматически загружать конфигурацию» должно быть указано значение True. Это значение установлено по умолчанию.
Свойство автоматической загрузки конфигурации для Alpha.HMI.Trends.
В случае установки свойства в значение False будут применяться только настройки, определенные свойствами встроенного экземпляра и функциями в режиме дизайнера HMI. При этом доступ к редактированию настроек в среде рантайм пропадет: кнопка «Параметры» будет недоступна.
Особенности настройки Alpha.HMI.Alarms
В случае с HMI.Alarms достаточно указать путь к папке с конфигурацией. Доступность редактирования параметров определяется отдельным свойством:
Для Alpha.HMI.Alarms доступность редактирования параметров определяется отдельным свойством.
Указание относительного пути к папкам конфигурации
Иногда удобнее создавать папки конфигураций прямо в директории проекта, например, чтобы упростить будущий перенос проекта HMI.
В таком случае в проекте для загрузки конфигураций необходимо указывать относительный путь к папкам конфигураций относительно проекта.
Для этого можно воспользоваться компонентом «Окружение: файлы» и его свойством «ProjectFolder», чтобы получить путь директории текущего проекта.
А с помощью функции LoadConfiguration можно указать и загрузить необходимую конфигурацию.
Например, можно использовать функцию при открытии формы с экземпляром Alarms и прописать следующий код:
Пример вызова функции LoadConfiguration при открытии формы с экземпляром Alarms.
Папка будет создана автоматически по указанному пути.
Папка конфигурации создается по указанному относительному пути.
"//..//***" — путь до папки. Он указывается именно в таком виде, чтобы папка была создана в папке проекта HMI, а Alpha.HMI смог применить из нее конфигурацию при запуске проекта. Наименования папок можно задать любые.
Частые вопросы по папкам конфигурации Alpha.HMI
Когда нужна отдельная папка конфигурации?
Отдельная папка конфигурации нужна, когда разные экземпляры HMI.Alarms или HMI.Trends должны иметь разные настройки оформления, отображения и поведения.
Что имеет больший приоритет: настройки в дизайнере или настройки из конфигурации?
При совпадении параметров приоритет имеют значения, сохраненные в конфигурации, а не настройки, заданные в дизайнере HMI.
Где по умолчанию создается папка конфигурации Alpha.HMI.Alarms или Alpha.HMI.Trends?
По умолчанию папка создается в каталоге C:\ProgramData\Automiq\HMI.Alarms или C:\ProgramData\Automiq\HMI.Trends после изменения и сохранения параметров в рантайме.