Формат панелей XML (Extensible Markup Language) позволяет создавать панели «КАСКАД Цифра» С помощью формата XML можно создать целые структуры панелей, а затем преобразовывать все панели собственной структуры в формат «КАСКАД Цифра» Таким же образом можно преобразовывать панели «КАСКАД Цифра» в формат XML.
В этом разделе описаны типы объектов, которые могут быть преобразованы в XML или из XML в формат «КАСКАД Цифра» Поскольку все объекты содержат такие свойства, как имя, цвет фона и основной цвет, порядок табуляции, тип, RefPoint, ToolTipText и serialId, и они были уже описаны в разделе Структура XML-файла, в этой главе описываются только специфические свойства каждого объекта.
Примите во внимание, что конфигурация форма панели трендов не может быть преобразована в XML, поэтому панель трендов не должна использоваться внутри XML-панели.
«»BorderOffset» определяет расстояние между текстом и границами.
«»Bordered» определяет видимость границ.
«»Distance» определяет расстояние между строками.
«»Fit«. Можно настроить размер текстового окна в соответствии с текстом, используя свойство Fit. Если установить свойство Fit в значении TRUE, поле для простого текста изменяется в соответствии с длиной текста. Если свойство Fit установлено в значении FALSE, можно задать любой размер текстового поля с помощью мыши.
«»Location» — начальное положение текста. Исходя из этого рассчитывается выравнивание.
Рамка
«»BorderStyle» — определяет, являются ли границы «normal» (обычными), «3D«, «sunken» (утопленными) или «raised» (выступающими).
Geometry — определяет угол поворота и масштаб. Значение не должно определяться в XML-файле, а определяется с использованием GEDI из-за своей сложности.
Closed — определяет, отображается ли полигон как закрытый объект.
Points — определяет расположение точки соединения между двумя краями.
Сектор
Объекты круг, сектор и эллипс содержат те же параметры, что и объекты, описанные ранее. Кроме того, они содержат
«X-Radius«- горизонтальный радиус.
«X-Radius«- горизонтальный радиус.
«Center» — центральная точка.
«Closed» — указывает стиль сектора: «No Chord«(значение Closed = 0), «Pie» (значение Closed = 1) или «Chord» (значение Closed = 2).
«Start» и «End» — указывает, где сектор начинается и заканчивается. Значения эквивалентны значениям лево, право, верх и низ в GEDI.
Кнопка проверки, кнопка переключения, выпадающий список и список выбора содержат два новых свойства.
Listitems — элементы списка. Элементы могут быть выбраны путем выбора селектора, переключателя, выпадающего списка и списка выбора. Элементы представлены на каждом языке (если определено), в случае многоязычного проекта.
Select — указывает, является ли элемент выбираемым.
Кнопки кольцевого списка предусмотрены для выбора только одной опции из последовательности предварительно заданных вариантов, расположенных в логическом порядке. В дополнение к свойствам, описанным ранее, кнопка кольцевого списка содержит
Editable — определяет, возможно ли редактирование текста
TextFormat — параметры определяют формат текста в следующем порядке: [длина + тип данных, пусто если ноль?, ноль в начале?, выравнивание, экспоненциальный?]
В этом разделе описывается структура XML-файла. Свойства файла аналогичны таблице свойств в GEDI. Это означает, что в XML-файле доступны те же свойства, что и в таблице свойств.
Структура файла панели XML показана на следующем рисунке:
Рисунок: Структура файла панели XML
Файл начинается и заканчивается с XML-тега <panel>. Внутри обоих тегов присутствуют все индикаторы панелей.
Внутри тегов <properties> сохраняются все свойства этой панели, например, размер, цвет фона, положение и т.д..
Содержание тега <events> описывает все определенные события панели (инициализация, нажатие кнопки, закрытие и т.д.).
Тег <layers> содержит информацию о видимых слоях панели.
Тег <> содержит всю необходимую информацию об объектах этой панели.
Структура XML-файла будет внимательно рассмотрена с помощью простого примера. Этот пример представляет собой панель с одним типом объекта (кнопка) и создается с помощью GEDI. Пример содержит только один тип объекта, чтобы сначала описать структуру более подробно. Другие объекты, такие как простой текст, текстовое поле, поле со списком и т.д. описываются позже в разделе Типы объектов. Панель содержит событие, которое выполняется при открытии панели. Также кнопки панели содержат события. Одна ссылка будет добавлена на панель, чтобы продемонстрировать использование ссылок.
ПРИМЕР ФАЙЛА ПАНЕЛИ, СОДЕРЖАЩИЙ КНОПКИ И ССЫЛКУ
Запустите свой проект.
Открывается редактор GEDI.
Создайте панель под названием OpenPanel с тремя кнопками.
Расположите кнопку под названием “jumpLeft” в верхнем левом углу панели.
Выберите для кнопки изображение «jumpLeft.bmp» из папки изображений в каталоге установки «КАСКАД Цифра» с помощью опции редактора атрибутов “Button Label”. (Метка кнопки).
Создайте текст всплывающей подсказки со следующим содержанием: “Move left”. (Передвинуть влево).
Расположите вторую кнопку с именем и меткой кнопки “Open” (Открыть), а также серый цвет фона {204, 204, 204} справа от кнопки “jumpLeft”.
Расположите третью кнопку с именем и меткой кнопки “Close” (Закрыть), а также желтый цвет фона {255, 255, 204} и красный основной цвет {255, 0, 0}, справа от кнопки “Open” (Открыть).
Установите дополнительно коричневый цвет фона при наведении {153, 102, 0} и зеленый основной цвет при наведении {204, 255, 102}. Не забудьте активировать оба цвета! Эти цвета будут использоваться при перемещении курсора мыши над объектом (в данном случае кнопки).
Добавьте на панель ссылку “Led_1”.
Откройте каталог ссылок посредством View->Catalogue->Version path.
Добавьте ссылку “Led_1” из STD_LEDS под кнопками на панель.
Выберите точку данных «ExampleDP_BIT->ExampleDP_AlertHdl1» с помощью селектора точек данных для ссылки.
Активируйте выбор цвета убрав флажок Show current alert state color (Отображать цвет текущего состояния аларма).
Задайте для “Color 0” значение «синий» (цвет светодиода, когда значением точки данных является FALSE) и “Color 1” для STD_led_On (цвет светодиода, когда значением точки данных является TRUE).
Снова поставьте флажок Show current alert state color.
Рисунок: Reference configuration — LED_1.pnl
Добавьте эллипс на панель. Имя объекта эллипса не должно быть изменено.
Панель должна выполнить действие при открытии. При открытии панели значение точки данных 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);
}
}
Кнопка «jumpLeft» должна также выполнить действие при нажатии. Цвет фона кнопки «jumpLeft» установлен на «синий», а основной цвет кнопки «Open» (Открыть) установлен на «красный». Таким образом, создайте следующий код для кнопки «jumpLeft» (событие Clicked (нажатие)):
main()
{
jumpLeft.backCol(«Blue»);
Open.foreCol(«Red»);
}
При двойном щелчке по кнопке «jumpLeft» эллипс должен быть заполнен кнопкой «jumpLeft» и текст кнопки «Open» должен измениться на»jumpLeft». Создайте следующий код для события DoubleClicked (двойной щелчок) кнопки «jumpLeft»
Сохраните панель в каталоге panels в формате панели (OpenPanel.pnl) и в формате XML (OpenPanel.xml).
Установите значение элемента точки данных ExampleDP_BIT->ExampleDP_AlertHdl1->_original посредством модуля PARA на TRUE
Проверьте панель, запустив ее в режиме быстрого тестирования с помощью GEDI.
При нажатии на кнопку “jumLeft” и перемещении курсора на кнопку “Close”, панель должна выглядеть следующим образом: индикатор мигает цветом состояния аларма цвета (красным), должно быть установлено значение точки данных и должно отобразиться всплывающее сообщение. При двойном щелчке на кнопке “jumpLeft” эллипс будет заполнен узором «смещение-влево», а текст кнопки будет изменено с “Open” на “jumpLeft”.
Рисунок. OpenPanel
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 присваивается значение.
Структура тега <>почти аналогична структуре панели (свойства, события). Внутри тэга описаны все свойства и события графического объекта или ссылки. Структуры кнопки «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).
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 — геометрические характеристики угла поворота
dollarParameters — показывает $-параметры ссылки. $-параметр является символом-заполнителем для идентификатора точки данных. Преимуществом использования ссылок является то, что при наличии нескольких (объектов) индикаторов или клапанов и т.д., их необходимо изменить, не придется изменять каждый клапан отдельно — можно просто изменить «Parent» (Родительский) объект и все дочерние объекты будут изменены. Более подробная информация о $-параметрах приведена в разделе Свойства ссылок и переопределение. $b_ShowAlert — если значение TRUE, отображаются все случаи обработки алармов $dpe_value — значение точки данных, которое определяет обработку алармов (в данном случае «ExampleDP_AlertHdl1») $s_colOff — определяет цвет аларма, когда он выключен $s_ColOn — определяет цвет аларма, когда он включен
ПРИМЕЧАНИЕ
Примите во внимание, что если вы создаете XML-панель и некоторые свойства отсутствуют, используются свойства по умолчанию. Однако, есть обязательные свойства, которые должны существовать. Если обязательное свойство не существует панель является недействительной и будет показано сообщение.
Третья кнопка «Close» (Закрыть) включает свойства «HoverBackCol» и «HoverForeCol». Цвет фона и основной цвет кнопки меняются при движении над ней курсора мыши..
Рисунок: Свойства HoverBackCol и HoverForeCol XML-файла
Поскольку структуры кнопок практически одинаковы, они не будут описаны в этом разделе отдельно. XML-структура эллипса описана в разделе Типы объектов.
В этой главе описываются две возможности преобразования формата.
Преобразование с помощью GEDI или VISION, когда одновременно может быть импортирована только одна панель.
Преобразование с помощью параметра командной строки, когда преобразуются несколько или все панели, а также целый каталог с панелями.
ВНИМАНИЕ!
Примите во внимание, что конфигурация форма панели трендов не может быть преобразована в XML, поэтому панель трендов не должна использоваться внутри XML-панели.
Преобразование в GEDI или VISION
С помощью GEDI или VISION в формат XML/»КАСКАД Цифра» могут быть преобразованы одиночные панели. Панели, которые были преобразованы в формат XML, можно редактировать в соответствии со схемой XML, и снова преобразовывать обратно в формат «КАСКАД Цифра» в любое время.
ЭТО СПОСОБ ПРЕОБРАЗОВАНИЯ ПАНЕЛИ
Реальный процесс преобразования незаметен для пользователя. Необходимо только сохранить панель в формате, в который требуется преобразовать панель.
Нажмите меню Panel в GEDI или VISION во вкладке Save Panel As (Сохранить панель как).
Откроется диалоговое окно.
Выберите место сохранения преобразованной панели в каталоге \panels
Введите имя файла панели.
Выберите тип файла, в который должна быть преобразована панель (*.pnl или *.xml).
Подтвердите нажатием Save (Сохранить).
Преобразованная или отредактированная панель может быть открыта в обоих форматах в GEDI или VISION таким же образом (Panel->Open Panel>).
Параметры командной строки
Также можно использовать параметры командной строки для преобразования нескольких или всех панелей, а также целых каталогов. Введите следующие параметры в командную строку менеджера интерфейса пользователя.
Параметр
Описание
-xmlConvert
Рекурсивно преобразует все панели, которые находятся в каталоге panels. После использования этого параметра каждая панель существует только в одном экземпляре в каждом формате (XML и «КАСКАД Цифра»).Этот вариант подразумевает параметр «-n», который позволяет избежать подключения к WCCOAevent.Примечание:Этот параметр преобразует все панели и игнорирует тот факт, что панель уже существует в преобразованном состоянии!Если панель уже существует в обоих форматах, выдается сообщение об ошибке, которое записывается в средство просмотра журналов. Задайте дополнительно параметр «-o», если должны быть перезаписаны уже существующие панели.
-xmlConvert -p <panel>
Преобразует указанную панель.Примечание:При использовании параметра «-p» требуется указание на относительный путь к каталогу \panels.
-xmlConvert -p <startDir>
Рекурсивно преобразует все панели в указанном стартовом каталоге.Примечание: При использовании параметра «-p» требуется указание на относительный путь к каталогу \panels
-o
Перезаписывает существующие файлы.
В следующем примере показано, как преобразовать панель с помощью параметров командной строки. Панель сохраняется в текущем проекте.
Если вы хотите преобразовать панель «line.pnl», введите следующие параметры:
— xmlConvert -p <relative_path>\line.pnl -o
Панель преобразуется и сохраняется в каталоге \panels вашего проекта в первый раз, или заменяет уже существующую панель с тем же именем файла.
ПРИМЕЧАНИЕ
При использовании -xmlConvert в качестве опции командной строки, требуется использование параметра «-proj», и путь проекта должен быть указан в виде относительного пути!
Установленная версия «КАСКАД Цифра» версии 3.8 или более новая (до версии 3.7.1 преобразование было возможно только с помощью функции импорта/экспорта).
Примите во внимание, что XML-файлы более старых версий, чем 3.8, не читаются и не преобразовываются в связи с изменениями в структуре XML-файла.
Установка
Для использования формата панелей XML требуется стандартный пакет «КАСКАД Цифра» версии 3.8 или более новый. Информацию об установке «КАСКАД Цифра» см. в разделе Установка.
Формат панелей XML (Extensible Markup Language) позволяет создавать панели «КАСКАД Цифра» С помощью формата XML можно создавать целые панельные структуры с внешним инструментом XML, а затем сохранять все панели этой структуры с помощью GEDI или VISION в специальном формате «КАСКАД Цифра» Таким же образом можно создавать панели в «КАСКАД Цифра» и сохранять их в формате XML.
Для преобразования панелей в формате «КАСКАД Цифра» в формат XML, или наоборот, доступны следующие варианты:
Создайте панель с помощью GEDI и используйте функцию сохранения в Panel menu Save Panel для одновременного преобразования и сохранения панели. Таким же образом можно преобразовать XML-панель в панель «КАСКАД Цифра»
Используйте параметр командной строки, чтобы автоматически преобразовать несколько или все панели или целые каталоги.
XML — это формат для структурированных документов и данных в Интернете. Он имеет больше возможностей, чем HTML (Hypertext Markup Language), который используется для отображения документов в веб-браузере, и проще в использовании, чем SGML (Standard Generalized Markup Language), который используется для определения сложных структур документов. XML является упрощенным диалектом SGML, который сочетает в себе преимущества SGML (определение структуры документа) и HTML (простота использования).