Визуализация

В этом разделе описана разработка системы визуализации.

В текущей версии программы поддерживаются следующие виды визуализации:

  • Дисплей графической панели
  • Отладочный экран

Дисплей графической панели

Среда программирования zWorkbench включает в себя создание визуализации для графических панелей.

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

Редактор окна:

_images/22.png

Разметка экрана:

_images/visuals_panel_display_layout.png

Редактор Дисплея

Возможность добавления экранов присутствует только у контроллеров, с поддержкой соответствующей функции (например, Z036 и Z037)!

Доступ к созданию и организации экранов осуществляется через панель Обозревателя проекта. Соответствующий элемент проекта называется``Дисплей`` (в данной версии может существовать только один дисплей):

_images/171.png

Добавление и удаление экранов

Для добавления нового экрана необходимо открыть контекстное меню (например, правой кнопкой мыши) у пункта Дисплей и выбрать опцию Добавить. В появившемся окне в колонке Список объектов выбрать пункт Экран, ввести имя для экрана и нажать Добавить.

_images/181.png

Все добавленные экраны появляются в окне Обозревателя проекта внутри пункта Дисплей. Удалить один из экранов можно путем при помощи контекстного меню и пункта Удалить, или нажатием клавиши Del на клавиатуре.

Также, внутрь экрана можно добавлять FBD-программы, служащие для программирования логики работы этого экрана. Это осуществляется путем выделения экрана в Обозревателе проекта и выбора пункта Добавить... в контекстном меню.

Переходы между экранами

По двойному щелчку мышью на пункте Дисплей откроется схема, содержащая все добавленные экраны. На этой схеме происходит программирование переходов между экранами при выполнении каких-либо условий:

_images/visuals_panel_editor3.png

На рисунке видно, что Экран 1 отличается от остальных цветом рамки. Такой серый цвет означает, что данный экран является начальным и будет открываться по умолчанию на старте работы программы. Для изменения стартового экрана необходимо выделить экран, который будет новым начальным экраном, открыть контекстное меню (например, правой кнопкой мыши) и выбрать пункт Стартовый экран.

Переход между экранами может осуществляться следующими способами:

  • Использование переменных устройства (например, нажатие кнопки на самом устройстве)
  • Использование переменных схемы (переход осуществляется в зависимости от значения переменной в FBD-программе, находящейся внутри экрана)
  • Использование выходов схемы (переход осуществляется в зависимости от свойств объектов, находящихся на экране)

Переход с одного экрана осуществляется в момент изменения значения привязанной к переходу переменной с false на true, поэтому для переменных схемы и выходов схемы поддерживаются только Логический тип значений.

Для создания перехода от одного экрана к другому необходимо зажать левой кнопкой мыши один из привязочных элементов по сторонам экрана (в виде точки) и протянуть к любому другому на целевом экране. После того, как кнопка мыши будет отпущена, откроется окно выбора типа перехода:

_images/19.png

В этом окне можно выбрать вкладку с одним из нужных способов перехода, а затем конкретный выход или переменную.

Название переменных устройства, начиная с Esc и заканчивая F5 отвечают названиям клавиш устройства, то есть переход срабатывает при нажатии соответствующей клавиши. Схема дисплеев с одним установленным переходом:

_images/visuals_panel_editor5.png

Для удаления перехода нужно выделить стрелку и нажать на клавиатуре клавишу Del.

Для упрощения вида схемы при очень большом количестве экранов существует возможность добавления на схему Объекта перехода. Он также имеет четыре точки по краям, но, в отличие от объекта экрана, переход можно осуществлять только в сторону Объекта перехода.

Для добавления Объекта перехода на сцену нужно открыть контекстное меню (например, правой кнопкой мыши) на любом свободном участке сцены и выбрать пункт Объект для перехода. Объект перехода на сцене:

_images/visuals_panel_editor6.png

Для того, чтобы изменить экран, к которому этот объект осуществляет переход, нужно сделать на Объекте перехода двойной щелчок левой кнопкой мыши, после чего откроется окно свойств:

_images/201.png

При нажатии на иконку открытой книги в поле Экран откроется диалог выбора экрана для перехода. Если поле Экран оставить пустым, объект перехода будет указывать на стартовый экран.

Редактор Экрана

На экране можно размещать различные элементы управления. Например:

  • Поле ввода;
  • Кнопка;
  • Меню;
  • Изображения и другие графические примитивы.

Для перехода в режим редактирования экрана нужно выбрать двойным щелчком мыши необходимый экран в окне Обозревателя проекта:

_images/241.png

Сверху находится Панель инструментов:

_images/visuals_panel_screen2.png

На ней, слева направо:

  • Группировка элементов (для группировки необходимо сначала выделить несколько графических элементов);
  • Разгруппировка элементов;
  • Включение/отключение привязки элементов к сетке;
  • Открытие окна Свойств для элемента;
  • Удаление элемента;
  • Отменить действие;
  • Повторить действие;
  • Копировать;
  • Вырезать;
  • Вставить;
  • Назад;
  • Вперед.

Работа с графическими элементами управления

Справа от графической сцены находится Окно добавления элементов управления:

_images/4.png

Внутри него все элементы поделены на две группы: Рисование и Элементы управления. В первой находятся графические примитивы, включающие базовые геометрические фигуры, текст, изображение. Во второй группе находятся интерактивные элементы, такие как: Кнопка, Меню, Поле ввода, и т.д.

Добавление элемента управления на сцену осуществляется путем его перетаскивания из Окна добавления элементов управления в нужное место на сцене. После этого объект можно масштабировать, используя активные углы на рамке объекта:

_images/visuals_panel_screen4.png

При помощи меню верхнего уровня Сцена осуществляется выравнивание, порядок наложения и закрепление элементов. Все объекты на сцене отображаются в списке в нижней части окна Обозревателя проекта с возможностью быстрого поиска по ним.

Окно свойств графического элемента можно открыть при помощи контекстного меню, клавиши на панели инструментов или сочетанием клавиш Alt + P на клавиатуре. В окне свойств задается имя графического объекта, параметры графического примитива, а также параметры, присущие только этому классу графических объектов:

_images/visuals_panel_screen5.png

Разделение графического пространства на слои

Графические элементы можно располагать на разных слоях. Добавление новых слоев, удаление существующих и переключение между ними осуществляется через панель инструментов Слои:

_images/visuals_panel_screen6.png

Для добавления и удаления слоев используются соответственно кнопки Добавить слой и Удалить слой. Слоям можно задавать свои собственные названия. Для смены названия необходимо сделать двойной щелчок мышью в строке, который нужно переименовать в колонке Название, ввести новое название и нажать клавишу Enter на клавиатуре. Чтобы изменить слой, на который будет происходить добавление новых графических элементов, нужно отметить его галочкой в колонке Текущий в списке слоев. Нажимая на значок глаза напротив названия слоя, можно включать или отключать видимость всех графических элементов на этом слое.

Внимание! Если удалить слой с уже содержащимися на нем графическими элементами, то эти элементы также будут удалены!

Шаблонный экран

Если нужно создать несколько экранов, в которых соблюдается общий стиль (например, одинаковая рамка или отображение даты/время или все что угодно) достаточно создать шаблонный экран и назначить остальным экранам данный в качестве шаблона. Пример: создаем Экран_1, Экран_2, Экран_3, переименовываем Экран_3 в Шаблон_1. В экране Экран_1 вставляем нужные элементы управления или рисуем что-нибудь. Заходим в Редактор свойств Экран_2, открываем Шаблонный экран , и выбираем в качестве шаблонного экрана Экран_1:

_images/shablon_screen1.png

Можно создать Шаблонный экран для экрана Экран_1. Вставим в экран Шаблон_1 какие-либо элементы. Заходим в Редактор свойств Экран_1, открываем Шаблонный экран и выбираем в качестве шаблонного экрана Шаблон_1. Теперь Экран_2 отображает все элементы экранов Шаблон_1 и Экран_1:

_images/shablon_screen2.png

Шрифты экрана

По умолчанию, шрифт элементов управления MS Shell Dig2, начертание – обычное, размер 8. Изменять шрифт можно для всего экрана: тогда все выносимые на экран элементы автоматически примут установленные значения; можно для каждого элемента отдельно или для группы элементов:

_images/shriftekrana1.png

Свойства управления примитивами

Список свойств управления примитивами

Управление свойствами примитивов может осуществляться из FBD программы экрана. Для этого необходимо создать блок управления примитивом, вытащив примитив из навигатора проекта на FBD схему. Ниже представлен список общий список свойств для всех примитиво.

Список свойств:

Входы

  • Отступ слева;
  • Отступ справа;
  • Отступ сверху;
  • Видимость;
  • Отступ снизу;
  • Ширина;
  • Высота;
  • Цвет фона;
  • Цвет;

Выходы

  • Факт. видимость;
  • Нижняя граница;
  • Правая граница;

Для различных элементов управления список свойств варьируется. Подробнее будет рассмотрено при описании каждого примитива.

Свойства:

Вход Видимость

Тип данных: логический. Позволяет управлять видимостью примитива (логическая 1 на входе – примитив отображается, логический 0 – примитив не виден). По умолчанию данное свойство имеет значение 1. Выбор данного свойства обоснован, если нужно скрыть примитив на каком-то шаге программы.

Входы Отступ слева; Отступ справа; Отступ сверху; Отступ снизу

Типы данных: знак. целый 2-байт. Позволяют примитивы выстраивать в определенном порядке относительно друг друга.

В данном примере блок вывода ДАТА/ВРЕМЯ3 будет располагаться под блоком ДАТА/ВРЕМЯ3, так как вход ОТСТУП СВЕРХУ имеет значение равное выходу НИЖНЯЯ ГРАНИЦА предыдущего блока:

_images/vhodotstup.png

Входы Ширина и Высота; Цвет фона; Цвет;

Задают параметры примитива. Типы данных: Ширина и Высота - знак. целый 2-байт.Цвет фона; Цвет - беззнак. целый 4-байт;

Входы Начать ввод (Начать выбор)

Имеет логический тип. При получении на вход 1, блок разрешает ввод/выбор значений.

Вход Номер строки

Тип данных: беззнак. целый 1-байт.

Выход Факт. видимость

Логический тип. Выводит значение 0 или 1 на каждом шаге программы.

Выход Нижняя граница; Правая граница

Типы данных: знак. целый 2-байт. Выбор обоснован, если хотите привязать к данному примитиву другие (пример 1).

Выход Ввод завершен (Выбор завершен)

Логический тип. По завершении ввода на выходе установится 1.

Поле ввода

Для добавления Поля ввода его нужно вытащить на сцену экрана из панели Элементы управления:

_images/visual_panel_editline1.png

Свойства Поля ввода:

_images/NewItem13.png

Группа Примитив – это общие свойства для всех примитивов: размер, позиция, блокировка и т.д;

Переменная – это ссылочное свойство на глобальную переменную или переменную устройства, значение которой будет отображаться в поле ввода:

_images/NewItem12.png

Только чтение – если этот параметр установлен, то поле ввода только отображает значение и не позволяет его менять;

Шаблон форматирования – это свойство позволяет настроить формат отображения числа.

Шаблон имеет следующий вид – AAA ###.#### BBB.

ААА – это префикс – любой набор символов, который будет отображаться перед числом,

ВВВ – это суффикс – любой набор символов, который будет выводиться после числа.

Символы “#” до разделительной точки указывает на количество цифр в целой части числа. Если цифр будет меньше, то оставшиеся места будут заполнены символом ‘0’. Если не писать перед разделительной точкой символы “#”, то нули в целой части не будут выводиться.

Символы “#” после разделительной точки указывают на количество цифр после запятой. Не допустимо указывать символ “#” в префиксе или суффиксе. Если поле ввода расположено в экране дисплея, то суффиксы и префиксы отображаться не будут.

Макс. значение и Мин. значение – эти свойства указывают пределы для ввода значения в Поле ввода. Если установлен шаблон форматирования, то он должен позволять вводить максимальное или минимальное значение. Например, при Макс. значение = 32000, шаблон должен содержать не меньше 5 знаков до запятой - #####.##.

Список параметров

Список параметров позволяет создавать список для отображения и редактирования группы параметров. Если количество добавленных параметров больше, чем помещается в экране, то производится прокрутка списка.

Редактирование списка параметров

Редактор списка вызывается двойным кликом мыши или через контекстное меню командой Изменить:

_images/visuals_parameters20.png

В левой части редактора расположен список названий параметров. Под ним располагаются кнопки для добавления, удаления и перемещения строк (слева направо):

  • Добавить числовой параметр
  • Добавить перечисляемый параметр (добавляет Выпадающий список, который можно настроить, используя свойство Список)
  • Удалить строку
  • Переместить строку вверх
  • Переместить строку вниз
  • Добавить переменную в список параметров
  • Показать/Скрыть свойства

В правой части редактора отображаются свойства одной или нескольких выбранных строк. Выбор нескольких строк производится с помощью ЛКМ с нажатой клавишей Ctrl.

Переменная – это ссылочное свойство, которое указывает на переменную, привязанную к выбранному параметру (аналогично свойству для поля ввода);

Высота – высота строки параметра;

Макс. значение и Мин. значение - аналогично соответствующим свойствам поля ввода;

Шаблон форматирования – аналогично соответствующему свойству поля ввода;

Ширина – ширина выводимого теста, остальное пространство отводится для значения;

Название – внутреннее название пункта, используемое для программирования логики. На экран не выводится. Может редактироваться по двойному клику ЛКМ в списке параметров;

Текст – наименование параметра. Может редактироваться по двойному клику ЛКМ в списке параметров.

Свойства:

Окно свойств вызывается через контекстное меню командой Свойства:

_images/visuals_parameters3.png

Свойство Переменная дает возможность указать привязку к глобальной переменной, в которую будет выводиться текущий выбранный пункт. Выбор переменной осуществляется нажатием на иконку в правой части поля ввода.

Добавление управляющего блока:

Добавим в ЭКРАН/FBD-программа блок СПИСОК ПАРАМЕТРОВ1, выберем для нее свойства: НАЖАТИЕ, ВЫБРАН ПАРАМЕТР1, ВЫБРАН ТЕМПЕРАТУРА, ВЫБРАН ДЕНЬ НЕДЕЛИ:

_images/spisokpar1.png

Меню

Меню позволяет создать список для отображения и выбора вариантов. Если количество добавленных параметров больше, чем помещается в экране, то производится прокрутка меню.

Редактирование пунктов меню

Редактор меню вызывается двойным кликом мыши или через контекстное меню командой Изменить:

_images/810.png

В левой части редактора расположен список названий пунктов меню. Под ним располагаются кнопки для добавления, удаления и перемещения. В правой части редактора отображаются свойства одного или нескольких выбранных пунктов. Выбор нескольких пунктов производится с помощью ЛКМ с нажатой клавишей Ctrl.

Высота – высота строки меню;

Ширина – ширина выводимого теста;

Название – внутреннее название пункта, используемое для программирования логики. На экран не выводится. Может редактироваться по двойному клику ЛКМ в списке параметров;

Текст – наименование параметра. Может редактироваться по двойному клику ЛКМ в списке параметров.

Добавление переходов между экранами:

Как описано в “Редактор Дисплея”, для создания перехода от одного экрана к другому необходимо зажать левой кнопкой мыши один из привязочных элементов по сторонам экрана (в виде точки) и протянуть к любому другому на целевом экране. После того, как кнопка мыши будет отпущена, откроется окно выбора типа перехода, в котором необходимо выбрать группу Выходы схемы, а в ней событие, которое соответствует выбору необходимого пункта меню:

_images/911.png

Внимание! Название выходов схемы (Пункт1, Пункт2, Пункт3) соответствуют параметру Название соответствующих пунктов меню, они не обязательно совпадают с текстом самих пунктов меню!

Дата/Время

Служит для вывода на экран даты и времени.

_images/visuals_datetime1.png

Свойства:

Редактор свойств вызывается двойным кликом мыши или через контекстное меню командой Свойства:

_images/visuals_datetime2.png

Исп. Текущее время – выводит текущее время контроллера (если он поддерживает часы). Если не выбрано, то можно вывести произвольное время используя упакованный формат.

Формат отображения времени и даты

В настоящее время для отображения используется формат dd/MМ/yy hh:mm:ss. (смена формата отображения пока не реализована, т.е. изменение данного свойства ни к чему не приведет).

Привязка блока управления

Блок управления имеет стандартный набор свойств, среди которых интересными могут показаться Видимость и Фактическая видимость. Имеют логический тип. Имеет смысл выбирать данные свойства, если на каком-то шаге необходимо скрыть данный элемент управления, а выход Фактическая видимость выдаст логический нуль

_images/data111.png

Ввод пароля

Элемент управления, который предназначен для ввода пароля на устройстве. Не отображает значение переменной после окончания ввода. Формат всегда целочисленный и определяется свойством Количество цифр:

_images/visuals_password1.png

Свойства:

Редактор свойств вызывается двойным кликом мыши или через контекстное меню командой Свойства:

_images/21.png

Все свойства аналогичны свойствам в элементе управления “Поле ввода”, за исключением:

Количество цифр: количество цифр в пароле. После ввода пароля будет подан сигнал Ввод завершен:

_images/NewItem20.png

Привязка блока управления:

К блоку контроля можно привязать некоторые свойства управления примитивом. Если к данному элементу управления уже привязана глобальная переменная, то свойство ВВОД ЗАВЕРШЕН будет закрыто, как на данном примере.

_images/vvodparola1.png

Значение введенного пароля будет записано в привязанную глобальную переменную. Свойство НАЧАТЬ ВВОД имеет логический тип, и, при получении на него 1 появится возможность ввода пароля. Если же глобальная переменная не привязана к примитиву, то откроется выход ВВОД ЗАВЕРШЕН, к которому можно привязать не только глобальную, но и локальную переменную.

Выпадающий список

Элемент управления, который предназначен для выбора одного значения из списка предварительно заданных значений.

При входе в режим редактирования элемент выделяется инверсным цветом. После этого можно листать заданные строки кнопками вверх/вниз. При вводе значения (нажата кнопка OK), номер выбранной строки попадает в привязанную переменную.

Свойства:

Редактор свойств вызывается двойным кликом мыши или через контекстное меню командой Свойства:

_images/visuals_combobox1.png

Переменная: переменная, которая привязана к номеру выбранной строки;

Список: открывает диалог редактирования списка заданных значений;

Только чтение: если активно, запрещает входить в режим редактирования списка.

_images/visuals_combobox2.png

В верхней части диалога редактирования списка строк находятся кнопки для добавления/удаления и перемещения списка строк.

Привязка к переменной в FBD-программе:

Привязку к переменной осуществляется в свойстве элемента Переменная.

Для активации режима редактирования в подчиненной программе экрана необходимо подключить сигнал (например, Set - нажатие кнопки SET) ко входу Начать выбор:

_images/visuals_combobox3.png

Для осуществления привязки переменной в схеме можно воспользоваться следующей конструкцией:

_images/visuals_combobox4.png

Для отображения переменной нужно подключить сигнал, задающий номер строки ко входу Номер строки

_images/visuals_combobox5.png

Для осуществления привязки переменной в схеме можно воспользоваться следующей конструкцией:

  1. В свойствах блока выбрать вход НОМЕР СТРОКИ ;
  2. К данному входу привязать переменную НОМЕР СТРОКИ (глобальную или локальную);
  3. В свойствах блока выбрать выход ВЫБРАННЫЙ НОМЕР СТРОКИ ;
  4. С выходом связать переменную НОМЕР СТРОКИ , присвоив ей тип УСЛОВНАЯ ЗАПИСЬ .
  5. Установить свойство ВЫБОР ЗАВЕРШЕН и соединить его со входом EN .
_images/spisok111.png

В результате мы получаем возможность на контроллере нажатием кнопки SET начать выбор строки. Кнопки Вверх / Вниз перемещают строки. Кнопка OK завершает выбор и происходит запись выбранной строки в переменную НОМЕР СТРОКИ.

_images/spisok222.png

Журнал событий

Создавая блок Журнал событий мы резервируем место ПЗУ под запись событий и регламентируем способы записи, чтения или сброса в таблице некоторых событий. Счетчик событий фиксирует нумерацию событий и дату/время, когда они произошли.

Чтобы добавить данный блок нужно в дереве Обозреватель проекта открыть Шаблонные FBD-блоки, ПКМ по Журнал событий –> Добавить. Откроется окно Журнал событий, в котором можно редактировать события (добавлять/удалять, изменять названия событий):

_images/jurnal1.png _images/jurnal2.png

Событий может быть несколько (например: дверь открыли/закрыли, кондиционер включили/выключили и т.д.), каждое такое событие в журнале имеет свой НОМЕР. В течение некоторого времени эти события могли происходить десятки раз. Каждый раз блок записи делает запись совершенного события, порядковый номер которого – это КОД события.

Блок Журнал событий вытаскиваем ЛКМ в “Панель контроллера”.

_images/jurnal3.png

В режиме чтения данный блок имеет один вход EVENT –. целый беззнак. 4-байт, на который подается код события (нумерация начинается с 0), на выходы FROM и TO устанавливаются начальное и конечное коды событий, записанных в данном блоке; выходы ВРЕМЯ (целый беззнак. 4-байт) и СОБЫТИЕ (целый беззнак. 1-байт) получают, соответственно, время, в которое данное событие произошло и НОМЕР события по журналу.

_images/jurnal4.png

В режиме записи данный блок имеет входы EN (логический, по умолчанию 0) и СОБЫТИЕ (номер события по журналу). При получении на вход EN 1, происходит запись в журнал событий о том, что данное событие произошло в такое-то время. Номер, под которым сделана запись –КОД события. Выходы FROM и TO – это значения начального и конечного кодов записей в журнале событий. По этим выходам можно определять количество произошедших событий.

_images/jurnal5.png

Блок Журнала событий в режиме сброса. При получении 1 на вход EN, происходит обнуление количества событий.

_images/jurnal6.png

Теперь о переменных ПЗУ: в добавленном журнале событий есть строка Стартовый адрес ПЗУ и значение 0 по умолчанию. Так как для 100 событий потребуется 5 байт *100 +4 байта= 504 байта (1 байт на запись номера события, 4 байта – на время, +4 байта – на код последнего события), при создании переменных ПЗУ необходимо помнить, что первые 504 адреса (при условии, что событий будет записано не более 100) заняты под журнал событий.

Таблица переменных ПЗУ.

Увидеть, как происходит запись значений переменных ПЗУ в таблицу, можно только в режиме симуляции. Для этого выполним следующие действия: Окна –> Панель инструментов –> ПЗУ.

_images/jurnal7.png

Пример: Данный пример показывает, как происходит запись событий в журнал.

_images/jurnal8.png

Переменная VAR3 имеет значение 3, VAR7 – значение 1. Данные значения являются номерами событий в Журнале событий. На вход EN (передний фронт) – таймер подает попеременно 0 и 1. Когда блок записи Журнала событий получает на вход EN 1 – происходит запись события, имеющего номер 3 или номер 1. Блок чтения Журнала событий, должен вывести Номер события – записанное под Кодом 12 на выход СОБЫТИЕ, и дату/время, в которое оно произошло.– на выход ВРЕМЯ. Так как выход ВРЕМЯ выводит упакованное время, то для прочтения подцепим блок распаковки времени. Чтобы выходы блока отображали значения, выделим их и нажимаем F9.

Привязка граф. примитивов

_images/visuals_panel_programming0.png

Для управления содержимым экрана к нему можно добавлять FBD-программы. Это осуществляется путем выделения экрана в Обозревателе проекта и выбора пункта Добавить... в контекстном меню. После открытия окна выберите пункт FBD-программа в колонке Список объектов, введите название программы и нажмите клавишу Добавить. После этого в окне Обозревателя проекта под соответствующим экраном появится пустая FBD-программа. Она может использоваться в том числе для управления графическими элементами на экране.

Для примера составим программу, которая будет перемещать текст Z036 по экрану при помощи клавиш со стрелками на устройстве. Во время составления программы будет описан процесс привязки примитивов к переменным.

  1. Выделим экран в окне Обозревателя проекта. В нижней части Обозревателя проекта появился список графических элементов, присутствующих на данном экране:
_images/visuals_panel_programming1.png
  1. Перетаскиваем объект Текст на сцену FBD-программы, ранее добавленную к этому экрану. При отпускании кнопки мыши открывается диалог выбора свойств графического элемента, для которых мы хотим добавить управление:
_images/visuals_panel_programming2.png
  1. Выбираем свойства Отступ слева и Отступ сверху, так как они позволят контролировать положение объекта на сцене (при движении слева направо и справа налево отступ слева соответственно либо увеличивается, либо уменьшается и т.д.). После нажатия ОК на сцене появился блок с двумя входами:
_images/visuals_panel_programming3.png

Это говорит о том, что эти свойства работают только для записи в них значения. Также существуют свойства для чтения (например, Нижняя граница).

  1. Добавим на сцену блоки для клавиш-стрелок устройства, используя Обозреватель проекта, а также две переменные, отвечающие за левый и верхний отступы.
  2. Соберем простую схему, которая при нажатии клавиши Вправо будет увеличивать значение переменной отступа слева на единицу, а при нажатии клавиши Влево - уменьшать. Подобным образом запрограммируем поведение клавиш Вверх / Вниз. А значение переменных отступов привяжем к свойствам графического элемента Текст. Схема представлена:
_images/visuals_panel_programming4.png

Для обмена значениями с основной программой шаблона необходимо использовать Глобальные переменные

Таким образом осуществляется привязка графических элементов на экране к логике работы устройства.

Привязка Поля ввода

Привязка поля ввода к переменным FBD-программы производится аналогично привязке для простых примитивов. Однако у блока, создаваемого для Поля ввода, присутствуют специализированные входы/выходы.

_images/NewItem17.png

Вход Значение – на этот вход подается значение, которое должно отображаться в поле ввода;

Вход Начать ввод – на этот вход подаётся сигнал о переводе фокуса на выбранное поле ввода. Используется для экранов без сенсорного управления или управления мышью для начала ввода в поле;

Входы Макс. значение и Мин. значение переопределяют соответствующие свойства поля ввода;

Выход Ввод завершен – выдает сигнал при окончании ввода числа;

Выход Введенное значение – выдает значение, введенное пользователем;

Значения на выходах Ввод завершен и Введенное значение устанавливаются только на один такт программы (одиночное значение), поэтому для их фиксации необходимо использовать переменные.

Вход Значение и выход Введенное значение имеет тип данных Дробный 4 байт. Однако при подключении к ним входов/выходов другого типа, он будет использовать тот тип, который подключен к нему.

Если у поля ввода заполнено свойство Переменная, то при использовании входа Значение и выхода Введенное значение будет выдана ошибка, так как привязка к переменной должна осуществляться только одним способом.