Каталог товаров

2.4 Панель Страница

Панель страницы  

 

Каждый HMI-проект должен содержать в себе минимум одну страницу. Окно панели "Страница (Page)" отображает список существующих в проекте страниц. Базовый набор инструментов над ним позволяет "Добавить (Add)" новую страницу, "Удалить (Delete)" существующую страницу, "Вставить (Insert)" пустую страницу, переместить страницу по списку "Вверх (Move Up)" или "Вниз (Move Down)", создать "Копию (Copy)" выделенной страницы, экспортировать или импортировать выбранную страницу, и "Удалить все (Delete All)" страницы проекта. Контекстное меню правой кнопки мыши расширено дополнительными командами: "Переименовать (Rename)" страницу, "Блокировать (Lock)" и "Разблокировать (Unlock)" выбранную страницу. Действия со страницами не могут быть отменены.

Ввод нового имени для выделенной страницы выполняется двойным щелчком по ёё названию, или выбором пункта "Переименовать (Rename)" из контекстного меню. Чувствительные к регистру, названия переименованных страниц не должны превышать более 14 символов, содержать пробелы или специальные символы (это приводит к ошибкам компиляции кода). С появлением устройств Nextion серии Intelligent, в редакторе Nextion Editor установлен значительно более строгий синтаксический анализ.

Страницы можно "Блокировать (Lock)" и "Разблокировать (Unlock)", запрещая или разрешая таким образом их редактирование, и задавать необязательный пароль разблокировки (если пароль не нужен, поле остаётся пустым). Забытый пароль восстановить невозможно! Например, страницы с клавиатурами импортируются как заблокированные без пароля (три страницы c разными клавиатурами, встроенные в редактор Nextion Editor  — это хороший наглядный пример для обзора и изучения). Если страница клавиатуры импортируется в редактор через атрибут .key компонентов Text, Scrolling Text, xFloat, Number и др., в контекстное меню добавляется опция "Сбросить системную страницу (Reset Syste Page)". Сброс применяется для принудительной перезагрузки страницы, с обновлением компонентов клавиатуры, и её расположением в правильной ориентации. Это наиболее удобный и быстрый способ в тех случаях, когда страница клавиатуры редактировалась, или в проекте изменилась ориентация экрана.

Отдельные страницы экспортируются из одного проекта в другой с помощью кнопки "Экспорт страницы (Export page)". Это предпочтительный способ обмена компонентами или частями проекта. Файлы страниц *.page не могут быть скомпилированы отдельно от проекта. Чтобы импортируемая в другой проект страница была заблокирована с паролем или без, следует заблокировать её перед экспортом из исходного проекта.

Импорт и экспорт страницы в панеле Page  

 

Кнопка "Импорт страницы (Import page)" выполняет добавление в текущий проект разблокированных, заблокированных или заблокированных паролем страниц. Код заблокированной страницы защищён от редактирования. В тоже время, если к файлу *.page прилагается надлежащая документация о переменных и функциях в теле страницы, конечный проект может задействовать даже заблокированную страницу. Когда страница импортируется с конфликтами имен, затронутые конфликтующие имена автоматически переименовываются. Оптимальными считаются выбранные имена, несущие смысловую нагрузку. Чтобы импортировать копию одной из страниц клавиатуры, можно либо напрямую импортировать файл * .page, либо задействовать атрибут .key компонентов Text, Scrolling Text, xFloat, Number и др.

Любая страница в HMI-проекте является локальным компонентом. При смене страниц, текущая страница удаляется из памяти, и следом в память загружается запрошенная страница. Обращение к локальным компонентам (атрибут .vscope local) возможно до тех пор, пока страница находится в памяти. Обращение к глобальным компонентам (атрибут .vscope global) возможно добавлением префикса с именем страницы к атрибуту .objname глобального компонента.

Например, глобальный компонент n0(Number) на странице page1, доступен по имени page1.n0. Локальный компонент n0(Number) на странице page1 доступен по имени page1.n0 или n0. В тоже время, к локальному компоненту n0(Number) бессмысленно обращаться, пока страница с ним не загружена в память. Только атрибуты глобальных компонентов остаются в памяти. Код обработки события никогда не бывает глобальным.

Страница — это визуальный компонент с индивидуальным набором атрибутов. Идентификатор (.id) для любой страницы всегда остаётся равным 0. Назначение глобальной видимости (атрибут .vscope global) компоненту Страница относится лишь к самой странице и её собственным атрибутам. Видимость остальных компонентов внутри страницы остаётся локальной. Идентификатор (.id) компонента Страница не является индексируемым в массиве p[index] номером страницы. Остальные расположенные внутри страницы компоненты могут индексироваться в массиве b[.id] по их идентификатору .id (Подсказка: p[index].b[.id]).

Атрибут заполнения фона (.sta) компонента Страница может принимать значения: сплошной цвет, изображение (загруженный рисунок), или прозрачный цвет (без фона). Желательно, чтобы размер фонового изображения совпадал с графическим разрешением дисплея. Меньший размер может привести к появлению на экране несуществующих данных. Компоненты страницы с прозрачным фоном отобразятся поверх предыдущей страницы, уже выгруженной из памяти. Многократное наложение страниц с прозрачным фоном обернётся появлением побочных эффектов.

Для одного HMI-проекта установлен строгий лимит из 254 страниц, по 250 компонентов в каждой. Во многих случаях, этого более чем достаточно. Скорее закончатся ресурсы памяти устройства Nextion, перед тем как будет достигнута 254 страница.

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru