Каталог

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 страница.

Страницы со встроенными клавиатурами

Редактор Nextion Editor располагает тремя различными встраиваемыми клавиатурами, которые пользователь может добавлять в свой HMI-проект (Built-in-Keyboard Pages). Использование страниц с готовыми вариантами клавиатур позволяет в реальном времени (в процессе выполнения программы) изменять атрибуты .txt и .val компонентов Текст (Text), Прокручиваемый текст (Scrolling Text), Число (Number), и Число с виртуальной плавающей точкой (Xfloat). Чтобы добавить клавиатуру в HMI-проект, необходимо связываемый с ней компонент установить в глобальную видимость (.vscope global), затем через атрибут выбрать подходящую клавиатуру, и добавить её в проект. На выбор предтставлены полная Qwerty-подобная (keybdA), нумеричная (keybdB), и быстронаборная (keybdC). Каждая виртуальная клавиатура подгружает в состав проекта используемые шрифты, если они ранее не были добавлены. Размер клавиатуры и её ориентация на экране подгоняются под параметры текущего устройства Nextion.

 

 

Впервые загруженная страница с клавиатурой всегда заблокирована. Пользователь может разблокировать страницу, вызвав правой клавишей мышки контекстное меню, и выбрав пункт Разблокировать (Unlock). Страница с клавиатурой становится доступной для изучения исходного кода и механизма поведения скриптов, а также для редактирования (с осторожностью!).

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru