Приветствую Вас, Гость · Вход · Регистрация

Главная » Файлы » MicroSCADA » Scil

7. Команды SCIL часть 4
[ ] 01.01.2009, 21:25

7.4 Команды Visual SCIL

Команды Visual SCIL создают, загружают и удаляют объекты Visual SCIL, а также управляют их атрибутами. Объекты Visual SCIL кратко описаны в Главе 4 данного руководства. Более подробные описания даны в руководствах "Разработка пользовательского интерфейса Visual SCIL" и "Объекты Visual SCIL".

7.4.1 Загрузка, создание и удаление объектов Visual SCIL

.CREATE object = type ?(attribute = value, .... , attribute = value)?

Создает объект Visual SCIL.

'object' Имя объекта или объектная ссылка, включая путь (смотрите Главу 4). Задание пути означает, что объект создается как последний потомок в цепочке объектов. Имя объекта должно быть уникальным среди объектов общего родителя. В имени объекта допускается до 63 алфавитно-цифровых символов.
'type' Имя типа объекта Visual SCIL. Смотрите руководство "Объекты Visual SCIL".
'attribute' Имя атрибута, которому в дальнейшем присваивается значение. Если предопределенный атрибут с указанным именем не существует, атрибут создается как определяемый пользователем.
‘value’ Значение, присваиваемое атрибуту. Если атрибут не определен предварительно (не предопределен), значение должно иметь корректный тип данных (смотрите руководство ‘Объекты Visual SCIL’). Если атрибут определен пользователем, значение может иметь любой тип данных.

Команда .CREATE создает объект и загружает его в диалоговую систему. Если путь объекта не задан, объект будет потомком объекта, содержащего команду .CREATE.

Предопределенным атрибутам, которым не были назначены значения из списка атрибутов, присваиваются значения по умолчанию. После того, как объект был создан, его атрибуты могут быть изменены командами .MODIFY и .SET, смотрите ниже.

Команда .CREATE обычно используется для создания объектов, вид которых определяется динамически, на основе некоторой информации, полученной во время выполнения программы. Эта команда должна использоваться также для создания объектов сборных типов, к которым нет доступа в редакторе диалогов Dialog Editor. Команда .LOAD, описанная ниже, используется для загрузки диалогов и элементов диалогов, созданных в редакторе.

В общем, методы не могут быть записаны этой командой. Однако если объект имеет реальные методы, они могут быть записаны с помощью атрибутов, смотрите руководство ”Объекты Visual SCIL”. За исключением методов данного типа, объекты, созданные командой .CREATE, будут иметь только предопределенные методы с предопределенным содержимым.

Примеры:

.create CANCEL = VS_BUTTON(_TITLE =“Отмена”, _NOTIFY=vector(“.delete DLG”))
;Оператор, упомянутый выше, создает кнопку с текстом "Отмена" и программу
;NOTIFY .delete DLG (удаляет диалог DLG).

.create ROOT\DLG = VS_DIALOG( -
_GEOMETRY=LIST(X=100,Y=100,W=220,H=110))

.create ROOT\DLG\GROUP = VS_CONTAINER( -
_GEOMETRY=LIST(X=5,Y=5,W=100,H=100))

.create ROOT\DLG\GROUP\ROWS = VS_CHECK_BOX( -
_TITLE="Check 1", -
_GEOMETRY=LIST(X=5,Y=5,W=80,H=20))

.create ROOT\DLG\GROUP\COLUMNS = VS_CHECK_BOX( -
_TITLE="Check 2", -
_GEOMETRY=LIST(X=5,Y=30,W=80,H=20))

.create ROOT\DLG\CONTAINER = VS_CONTAINER( -
_GEOMETRY=LIST(X=115,Y=5,W=100,H=100))

.create ROOT\DLG\CONTAINER\OK = VS_BUTTON( -
_TITLE="OK", -
_GEOMETRY=LIST(X=5,Y=5,W=50,H=25))

.create ROOT\DLG\CONTAINER\CANCEL = VS_BUTTON( -
_TITLE="Отмена", -
_GEOMETRY=LIST(X=5,Y=35,W=50,H=25))

.create ROOT\DLG\CONTAINER\HELP = VS_BUTTON( -
_TITLE="Помощь", -
_GEOMETRY=LIST(X=5,Y=65,W=50,H=25))

.set ROOT\DLG._OPEN = TRUE

Вышеприведенный пример создает диалог, содержащий два контейнера, каждый из которых содержит элементы диалога. Последний оператор делает диалог видимым на экране.

.DELETE object

Удаляет объект Visual SCIL.

'object' Имя объекта, возможно включая путь (смотрите Главу 4).

Удаление объекта Visual SCIL означает, что он удаляется с экрана (если был там) и из системы диалогов. При удалении объекта удаляются также все его дочерние объекты.

При удалении объекта выполняется его метод Delete, если таковой существует.

Примеры:

.DELETE DIALOG1
;Удаляет объект DIALOG 1 и все его дочерние объекты.

.DELETE ROOT
;Удаляет всю систему диалогов.

.LOAD object = type( file , name {, attr = value, attr = value, ....})

Загружает объект Visual SCIL.

'object' Ссылка на объект Visual SCIL (имя и, возможно, путь) загружаемого объекта. Этот аргумент определяет имя загружаемого объекта и его положение в иерархии объектов. Если ссылка на объект задана с объектным путем, то загружаемый объект будет создан как последний потомок в цепочке объектов. Если путь не задан, объект будет потомком объекта, содержащего команду .LOAD. Имя объекта может выбираться свободно, однако оно должно быть уникальным среди объектов одного родителя. В имени объекта допускаются до 63 алфавитно-цифровых символов.
'type' Имя типа объекта Visual SCIL. Типы объектов Visual SCIL перечислены и описаны в руководстве "Объекты Visual SCIL".
'file' Текст. Имя файла, в котором хранится объект, включая путь. Путь не требуется, если файл расположен в директории по умолчанию для основного диалога диалоговой системы. Путь задается атрибутом DEFAULT _PATH при загрузке основного диалога.
'name' Текст. Имя, под которым диалог, элемент диалога или рисунок хранится в файле. Имя задается в редакторе диалогов.
'attr' Имя атрибута.
'value' Значение, присваиваемое атрибуту.

Эта команда используется для загрузки объектов (диалогов, элементов диалогов и рисунков), созданных в редакторе диалогов и сохраненных в файлах. Она загружает заданный объект как объект Visual SCIL с заданным именем. Если загруженный диалог или элемент диалога содержит другие диалоговые элементы, они также загружаются. Эти содержащиеся элементы диалога будут являться объектами Visual SCIL с именами, которые им были даны в редакторе диалогов. Загруженный объект со всеми его дочерними объектами включается в существующую иерархию объектов.

При загрузке выполняются Creat-методы объекта (смотрите руководство "Разработка пользовательского интерфейса Visual SCIL"). Если команда загрузки содержит определения атрибутов, то эти атрибуты устанавливаются после create-методов.

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

Пример:

.load DIALOG = VS_DIALOG(“MYFILE.VSO”,”MYDIALOG”,_OPEN = TRUE)

В приведенном примере диалог, хранящийся как MYDIALOG в файле MYFILE, загружается как объект Visual SCIL типа VS _DIALOG. Поскольку атрибут видимости _OPEN установлен к “TRUE”, диалог сразу же выводится на экран. Команда загружает все содержимое диалога MYDIALOG.

7.4.2 Обработка атрибутов Visual SCIL

.MODIFY object = LIST(attribute = value, .... , attribute = value)

Изменяет один или более атрибутов объекта Visual SCIL.

'object' Ссылка на объект Visual SCIL, возможно включая путь объекта.
'attribute' Имя атрибута. Если это имя не предопределенного атрибута, он создается как определяемый пользователем атрибут.
'value' Значение атрибута. Для предопределенных атрибутов значение должно иметь соответствующий тип данных.
Пример:

.create CANCEL = VS_BUTTON
.modify CANCEL = list(_TITLE=“Отмена”, _NOTIFY=vector(“.delete DLG”))

.SET object.attribute = value

Присваивает значение атрибуту пользовательского интерфейса.

‘object’ Ссылка на объект Visual SCIL или ссылка на изображение (смотрите Главу 4).
'attribute' Имя атрибута.
'value' Значение, присваиваемое атрибуту. Если атрибут предопределен, значение должно иметь допустимый тип данных (смотрите описание атрибутов в руководстве "Объекты Visual SCIL"). Если атрибут определен пользователем, то допускается любой тип данных.

Команда присваивает заданное значение указанному атрибуту. Если во время выполнения команды .SET объект отображается на экране, присвоение может вызывать немедленное изменение вида (рисунка) объекта.

При обращении к атрибутам Visual SCIL выдается ошибка в событии, атрибут которого не существует. При ссылке на атрибут окна, атрибут определяется, если он не существует.

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

Примеры:

Перемещение кнопки:

.SET BUTTON._GEOMETRY = (20,20,20,20)

Определение или изменение атрибутов окна:

.SET PIC_FUNC_1/WINDOW_2.RESIZED = TRUE
.SET .COUNTER = 0

7.5 Методы Visual SCIL объекта, окна и функции изображения

object._FLAG_FOR_EXECUTION( name , program [, delay])

Предопределенный метод _FLAG_FOR_EXECUTION показывает, что объект (объект VS), окно или функция изображения должны выполнять SCIL-программу в будущем.

'name' Текстовое значение, используемое в качестве идентификатора выполнения. Допускается пустое имя.
'program' Текст или текстовый вектор, выполняемая программа.
'delay' Вещественное значение, указывающее минимальное количество секунд перед выполнением программы.
По умолчанию: 0.

Если метод _FLAG_FOR_EXECUTION объекта вызывается дважды, с использованием одного имени ('name'), то первое выполнение отменяется, если оно не началось.

object._QUEUE_FOR_EXECUTION(program [, delay])

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

'program' Текст или текстовый вектор, программа, которая должна быть выполнена.
'delay' Вещественное значение, указывающее минимальное количество секунд ожидания перед выполнением программы.
Возвращаемое значение: Нет.

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

...
my_dialog._queue_for_execution(".set my_dialog._blocked = false")
.set my_dialog._blocked = true
;Здесь длинный участок программы SCIL
...

7.6 Атрибуты объекта Visual SCIL, окна и функции изображения

Атрибуты окон и функций изображений содержат их свойства. Многие из указанных атрибутов являются общими с объектами Visual SCIL (смотрите руководство "Объекты Visual SCIL").

_FILE_REVISION

Предопределенный VS-объект read-only (только для чтения) и атрибут окна _FILE_REVISION содержит атрибут FILE_REVISION файла изображения, из которого было загружено окно. Для вновь созданного окна этот атрибут пуст.

Значение: Текст (до 255 символов)
Доступ: Только для чтения.
_ATTRIBUTE_NAMES

Тип значения: Список

Значение: Атрибут USER_DEFINED: Текстовый вектор, содержащий имена определяемых пользователем атрибутов, то есть атрибутов, созданных командой .MODIFY (или командой .SET в контексте контейнера изображений).
  Атрибут PREDEFINED: Текстовый вектор, содержащий имена атрибутов, определенных классом объекта.

Атрибуты не упорядочены.

_CHILD_OBJECTS
Тип значения: Текстовый вектор.
Значение: Имена дочерних объектов данного объекта, перечисленны¬е в порядке создания.
_OBJECT_CLASS
Тип значения: Текст.
Значение: Имя класса объекта.

Если объект является окном или функцией изображения, атрибут имеет значение "WINDOW" или "PICTURE_FUNCTION", соответственно.

_OBJECT_NAME
Тип значения: Текст.
Значение: Имя объекта.
_SOURCE_FILE_NAME
Тип значения: Текст.
Значение: Полное (в формате операционной системы) имя файла 'vso', из которого был загружен объект, или полное имя файла 'pic', из которого было считано окно или функция изображения.
Значение является пустой строкой, если объект создается вновь, то есть с помощью команды .CREATE, !WIN_NAME или !WIN_CREATE.
_VARIABLE_NAMES
Тип значения: Текстовый вектор
Значение: Имена переменных SCIL, определенных в контексте SCIL, которому принадлежит объект.

Примечание: Имена переменных не упорядочены.

_SG_GEOMETRY

Данный атрибут не используется для объектов Visual SCIL.

Тип значения: Список.
Значение: Атрибут X: X-позиция окна/функции изображения относительно части изображения/функции изображения.
Атрибут Y: Y-позиция окна/функции изображения относительно части изображения/функции изображения.
Атрибут ABSOLUTE_X: X-позиция окна/функции изображения относительно ROOT.
Атрибут ABSOLUTE_Y: Y позиция окна/ функции изображения относительно ROOT.
Атрибут W: ширина окна/функции изображения в полуграфических символах.
Атрибут H: высота окна/функции изображения в полуграфических символах.
Если окно не отображено на экране, то W и H равны 0.

Оглавление


По материалам © ABB
Категория: Scil | Добавил: RAZ
Просмотров: 940 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]