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

1.4.1.4. Скрипты процесса отображения

Скрипты процесса отображения предназначены для управления содержимым мнемосхем. Они могут помочь разработчику сделать интерфейс оператора более гибким и интерактивным, к тому же использование скриптов способно сильно облегчить разработку системы, а в некоторых случаях является просто необходимостью. Скрипты можно писать на языке ST, имеющем схожий с языком Pascal синтаксис. В реализации языка ST для S3-IDE существует набор библиотечных функций для работы с компонентами мнемосхем.

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

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

Рис. 1.76. Добавление скрипта в подпрограммы и окно создания скрипта

Редактирование скрипта производится так же, как и для ST-подпрограммы процесса управления, в подразделе 1.3.4. Создадим входной строковый параметр, и наполним скрипт несложным кодом (рис. 1.77). То, что делает эта подпрограмма, можно реализовать и с помощью действия Включить/отключить компонент, но так получается гибче, так как впоследствии мы можем организовать проверку каких-нибудь дополнительных условий, или изменить поведение скрипта, отредактировав его только там, где он определен.

Рис. 1.77. Подпрограмма процесса отображения

Далее привяжем скрипт к компоненту. Пусть это будет кнопка управления клапаном подачи природного газа – в автоматическом режиме она не должна быть видна. Добавим к кнопке событие Изменение переменной, в качестве переменной выберем mdGlobalAuto, к этому событию привяжем действие Скрипт (рис. 1.78).

Рис. 1.78. Добавление действия Скрипт

В скрипте вызовем подпрограмму, передав ей имя компонента (рис. 1.79).

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

Рис. 1.79. Вызов подпрограммы

1.4.1.5. Процессы отображения в qnx–проекте

В QNX–проекте один контроллер может содержать несколько процессов отображения, полностью аналогичных процессам отображения HMI–проекта. Все, рассмотренное ранее по Display HMI, можно отнести и к Display QNX. То есть контроллер, имеющий стандартный набор устройств ввода/вывода, может содержать в таком случае весь проект – как управляющую его часть, так и операторский интерфейс. Разница между процессами отображения контроллера и HMI–проекта в том, что «отрисовка» мнемосхем в первом производится средствами графической среды QNX-Photon, а во втором – средствами виртуальной машины Java (см. раздел 1.5). Для разработчика проекты полностью совместимы.

В среде S3-IDE есть возможность копирования мнемосхемы (компонента, события, действия) из QNX–проекта в HMI–проект и наоборот. Копировать компоненты из проекта в проект можно так же, как и в пределах одной мнемосхемы.

Рассмотрим порядок копирования мнемосхем. Создадим в QNX–проекте процесс отображения (рис. 1.80).

Процесс отображения в QNX–проекте имеет следующие свойства:

  • Приоритет – задает приоритет процесса отображения. Он должен быть меньше приоритета драйверов и процессов управления;

  • Номер консоли – номер виртуальной консоли (1…9) на которой будут отображаться мнемосхемы;

  • Минимальное обновление – минимальный период считывания переменных. Все переменные, период обновления которых меньше минимального, будут обновляться с этим периодом;

  • Авт. отрег. – автоматическая отрегистрация пользователя. Если пользователь не двигал мышью и не нажимал клавиш, то по истечению указанного времени он будет отрегистрирован.

  • Сохранять положение мнемосхем – включает/отключает сохранение положения и состояния временных мнемосхем между запусками проекта.

Рис. 1.80. Создание нового процесса отображения

Теперь мышью перетащим мнемосхему из секции Display HMI–проекта в секцию Display QNX–проекта, предварительно нажав и удерживая клавишу Ctrl. На этом копирование мнемосхемы закончено. Остается только создать в ветке Подпрограммы те подпрограммы, которые вы вызываете в скопированной мнемосхеме, иначе при попытке скомпилировать проект компилятор укажет на ошибку компиляции – на попытку вызвать не определенную функцию. Точно таким же образом можно копировать мнемосхемы в обратном направлении – из QNX–проекта в HMI–проект.

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