Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
S3_Методичка_рус.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
8.89 Mб
Скачать

1.4.1.2. Редактирование мнемосхемы

Существует несколько способов поместить компонент на мнемосхему:

  • выбрать компонент в Палитре (рис. 1.49), нажимая на его изображение и, не отпуская кнопки мыши, перетащить его в нужное место на мнемосхеме;

  • вызвать правой кнопкой контекстное меню (рис. 1.50), выбрать нужный компонент из палитры, затем поместить курсор в требуемую точку и нажать левую кнопку.

Рис. 1.49. Палитра с компонентами

Рис. 1.50. Меню редактора мнемосхем

Компоненты мнемосхемы отображаются также в виде дерева в окне Дерево компонентов (рис. 1.51). Компонент, выделенный в этом окне щелчком левой кнопки мыши, автоматически выделяется в редакторе мнемосхем, и наоборот.

Рис. 1.51. Окно Дерево компонентов

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

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

Группы компонентов можно выровнять по высоте, ширине, можно выстроить их в таблицу. Выравнивание размеров работает так же, как выравнивание положения. Для всех этих операций имеются соответствующие кнопки на панели инструментов редактора. При выравнивании компонентов в таблицу будет выведено диалоговое окно, задающее параметры выравнивания (рис. 1.52). Здесь Vertical gap и Horizontal gap – расстояния соответственно между строками и столбцами в пикселах. Также для выравнивания можно воспользоваться контекстным меню (рис. 1.53).

Рис. 1.52. Выравнивание компонентов в таблицу

Рис. 1.53. Выравнивание компонентов с помощью меню

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

  • выделить и перетащить мышью,

  • выделить и перемещать с помощью клавиш Ctrl+Left(Rigth,Up,Down).

1.4.1.3. Элементы мнемосхем палитры Photon

Это основная палитра редактора мнемосхем в S3-IDE. Название ее происходит от имени графической среды операционной системы QNX. Компонентов, которые содержатся в палитре, достаточно для реализации сложных пользовательских интерфейсов.

Для управления компонентами мнемосхем применяется модель событий и действий. Каждый компонент может получать события и выполнять действия при получении событий. Компонент может получать больше одного события и к каждому событию может быть привязано больше одного действия. События бывают двух типов:

  • генерируемые действиями оператора (нажатие кнопок мыши, нажатие клавиш, открытие/закрытие мнемосхем и т.д),

  • генерируемые системой (изменение переменной или тревоги).

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

Контейнер (PtPane).

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

Добавим на мнемосхему контейнер (рис. 1.54), назовем его BurningPane (имя изменим в окне Свойства). Сделаем его фон прозрачным (для этого необходимо стереть содержимое поля Цвет фона и нажать Enter).

Рис. 1.54. Добавление контейнера на мнемосхему

Для добавления нового компонента в контейнер нужно:

  • выделить контейнер, затем вызвать меню и выбрать компонент,

  • выбрав компонент в Палитре, перетащить его в контейнер.

Растровое изображение (PtImage).

На мнемосхему можно помещать растровые изображения в формате JPEG, PNG, GIF. Пусть контейнер BurningPane, созданный ранее, содержит компоненты, относящиеся к шахтной обжиговой печи. Поместим в него изображение самой печи. Для этого сначала поместим в контейнер одним из описанных выше способов компонент Изображение. Затем вызовем окно свойств изображения и выберем файл, который будем использовать в качестве картинки (рис. 1.55–рис. 1.56).

Рис. 1.55. Выбор изображения

Рис. 1.56. Контейнер с изображением

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

Рис. 1.57. Добавление события к изображению

Теперь добавим к событию действие Сменить изображение (рис. 1.58).

Рис. 1.58. Добавление действия Сменить изображение

В появившемся диалоговом окне (рис. 1.59) для добавления изображения нужно нажать кнопку Добавить, выбрать изображение для значения 0, затем снова нажать Добавить и выбрать изображение для значения 1. Изображения можно перемещать по списку значений переменной, просто перетаскивая их мышью.

Имя переменной, значение которой используется, состоит из двух частей. К имени переменной, которое было дано ей при объявлении, добавился префикс в виде QNXServer@, что означает, что переменная принадлежит узлу QNXServer.

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

Рис. 1.59. Свойства действия Сменить изображение

Индикатор прогресса (PtProgress).

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

Рис. 1.60. Компонент Прогресс

Чтобы отобразить значение переменной, нужно добавить к событиям компонента событие Изменение переменной и привязать к нему действие Вывести значение (рис. 1.61–рис. 1.62).

Рис. 1.61. Добавление события

Рис. 1.62. Добавление действия

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

Теперь если дважды щелкнуть мышью на только что добавленном событии, откроется окно редактирования события (рис. 1.64). В этом окне можно редактировать само событие и действия, привязанные к нему.

Рис. 1.63. Диалоговое окно

Свойства действия

Рис. 1.64. Диалоговое окно редактирования события

Текст (PtLabel).

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

Рис. 1.65. Текст

Добавим к компоненту событие Изменение переменной, затем действие – Вывести значение (рис. 1.66). Появится окно для ввода формата выводимого значения (рис. 1.67). Запись %.1v означает «значение переменной с точностью 1 знак после запятой». Остальной текст выведется без изменений (символ «%» нужно экранировать, т.е. чтобы вывести его, нужно вписать в поле «%%»).

Рис. 1.66. Добавление действия к компоненту Текст

Рис. 1.67. Параметры вывода значения для компонента Текст

Поле ввода (PtText).

Компоненте Поле ввода предназначен для отображения и редактирования значения переменной. Добавим в контейнер поле, в котором будем задавать требуемое значение температуры. Чтобы не форматировать новый компонент, скопируем текстовое поле, а затем превратим его в поле ввода (рис. 1.68). Все свойства, а также события и действия, наследуются измененным компонентом, если его новый тип имеет такие свойства и способен содержать такие события и действия.

Рис. 1.68. Изменение типа компонента

Чтобы привязать переменную к полю ввода, нужно добавить к нему событие Редактирование (рис. 1.69).

Рис. 1.69. Свойства события Редактирование

Потребуется выбрать переменную для редактирования, формат вывода переменной в поле (как для компонента Текст), также опционально можно ввести сообщение, которое будет выводиться в протокол при редактировании поля. Если отметить опцию Подтверждать ввод, система при нажатии клавиши Enter будет запрашивать подтверждение.

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

Рис. 1.70. Готовое изображение шахтной обжиговой печи

Кнопка (PtButton).

Компонент Кнопка предназначен для реализации ввода пользователя посредством нажатия кнопки мыши. Компонент также может содержать текст или изображение.

Добавим на мнемосхему изображение клапана подачи природного газа и кнопку включения его (рис. 1.71).

Пусть первое нажатие кнопки посылает команду клапану включиться, а второе нажатие – выключиться (переключает значение логической переменной). Пусть также, когда команда включения подана, кнопка окрашивается в зеленый, а когда команды нет, будет серой. Для первого потребуется событие Клик левой кнопкой и действие Toggle value (рис. 1.72).

Рис. 1.71. Добавление кнопки

Рис. 1.72. Добавление события и действия к компоненту Кнопка

Будет запрошена переменная, которую нужно переключать (рис. 1.73).

Для события Клик левой кнопкой можно задать свойство Подтверждать ввод/не подтверждать ввод, как для события Редактирование поля ввода. Для того, чтобы изменять цвет кнопки потребуется событие Изменение переменной и действие Изменить фон (рис. 1.74). Цвета можно перемещать по списку значений переменной, просто перетаскивая их мышью (рис. 1.75).

Рис. 1.73. Свойства для действия

Toggle value

Рис. 1.74. Добавление действия

Изменить фон

Рис. 1.75. Свойства действия Изменить фон

Осталось логическую переменную задействовать в процессе управления.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]