Структура XML-файла

В этом разделе описывается структура XML-файла. Свойства файла аналогичны таблице свойств в GEDI. Это означает, что в XML-файле доступны те же свойства, что и в таблице свойств.

Структура файла панели XML показана на следующем рисунке:

Рисунок: Структура файла панели XML

Файл начинается и заканчивается с XML-тега <panel>. Внутри обоих тегов присутствуют все индикаторы панелей.

Внутри тегов <properties> сохраняются все свойства этой панели, например, размер, цвет фона, положение и т.д..

Содержание тега <events> описывает все определенные события панели (инициализация, нажатие кнопки, закрытие и т.д.).

Тег <layers> содержит информацию о видимых слоях панели.

Тег <> содержит всю необходимую информацию об объектах этой панели.

Структура XML-файла будет внимательно рассмотрена с помощью простого примера. Этот пример представляет собой панель с одним типом объекта (кнопка) и создается с помощью GEDI. Пример содержит только один тип объекта, чтобы сначала описать структуру более подробно. Другие объекты, такие как простой текст, текстовое поле, поле со списком и т.д. описываются позже в разделе Типы объектов. Панель содержит событие, которое выполняется при открытии панели. Также кнопки панели содержат события. Одна ссылка будет добавлена на панель, чтобы продемонстрировать использование ссылок.  

ПРИМЕР ФАЙЛА ПАНЕЛИ, СОДЕРЖАЩИЙ КНОПКИ И ССЫЛКУ

  1. Запустите свой проект.
  2. Открывается редактор GEDI.
  3. Создайте панель под названием OpenPanel с тремя кнопками.
  1. Расположите кнопку под названием “jumpLeft” в верхнем левом углу панели.
  2. Выберите для кнопки изображение «jumpLeft.bmp» из папки изображений в каталоге установки «КАСКАД Цифра» с помощью опции редактора атрибутов “Button Label”. (Метка кнопки).
  3. Создайте текст всплывающей подсказки со следующим содержанием: “Move left”. (Передвинуть влево).
  4. Расположите вторую кнопку с именем и меткой кнопки “Open” (Открыть), а также серый цвет фона {204, 204, 204} справа от кнопки “jumpLeft”.
  5. Расположите третью кнопку с именем и меткой кнопки “Close” (Закрыть), а также желтый цвет фона {255, 255, 204} и красный основной цвет {255, 0, 0}, справа от кнопки “Open” (Открыть).
  6. Установите дополнительно коричневый цвет фона при наведении {153, 102, 0} и зеленый основной цвет при наведении {204, 255, 102}. Не забудьте активировать оба цвета! Эти цвета будут использоваться при перемещении курсора мыши над объектом (в данном случае кнопки).
  7. Добавьте на панель ссылку “Led_1”.
  1. Откройте каталог ссылок посредством View->Catalogue->Version path.
  2. Добавьте ссылку “Led_1” из STD_LEDS под кнопками на панель.
  3. Выберите точку данных «ExampleDP_BIT->ExampleDP_AlertHdl1» с помощью селектора точек данных для ссылки.
  4. Активируйте выбор цвета убрав флажок Show current alert state color (Отображать цвет текущего состояния аларма).
  5. Задайте для “Color 0” значение «синий» (цвет светодиода, когда значением точки данных является FALSE) и “Color 1” для STD_led_On (цвет светодиода, когда значением точки данных является TRUE).
  6. Снова поставьте флажок Show current alert state color.

Рисунок: Reference configuration — LED_1.pnl

  1. Добавьте эллипс на панель. Имя объекта эллипса не должно быть изменено.
  2. Панель должна выполнить действие при открытии. При открытии панели значение точки данных ExampleDP_Arg1 устанавливается на 4.5 и отображается всплывающее сообщение «The DP value was set» (Значение ТД было установлено). Если значение не может быть установлено, появляется сообщение «The DP value could not be set» (Значение ТД не может быть установлено). Создайте эти действия для события Initialize (Инициализировать) панели следующим образом:

main()

{

    string dp = «ExampleDP_Arg1.:_original.._value»;

    float val = 4.5; //устанавливаемое значение

    int retVal;

    retVal=dpSet(dp,val); //вызов функции dpSet()

    string uiDp = «_Ui_1»; * точка данных пользовательского интерфейса (собственный интерфейс)для popupMessage

    function */

    if(retVal==0) /*проверка выполнения функции dpSet()

    successfully */

    {

        langString msgText = «The DP value was set»;

      popupMessage(uiDp, msgText);/* показать сообщение (указанное выше) если                                            

         функция выполнена успешно */

    }

    else

    {

        langString msgText = «The DP value could not be set»;

        popupMessage(uiDp, msgText);

    }

    }

  1. Кнопка «jumpLeft» должна также выполнить действие при нажатии. Цвет фона кнопки «jumpLeft» установлен на «синий», а основной цвет кнопки «Open» (Открыть) установлен на «красный». Таким образом, создайте следующий код для кнопки «jumpLeft» (событие Clicked (нажатие)):

main()

{

    jumpLeft.backCol(«Blue»);

    Open.foreCol(«Red»);

}

  1. При двойном щелчке по кнопке «jumpLeft» эллипс должен быть заполнен кнопкой «jumpLeft» и текст кнопки «Open» должен измениться на»jumpLeft». Создайте следующий код для события DoubleClicked (двойной щелчок) кнопки «jumpLeft»

main()

{

  ELLIPSE1.fill(«[pattern,[tile,bmp,jumpLeft.bmp]»);

  Open.text(«jumpLeft»);

}

  1. Сохраните панель в каталоге panels в формате панели (OpenPanel.pnl) и в формате XML (OpenPanel.xml).
  2. Установите значение элемента точки данных ExampleDP_BIT->ExampleDP_AlertHdl1->_original посредством модуля PARA на TRUE
  3. Проверьте панель, запустив ее в режиме быстрого тестирования с помощью GEDI.
  4. При нажатии на кнопку “jumLeft” и перемещении курсора на кнопку “Close”, панель должна выглядеть следующим образом: индикатор мигает цветом состояния аларма цвета (красным), должно быть установлено значение точки данных и должно отобразиться всплывающее сообщение. При двойном щелчке на кнопке “jumpLeft” эллипс будет заполнен узором «смещение-влево», а текст кнопки будет изменено с “Open” на “jumpLeft”.

Рисунок. OpenPanel

  1.  

13. Откройте OpenPanel.xml в Windows Explorer.

Свойства

Рисунок: Свойства панели XML-файла

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

  • Name (Имя) панели (содержит язык и соответствующее имя панели). В случае многоязычного проекта, все языки и соответствующие имена панели перечислены друг под другом в соответствии с этим вариантом.
  • ize (Размер) с указанием размера.
  • BackColor с указанием выбранного цвета фона.
  • RefPoint (расположение: первое число является координатой X, а второе число — координатой Y). Исходная точка доступна для каждого объекта.
  • InitAndTermRef (TRUE) запускает события Initialize (Инициализировать) и Terminate (Прекратить) при использовании панели в качестве ссылки.
  • SendClick отображается если значение было установлено на TRUE в GEDI. Если значением является TRUE, SendClick посылает положение х и y щелчка мыши на панели точкам данных элементов пользовательского интерфейса используемого диспетчера интерфейса. Помимо передачи координат X и Y обеспечивается сохранение соответствующего модуля и панели в точке данных. Таким образом, например, можно запросить координаты последнего щелчка мыши. См. разделы Окно панели и Свойства панели для получения дополнительной информации об этих свойствах.

События

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

Рисунок: События панели в XML-файле

Слои

Восемь различных слоев панели могут быть сделаны видимыми или невидимыми на панели, и иметь или не иметь доступ для редактирования. Для получения более подробной информации о слоях см. главы Свойства графического объекта (стандартная вкладка) и Таблица слоев (редактор слоев).

Рисунок: Свойства слоев XML-файла

Объекты

Структура тега <>почти аналогична структуре панели (свойства, события).  Внутри тэга описаны все свойства и события графического объекта или ссылки. Структуры кнопки «jumpLeft» и ссылки «Led_1» описаны ниже.
 

Рисунок: Свойства панели XML-файла

Свойства PUSH_BUTTON

В свойствах перечислены все свойства объекта. Они почти совпадают с настройками в Attribute Editor (Редакторе атрибутов) в GEDI Свойства зависят от типа графического объекта (в данном случае PUSH_BUTTON). Специфические свойства различных типов объектов описаны в разделе   Типы объектов.

Поэтому здесь описаны только свойства объекта, связанные с XML. Свойства, которые можно выбрать в GEDI Attribute Editor (Enable, Visible, ForeColor, BackColor, Type и Image) описаны в разделе Свойства графического объекта (обычная вкладка).

  • ShapeType— тип графического объекта (эллипс, кнопка, полигон и т.д.)
  • LayerID — определяет видимый слой этого объекта
  • Name — имя объекта
  • SerialId — номер по возрастанию для объектов панелей. Он является важным, когда панель используется в качестве ссылки. Объекты ссылки определяются с помощью этого идентификатора при переопределении. Более подробная информация о ссылках и переопределении приведена в разделе Свойства ссылок и переопределение. Растровые изображения объектов пронумерованы в соответствии с порядковыми номерами объектов. Растровое изображение объекта с серийным номером 0 называется 0.bmp.
  • RefPoint — расположение: : первое число является координатой X, а второе число — координатой Y).
  • TabOrder — порядок, в котором объекты адресуются и активируются в модуле VISION (в режиме исполнения) с помощью клавиши табуляции. См. раздел Список объектов (порядок перехода по клавише табуляции).
  • ToolTipText — комментарий, который отображается при перемещении курсора мыши над объектом. Текст всплывающей подсказки может быть задан на различных языках. В XML-файле отображаются все тексты с соответствующим языком.
  • BorderStyle — определяет свойства границ — «normal», «3D», «sunken» или «raised».
  • Font — определяет стиль шрифта. Для каждого языка можно выбрать индивидуальный шрифт.
  • Location— расположение в модуле GEDI
  • Size— размер объекта
  • SharedPixmap — отображает имена файлов и количество используемых изображений в графическом объекте

События PUSH_BUTTON

В тегах событий можно найти все определенные события графического объекта. На рисунке выше показаны события Clicked (щелчок) и Doubleclicked (двойной щелчок), которые были определены для кнопки «jumpLeft» в предыдущем примере.

Свойства PANEL_REF1

Рисунок: Ссылка в XML-файле

На рисунке выше показана XML-структура в ссылке «Led_1», которая была добавлена к панели.

  • ReferenceId — номер по возрастанию для ссылок панелей, который используется для переопределения. Ссылки, которые были переопределены, идентифицируются с помощью этого идентификатора, если к панели было добавлено несколько ссылок.
  • Name — имя ссылки
  • ParentSerial — серийный номер объекта, который был переопределен. Ссылка идентифицируется по этому номеру, если в одной панели используется более чем одна ссылка.
  • FileName — имя файла
  • Location — расположение в модуле GEDI
  • Geometry — геометрические характеристики угла поворота
  • TabOrder порядок, в котором объекты адресуются и активируются в модуле VISION (в режиме исполнения) с помощью клавиши табуляции. См. раздел Список объектов (порядок перехода по клавише табуляции).
  • dollarParameters — показывает $-параметры ссылки. $-параметр является символом-заполнителем для идентификатора точки данных. Преимуществом использования ссылок является то, что при наличии нескольких (объектов) индикаторов или клапанов и т.д., их необходимо изменить, не придется изменять каждый клапан отдельно — можно просто изменить «Parent» (Родительский) объект и все дочерние объекты будут изменены. Более подробная информация о $-параметрах приведена в разделе Свойства ссылок и переопределение.
    $b_ShowAlert — если значение TRUE, отображаются все случаи обработки алармов
    $dpe_value — значение точки данных, которое определяет обработку алармов (в данном случае «ExampleDP_AlertHdl1»)
    $s_colOff — определяет цвет аларма, когда он выключен
    $s_ColOn — определяет цвет аларма, когда он включен

ПРИМЕЧАНИЕ

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

Третья кнопка «Close» (Закрыть) включает свойства «HoverBackCol» и «HoverForeCol». Цвет фона и основной цвет кнопки меняются при движении над ней курсора мыши..

Рисунок: Свойства HoverBackCol и HoverForeCol XML-файла

Поскольку структуры кнопок практически одинаковы, они не будут описаны в этом разделе отдельно. XML-структура эллипса описана в разделе Типы объектов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *