База ГОСТовallgosts.ru » 25. МАШИНОСТРОЕНИЕ » 25.040. Промышленные автоматизированные системы

ГОСТ Р ИСО 20242-4-2012 Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 4. Шаблон профиля возможностей устройств

Обозначение: ГОСТ Р ИСО 20242-4-2012
Наименование: Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 4. Шаблон профиля возможностей устройств
Статус: Действует

Дата введения: 01/01/2014
Дата отмены: -
Заменен на: -
Код ОКС: 25.040.40
Скачать PDF: ГОСТ Р ИСО 20242-4-2012 Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 4. Шаблон профиля возможностей устройств.pdf
Скачать Word:ГОСТ Р ИСО 20242-4-2012 Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 4. Шаблон профиля возможностей устройств.doc


Текст ГОСТ Р ИСО 20242-4-2012 Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 4. Шаблон профиля возможностей устройств



ФЕДЕРАЛЬНОЕ АГЕНТСТВО

ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ


НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ


ГОСТ Р исо 20242-4 — 2012


Системы промышленной автоматизации

и интеграция

СЛУЖЕБНЫЙ ИНТЕРФЕЙС ДЛЯ ИСПЫТАТЕЛЬНЫХ ПРИКЛАДНЫХ ПРОГРАММ

Ч а с т ь 4

Шаблон профиля возможностей устройства

ISO 20242-4:2011

Industrial automation systems and integration —

Service interface for testing applications —

Part 4: Device capability profile template (IDT)

Издание официальное

Предисловие

1    ПОДГОТОВЛЕН АНО «Международная академия менеджмента и качества бизнесам на основе собственного аутентичного перевода на русский язык международного стандарта. указа*»юго в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 100 «Стратегический и инновационный менеджмент»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 ноября 2012 г No 1716-ст

4    Настоящий стандарт идентичен международному стандарту ИСО 20242-42011 «Системы промышленной автоматизации и интеграция. Служебный жтерфейс для ислытате/ъных прикладных программ. Часть 4. Шаблон профиля возможностей устройства» (ISO 20242-4:2011 «Industrial automation systems and integration — Service interface for testing applications — Part 4: Device capability profle template»).

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТ Р f.0— 2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты». а официальные текст изменений и поправок — в ежемесячном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агенстеа по техническому регулированию и метрологии в сети Интернет (gosLnj)

© Стандарт>ыформ. 2014

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

Содержание

Приложение В (справочное) Шаблоны профилей возможностей устройства для промышленного

Приложение С (справочное) Шаблоны профилей возможностей открытого сетевого робототехничеооого

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

Введение

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

Основной целью комплекса международных стандартов ИСО 20242 является обеспечение:

-    независимости пользователя от операционной системы:

•    независимости пользователя от технологии соединения (интерфейс устройства/сетъ);

•    независимости пользователя от поставщиков устройств:

-    возможности сертификации драйверов устройств с подсоедине*#«ыми к him устройства*»* и выбранными режимами работы (с учетом используемой компьютерной платформы):

•    независимости пользователя от последующих технологических усовершенствований устройств.

Стандарты комплекса ИСО 20242 не распространяются на разработку новых семейств устройств или

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

Комплекс стандартов ИСО 20242 включает в себя требования, распространяющиеся на:

-    служебный интерфейс для управления ресурсами;

-    служебный интерфейс виртуального устройства:

-    шаблон функциональных характеристик устройства;

-    служебный интерфейс прикладных программ;

-    методы проверки на совместимость, критерии и отчеты о проведенных проверках.

Комплекс стандартов ИСО 20242 состоит из следующих частей:

-    часть 1: Общий обзор;

-    часть 2: Служебный интерфейс управления ресурсами.

•    часть 3: Служебный интерфейс виртуального устройства:

-    часть 4: Шаблон профиля возможностей устройства.

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Системы промышленной автоматизации и интеграция СЛУЖЕБНЫЙ ИНТЕРФЕЙС ДЛЯ ИСПЫТАТЕЛЬНЫХ ПРИКЛАДНЫХ ПРОГРАММ

Ч а с т ь 4

Шаблон профиля возможностей устройства

Industrial automation systems and mtegration.

Service interface for testing applications.

Part 4. Device сараЫНу profile template

Дата введения — 2014—01—01

1    Область применения

В настоящем стандарте определены правила форматирования, а также синтаксические и семантические правила, предназначенные для описания:

• фужциональных возможностей (далее — возможности) устройства и координатора (согласующего устройства) с использованием XML схем и

- конфигурации устройств на языке XML.

Примечание — Настоящий стандарт не распространяется на оомфигураидо согласующего устройства, одоако этот вопрос будет вк/жмен в следующее издание настоящего стандарта или в дополнение к нему.

2    Нормативные ссылки

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

ИС015745-1:2003 Системы промышленной автоматизации и интеграция. Прикладная среда интегрирования открытых систем. Часть 1. Общее эталонное описание (JSO/1EC15745-1:2003. Industrial automation systems and integration—Open systems applicabon integration framework — Part 1: Generic reference description)

И CO 20242-1 Системы промышленной автоматизации и интеграция. Служебный интерфейс для испытательных прикладных программ. Часть 1. Общие сведения (ISO 20242-1. Industrial automation systems and integration — Service interface for testing appfications — Part 1: Overview)

ИСО 20242-3 Системы промышленной автоматизации и интеграция. Часть 3. Служебный ютерфейс для испытательных прикладных программ (ИСО 20242-31. Industrial automation systems and integration — Service interface for testing applications — Part 3: Virtual device service interface)

3    Термины и определения

В настоящем стандарте используются термины, определенные в ИСО 20242-1 и ИСО 20242-3. а также следующие термины с соответствующими определениями:

3.1    объект связи (communication object): Объект, с которым может быть установлено коммуникационное соединение для записи или считывания значений параметров.

[ИСО 20242-1:2005. лу>ест 2.3)

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

[ИСО 20242-1:2005. пункт 2.4]

Издание официальное

3.3    профиль возможностей согласующего устройства (coordinator capability description): Текстовый файл, содержащий имформацдо о функциональных характеристиках виртуальных устройств, зарегистрированную в установленном формате (т. е. с заданной структурой, синтаксисом и т. д.).

[ИСО 20242-1:2005. пункт 2.5]

3.4    описание возможностей устройства (device capabirty description): Информаций о функциональных возможностях виртуальных устройств.

[ИСО 20242-3:2011. раздел 3.2)

3.5    драйвер устройства (device driver): Компьютерный программный модуль, обеспечивающий интерфейс с сервисными (служебными) функциями (согласно ИСО 20242) и открывающий доступ адаптера платформы к физическим устройствам.

[ИСО 20242-2:2010. пункт 3.1]

3.6    функциональный объект (function object): Класс или экземпляр класса, определяющий одну функциональную возможность виртуального устройства.

[ИСО 20242-3:2011. пункт 3.4]

3.7    операция (operation): Класс или экземпляр класса, определяющий одну законченную процедуру.

[ИСО 20242-3 2011. пункт 3.5]

3.8    параметрическое описание экземпляра класса (parameterization distance description): Информация о конфигурациях согласующего устройства (координатора) и виртуальных устройствах.

3.9    виртуальное устройство (virtual device): Представление одного или нескольких физических устройств и/или автономных программных объектов для предоставления одиоэна««юго мнения относительно ресурсов интерфейса связи.

[ИСО 20242-3 2011. пункт 3.7]

4    Сокращения

OCD — описание возможностей согласующего устройства (координатора) (Coordinator Capability Description);

DCO — описание возможностей устройства (Device Capability Description);

DCPT — шаблон профиля возможностей устройства (Device Capability ProAe Template);

P1D — паоаметричесхое описание экземпляра класса (Parameterization Instance Description);

VD — виртуальное устройство (Virtual Device);

VDSJ — служебный интерфейс виртуагъного устройства (Virtual Device Service Interface);

>M_ — расширяемый язык разметки (extensible Markup Language).

5    Концепция профиля возможностей устройства

5.1 Общие положения

На рисунке 1 приведена диаграмма классов, используемых е концепции профиля возможностей устройства в соответствии с настоящим стандартом. Обобщенный шаблон профиля возможностей устройства (далее — DCPT-шаблон) определяют на основе использования обобщенном информации, получаемой из шаблона профиля обмена данными по ИСО 15745-1. Зависящий от выбираемой технологии DCPT-шаблон дополняет обобщенный DCPT-шаблон, что позволяет описывать возможности устройства на языке XML. DCD-описание позволяет дополнить зависящий от выбираемой технологии DCPT-шаблон и описать возможности согласующего устройства на языке XML. CCD-описание позволяет импортировать DCD-описание драйверов устройств и сделать описание возможностей системы. PlD-описание определяют путем создания экземпляра CCD-onисамия (связь один к одному) и DCD-опи-саиия (связь один но многим). PlD-описание является реализацией профиля информационного обмена данными согласно ИС015745-1 и может использоваться вместе с другими профилями, указанными в настоящем стандарте.

Рисунок 1 — Диаграмма классов, используемая в кониепиж профиля возможностей устройства

На рисунке 2 приведена диаграмма CCD- и DCD-класоое. используемых в дайной концепции. Обобщенный DCPT-шабпон позволяет определить совокупность обобщенных CCD- и DC D-описаний. Обобщенное CCD-описание характеризует обобщенные возможности согласующего устройства, обобщенное DC D-описание — обобщенные возможности виртуального устройства. Зависящий от выбираемой технологии CCD-класс в зависящем от технологии DCPT-классе содержит обобщеююе CCD-описание и характеризует зависящие от технологии возможности согласующего устройства. Зависящий от выбираемой технологии DCD-класс содержит обобщенное DCO-описание и характеризует зависящие от выбираемой технологии возможности виртуальных устройств.

Рисунок 2 — Диаграмма CCD- и DC D-классов

Зависящий от согласующего устройства CCD-класс входит в зависящий от технологии CCD-класс и характеризует зависящие от согласующего устройства возможности. Имя объекта в зависящем от согласующего устройства CCD-классе может быть задано с помощью зависящего от устройства имени. Обобщенные CCD- и DCD-классы состоят в неразрывной связи, поэтому зависящий от согласующего устройства CCD-класс и зависящий от устройства DCD-класс связаны между собой. CCD-класс позволяет импортировать DCD-олисания драйверов устройств. Экземпляр CCD-класса в PID-клэссе позволяет использовать зависящий от выбираемого согласующего устройства CCD-класс в виде XML-схемы и записать его как XML-экэемпляр. Имя XML-тэга экземпляра CCD-класса будет совладать с именем зависящего от выбираемого согласующего устройства CCD-класса, а имя XML-тэга экземпляра DCD-класса — с именем зависящего от выбираемого устройства DC D-класса.

S.2 Процедура создания DCD-. CCD- и РID-описаний

5.2.1 Общие положения

Рисунок 3 иллюстрирует процедуру создания DCD- и CCD-описаний. В разделе 6 настоящего стандарта в рамках XML-яэыка определен обобщенный DCPT-шаблон. Технология каждого служебного интерфейса определяет зависящие от выбираемой технологии возможности и зависший от выбираемой технолог** DCPT-шаблон.

Примечание — Описамся зависших от выбираемой твхиопопы DCPT-шаблонов для обобщенного интерфейса устройства (GDI) AS AM и техно лопы совместного использования информации для обмена данжаги (МЮХ-технология) приведены в приложениях А и В.

Поставщик устройства или оборудования расширяет часть зависящих от выбираемой технологии DCD-описаний в зависящем от выбираемой технологии DCPT-шаблоне и приводит возможности драйвера для этого устройства или оборудования в DCD-описамии. а затем предоставляет его вместе с драйвером устройства. Поставщик согласующего устройства расширяет часть зависящих от выбираемой технологии CCD-описаний в зависящем от выбираемой технологии DCPT-шаблоне и приводит возможности этого согласующего устройства в CCD-описании. В средствах конфигурирования используются CCD-описания, которые позволяют импортировать требуемые DCD-олисания и создавать PID-описание. содержащее описания всех требуемых экземпляров классов с их именами и численными значениями. Согласующее устройство обеспечивает считывание PID-огмсания. осуществляет его инсталляцию, конфигурирование устройств и обеспечивает служебный интерфейс прикладных программ после применения ИСО 20242-5.


Coordinator

Parameters

and
Device

Configurations

Примечание — Объекты в виде цилиндров означают XML-файлы. а объекты в виде листков — информацию относительно функциональных возможностей (ФВ) и конфигурации. Сплошные стрелки на диаграмме указывают на созда»** XML-фэйла. стрелки в виде точек — на ввод информации относительно ФВ. а пунктирные стрелки — на применение шаблона.

Generic DCPT (XML Schema) — файл обобщенного DCРТ-шаблона (с ХМL-структурой); Generic DCD — обобщенное РСО-опис»мо: Generic CCD — обобщежюе CCD-олисаьме: Technology specific capabilities — формация относительно зависящих от технологии возможностей: Extension — расширемю: Technology-specific DCPT (XML Schema) — файл зависящего от технолог** DCPT—шаблона (с XML-структуром): Technotogy-speorfic DCD — зависящее от технологии DCD-oписаные. Technology-specific CCD — зависящее от технологии ССВ-огысамо: Device capabilities — возможности устройства: DCD (XML Schema) — файл DCD-onnca*iH устройства (XML-схема) Import — импорт: ССО (XML Schema) — файл CCD-описания; Coordinator parameters and device сопбдааlions — информация о параметрах согласующего устройства и конфигурации устройства: PID (XML Instance) — файл РID-описания (XML-экэемлляр класса): Coordinator capabiities — возможности согласующего устройства.

Рисунок 3 — Блок-схема процедуры создамся CCD- и DCD-огмсаний

5.2-2 Описание возможностей устройства (ОСО-описание)

DCD-onncatue обычно содержит:

•    идентификационную информацию относительно драйвера устройства.

- описание возможностей виртуальных устройств, поддерживаемых драйвером.

5.2.3    Описание возможностей согласующего устройства (ССО-олисание)

ССО-олиса»**е обычно содержит:

•    идентификационную информацию, относящуюся к программному обеспечению согласующего устройства:

•    описание возможностей согласующего устройства:

•    информащео об аттестации служебного интерфейса, поддерживающего прикладные программы.

5.2.4    Параметрическое описание экземпляров класса (РЮ-олисаиие)

PID-олисание обычно содержит:

•    идентификационную информацию, относящуюся к PlD-олисанию профиля обмена информацией по ИС015745:

•    параметрическое описание экземпляров класса с зависящими от выбираемого приложения именами.

•    конфигурационные данные для драйверов устройств.

6 Обобщенный шаблон профиля возможностей устройства

6.1    Общие сведения

Обобщенный DCPT-шаблом позволяет определить общую структуру ОСРТ-шабоона. не зависящую от технической реализации служебного интерфейса. Зависящий от выбираемой технологии DCРТ-шаблон является дополнительным к обобщенному DCPT-шабпону.

6.2    Модель обобщенного ОСРТчиаблона

Обобщенный DCPT-шаблон использует шаблон профиля обмена обобщенной информацией, получаемый согласно ИСО 15745-1 в качестве основы и дополненный информацией относительно модели VDSI-интерфейса согласно ИСО 20242-3 и ИСО 20242-5 (служебный интерфейс прикладных программ). На рмсумке 4 представлена структура классов обобщенного DCPT.шаблона. Профиль обмена информацией является корневым классом и содержит заголовок по ИС015745. а также основной текст по ИС015745. заголовок по ИС015745 содержит идентификационную информацию, относящуюся к используемому профилю. Основной текст по ИС015745 содержит одно или несколько обобщенных CCD-описаний. Профиль обмена информацией, заголовок по ИС015745 и основной текст по ИС015745 определены в ИС015745-1.

Обобщенное CCD-описание относится к абстрактному классу и характеризует обобщенные возможности согласующего устройства. Номер обобщенного CCD-описания совпадает с номером этого устройства.

Обобщенное ССО-олисание содержит обобщение DCD-описания. Обобщенное DCD-описание относится к (принадлежит) абстрактному классу и характеризует обобщенные возможности драйвера устройства. Номер обобщенного DCD-олисаиия совпадает с номером этого драйвера.

Обобщенное DCD-описание содержит описания виртуальных устройств, которые относятся к (принадлежат) абстрактному классу и характеризуют обобщенные возможности виртуального устройства.

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

Функциональный объект содержит объекты связи и рабочие операции.

Объект связи относится к (принадлежит) абстрактному классу и характеризует обобщенные возможности объекта связи, определенные в ИСО 20242-3.

Рабочая операция относится к (принадлежит)абстрактному классу и характеризует обобщенные возможности этой операции, определенные в ИСО 20242-3.

Рмгуыгмг 4 — Диаграмма оитпв мрлопи пМмцяммпт ПГРТ^пмглммв

6.3 XML-схема для обобщенмсго ОСРТ-шаблона

XML-схема для обобщенного DCPT-шабпона содержится в шаблоне профиля обмена информацией (см. рисунок 5). включает в себя X ML-схему для обобщенного CCD-описания и относится к элементу этого описания.

<?xml versioo=*1 .0" encoding=nJTF-3* standalone='yes*?>

<xsd:scfiemaxmlns:xsd="http7"

xгnJлs=^tф7

targetNanvespace=aTmp:/

etefnentFormDefault=\jualifie<r>

<xsd:annota6on>

<xsd:app«nfo source=DCPTHeader.xs<r>

<DCPTHeader>

<D№TI0eniiticalion>GenencOCPT</DCPTIdenlification>

<OCPTRevtsion>1.0<tf)CPTRev»sion>

<DCPTName>Genefic OCPT</DCPTName>

<OCPTSoorce>GenencOCPT.xs(K/DCPTSoorce>

<DCPTDate>2011-07-01</DCPTDate>

</DCPTHeader>

</xsd:appinfo>

</xsd:annotabon>

<!- * Include GenericCCD * ->

<xsd:indude sctemaLocatkw=’GenericCCD.xsd7>

<!- * IS015745 Profile Root * ->

<xsd:etemem name="IS015745Profile*>

<xsd: complexly pe>

<xsd .sequence >

<xsd:element ref=**ProfileHeader*/>

<xsd:e4ement ref="Prof4eBody7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<!— * HEADER DATA TYPES • ->

<xsd:elemer* name="Profile Header" >

<xsd:comp*exType>

<xsd:sequence>

<xsd:eleroent name="Profileldentff*catione type**xsd:string7>

<xsd element name=“ProfieRevision* type="xsd:string7>

<xsd:element name="ProfileName" type=7csd:string7>

<xsd: element name="Profile Source" type=*xsdstnng7>

<xsd:element name=*ProfileClasslD* type=*ProfiteClassiD_DataType" fixed^7nformabonExchange7>

<xsd:element name=*ProfileDate" type="xsd:date"

minOccurs^Tr/»

<xsd:element name= "Additional Informatxxi" type=*xsd:anyURr minOccurs-*07> <xsd:etement name="lSO15745Reference" type="lSO15745Refereoce_DataType7> <xsd. element name="lASInterfaceType" type="lASInterface_DataType" fixed="CSr mtnOccurs="0" maxOccurs="unbounded7>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:comp*exType name="IS015745Reference_DataTypem>

<xsd:sequence>

<xsd:element name="IS01574SPart" type=*xsd:stnng" fixed=*17>

<xsd:element name=*lS015745Editk>n* type="xsd:string" fixed="17>

<xsd:eiement name=“ProfiieTechnology type=*xsd: string"

</xsd:sequence>

</xsd:complexType>

<xsd:simpleType name="ProtleClasslD_DataType*>

<xsd:restricbon base=“xsd:string">

<xsd:enumeration value=‘AI P7>

<xsd:enumeration value="Pfocess7>

<xsd:enumeration vakje='lnformation Exchange"/**

<xsd:enumerat>on valuer "Resource"/^

<xsd. enumeration vaJue="Devic87>

<xsd.enumeratxxi value=*CommunicationNetwortc7>

<xsd:enumerabon vakje="Equipment7>

<xsd:enumeration value="Human7>

<xsd:enu me ration value=*Matenal7>

</xsd: restriction*

</xsd:simpleType>

<xsd:simpleType name="IASInterface_DataType“>

<xsd:union>

<xsd:simpleType>

<xsd:restric6on base=’xsd:string">

<xsd:enumeration value="CSI7>

<xsd:enumeration value="HCI7>

<xsd:enumeration value="ISI7>

<xsd:enumeration value=*API7>

<xs4:enumeraton valuer "СМ Г/>

<xsd [enumeration value="ESr/>

<xsd:enumeration values" FS ГГ»

<xsd:enumeration value="МТГГ>

<xsd:enumeration value="SEr/>

<xsd:enumerabon values'USrv»

</xsd; restriction»

</xsd:simpleType>

<xsd:simpleType»

<xsdrestrict>on base=*xsd:string"»

<xsd: length valoe="4 7>

</xsd: restriction»

</xsd:simpleType>

</xsd:union»

<Acsd:simpleType»

<!— • BODY SECTION • ~>

<xsd [element name="Profile Body"»

<xsd:complexType»

<xsd :sequence»

<xsd element ref="GenericCCD" maxOccurs="unbounde<r/» </xsd. sequence»

</xsd:complexType»

</xsd element»

</xsd:schema»

Рисунос 5 — XML-схема для обобщенного DCPT-шэбпона

XML-схема для обобщенного CCD-описания содержится в шаблоне обобщенного CCD-описания (см. рисунок 6). включает в себя XML-схему для обобщенного DCD-олисания и относится к элементу этого описания.

<?хлШ version^"! .0" encoding=U7F-8" standak>ne=eyes"?»

<xsd: schema xmlnsixsds"http:VAvww.w3.ofg/2001/XK1LSchema" xmins=*httpJ/www.os*.ch/isonSO20242-4/GenencOCPT" taroetNamesoace=“TntD-/ elementFormDefault="Qualifie<r»

<xsd [annotation»

<xsdepp«nfo source="DCPTHeader.xsd"»

<DCPTHeader>

<DCPTIdentrfication»GeneficCCO</DCPTIdentification»

<DCPTRevtsion»1 (WDCPTRevtsion»

<DCPTName»Genenc CCD<vDCPTName>

<DCPTSource»GenencCCD_xsd</DCPTSoi*ce»

<DCPTDate»2011-07-01</DCPTDate»

</DCPTHeader»

</xsd:appinfo»

</xsd[annotabon»

<!— * Include GenericOCD * -»

<xsd: indude schemaLocatkx>="GenericOCD xsd"/»

<l~ * Elements Dedaration • -»

<xsd [element names"GenencCCD* types’GenencCCDType" abstract="true7»

<xsd[ComplexType name="GenencCCDType" abstract="true"»

<xsd [sequence»

<xsd element ref="GenencDCD" maxOccurs="unbounde<J7»

</xsd [sequence»

<xsd;attribute name="name* type=’xsd:string7»

<xsd: attribute name="category* type=*xsd:string* use="required* fbted="CCDV> </xsd:complexType>

</xsd:scbema>

Рисунок 6 — XML-схеыа для обобпцгочого CCD-описа^чя

XML-схема для обобщенного DCD-олисания содержится е шаблоне обобщенного DCD-олисания (см. рисунок 7) и включает в себя шаблоны для виртуального устройства, функционального объекта, объекта связи и рабочей операции.

<?хлИ versioo=*1.0* encoding =4JTF *3* standaJooe=*Yes~?>

<xsd:schema xmlns:xsd=*httpy" xmlns=‘bttp:// targetNamespace=7it^:/ elementFonmDefault=*qualifie<r>

<xsd:anootabon>

<xsd;app*nfo source=*DCPTHeader.xs<r>

<OCPTHeader>

<DCPTIdenti6cation>GenedcOCO</DCPTIdencifbcatjon>

<OCPTRevision>1.0<yDCPTRevtsion>

<DCPTName>Genenc OCD</DCPTName>

< OCPTSource>GenehcOCO jcsd</DCPTSouroe>

<DCPTDate>2009-03-16</DCPTDate>

</DCPTHeader>

</xsd:appinfo>

</xsd:annotabon>

<!~ * Elements Declaration • ~>

<xsd:etement name=“GenencOCD* type=»GenehcOCDType* abstract="true7>

<xsd:complexType name=“GenencDCDType* abstract=7rue*>

<xsd:sequence>

<xsd:element ref=*Virtua Device* minOcajrs=*0* maxOcajrs="unbounded7>

</xsd:sequence>

<xsd attribute name="name* type="xsd:string,,A>

<xsd:attribute name-*category* type=*xsd:string* use=*reguired“ fixed=“DCD7>

</xsd.comptexType>

<xsd:eftement name=VirtuaDevtce'1 type=*ViftualOevk:eType" abstract=true’/>

<xsd:complexType name="Virtuaff)eviceTypee abstract='true">

<xsd:sequence>

<xsd: element ref^FuncbonObfect" maxOccurs=*unbounded*/>

</xsd:sequence>

<xsd:attribute name="name* type=’xsd:string,,A>

<xsd attribute name^category* type=*xsd:string" use="require<r fixed="MODULE7>

</xsd:complexType>

<xsd:element name^unctionObjecT type=*FunctionObjectType" abstract='4nje7>

<xsd.compJexType name="FuncbonObjectType“ abstract=7rue*>

<xsd:sequence>

<xsd. element mf=*CommunicabonObjecr minCccurs='0“ maxOccurs=NunboundedV>

<xsd element ref=4Operation* minOccurs=*0" maxOccurs=eunbounded7>

</xsd:sequence>

<xsd attribute name="name* type=“xsd;string"/>

<xsd attribute name="category“ type=7csd: string " use=*requtre<r ftxed=1NTERFACE*/>

</xsd:complexType>

<xsd:element name^XommuncabonObjecr

type=*Com mun IcatlooObjectType" abstract=*tmeV>

<xsd:comptexType name=Xonrwnunicatk>nObjectType* abstract=“true" > <xsdatlribute name=’name" type=*xsd;string7>

</xsd:complexType>

<xsd:e*ement rvame="Ope ration" type=" Opera bon Type" abstract =*true"/> <xsd:comp4exType name^OperationType" abstract^taie"» <xsd:attribute name="name* type= “xsd; string7>

<xsdattribute name="category" type=’xsd; string" use=*require<r fixed='OPE RAT)ON7>

</xsd:compiexType>

</xsd:schema>

Рисунок 7 — XML-схема для обобщаемого DCD-onncafetn

7 Общие правила применения DCPT-шаблона

7.1    Общие сведения

Эти правила необходимо использовать для расширения (дополнения) DCPT-шаблона. Имена XML-элементов (тэги) могут быть определены специально для согласующего и других устройств. Для специальных целей е этот шаблон могут быть введены любые атрибуты и элементы, на которые настоящий стандарт не распространяется.

7.2    Заголовок DCPT-шаблона

Идентификационную информацию относительно DCD- и CCD-огмсаний приводят с помощью элемента xsd:appmfc> в элементе xsd:annotabon XML-схемы Заголовок DCPT-шаблона содержит атрибуты, указанные в табгыце 1.

Таблииа 1 — Элементы заголовка DCPT-шаблона

Наямвмоияне элемепга

Описание элсмеита

DCPTIdentification

Идентификатор DCPT-шаблона. Тил XML-даиных: строка.

Пример — АВС-123-ХХ

DCPTRevteioo

Родагиня ОСРТ-шаблома. Тип XML-даниых: строка. Пример — 2.34

DCPTName

Описательное имя DCPT-шаблона. Тип XML-даимых; строка.

Пример — DCO Thermometer

DCPTSouroe

Идентификатор разработчика DCPT-шаблона. Т ип XML-дакных строка.

Пример — ASAM

DCPTCIassID

Идентификатор класса профиля.

Тип XML-дакмых: строка.

Действующими класса*»* профилей являются:

GenencOCPT

TechnlogySpedficDCPT

CCD

DCD

Пример — DCD

DCPT Date

Дата выпуска данной редакции профиля в формате CCVY-MM-OD

Тип XML-данных; дата 2011-09-21

Окончание таблицы 1

Н»ммеиома«е элемента

Описаем элемента

Additionafinformabon

Расположение диаграмм /допогьытельной информации относитегъ-но профиля.

Данное поле является дополнительным.

Тип XML-данквА: любой учифндороеанным идентификатор ресурса (IJRl). anyURI

Пример — http^

ISO20242Reference

Идентификатор части ИСО 20242 (см. элемент IS02G242Part). вместе с его редакцией (см. элемент IS020242Edibon) и используемой технологией (см. элемент Technology).

Множественные ссылки разрешены, например для устройств с боле чем одним связующим »ытерфейсом

ISO20242Edrtk*i

Редакция ссылочной части ИСО 20242.

Тип XML-данных: положительное целое число. Пример — 1

Technology

Наименование ссылочной технологии Тип XML-данных: строка

При отсутсгвьы применяемой в ИСО 20242 технологии необходимо использовать значение «Моле».

Пример — None

Соответствующая XML-схема приведена на рисунке 8.

<?xml version='1.0* encoding='UTF -8* slandaJone=*Ves*?>

<xsd:schema xmlnsjcsd="hltpi elementFonmOefault^*quabfie<r>

<xsd:e*ement name=’DCPTHeader'»

<xsd:comptexType>

<xsd .sequence»

<xsd:element name="DCPTldentification' type=’xsdstringV>

<xsd:e*ement name=“DCPTRevision" type="xsd: string"/»

<xsd:efement name=*DCPTName" type=*xsd: string'/»

<xsd:element name="OCPTSource' type="xsd: string"/»

<xsd:etement name="DCPTCtasslD" type="DCPTCIasslD_DataTypeV> <xsd:elefnent name=*OCPTDate’ type=*xsd: string'/»

<xsd:elementname='Additionallnf<ymabon' type^"xsd:anyURr minOccurs^'O'/» <xsd:etement name='lSO20242Reference* type='lSO20242Reference_DataType"/» </xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:simpleType name=*DCPTCtasslD_OataType*>

<xsd:restrict>on base="xsd:string'»

<xsd: enumeration value="GenericDCPT/>

<xsd.enumeratxxi vakie=TechnlogySpeaficOCP'P/»

<xsd.enumeratxxi value=*CCD'/»

<xsd:enumeration vakie='DC07»

</xsd: restriction»

</xsd:simpleType»

<xsd:comptexType name=‘ISO20242Reference_DataTypem»

<xsd .sequence»

<xsd:element name=*ISO20242Part" type='xsd:string“ fixed="47»

<xsd:element name='ISO20242Edition' type="xsd:string" fixed='1V»

<xsd:elei7>ent name='Technok>gy* type='xsd:stnng7>

</xsd. sequence»

</xsd:complexTyp6>

</xsd:schema>

Рисунок 6 — XML-схема для заголовка DCPT-шаблона

7.3 Дополнение шаблона профиля 7.3.1 Создание DCD-олисания

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

Примечание — В соответствгы с настоящим стандартом не требуется импортировать обобщенные или зависящие от выбираемой технологии XML-схемы в зависящее от выбираемого устройства СР-описаыо. однако независимо создаююе DCD-описание должно содержать информацию, аналогичную DCD-олисанмо импортируемых XML-схем. соответствующих настоящему стандарту.

Имена элементов (тэги) для DCD-олисания могут быть специфичными для различных типов устройств. Элементы должны быть снабжены атрибутом «category», содержащим ключ для типа этого элемента, ука-зздиого е таблице Z Содержанием этого атрибута должна быть ссылка на соответствующий элемент обобщенного DCPT-шаблона.

Табл ииа2 — Юьочи для типа элемента

Элемент обобщи»»«эго ОСРТчиаблома

Созерааиве XML-агрмбута «category»

GenericCCD

cco

GenericDCD

DCD

Virtual Device

MODULE

Function Object

ISITERFACE

Operation

OPERATION

Дополнительные элементы могут иметь специфическое содержимое атрибута «category* е зависяЩИХ ПТ Як^ИрЯЯМПИ ТАХМПППГИИ приГШЖАНИЯV

7.3.2    Закрепление зависящих от выбираемого устройства элементов

Зависящий от выбираемого устройства элемент DCD-огъюания содержит один или несколько элементов виртуального устройства, которые не должны принадлежать (относиться к) какому-либо другому зависящему от выбираемого устройства элементу DCD-олисания.

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

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

7.3.3    Порядок реализации VDSI-интерфейса

Для создания виртуальных устройств, функциональных объектов и объектов связи с помощью сервисов VDSI Jnitiate. VDSI_CreateFuncObject и VDSLCreateCommObject. рассмотренных в ИСО 20242-3. их должен сопровождать дооолните/ъный XML-атрибут «initOrder». относящийся к типу unsignedInt. определенный в XML-схеме и содержащий порядок ооздажя экземпляра элемента с помощью VDSI-интерфейса.

7.3.4    Параметризация объектов связи

Если значение закреплено за объектом связи, то ею необходимо записать с помощью согласующею устройства и сервиса VDSI_Write для VDSI-интерфейса. Можно определить дополнительный порядок записи эначе*ый в объекты связи, выполняемой с использованием XML-атрибута «initOrder».

Примечание — Способ многократной записи объекта связи приведен в приложении А.

7.4 Закрепление текстовой информации

Любой элемент ОСРТ-шэблоиа может иметь два вида присоединяемой текстовой *<формашы — кратного и развернутого сообщения. Эти сообщения должны быть определены в дополнительном XML-экэемп-ляре и пронумерованы согласно разделу 8. Нумерация сообщений организована иерархически в пронумерованных областях текста с помощью пронумерованное текстовых элементов. Номера текстов закрепляют за элементами ОСРТ-шаблоиа с помощью дополнительных XML-атрибутов типа xsd: unsigned In t указанных в таблице 3.

ТаблицаЗ — XML-атрибуты присвоения текстовой имформашм

Има ХМЬатр«6у!&

Описание соаераммою а г рабу г а

areaMsg

Номер области корогкого сообщения message

infMsg

Номер короткого сообше+ыя

агеаТвх!

Номер области разаернут ого сообщения

infText

Номер развернутого сообщения

7.5 Создание РЮ-о писания

7.5.1    XML-экземпляры С С О-классов

XML-экземпляр за висящего от выбранного согласующего устройства С СО-класса позволяет характеризовать особенности согласующего устройства. CCD-класс содержит один или несколько XML-экэемпля-рое ОСО-классов.

7.5.2    XML-экземпляры ОСО-классов

XML-экэемпляр зависшие по от выбираемого устройства OCD-класса позволяет характеризовать драйвер устройства, который является элементом VOSI-интерфейса согласно ИСО 20242-3. Экземпляр OCD-клаоса содержит один игм неско/ъко XML-экэемпляров зависящих от выбираемого устройства классов виртуальных устройств.

7.5.3    XML-экземпляры классов виртуальных устройств

XML-экземпляр зависящего от выбираемого устройства класса виртуальных устройств позволяет характеризовать экземпляр класса виртуального устройства с помощью сервиса VDSI_CreateFuncObject для VDSI-интерфейса. Может существовать (или не существовать) несколько экземпляров зависящего от выбираемого устройства класса виртуальных устройств.

7.5.4    XML-экземпляры классов функциональных объектов

XML-экземпляр зависящего от выбираемого устройства класса функциональных объектов позволяет характеризовать экземпляр класса функционального объекта, созданного с помощью сервиса для VOSI-интерфейса. Может существовать несколько экземпляров зависящего от выбираемого устройства класса виртуальных устройств. Экземпляр класса виртуального устройства может содержать (или не содержать) несколько экземпляров зависящих от выбираемого устройства классов объектов связи и/или несколько экземпляров зависящих от выбираемого устройства классов рабочих операций.

7.5.5    XML-экземпляры классов объектов связи

XML-экземпляр зависящего от выбираемого класса объектов связи позволяет характеризовать объект связи, созданный с помощью сервиса VDSI_CreateCommOPject для VDSI-интерфейса. В одном конкретном классе объектов связи может быть только одни экземпляр этого класса.

7.5.6    XML-экземпляры классов рабочих операций

XML-экземпляр зависящего от выбираемого класса рабочих операций позволяет характеризовать экземпляр класса рабочих операций, создаваемый в точном соответствии с реализацией класса связанных функциональных объектов с помощью VDSI-интерфейса. В одном зависящем от выбираемого устройства классе рабочих операций должен существовать только один экземпляр этого класса.

8 Многоязычные текстовые элементы

Для текстовой информации используют три вида сообщений — короткие информационные сообщения. расширенные информационные сообщения и сообщения об ошибках. Указанные сообщения должны содержаться в XML-экземпляре со структурой, определяемой согласно рисунку 9.

<?xrrt versiorv=*1.0" encoding=UTF-e*?>

<xsd:schema xmlns:xsd="ht^J/XMLScnema"

0tementFonmOefaurt='qualifie<r>

<xsd:element name=*OIT">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="Area" minOccurs=*0“ maxOccurs='unbounde<r>

<xsd:comp*exType»

<xsd:all>

<xsd .element name='SubAreaTexf* type=’SubAreaTypeY»

<xsd:e4ement name=’SobAreaMessage" type="SubAreaType7»

<xsd:etement name-'SehAreaErrof' type='SubAreaTypeV>

</xsd:all>

<xsd:atthbute name='number' type='xsd:uns*gnedlnt' use='reguire<r/»

<xsd: attribute name=’name’ type^"xsd:Name" use=’optionar/>

</xsd:complexType>

</xsd:element>

</xsd:seq uence»

</xsd:complexType>

</xsd:element>

<xsd:oomplexType rvame=’SubAreaType’>

<xsd:sequence>

<xsdetement name='Entry' type="EntryType" minOccurs='0“ maxOccurs='unbounde<r/>

</xsd:sequence>

</xsd:complexType>

<xsd:compiexType name="EntryType*>

<xsd:sequence>

<xsd:element name=Text" type-'LangSpecType* minOccurs='0“ maxOccurs=’unbounde<JV>

</xsd:seq uence»

<xsd:atthbute name=’number' type="xsduns*gnedlnt' use='reguire<r/»

<xsd:attribute name='name' type="xsd:Name* use='optionar/>

</xsd:complexType>

<xsd comptexType name="LangSpecType'»

<xsd :simpleContent>

<xsd: extension base=*xsd:normalt2edString">

<xsd:atthbute name^Tang* type=“xsd: language" use="required7»

</xsd: extension»

</xsd:simpleContent>

</xsd:complexType>

Рисунок 9 — XML-схема для тестовой »ыформаиим об устройстве

Расширенные информационна сообщения вводят в XML-элемент <SubAreaText>. короткие информационные сообщения — в элемент < Sub Area Message», а сообщения об ошибках — в элемент <SubAreaEnror>. Зависящие от выбираемого языка сообщения вводят в XML-эпементы <Text> с ХМЬатри-бутом «lang» для идентификации выбираемого языка сообщении.

Приложение А (справочное)

Шаблон профиля возможностей GOI-интерфейса ASAM

А.1 Общие сведения

Обобщенный интерфейс устройства (СО*чытерфейс) AS AM определяет интерфейс для испытательных применений . В данном лриложо»ми о годам зависзкций от GOl-мнтерфейса шаблон возможностей устройства (версия 4.4 ASAM GDI). Примеры DCO-. С С О- и РЮ-осоданий приведены далее.

А.2 Зависящая от выбираемого GDI-интерфейса модель профиля

А.2.1 Общие сведения

Зависящая от выбираемого GO 1-интерфейса модель профиля содержит ьжформащяо. необходимую для огысания возможностей дгееюго устройства и параметризации. На рису*ке А.1 приведена диаграмма классов для зависэдего от выбираемого GDI-интерфейса шаблона профилей возможностей устройства.

Generic DCPT

GenericCCD


GDI CCD

т


1.


GenericCCD


GDI DCD

0.1


GDI Header

1


1..*


VirtualDevice


<0-


GDI Module

I


0./


CreateParameter


GDI Interface


FuncOorrObjeci О

0..*

o..e

CommunlcadonObject

Operation


0.1


jDI_Opecation

0.1


Ope rati on In Parameter

OperationOutParameter

Attribute Read Write    AttributeReadOnly Parameter

Рисунок A.1 — Диаграмма классов для зависящей от GOI-имгврфейса пороги DCPT-шаблона

А-2-2 Класс GOI.CCD (CCD-описание GDt-митерфемса)

Этот класс характеризует возможности зависшего от выбираемого GO 1-интерфейса согласующего устройства. который входит в класс GenencCCD (обобщенное ССР-описа»*е) и является абстрактным классом. Зависящий от выбираемого согласующего устройства класс ССО-описа»ый должен наследовать его и определять возможности конкретного согласующего устройства.

AJ.3 Класс GOI.DCD (DC D-описание GDt-иитерфейса)

Этот класс характеризует возможности зависящего от выбираемого GDI-интерфейса драйвера устройства, который входит в класс GenencDCD (обобщенное DCD-олисаиие) и является абстракт мьы классом. Зависящий от выбираемого согласующего устройства класс GDI-DCD долхвн наследовать его и определять возможности конкретного драйвера устройства.

А2.4 Класс GOl.Header (заголовок для GDI-интерфейса)

Этот класс содержит дополнительную информацию, испо/ъзуемую для реа/ызэции драйвера устройства. Элементы класса GOl.Header указав в таблице А.1. Определемю класса GDl.Header также приведено в файле common jcsd GDI-интерфейса (см. А.6.2).

Таблица А.1 — Элементы класса GDI.Header

Элементы «ласса GDl_Headet

Tam элемента

Описание элемента

DCD.Version

xsd:unsigr>edlnt

Номер версии DC D-описания

Device Version

xsd.unsignedlnt

Номер варианта исподоеиия устройства

DriverName

xsd: string

Наименование драйвера

DriverVersion

xsdunsignedlrrt

Номер версии драйвера

Factory

xsd:string

Наименование изготовителя

DfT

xsd: string

Имя Xfct_-TBкетового файла

GDl.Version

Mayor

rxsd.unsignedByte

Номер полной версии

Minor

rxsd: unsignedByte

Номер минимальной версии

Revision

rxsd.unsignedByte

Номер редакции

А-2.5 Класс GDl.Module (модуль GDI-интерфейса)

Этот класс характеризует возможности зависящего от выбираемого GDI-интерфейса виртуагъиого устройства. который входит в класс Virtual Device (виртуальное устройство) и является абстрактным классом. Зависли»* от выбираемого согласующего устройства класс GDLModule должен наследовать его и определять возможности конкретного виртуального устройства. Класс GOI _Mockie может содержать класс CreateParameter и быть идентифицирован по номеру, содержащемуся в допогыитапьмом XML-атрибуте «moduletd* (типа «xsd:unsignedShort»).

А_2.6 Класс GDI .Interface (GDI-интерфейс)

Этот класс характеризует возможности функциональных объектов зависящего от выбираемого GDI-интерфейса виртуального устройства, который входит в класс FunctionObyect (футциома/ъный объект) и является абстрактным классом. Зависящий от выбираемого согласующего устройства класс GDl.Interface должен наследовать его свойства и определять возможности конкретного функционального объекта. Класс GOHnterface может содержать класс CreateParameter и быть идентифицирован по номеру, содержащемуся в дополнительном XML-атрибуте «funcJd» (типа «xsd:uns»gnedSfK>rt»).

А2.7 Класс CreateParameter (создание параметра)

Этот класс предназначен для описания созданного параметра функционального объекта или виртуального устройства и является абстрактным классом. Каждый зависящий от устройства класс CreateParameter должен наследовать его свойства и определять тип ца»шшлх соэдаююго параметра. Сервисы VDSI-интерфейса VDSI .Initiate и VDSI .Create FuncObyect используют созданные параметры.

А_2.8 Класс GOl.Operation (работа GDI-интерфейса)

Этот класс предназначен для описания работы зависящего от выбираемого GDI-интерфейса виртуального устройства, который входит в класс Operation (рабочая операция) и является абстрактным классом. Каждый зависящий от выбираемого устройства класс GDJ.Operabon должен наследовать его свойства и определять возможности рабочей операции. Этот класс имеет один входной и один рабочий выходной параметры, которые могут быть использованы ол* раз (кгы не появляться) в XML-экземпляре. Закрепление эмэчекыя за входным рабочим параметром в этом экземпляре (PID-описан**) указывает на то. что операция должна быть выполнена с целью конфигурирования Класс GOl.Operabon идентифицируют с помощью номера, содержащегося в допоп-тельном XML-атрибуте. называемом « operation Idld» (типа «xsd:unsignedShort»).

А.2.9 Класс Operation InParameter (выходной параметр операции)

Класс Operation In Parameter предназначен для отметки выпогыения рабочей операцкю и является абстрак-тузш классом. Каждый зависящий от выбираемого устройства класс OperationInParameter должен наследовать свойства этого класса и определять тип данных входного параметра.

А.2.10 Класс OperationOutParameter (выходной параметр операции)

Этот класс пред назначен для указания возвращаемого значения в рабочей операшы. который содержит значение выходного параметра. Каждый зависящий от выбираемого устройства класс OperationOutParameter должен наследовать свойства этого класса и определять тип да»вых значения этого параметра.

А.2.11 Класс AttributeReadOnly (только считывание атрибута)

Этот класс предназначен для указания значения еремекм обработки функционального объекта, которое может тшъэко считываться. Данный класс наследует свойства класса CommuncationObject и является абстрактным классом. Каждым зависящий от выбираемого устройства класс AttnbuteReadOnfy должен наследовать свойства этого класса и определять фуыщиоиальмые возможности каждого значения ере мены обработки и типа данных значения этого параметра.

А.2.12 Класс AttributeReadWnte (считывание/запись атрибута)

Этот класс предназначен для указания значения времени обработки функционального объекта, которое может быть как считано, так и записано. Данный класс наследует свойства класса CommumcabonObject и является абстрактным классом. Каждый зависящий от выбираемого устройства класс AttnbuteReadWnte должен наследовать свойства этого класса и определять возможности каждого значения времени обработки и типа даюых этого значения.

А.2.1Э Класс Parameter (параметр)

Этот класс характеризует возможности параметра функционального объекта, который может быть как овстаи и записан. Да>ыый класс наследует свойства класса CommunicabonObject и является абстрактным классом. Каждым зависящий от выбираемого устройства класс Parameter должен наследовать свойства этого класса и определять возможности каждого параметра и его тип данных.

А.2.14 Идентификация объектов связи GDI-интерфейса

Экземпляры классов AttnbuteReadOnty. AttnbuteReadWnte и Parameter идентифицируют с помощью номеров. которые явлмотся числом этих экземпляров в представителе FuncbonObject начиная с 1.

А.З Элементы типовых данных и сценариев конфигурирования

А.3.1 Общие сведения

В 7.3.3 XML-атрибут inrtOrder был введен для опигаыя последовательностей конфигурирования устройств, связанных с содда»ыем виртуальных устройств, функциональных объектов и объектов связи, что является другим сценарием ши фигурировали, определенным для объектов связи, которые в раздочнью моменты времени могут принимать раз/ычмые хэчения. С этой целью вводят класс OrderedValue. который не требуется в случае задания сценария записи данных, однако в этом случае может быть испотооваио то же хачеиие. что и в атрибуте initOrder классов CommLricabonObject и OrderedValue.

Эподяомг V/afcjo определяют доя упрощв*жл маследооамия типов да»чых боа учета отмени я ыэсподооаьыя

структурных классов. С помощью этого метода определение типов данных для объектов связи и формированию параметров разделяются в определенны объекта связи. Змаче*мя элемента не требуются, если тигы данных в объектах связи определены то*#ю.

А.З_2 Класс OrderedValue

Этот класс характеризует зндчомо. которое можно многократно устанавливать в различные моменты времени. Установка этого значения означает его запись с помощью сервисов VDSI_Write или VDSI_Execute. что применимо к объектам классов AttnbuteReadWnte. Parameter и Ope ration InParameter. Упорядоченное значо»вю относится к абстрактному классу, который содержит порядок имядиализации в его XML-атрибуте inrtOrder. который описывает, когда значе+ые должно быть установлено, а также само значение. Каждый зависящий от выбираемого устройства класс OrderedValue должен наследовать класс OrderedValue и определять тип данных для значения.

Рисунок АН — Элемент OrderedValue для сценариев конфигурирования

А.3.3 Класс Value (значение)

Класс Value характеризует элемент типа xsd.anyType. который может ограничиваться гаобым другим типом и поэтому является меткой-заполнителем для любого типа элемента, определенного в описании возможностей устройства. Использование этих до полнит елы*х элементов облегчает разделение наследовали для определения типов данных.


Рисунок А.З — Элемент Value для разделен>*х определений типов

Класс Value содержит данные, которые заменяются на служебный прмьыгивный параметр CreateParameter. после чего используют либо сервис VDSIJnrtiate для реализации виртуального устройства, либо сервис VDSI_Cnsatef uncObfect — для реализации фугжциоиагъмого объекта.

При конфигурировании не происходит замены на объект связи Attribute Readonly и OpecationOutParametef класса GDt_Operabon. однако класс №ое может быть использован для првдставлеьмя типа данных объектов.

Класс Value также может быть использован вместе с классом OrderedValue для классов AttnbuteReadWnte. Parameter и Operation In Parameter, в случае ест* требуется сценарий конфигурирования с различны** значениями в различные моменты времени. Ес/м нет необходимости использования этого сценария, класс Vfeloe мажет быть использован вместо класса OrderedVbkie с класса** AttnbuteReadWrite. Parameter и OperationlnParameter.

OrderedValue

Value

Рисунок A.4 — Элементы классов Value и OrderedValue в сценарии конфигурирования

А4 Дополнительные идентификаторы типа для обобщенного DCPT-шаблона

В таблице А.2 указа»* зависящие от выбираемой технологии типы идентификаторов параметра create, объектов связи и рабочих параметров.

Таблица А.2 — Идентификаторы типов объектов связи

Элемент девмсящето от выбираемое

гомологии DCPT-шаблона

Содермямое XML-атрибута «category»

■ readonly •

AttnbuteReadWrite

ATTRIBUTE

false

Attribu teReadOnly

АтттавитЕ

true

Parameter

PARAMETER

(false)

Примечание — Дополнительный XML-атрибут a readonly к типа xsd: boolean является обязательна* только для классов AttnbuteReadWrite и AttributeReadOniy. Ест* также используется класс Parameter, следует использовать содержимое «false».

Та блица А.З — Идентификаторы типов рабочих параметров

Элемент зависящего or выбираемой техно лоти DCPT -шаблона

Содержимое XML-агрибуга «category*

Operation 1 nParameter

IN

OperationOutParameter

OUT

Таблица А.4 — Идентификаторы типов созда»чых параметров

Элемент зависящего or выбираемой технологии ОС PT-шаблона

Содержимое ХМЬ-атрибута «category»

Create ParameterCR

CREATEPARAMETER

А.5 Дополнительные XJML-атрибуты для обобщены ого DCPT-шаблона

Объекты связи AttributeReadOnfy и AtlnbdeHeadWnle могут использоваться для передачи незатребовантх дтечых с помощью сервисов VDSI_lnfReport и VDSI_Accept. Запрос на использование указанных сервисов во время работы выпо/чяется во время конфигурирования путем установки XML-атрибутов irrfReport и приема типа xsd:Boolean на значение true.

Таблица А.5 — XML-атрмбуты для передав незатребованное! данных

Имя XML-атрибута

Ислолъэоеанио с объектом

Олисаияе содержимого

infReport

AttnbuteReadWrrte. AttrtKJteReadOnty

Запрос на испсгезоеание сервиса VDSIJnfReport

accept

AtthbuteReadWnle

Запрос на использование сервиса VDSI.Accept

А.б Зависящий от выбираемого GDI-мктерфейса шаблон профиля возможностей устройства.

А.6.1 Общие сведения

Файл GDlcommon.xsd содержит XML-схему с базовыми классами, которые могут использоваться для оть*-саимя XML-схемы и могут содержать всю информацию относительно отосаиия возможностей, необходимых для оценки (определения) параметров. Определенные типы Parameter и AttrtxjteReadWrite могут быть дополнен элементами OrderedValue и V^lue. В этом случае класс Value может иметь тип данных, который мажет быть определен в дополнительной XML-схеме. Кроме того, определенные типы классов CreateParameter. Attribute Readonly и OperatkwOutParameter могут быть дополнен элементами класса Value с внешне определенными типами данных.

Примечание — Если элементы классов OrderedValue и \feiue не используются, а объекты связи содержат значения простых или комплексных типов дзнчых. то о*ч могут иметь другую структуру XML-схеьы. основаныую на дополнена типов данных. В этом случае файл GOtcommonjcsd может ислогъэоваться как модель структуры результирующего XML-экэемпляра и мео6ходи**>« XML-атрибутое.

А.6.2 XML-схема: Файл GDlcommon.xsd <?хгП version ОТ encodng-UTFSm?>

<xsd: schema xmlns:xsd="http^/www.w3.or^2001/X ML Schema" eIementformOefault= "qualified* attributeFormDefauft=*unqtjalified">

<!— Header л formation is centered in each schema file —>

<xsd:annotation>

<xsd:appkifo source=>

<DCPTHeader>

<DCPTIdentrficaUon>GOI_Common</DCPTIdenbficatKXi>

<DCPTRevisJon>1.0</OCPTRevtsion>

< DC PT Name>GDI common </DCPTNa me >

<DCPTSoixce>GDIcommon.xsd</DCPTSource>

<DCPT ClasslD>TechrtogySpeaficDCPT</DCPTClassl D>

< DCPTDate >2009-03-16</DCPTDate >

<ISO20242Reference>

<l SO20242Edrt>on> 1 </ISO20242Edition>

<Tecfmology>ASAM-GOKfrechnotogy>

</ISO20242Reference>

</DCPTHeader>

</xsd:appinfo>

</xsd -armolaboo>

<!- Valid content for XML-Atlnbut category (kind of DCO element) ->

<xsd:simpleType name=*Category*>

<xsd:restriction base="xsd.string*>

<xsd.enumerabon value="MOOULE7>

<xsd:enumerafcon value=" INTERFACED <xsdenumeraton value=*CREATEPARAMETER7>

<xsd:enumerabon value="PARAMETERD <xsd.enumerabon value=’ATTRIBUTED <xsd:enumerafcon value=*OPE RATIOND <xsd:enumeration value="IND <xsd:enumerabon value=*OUTD <xsd:enumeration vaiue="DCD"/>

<xsd:enu me ration vaJue="CCDD </xsdTestrictkxv>

</xsd:sampleType>

<!- Gmup of attributes lor assigrang multilingual text to elements ->

<xsdattributeGroup name=*TexlAttnbutes~>

<xsd'.attribute name=*areaMsg" type="xsd:LffisignedShort" use=~optionar/>

<xsd attribute name="irfMsg* type="xsd:unsjgned Short" use="opbonalD <xsd:attribute name="areaText" type="xsd.unsignedShort’ use="optionafD <xsdattribute name=“*ifText" type="xsd:unsjgned Short* use="optionar/> </xsdattributeGroup>

<!- Basic type defimbon for most elements used in tee DCD —>

<xsd:complexType name=~TNamedDCDE)ement" abstract=*true">

<xsd:attribute name="name" type=’xsd:string" иse="opbonaT/>

<xsd:attribute name="initOrder~ type="xsd:ixTsignedlnr use=*op6onaT/>

<xsd atthbuteGroup ref="TextAttnbutesD </xsd:complexType>

<vc/f mmplavTypo namA=aTOrrlomrfVnliie* abctnart=*1tnia*>

<xsd.sequence>

<xsd.element name= "Value" type=*xsd:anyTypeD </xsd: sequence >

<xsd:attribute name^ntOrder" type="xsd .xrrs*gnedlnT use="reqmredD </xsd;oomplexType>

<!- Virtual Devices have additional XMl-attnbutes "module kT and category^ "MOOULE". —> <xsd.complexType na me="GDI_Module" abstract="true">

<xsd:comp*exContent>

<xsdextension base=~TNamedOCDEIement*>

<xsdattribute name="moduleld" types"xsd.unsignedShort" use="requiredD <xsdatthbute name="category" type= "Category" и se= "required" fixed=’MOOULE"/>

</xsd extension»

</xsd :complexContent>

</xsd:oomplexType>

<!- Function Objects have additional XML-attrd>utes "кжхгкГ and category=*INTERFACE". —> <xsd:oomplexType name="GDI_lnter1ace" atostracts"true">

<xsd:comp4exContent>

<xsdextension base="TNamedOCDEIement*>

<xsd:attribute name=*ftjncl(T type=“xsd: unsigned Short" use="requiredD

<xsd attribute name="category* type=" Category* use="requi red" fixed='tNTERFACE"/>

</xsd:extension>

</xsd:complexContent>

</xsd:comptexType>

<!- Create Parameter have an additional XfcC-attnbute category="CREATEPARAMETER" —> <xsd.complexType name=*CreateParameter~ abstract2*!!^*»

<xsd attnbute name^categor/* type2*Category* use^reqixred* fixed2*CREATEPARAMETER7> <xsdattnbuteGroup re^’TextAttnbutesY»

</xsd:oomplexType»

<!- Communication Objects which may be changed have readonly="fatse" ->

<xsd:complexType name=“CommunicallooObjectReadWrTte“ ab6tract2*true*>

<xsd:complexContent»

<xsd:extension base2~TNamedDCDEIement*»

<xsd attribute name=’readonty* type=’xsdboolean* faced2 *faise’/>

</xsd:ex tension»

</xsd :complexContent>

</xsd:oomplexType>

<!- Communication Objects wtvch may not be changed have readonly="true" —>

<xsd:complexType name^CommunicationObjectReadOnly* abstract2*true*»

<xsd:comptexContent>

<xsd:exlension base2'TNamedDCDEIement*»

<xsd attribute name2*readonty* type2*xsd:boolean* use=*regured* fixedslnje*/»

</xsd extension»

</xsd:complexContent>

</xsdicomplexType>

<!- GDl-Parameter are Commmcation Objects that may be changed and have calegory2*PARAMETER" -> <xsdcomplexType name="Parameter* abstract2 "true*»

<xsd:complexContent»

<xsd:extension base ^Communication ObjectReadWnte*»

<xsd attribute name2*category* type="Categor/* use2*rec|uiced* faced2*R*RAMETER*/>

</xsd extension»

</xsd com plexCon tent»

</xsd:oomplexType»

<!- GOI-Attribute have to be separated in readonly and rsadAwrite Communication Objects —» <xsd:complexType name2*AttributeReadWrite* abstract2true*»

<xsd:complexContent»

<xsd:extension base2*CommunicationObjectReadWrite*>

<xsd attnbute name2'category* type^Category* use=*require<r fixed2‘ATTRIBUTE*^

<xsd attnbute name^tnfReport* type 2*xsd: boolean*/»

<xsd attribute name 2'accept* type2*xsd:boolean*/>

</xsd extension»

</xsd:comptexContent»

<Лг«И ттркигТурл»

<xsd:complexType name^AttributeReadOnty* abstract=*true*»

<xsd.complex Content»

<xsd.extension base2*CommunicationObjectReadOnfy*»

<xsdattnbute name2*category* type2*Category* use=*require<r fbted2*ATTRIBUTE*/»

<xsd attnbute name =VifReport* type2*xsd boolean*/»

</xsd:ex tension»

</xsd icomplexContent»

</xsd:complexType»

<!- Operations —»

<xsd:complexType name2*GDI_Operabon" abstract2**™©'»

<xsd:complexContent»

<xsd .extension base2*TNamedOCDEIement*»

<xsd attribute name2*operationkT type2*xsd.unsignedShort* use^reqtared*/»

<xsd attnbute name2*category* type2*Category* use2*required* fixed=*OPERATION*/»

</xsd:ex tension»

</xsdxomplexContent»

</xsd.complexType>

<xsd:oomplexType name2*OperabonOutParameter^* abstract2*true*»

<xsd attr»bute name2*category* type2*Category* use=*requre<r fixed2*OtTT/»

<xsd attributeGroup re^TextAttrtoutesT»

</xsd:oomplexType»

<xsd complexType name2*Operaticn !nParameter* abstract2"true*>

<xsd attnbute name2*category* type2'Category* use^requirBd* fixed2*1N*/>

<xsd attributeGnoup re^'TextAttnbutes*/» <Sxsd:complexType>

<!- Device Driver (when instantiated) ~>

<xsd:complexType name="TVersion">

<xsd:sequence>

<xsd:e4ement name="Major'* type="xsd:unsignedByte’/>

<xsd:etement name='Mnor* type=’xsd:unsjgnedByte"/r>

<xsd element name="Revisk>n" type=”xsd[iffisignedByte"/>

</xsd: sequence»

</xsd:complexType>

<xsd [complex Type name="THeader^>

<xsd.sequence»

<xsd:eJement name=*DCD_Vefsion" type="xsd’unsignedInГЧ»

<xsd:element name="Device Version" type=*xsd[unsignedI nt"/>

<xsd [element name="DnverName* type="xsd.stnngV»

<xsd[element name="DnverVersion" type=*xsd[unsjgnedlnt"/»

<xsd e*ement names"Factory" type="xsd:string"/>

<xsd.etement name="DfT" type="xsd:stnngV>

<xsd:element name="GOI_Version" type=T^ersion"/>

</xs<l sequence»

</xsd:complexType>

<xsd.complexType name=*GDI_DCD" abstract="true“>

<xsd:sequence>

<xsd [element name='GDI_Headef" type="THeade^* minOccias="X)7»

</xsd: sequence»

<xsd;attribute name="category" type=’Categocy" irse=’requ«red* fixed=“DCD"/»

<xsdattnbuteGroup ref^TextAttnPutesT»

<xsd[attribute name=*e>ath" type=*xsdistnng" use="requirerfV»

<xsd.attribute name="dnverVersion* type="xsd[int" use="rBqured7»

</xsd[OomplexType>

</xsd: schema»

A.7 Примеры DCD-описания

A.7.1 Общие сведения

Файлы DCDat jtsd и DCDa2.xsd содержат XML-схеыы примеров DCD-описа^ыя. которые позволяют дополнять XML-схему е файле GOtCommonjcsd в соотэетствэы с возможностями драйверов устройства. Имена XML-эпеменгов могут быть определены в соответствии с требованиями пользователя. Структурную информацию, имеющую отношение к XML-элементу. определяют с помощью содержимого XML-агрибута «category». А.7.2ХМ1_-сх«ма: Файл DCDatxsd <7хтп1 verskx^'t.tT encoding=*UTF-B"?>

<xsd:schema xmlns:xsd="http*./ e<ementFormOetault="qualrfie<r attri buteFormDefaut=*unqualrfied">

<xsd .annotation»

<xsd:appcnfo source="»

<DCPTHeader>

<DCPTIdent»6cat»on>DCD 1 </DCPTldentrficabon»

<DCPTRevision> 1.0</DCPT Revision»

<DCPTName»DCD 1 </DCPTName»

<DCPTSource»OCD1 xsd</DCPTSouroe»

<DCPTClasslD»DCD</DCPTClasstD»

< DCPTDate »2009-03-16</DCPTDate »

<ISO20242Reterence>

<l SO20242Ed*on» 1 </!SO20242Edition»

<Te<*inology»ASAM-GOK/Technoiogy»

</ISO20242Reference»

</DCPTHeader»

</xsdeppinfo>

</xsd annotation»

<xsd:include schemaLocat*ori="GDICom/non.xs<r/»

<!- Main type is GDI_DCD with contained Virtual Device Types.

There may be many different Virtual Device Types contained. —»

<xsd:complexType name="Driver01*»

<xsd:complexContent» <xsd:extension base=’GDl_DCD*»

<xsd:sequeoce>

<    xsd: element name="rnyOevice01 * type2~Device01* minOccurs=eO* ruaxOccurs2 “unbounded*/» </xsd: sequence»

</xsd extension >

</xsd :com plexContent»

</xsd:complexType>

<!- Virtual Device Types have fixed numbers for identification modutelD.

This is a restriction of type GDI_Modiie. If you want to avoid restriction, move attribute modufekf from type GOI_Modu!e with a fixed number to type DevioeOt below, which then is an extension of GDI_Modi4e and type Devce01_ wil be obsolete. ->

<xsd.complexType n ame=*De viceO1 _*>

<xsd:complexContent>

<xsdrestriction base=*GDI_Modi4e"»

<xsd:attribute name-'moduleId* type="xsd:i*isignedShort* use2*requirecr fixeds*1000*/>

</xsd .restriction»

</xsd complexContent»

</xsd:oomplexType>

<!- Virtual Device Types typically contain a Create Paramter of a specific type and several Function Objects of different types.

This exemptary Function Object type describes an input channel and it is possible to use up to 16 channels with each Virtual Device instance. —>

<xsd.complex Type name=*Device01*>

<xsd:com plexContent»

<xsd:extensaon base=*Device01_">

<xsd.sequence»

<    xsd: element name=eNumOfChanner type=“CRParamDevice*/>

<    xsd. element name="fnADInput“ type2* IFAD Input* minOccurs=D* maxOccurs2’16V»

</xsd: sequence»

</xsd extension »

</xsd complexContent»

</xsdoomplexType>

<!- A simple Create Parameter for the Virtual Device of type Device01->

<xsd :complex Type name2"CRParamDevice*»

<    xsd .com ptexContent >

<xsd.extension base2“OeateParameter“»

<    YK/1'ЪАф |«nrp>

<xsd.element name=*\fe*ue" type2"xsd:unsignedShorr defautt2*5*/>

</xsd: sequence»

</xsd extension»

</xsd com plexContent»

</xsd:oomplexType>

<!- Function Object Types have fixed numbers for identification in functO.

This is a restriction of type GDI_lnterface. If you want to avoid restriction, move attribute funcJd tom type GOl_Interlace with a fixed number to type IFAD Input below, which then is an extension of GDIJnterface and type IFADInput_ will be obsolete. —»

<xsd.complexType name=*IFADInput_">

<xsd:oomplexContent>

<    xsd [restriction base2*GDI_lnterfaoe">

<    xsd attribute name2*funcld* type=*xsd:unsignedShort* use2*required* fixed2*10777> </xsd:restriction>

</xsd complexContent»

</xsd:complexType>

<!- A simple FtxKtion Object type for the Vrtual Device of type DeviceOI.

Function Object types typically contain a Create Parameter and several Communication Objects of kind GOf-Atthbute or GDI-Рага meter.

An example w*h additional GDI-Operatbn is given in DCD2.xsd —>

<xsd :complexType name2*1 FAD Input*>

<xsd:complexContent>

<    xsd extension base2*lFADInput_“>

<xsd.sequence»

<xsdetement name=*!ntemjpr type=*CRParamlFADlnpul7»

<xsd:etefneot name=“Polarity* type=*PotantyType" гтапОссиг5=ТГЛ>

<xsd [element name=’Channer type=~Channenype* minOccurs=*(r/> <xsd.eiement name=*ADVfelue* type=”ADVatueType* minOccLrs="OT>

</xsd: sequence»

</xsd [extension»

</xsd [com plexContent»

<Sxsd:complexType>

<!- A simple Create Parameter for the Function Object of type I FAD Input —> <xsd.complexType names"CRParamIFADInput*>

<xsd:complexContent>

<xsd:extension base=XreateParameter^>

<xsd: sequence»

<xsd:element name="V£lue" type=*xsd:unsignedShort" defautt=*57»

</xsd: sequence»

</xsd :extension>

</xsd :comptexContent>

</xsd:oomplexType>

<!- A simple readonly GDt ^Attribute for the Function Object of type IFAD Input -> <xsd.complexType name="ADValueType’>

<xsd:complexContent>

<xsd:extension base=*AttnbuteReadOnly"»

<xsd:sequence>

<xsd:element name=*OrderedVteue* type=~Ordered\felueAD" rrunOca*s="07> </xsd: sequence»

</xsd [extension»

</xsd :complexContent>

</xsdcomplexType>

<!- A simple Value-Type for G Di-Attribute of type AD Value Type (above) -» <xsd.complexType name="OrderedValueAD*>

<xsd.com plexContent»

<xsd:restriction base=~TOrdecedValue"»

<xsd: sequence»

<xsd. element name="\talue" type=*xsd:unsagnedShorf" defautt="07»

</xsd. sequence»

</xsd:restriction»

</*wtmmpleirr.nnlent>

</xsd:comptexType»

<!- A simple read/write GOl-Attribule for the Function Object of type IFADInput -» <xsd.complexType name=75olarityType"»

<xsd:com plexContent»

<xsd [extension base="AttriboteReadWrite*»

<xsd:sequence»

<xsd.element name=*Ordered Value* type=*OrderedValuePolanty" minOccurs="0* maxOccurs="unbounde<r/>

</xsd. sequence»

</xsd [extension»

</xsd :com plexCon tent»

</xsd.oomp)exType>

<!- A simple Value-Type for GD 1-Attribute of type PoiarrfyType (above) —»

<xsd complexType name="Ordere<JValuePaiarity'*»

<xsd:complexContent»

<xsd:restriction base^'TOrderedVafoe"»

<xsd[sequence>

<xsd: element name="Value" type=“TePolanty* defaiA="0"/>

</xsd. sequence»

</xsd [restriction»

</xsd xxxnplexContent»

</xsd: oomplexType»

<xsd;sjmpleType name=»TePotanfy»»

<xsd:restriction base=*xsd. short*» <xsd:enumeration value=7)7>

<xsd:enumerabon value="17>

</xsd:restriction>

</xsd: simple Туре»

<!- A simple GOl-Parameter for the Function Object of type IFAD input ->

<xsd.complexType name="ChannefType">

<xsd:complexContent>

<xsd:extension base="Parameter~>

<xsd. sequence»

<xsd:eJemertt name= "Ordered Value" type="OrdenedV3kjeChannel" minOccurs=*0" maxOccurs=*unbounded7>

</xsd: sequence»

</xsd :extens*on»

</xsd :comptexCont6rrt>

</xsd:complexType>

<!- A simple \telue-Type for GDI-Parameter of type ChannefType (above) —>

<xsd:complexType name="OrderedValueChanner>

<xsd:complexContent>

<xsd .restriction t>ase=~TOrderedVa*ue"»

<xsd:sequence>

<xsd. element name="\feiue" type="xsd:unskjned Short" defautt="07»

</xsd: sequence»

</xsd:restriction>

</xsd complexContent»

</xsd;comp*exType>

</xsd:schema>

A.7.3 XML-схема: Файл DCDa2.xsd <?xml versions*!^ encoding=*UTF-e"?>

<xsd:schema xm*ns:xsd=*http:V* etememFormOefautt="qualffied" attnbuteFormDefaiit=*unqua*rfied’,>

<xsd:an notation»

<xsd:appinfo source=

<DCPTHeader>

<DCPTIdenbftcataon>DCD2</DCPTIdentjfication>

<DCPTRevision>1.0</DCPTRevision>

<DCPTName>DCD2</DCPTName>

<DCPTScuroe>OCD2xsd</DCPTSource>

<DCPTClasslD>DCDODCPTClasslD>

< DCPTDate>2007-03-16</DCPTDate >

<1 SO20242Reference>

<ISO20242Ed«tion> 1 </ISO20242Edition>

<Tetfmology>ASAM«GOK/Technology>

</l SO20242Reference >

</DCPTHeader>

</xsdapp»ifo»

</xsd .annotation»

<xsd:include schemaLocatioo="GDtCommon.xsd7>

<!- Main type s GDI_DCD with contained Virtual Device Types.

There may be many different Virtual Device Types contamed. —>

<xsd:oomplexType name="DrrverC2*>

<xsd:complexContent>

<xsd:extension base=’GDI_DCD*>

<xsd.sequence»

<xsd.element name="myOevice02* type="Device02" minOcct*s="(T maxOccurs= “unbounded"/» </xsd:sequence>

</xsd:extension>

</xsd:comptexContent>

</xsd:complexType>

<!- Virtual Device Types have fixed numbers for identification in modufetD.

This is a restriction of type VDInstance. If you want to avoid restriction, move attribute moduleid from type GDI_Module with a fixed

number to type Dev»ce02 below, which then is an extension of GDI_Modi4e and type Device02_ wii be obsolete. ->

<xsd:complexType name=*Device02_*>

<xsd:complexContent>

<xsd:restriction base="GDI_Modtie">

<xsdiattribute name=’modulel<r type="xsd: unsigned Short" use=*reqiared" fixed="10027>

</xsd:restriction </xsd :complexContent>

<Sxsd:compiexType>

<!- This exemplary Virtual Device Type only contains one Function Object type without restricting the number of instances. ->

<xsd.complexType name="Device02">

<xsd:complexContdnt>

<xsd:extension bese="Device02_“>

<xsd.sequence>

<xsd:element name="myf unction02* type="MyFuncbor>02Type* minOccurs="0" maxOccurs="unbounde<f7>

</xsd. sequence>

</xsd extension >

</xsd:complexContent>

</xsd:complexType>

<!- Function Object Types have fbced numbers for identification in funclO.

This is a restriction of type GDI_lnterface. If you want to avoid restriction, move attribute funcJd fcom type GOMntertace with a fixed number to type My Function 02Type below, which then is an extension of GDIJnterface and type Myfunction02Type_ will be obsolete. —>

<xsd.comp*exType name=*MyFurct>on02Type_“>

<xsd:complexContent>

<xsd'jesthcbon base="GDIJnter1ace">

<xsdettribute name="funckJ" type="xsd:uns^nedShort" use="reguired" Ьхед="100в"/>

</xsd: restriction </xsd :complexContent>

<Sxsd:complexType>

<!- This Function Object type example contains onty the Create Parameter and one optional Operation. —>

<xsd.complexType name="MyFunction02Type">

<xsd:complexContent>

<»vf *»*1pr>«inn haiu»s*Myr«inrt«rW17Tyfw»_A>

<xsd.sequence>

<xsd:element name="myCRPar02" type="cpTуpe02V>

<xsd:element name="myOperation02" type=*myOperation02Type* minOccurs="tr/>

</xsd.sequer>ce>

</xsd extension </xsd :complexContent>

<Sxsd:compiexType>

<!- The Create Parameter of this Function Object type is a smple structure for a typical poor serial mterlace with restricted speed and fixed bits per transmuted character. —>

<xsd.compiexType name=*cpType02">

<xsd:complexContent>

<xsd:extension bases"CreateParameter">

<xsd.sequence>

<xsd.element name= "Value" type=*serialCom7>

</xsd.sequence>

</xsd:extension>

</xsd :complexContent>

</xsd: com plexType>

<xsd:comp*exType name="senalCom">

<xsd:sequence>

<xsd:etemant name="speed" type=*speedType7>

<xsd: element name="length" type=*xsd: integer'* fixed=*8’/>

</xsd. sequence >

</xsdcomplexType> <xsd:simpleType name="speedTуре*>

<xsd restriction base=*xsd:int">

<xsd:enumeration vaJue=*2400*/>

<xsd .enumeration value=*48007>

<xsd:enumefat»on vaJue=*96007>

<7xsd restriction»

<7xsd: simple Type»

<!- This Operation has optional input and output values. —>

<xsd.complexType name=*myOperation02Type_">

<xsd:complexContent>

<xsdrestriction base="GOI_Operatjon">

<xsd:attribute пате=*орегаЬопкГ types*xsd:unsignedShorf* use="require<r fixed2* 100^/^ </xsd:restriction>

<У xsd :complexCont6rTt>

</xsd:complexType>

<xsd:complexType name="myOperation02Type">

<xsd:complexContent>

<xsd extension Ьаве="туОрегаЬог»02Туре_*>

<xsd.sequence»

<xsd:element name="OufValue* type="op02outType* rTwiOcci*s=*0'7>

<xsd.etemerrt nan*. e=* In Value" type=*op02mType" nvnOccurs=DV>

</xsd: sequence»

<yxsdex tension»

</xsd complexContent»

</xsd:oomplexType>

<!- The input parameters for this operation may be a sequence of ordered values. If accordingly nstantiated. from ttvs follow rrxJtipie requests (and confirmations) of service VDSI_Execute (ISO 20242.3) —>

<xsd.oomplexType name="op02mType">

<xsd:complexContent>

<xsd:extension base=“OperationlnParametef">

<xsd:sequeoce>

<xsd:element name= "Input* type=*orderedvalueop02in" maxOccA*s="unbounded~/>

<7xsd: sequence»

</xsd extension»

<yxsd:complexContent»

</xsd:oomplexType>

OfuirnmploTTypfi fwmfts'nrrlprprtvali ipnpn?in“>

<xsd: complexContent»

<xsd restriction base2'TOrdered\felue">

<xsd. sequence >

<xsd.element name="Vafcje" type=*xsd:doubte*/>

</xsd: sequence»

</xsd .restriction»

</xsd complexContent»

</xsd:oomplexType>

<1- The output parameters for this operation is a special type "voxT, whch defines, that the accordingly XML element has to be empty.

Implementations of service VDS!_Execute (e.g. Annex A of ISO 20242.3) wil define this case also (e.g. NULL poerter). It simply means, that there will be no output value for this operation —>

<xsd.complexType name="op02outType*>

<xsd:complexContent>

<xsd:extension base="OperationOut Parameter^

<xsd.sequence»

<xsd:element name=“Va*ue" type=Void7>

<yxsd: sequence»

</xsd extension»

</xsd .complexContent»

</xsd: complexType>

<xsd:complexType name="void*/>

</xsd: schema

А.8 Пример CCD-описания А.8.1 Общие сведения

Файл CCDa.xsd содержит XML-схему примера CCD-описаммй. которая позволяет описывать XML-схему параметризации двух драйверов устройств.

А. 8.2 XML-схема: Файл CCDajcsd <?хш1 versions*!^ encodmg=*UTF-8"?>

<xsd:schema xmlns:xs<*=“htto:V/www.\v3.org/2001/XML Schema* e<ementFofmOefault=*quahrfie<r attnbuteFormDefau*=*unqualrf»ed">

<xsd:an notation»

<xsd:app<nfo socirce=*httpV/www.asam.net/lSO20242-4/DCPTHeaderxs<r>

<DCPTHeader>

< DCPT Iden bbcabon»CCD 1 </DCPT Identification >

<DCPTRevision»1 0</OCPTRevis»on>

<DCPTName»CCOa</DCPTName»

<DCPTSource>CCDa jtsd</DCPTSource>

<DCPTCIasslD>CCD</OCPTClasslD>

<DCPTOate >2009-03-16</DCPTDate»

<ISO20242Re#ecence»

<1 SO20242Ecfcbon» 1 </)SO20242Edition>

<Technology»ASAM-GOK/Technology»

</ISO20242Reference»

</DCPTHeader>

</xsd .appinfo»

</xsd annotation»

<!- A coodinalor capab*ty description contans the capaMfty desertions of all devices, which will be usable ->

<xsd: include schemaLocation=*DCDa1 jcsd*/>

<xsd:include schemaLocation=“DCDa2.xs<r/>

<!— * IS015745 Profile Root ■ ->

<xsd:elemerrt name="IS015745Profiie">

<xsd :cocnplexType>

<xsd:sequence>

<xsd:element ref="ProfileHeadef'*/»

<xsd;etement ref="Profaeeody7»

</xsd:sequence>

</xsd:complexType>

</xsd:elemenC>

<!— • HEADER DATA TYPES * ->

<xsd.element name=“Profile Header*»

<xsd:complexType>

<xsd:sequence>

<xsd: element name="Profiie Identification* type=*xsd. string"/»

<xsd:element name=*ProfileRevision" type=*xsd:string7>

<xsd:element name="ProfileName* type=*xsd: string*/»

<xsd:element name=*ProfileSotirce" type=*xsd:string*/»

<xsd:element name=*ProfileClasslD" types*ProT4eClasslD_DataType* fixed="lnlormatronExchange7»

<xsd. element name=*ProfileDate* type="xsd:date" rrw>Occurs=“X)’/>

<xsd:element name=“Addrt*ooal Information* types*xsd:anyURT minOccufs=*0*/>

<xsd:element name="IS015745Reference* type=*lS015745Reference_DataType*/»

<xsd:element name="IASInterfaceType* type=*IASInterface_DataType* fixed=*CSr minOccurs=*0* maxOccurs=*unbounde<r/»

</xsd: sequence»

</xsd:compiexType>

</xsd .element»

<xsd:complexType name=*IS015745Reference_DataType*»

<xsd.sequence»

<xsd.element name=*IS015745Part* type=*xsd: string" fued="1V>

<xsd:etement name="IS015745Edrtion" type=*xsd:string" fixed=*17>

<xsd.e!ement name=“ProfileTechno4ogy" type=*xsd string" fixed="None*/>

</xs<l sequence»

</xsd:comp*exType>

<xsd:simpleType name=*Prof4eClasslD_DataType*>

<xsd:vBStriction base=*xsd:string*>

<xsd.enumeration value=*A!P7>

<xsd:enumerabon value="Process"/>

<xsd:enumeradon value=*lnfofmadonExchange7>

<xsdenumerabon value=*Resource7>

<xsd:enumeration value=a'Dev,ice7>

<    xsd. enumeration vakje="ComrT4jnicationNetwori<7>

<xsd:enumerabon value=*Equipment7>

<xsd:enumefabon value=*Human7>

<xsd.enumeration values“Materia#V>

</xsd:restridion>

</xsd:simpleType>

<xsd.simpteType name=*lASInterface_DataType*>

<xsd:union>

<xsd:simpleType>

<xsd:restriction base=*xsd:stnng*>

<xsd enumerabon value=*CSI7>

<xsd:enumeradon value=*HCI7>

<xsd:en time radon value=*ISI7>

<xsd:enumeradon value=*APf7>

<xsd.enumeration value=“CMI7>

<xsd:enumerabon value="ESI7>

<xsd:enumeradon value=TSI7>

<    xsd.enumeration vak>e="MTI7>

<xsd:enumerabon value=*SEI7>

<xsd.enumeration value=*USI7>

</xsd:restridion>

</xsd: simpleType>

<    xsd: simpleType >

<xsd:restriction base=*xsd:string*>

<xsdJength value=*47>

</xsd:restriction>

</xsd:sampleType>

</xsd:union>

</xsd :sampleType>

• BODY SECTION * ->

Orcd'Aloment mmflsTVwWflRnrt/*»

<    xsd:complexType>

<xsd:sequence>

<xsd:element name=*CCD* maxOccurs=*inboundecr>

<xsd.complexType>

<xsd:sequence>

<    xsd.element nan>e="DC01" type=*Driver01" mtnOcaxs=*0" maxOccurs="unbounded7>

<    xsd. element name=*DCD2* type=*DriverQ2* ттОсажь=*0* max Оссигь=*1Ж1 bound ed“/>

</xsd:sequence>

<xsd .attribute name="calegory type-"Category* use=* required* fixed="CCD7>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd;complexType>

</xsd:element>

</xsd;schema>

A.9 Пример Р1В-олиса»жя

A.9.1 Общие сведения

Файл SamplePIDa.xml содержит пример XML-a3»»*wx для PlD-описанмя. который позеоляет использовать файл CCDajcsd в качестве ХКй.-схемы и определять экземпляры класса параметров согласующего устройства и драйверов устройства.

А.9.2 XML-схема: Пример файла Р ID a. xml <?хтп1 versions* 1ЛГ encodng="UTF-8"?>

<IS015745Proiae xmlns:xsi=’http^/Www.w3-org/200t/XMLSchemaHnstanoe"

xsi. noNamespaceSchemaLoeaton=~CCDaxsd“>

<Pro6leHeader>

<Profteldenbfcabon>Examp4eOfPtD<yProfioldenbf»cabon>

<ProfieRevision> 1.0</ProfileRevision>

<ProiileName>£xample of PlOc/ProfileName»

<Profie Sou rce>SampieP1Da.xmKwPro file Sou rce>

<Proft*eClasslD> Informa bon Exchange</ProfdeClasslD>

<ProNeOate>2009-03-16</ProfifteOate>

<Addrt>orva!l nforrnation> <1 S015745Reference>

<IS015745Part> 1 <ЛБ015745P»t>

<IS015745Edrt>on> 1 <ЛЭ015745EdHion> <ProfaeTechnology>Nane</ProfileTechnology>

</lS015745Reference>

<lASk*erfaceType>CSI</lASIntertaoeType>

</Pro&)eHeader>

<ProtteBody>

<CCO calegory=*CCD~>

<DC01 dfiverVersion=*1* dllPath="ndAD.<flT category="DCD*>

<!- nitialize device 1->

<myOevice01 x*tOrder=*1" modiield=“1000* category=“MODULE“>

<Ni*nOfChannel Gategory=*CREATEPARAMETER~>

<Vakie >255</Sfalue >

</NumOfCharmel >

<!- iniialize frvADInput ->

<fnAD!nput funcJd=*1077* mrtOrder="2* category-* INTERFACE*» interrupt category="CREATERARAMETER*>

<Vaiue>5</Vaiue>

</lntemjpt>

<!- inibafcze parameter Channel —>

<Charmel initOrder="3" category^“PARAMETER" readonly=“Tatee">

<!- turtle channel several times —>

< Ordered Value mrtOnder=*4*>

<Value»0 </Value >

</OfderedVafcje>

<OrderedValue xwtOrder=“14’>

<Va*ue>1 <JVatue>

</OrrtemrlVafc *л>

<OrderedValue «nrtOrder=“24">

<Va*ue>2</Vaiue>

</OtderedVa*ue>

</Channel>

<!- initialize the read-only attrtoute ADValue ->

<AOValue initOrder=“3" category^ ATTRIBUTE" rBadonty=“true* mfReport=*lrue*/> </fnADInput>

</myOevice01>

</DCD1

<DCD2 driverVersion=*1* d!Path=*dcd2.cff~ categocy=*DCD*>

<!- ntialize device 02 —>

<myOevice02 nrlOnder=*1" mod<ie*d=“1002* calegory=“ MODULE“>

<!- inrtialize myFunction02 ->

<myFunction02 funcld="1008" in*Order=*2" category^* INTERFACE*»

<myCRPaf02 category=*CREATEPARAMETER*»

<Value>

<speed»4800<Jspeed»

<length»8<Aength>

</Va*ue>

</myCRPar02>

<!- nibalize myOperabon02 ->

<myOperabooQ2 mrtOrder=*3* category=*OPE RATION* operation ld="1009“»

<!- execute the operation several tmes —>

<lnVaiue category="IN*» <lnput initOrctef=e13e>

<Value>7.O</Va4u0>

</lnput>

<lnput inrtOntef=*23’> < Value» 14.0</Value> <yinput>

<lnput initOrctef=*33*>

<Value>24.0</Vahje>

</lr»put>

</lnValue>

<УгпуОрегаЬоо02>

</myFunction02>

</myOevice02>

</dcd2>

</CCO>

<7Pro€leOody>

</IS015745Profite>

Приложение В (справочное)

Шаблоны профилей возможностей устройства для промышленного применения

В.1 Общие сведения

МЮХ-технологмя позволяет определить методы совместного испогъэоеания производственной информэ-дои. представляемом на яэьже XML и предназначенной для промышленных применений. В данном приложе**** приведено описание шаблона профиля зависящих от МЮХ-технологии возможностей служебною интерфейса сак совместно используемых для информационной передачи с помощью спецификаций иа характеристики программ (PPS-спецификаций) OASIS. Примеры DCD-, С СО- и PIO-огы саний приведем далее.

8.2 Модель профиля MICX-технологии

8.2.1    Общие сведения

Зависящая от МЮХ-технологии модель профиля содержит всю информацию, которая необходима для огы-сзния возможностей данного устройства и параметризации. На рисунке В.1 приведена диаграмма классов для зависящего от МЮХ-технолопы шаблона профилей возможностей устройства.

8.2.2    Класс Device (устройство)

Этот класс характеризует возможности зависящего от МЮХ-твхнолопы виртуального устройства и наследуется классом виртуальных устройств. Зависящий от устройства класс должен наследовать его свойства и определять возможности зависящего от даьыого устройства виртуального устройства.

В-2.3 Класс Activity (рабочая операция)

Этот класс характеризует возможности зависящей от МЮХ-технологии рабочей операции и наследуется классом фу»«циона/ь»ых объектов. Зависящий от рабочей операции класс должен наследовать его и определять возможности зависящей от устройства рабочей операции.

В.2.4 Класс Requester (инициатор запроса)

Этот класс характеризует возможности юмциатора запроса, используемые в зависящей от М1СХ-технопо-пм рабочей one радой, наследуемые классом рабочих операций, обладающие несколькими классами сообщений (или не имеющие класса) и способные посылать ответные сообщения этих классов, которые могут приниматься. Имщиатор запроса определен в части 2 PPS-спеиифюсаиий OASIS [3].

В.2.5 Класс Responder (респондент запроса)

Этот класс характеризует возможности респондента (ответчика) запроса, используемые в зависящей от МЮХ-технологии рабочей операщы. наследуемые классом объектов связи, обладающие несколькими класса*** запрашиваемых сообщений (или не имеющие этого класса) и способные принимать ответные сообщения этих классов, штооые могут посыпаться. Респондент запроса определен в части 2 РРЭ-спеиификадой OASIS (3).

8.2.6    Класс Sender (отправитель запроса)

Этот класс характеризует возможности отправителя запроса, испо/ьзувмые в зависимей от М1СХ-техиопо-г>ы рабочей операщы. наследуемые классом объектов связи, обладающие неосалысими классами уведомляющих сообщений (нгм не имеющие этого класса) и способные пр**ымать ответные сообщения этих классов, которые могут посылаться. Данный класс имеет несколько классов доменных объектов (или не имеет этого класса) для записи данных в уведомляющие сообщедоя. Отправитель запроса определен в части 2 PPS-спецификаций OASIS [3].

8.2.7    Класс Receiver (получатель запроса)

Этот класс характеризует возможности получателя запроса, используемые в зависимей от MICX-техноло-пт рабочей операщм. наследуемые классом объектов связи, обладающие неосогьхими классами уведомляющих сообщений (игы не имеющие этого класса) и способ»ые пр*ьммать ответные сообщежя этих классов, которые могут посылаться. Дан»куй класс имеет несколько классов доменных объектов (или не имеет этого класса) для чтения данных из уведомляющих сообщений. Получатель запроса определен в части 2 PPS-спедофикадой OASIS (3].

В.2.8 Класс Message (сообщение)

Этот класс характеризует возможности сообщежя. которые позвогккот зависимей от МЮХ-технологии рабочей операции получать и принимать его. Да»»кун класс имеет один или несколько классов входных сообщеюкй.

В.2.9 Класс Domain object (доменный объект)

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

8.2.10 Класс Transaction (транзакция)

Этот класс характеризует возможности входного сообщедоя. которые в зависимости от рабочей операции, используемой в МЮХ-технологии. способны посылать или пр*»«имать это сообщение. Да»»куй класс содержит классы примитивных элементов. Каждый конкретный класс транзакции должен наследовать свойства абстрактного класса транзакций, определенные в части 2 PPS-спецификаций OASIS [3].


Рисунок В1 — Диаграмма классов для зависящей от MJCX-тех молот ии модели DCPT-шаблома


В-2.11 Класс Primitive element (примитивный элемент)

Этот класс характеризует возможности OASIS PPS-примитивного элемента сообщения, которое может посылаться и приниматься с помощью зависящей от М1СХ-техмалооы рабочей операции. В OASIS PPS предусмотрено восемь типов примитивных элементов — план, заказ (порядок), сторона, задам», операция, партия, ресурс, процеос и товар. Примитив»ыо элементы определены в части 1 PPS-слеиификаций OASIS (2).

В.Э Дополнительная идентификация типа для обобщенного DCPT-шаблона В габлмде В.1 указаны зависящие от технологии типы идентификаторов объектов связи.

Таблица В.1 — Идентификаторы типов объектов связи

Элемент зависящего от выбираемой технологии ОСРТ-шаблома

Содержимое XML-атрибута «category»

Responder

RESPONDER

Sender

SENDER

Receiver

RECEIVER

Примечание — В МЮХ-технологии содержимое атрибута «category» не связано с состоянием виртуагк»-ною устройства. При этом любое содержимое должно иметь тот же смысл, что и содержимое ATTRIBUTE в GOL интерфейсе A SAM (см. приложение А).

8.4 Зависящий от выбираемой МЮХ-технологии шаблон профилей возможностей устройства

8.4.1 Общие сведения

Файл MICX Common, xsd содержит XML-схему зависящего от выбираемой МЮХ-техиалопы DCPT-шаблона, которая позволяет расширять XML-схему для обобщетеюго DCPT-шаблона, приведенную в 6.3 в соответствие! с зависящей от выбра»»юй №СХ-технопогии моделью DCРТ-шаблона (см. рисунок В.1). Этот файл позволяет импортировать XML-схемы в PPS-спецификации QASIS-систвмы (части 1 и 2).

8.4_2 XML-схема: Файл MICXCommon-xsd

<?xnil version="1.0* eocoding=*LfTF-8" standalone=*yes*?>

<xsd:scriema xmins:xsd="

xmlns="^p./A«ww. mstc.or.jp/micx/1SO20242-4/MICX"

xmins :dcpt ^TittpJ

xminspps= "http ://docs.oa sis-open.org/pps/ns/core-elements*

xmins. pp3t="httpi//docsoasis-open.org/pp&/n&/transaction-messagesv

targeCNamespace="http:/A*ww.mstc.or.jp/micx/1SO20242-4/MICX~

etementFormDefault= "qualified"»

<xsd .annotation»

<xsd:appoifo source="

<DCPTHeader>

<DCPTldentificatiori>MICXCommon</DCPTIdentificabon»

<DCPTRevision>1.0</OCPTRevision>

<DCPTName>MICX Specific DCPT</DCPTMame>

<DCPTSourca»MICXCommon.xsd</DC PTSource» <DCPTCtasslD»lnformabonExchangeTemplate</DCPTCIassJD>

<DCPTDate >2009-02-25</DCPTDate >

<DCPTVender>fAOP<tX:PTVender>

<TechnologyReference>

<TecTinology>FAOP-MICX</Techno*ogy>

<Revis»on> 1.0</Revis»on>

</TechnotogyReferance»

</DCPTHeader>

</xsd:appinfo»

</xsd .annotation»

<!- " Import GeoericDCPT." ->

<xsd:«nport namespace="http'./ sctomaLocabon="GenericDCPT.xsd7>

<!- * Import PPS core elements.* ->

<xsd:import namespace="" scriema Loca bon="pps-core-elements-1.0.xsd7>

<!- * Import PPS transaction messages.* —>

<xsd:import namespece2"bttp://docs.oasis-open.org/pps/ns/transacbor»-messag€S* schemaLocation2*pps~transact>on-messages-1.0.xsd"/>

<!- Vabd content for XML-Attribut category (kind of DCO element) ->

<xsd s*n pie Type na me2 "categoryType">

<xsd:restriction base2"xsd: string"»

<xsd enumeration value2 "CCD"/»

<xsd:enumeration value2 "DCD"/»

<xsd.enumerabon value2"MOOULE7»

<xsd:enumerabon valuesINTERFACE"/»

<    xsd; enumeration vafue2’OPERAT10N"/»

<xsd:enumerabon value2 "RESPONDER"/»

<xsd:enumerabon value^SENDER*/»

<xsd:enumerabon value2“RECEIVER"/»

</xsd:restriction»

</xsd:sampleType>

<(- Vaid message type (kind of Messge element) —>

<xsd:simpleType name2"messageType“>

<xsd:restriction base2*xsd:string">

<xsd:enumerabon value2"REQUEST"/»

<xsd. enumeration value^RESPONSE"/»

<xsd.enumerator* vakie2"NOTlFY"/>

</xsdTestriction>

</xsd:sampleType>

<!- “ Elements Declvabon * ->

<    xsd. element name2" Request Message" type2 "Message Type" abstract 2"true’/> <xsd:element name2*ResponseMessage* type2“MessageType* abstract2"true"/> <xsd etement name2*NobfyMessage* type2*MessageType* abstract2*trua*/>

<    xsd. element name2"DomainObfecT type2"DomainObjectType* abstract2"true"/»

<    xsd: element name2Transacbon* ty pe 2 "ppst: Transact ion Type" a bs tract2" true"/> <xsd:element name=*PnmitiveElement" type2 "ppsPrimrtrve Type" abstract2"true"/> <!- * Type Definition * —>

<xsd.complexType name2"DCD Type"»

<    xsd :com plexContent»

<    xsd: extension base2 "dept: GeneocOCDType"/»

</xsd complexContent»

</xsd:oomplexType>

<ycsf*nftmpievTypA пягт»="Пв\лг»Турв“>

<xsd:complexContent>

<xsd:extension base2*dcptVirtuaOeviceType"/>

</xsd complexContent»

</xsd:oomplexType>

<xsd:complexType name2 "Activity Type*»

<xsd:comp!exContent>

<xsd:extension base="dcpt:FuncbonObjedType"/»

</xsd complexContent»

</xsd:complexType>

<xsd:complexType name2“RequesterType*»

<xsd:complexContent>

<xsd.extension base2"dcpt:OperabonType">

<xsd:sequence>

<xsd:element ref2"RequestMessage" manOccurs2"(T maxOccurs^unbounded*/»

<xsd:element nef="ResponseMessage" minOccurs2“0" maxOceurs2"unbounded"/» </xsd: sequence»

</xsd:ex tension»

</xsd complexContent»

</xsd:oomplexType>

<xsd:complexType name2*ResponderType*»

<    xsd ;complex Content»

<xsd:extension base2"dcpt:CommunicationObjectType">

<xsd:sequence>

<xsd:element ref2"RequestMessage* mmOccurs2“<r maxOccurs2"unboundecT/» <xsd:eiement ref=*ResponseMessage" minOcci*s=*(r ma xOccurs=* abounded*/»

<xsd:eiement rel="Domam Object* minOccLrs=4T maxOccLrs=*unbotrKJed"/>

</xs<l sequence»

<xsd-attribute name=*category* type="categocyType* use="regiirecr fbced="RESPONDER"/»

</xsd [extension»

</xsd :com plexContent»

</xsd:complexType>

<xsd.com ptexType name=*SenderType">

<xsd:comptexContent»

<xsd:ex tension base="dcpt;CommunicationObjectType~>

<xsd.sequence>

<xsd.e4ement ref=*NotrfyMessage" minOcctrs=’>0" maxOccirs="unbounded7>

<xsd:etement ref="Domain Object* minOccxrs=*XT maxOcci*s=*untxx*Kted7>

</xsd. sequence»

<xsd:attribute name=*category" type= "category Type* use^’requraT fixed="SENDER*/>

</xsd:extension»

</xsd:com plexContent»

</xsd:complexType>

<xsd:com ptexType name=*RecerverType“>

<xsd:com plexContent»

<xsd:extension base= "dept: Common icationObjectType*»

<xsdsequence>

<xsd [element ref="NotrfyMessage" minOccirs=’X)" maxOccirs="unbounded*/>

<xsd:element ref="Domam Object* minOccLrs="X)" maxOca*s=*unboLnded7>

</xs<l sequence»

<xsd.attribute name=’category* type=*categoryType" use=*reqmd* fixed="RECErVER’/>

</xsd [extension»

</xsd :com plexContent>

</xsd:complexType>

<xsd [complexType name=*MessageType*>

<xsd:choice mjnOccurs=*0"»

<xsd:element ref="Transaction" maxO©ajrs=*unbounde(T/>

</xsd .choice»

<xsdattribute name-"name* type="xsd:string*/>

<xsd:attnbute name=*message" type="messageType* uses*required*/>

</xsd:com ptexType»

<xsd:complexType name=“Domar>ObjectType*»

<усН*сжаг11Мпге minCWv»ir«=TP>

<xsd:element ref="Prim<jveEtement* maxOccurs=’unbounded*/»

</xsd. sequence»

</xsd:com ptexType»

<xsd-attribute name =*name* type="xsd[string*/»

</xsd:schema>

8.5 Пример программы DCD-описамия

8.5.1 Общие сведения

Файл DCDbJcsd содержит пример XML-схемы DCD-onnca>eci. которая позволяет допогыять XML-схему для зависящего от выбраююй MICX-техмслосии DCPT -шаблона (см. В.4) в соответствие* с возможностями драйвера устройства.

8 5-2 XML-схема: Файл DCDbJtsd <?хтп1 versions* 1.(Г encodmg=*utf-8*?>

<xsd:schema xmtes:xsd=’http:7 xmins=" xminsm»cx=“ x min spps=*Yrttp;//d ocs.oasis-open.org/pps/ns/core-etements* xmtns;ppst=*http^/docs- oasis-open org/pps/ns/transaction-messages* ta rgetNamespace-* etementFormDeia unqualified*»

<xsd .annotation»

<xsd:app«nfo source="hfip://

<DCPT Header»

<DCPTIdentr5cation>DCD</DCPTIdentificabon>

ы



ГОСТ Р ИСО 20242-4—2012


<xsd attribute names'category" type=“miot: category Type’ use=* required" fixe d=’OPE RATI ON*/> </xsd:oomp*exType>

<!- * ExecubonContro*< Requester) Type Definition * —>

<xsd.oompfexType name="ExecutoonControfType*>

<xsd.sequence>

<xsd:eJement ref="Execut>onRequest* minOccurs=*0* max Occurs=’unbound ed7> <xsd:element ret=’ExecubonResponse’ mmOccurs=X maxOccurs='unbounde<r/> </xsd:sequence>

<xsd; attribute name="name* type=*xsd :string'/>

<xsdattnbute name^'category* type="micx:categoryType’ use=’required" fix ed="OPE RATI OfT/> <Sxsd:compiexType>

<!- * Getlnformaboo(Requester) Type Definition * ->

<xsd:complexType name=*GednfonnaiionType*>

<xsd:sequence>

<xsde1e merit ref="GetlnformabonRequesr minOcccrs="0" maxOccurs=*unbounded7>

<xsd:element ref=’Getln#ormation Response* m»nOccurs="0" maxOccurs=*unbounded7> </xs&sequence>

<xsd attnbute name=’name* type=*xsd :string’/>

<xsd attribute names’categor/* type="micx: category Type’ use=>requred* fixed="OPERATION7>

</xsd:compiexType>

<!- * EventReporfType<Receiver) Type Defirabon * ->

<xsd:complexType name="EventReportType*>

<xsd.sequence>

<xsd:e4ement ref="NobfyEvent" mnOccurs=*0" maxOccurs=*inbounded7>

<xsd:elemeni ref=’EventObject’ гтхпОосиг5="0" maxOccurs=4nbounde<r/>

</xs<l sequence >

<xsdattribute name=’name* type=*xsd:string*/>

<xsdattribute name=’category' type^’miotcategoryType’ use-»required* fixed=’RECEIVER*/>

<Sxsd:compiexType>

<!- * EventObject Type Definition * ->

<xsd:efement name="EventObjecT>

<xsd :complexType>

<xsd.sequence>

<xsd:eJement name-*EquipmentObjecT type="EquipmefitType’ mmOccurs^X* maxOccuis=’unbounde<r/r>

<vcd'Alamonf г\лт«=*Р*>гкпппр*ОЬрогГ“ rypas"PanuvmalTypo* me>Occurs=*0* maxOccurs="unbounde<f7>

<xsd:etement пате=’ЕхесиЬогЮЬ^есГ type="ExecutoonType" ттОссиг&=*(Г maxOcajrs=*4jnbounde<r>

</xsd:sequer>ce>

<xsdattribute name=’name’ type="xsd:string’/>

</xsd:oomptexType>

</xsd .element»

<!- Definition Type of Equipment elements extended on primrtxve element —>

<!- Equipment element —>

<xsd:element name=’Equipment" type-’EquipmentType’ substrtutionGroup=’pps. Resource’/» <!- Equipment Type ->

<xsd:complexType name^’EquipmentType*»

<xsd:complexContent>

<xsd:restriction base=*pps:PrimitrveType’>

<xsd:sequence>

<xsd:etement ref=’pps:Capacity* m»nOccurs=’0" maxOccurs=*unbounded*/>

<xsd:element ref=’pps:Spec’ minOccurs=X* maxOccurs=’unbounde<f7>

<xsd:eiement ref=*pps:Event’ mnOccurs=’0* maxOccuns=’inbounded7>

<xsd: element ref=’pps:De scrip boo’ mmOccurs^X maxOcci*s=*unbounded7>

<xsd:element ref=’pps Author" minOccurs=X maxOccurs=*Lnbounde<r/>

<xsd element ref="pps.Date» mr>Occurs=X maxOccurs^irfcoundedV»

</xsd: sequence»

<xsd attribute name="kT type=*xsd:string" use=’reqiMed7>

<xsd attribute name=Tcey^ type=*xsd:tong"/>

<xsd attribute name=’name" type="xsd:stnng" Г|хед="ЕдшртепГ/>

<xsd attribute name="type* t у pe="xsd: string"/»

</xsd:restriction»

</xsd :com plexContent»

</xsd:oornplexType>

<!- Definition Type of Personnel element extended on primitive element —>

<!- Personnel element —>

<xsd: element name="Personner type=" Person nefType" subsbtutionGnxjp=*pps:Resource‘ ■> <!- Personnel Type —>

<xsd:complexType name^’PersonoeTType">

<xsd:com plexContent»

<    xsd .res tn ebon base="pps:PrimitiveType~»

<xsd.sequence»

<    xsd. element ref="pps: Capacity" minOccurs="0" maxOccurs= "unbounded"/»

<    xsd: element ref="ppsSpec* minOccurs="0" maxOccurssaaunbounded7>

<xsd:eiement ref="pps: Event" гт»пОссше=ТГ maxOccurs^inbounded"/»

<    xsd. element re f="ppe:De scrip boo" mmOccurs="0" max Oaxrs= "unbounded"/»

<xsd:element ref="pps:Author" гтшЮссигь="0" maxOccurs=" unbounded"/»

<xsd:etement ref="pps:Qate" mnOccurs=“C“ maxOcct*s="un bounded"/»

</xsd:sequence>

<xsd:attribute пагт>е="кГ type="xsd string" use="reqmd7»

<xsdattnbute name="key" type=*xsd:long"/>

<xsd attribute name="name" type="xsd:string" fixed=“PersonneT/»

<xsd attribute name="type" type="xsd:string"/>

</xsd: restriction»

</xsd complexContent»

</xsd:oomplexType>

<!- Definition Type of Reape element extended on pnmrtive element ->

<\- Recipe element —>

<xsd:element name="Reape" type=*ReapeType" substitubonGroup="pps:Process"/>

<!- customer Type —>

<xsd.complexType name="ReapeType">

<xsd:com plexContent»

<    xsd .res tn ebon bases"pps:PrimitrveType">

<xsd. sequence»

<xsd:element ref="pps: Produce" minOccurs="0" maxOccurs=~unbounde<r/>

<    xsd. element ref="pps:Consume* m«nOccurs=,Xr maxOccurs="unbounded7>

<yc/1'Alormar»t ref="pfve-Assign* minCWxir«="fr mavOnriirc=*imbniinrtArir/»

<xsd:element ref="pps.Spec" minOccurs="0" maxOccurs=,‘unbounded"/»

<xsd:element ref="pps:Descripbon" minOccurs="0" maxOccurs="unbounded"/>

<xsd:elemer.t ref^ppsrAuthor'* rmiOccirs=*0* maxOccurs="unbounded"/>

<xsd:element ref="pps:Date" minOccurs=atT maxOcaxs=" unbounded"/»

</xsd: sequence»

<xsd attribute пате="кГ type="xsd: string" use="reqiMBd7>

<    xsd attribute name="key» type=*xsd:long"/>

<xsdattribute names"name" type="xsd:string"/»

<xsd attribute name="type" type="xsd: string" fix ed="Reape 7»

</xsd:restriction»

</xsd complexContent»

</xsd:oomplexType>

<!- Definition Type of Work element extended on primitive element ~>

<!- Work element -»

<    xsd. element name=*Work" type=*WorkType’ subst*utionGnoup=*pps:ltem7>

<!- customer Type —»

<xsd.comp!exType name=“WorkType"»

<    xsd.com ptexCon tent»

<xsd:restnction base="pps;PrinxtiveType"»

<xsd:sequence»

<xsd .element ref="pps:Produce" minOccurs="0" maxOccurs="unbour>ded7>

<xsd:element ref="ppsConsume" minOcajrs="0' maxOccurs="unbounded7>

<xsd:element ref="pps Spec" minOocurs="0" maxOccurs="unbounded7»

<xsd:element ref="pps:Descripbon" mmOccurs="0" maxOccurs="unbounded"/>

<xsd:element rBf="pps-Author* minOca*s=4r maxOccurs="unbounde<r/>

<xsd:element ref="pps Date* nw>Occurs=“C“ maxOcars=*unbounded*/>

</xs<l sequence»

<xsd-attribute пате="кГ type="xsd: string" use="reqi«Bd7>

<xsd attribute name="Vey* type="xsd:long"/»

<xsd-attribute name="name* type=**xsd:stnng"/>

<xsd attribute name=*parent* type=*xsd:stnng7>

<xsd-attribute name="type* type=**xsd:string* fixed="Work*/»

</xsd:restriction>

</xsd :complexContent>

<Sxsd:com plexType»

<!- Definition Type of Execution Order element extended on primitive element —»

<!- Execution element ->

<xsd.e*ement name="Execubon" type="ExecubonType* substrtutionGnoup="pps:Operation"/> <!- Execution Type ->

<xsd:complexType name=*ExecubonType“»

< xsd.com pie xContent>

<xsd:restriction base=~pps:PrwnitvveType*»

<xsd.sequence>

<xsd:element ref="pps.Produce* minOccurs="0" maxOccurs="unbounded"/»

<xsd:element ref=*pps:Consume* minOcctrs='*0" nvaxOccurs="unbounded7>

<xsd:element ref="pps:Assign" rrw>Occurs="0" maxOccurs=*unbounded*/»

<xsd:element nef="pps:Progress* minOcctrs="0" maxO ecu rs= "unbounded"/»

<xsd.element ref="pps:Spec" minOccurs="0* m ax Occurs=" unbounded"/»

<xsd:element ref="pps:Start* minOccurs="0" maxOccuns="unbounded"/»

<xsd:element ref="pps:End* minOccurs=eO* maxOccurs="unbounded"/>

<xsd:element ref=*pps:Event" minOccurs=*0* maxOccurs="untoounde<f7»

<xsd:element ref="pps : Description" minOccurs="0" max Occurs= "unbounded"/» <xsd:element rBf="pps-Author* rrw>Occirs="0* maxOccurs=~unbounded7»

<xsd:element ref="ppsDate" nwOccurs=tr maxOcaxs="unbounded"/>

</xs<l sequence»

<xsd-attribute name="kT type="xsd:string" use="reqiMBd7>

<xsd attribute name="*e/“ type="xsd:k)ng"/>

<xsd-atthbute name-"name* type="xsd:string*/»

<xsd attribute name=’type" type="xsd:string* fixed=*Operation"/>

<xsd-attribute name=“status" type=*xsd: string"/>

<xsd-attribute name5* process" type=*xsd: string*/»

<ht%t\-rft*trirlinn>

</xsd:complexContent>

</xsdcomptexType>

<!- Definition Type of Accepted Work element extended on relational element —> <!-AcoeptedWork element ->

<xsd:element name=’AcceptedWork" type=*AcceptedWorkType* subsbtuto>nGroups*pps.Produce*/>

<!-AcceptedWork Type —>

<xsd.complexType name="Accepted WorkType"»

<xsd:complexContent>

<xsd:restricbon base="pps:RelabonalType~>

<xsd:sequence>

<xsd.element nef="pps:Qty" minOocurs="tT maxOaxrs=’un bounded*/»

</xsd:sequence>

<xsd attribute name=“type" type="xsd: string" fixed=*Accepted*/»

<xsdiattribute name="lot* type="xsd:stnng7>

</xsd:restriction>

</xsd :complexContent>

</xsd:com plexType»

<!- Definition Type of DefectiveWorfc element extended on relational element ->

<!- Defective Work element ->

<xsd:element name="DefectiveWor1c* type=“DefectrveWorkType* subsbtubonGroup="pps. Produce"/»

<!-OefectiveWork Type —>

<xsd: com plexType name="DefectjveWorkType">

<xsd:complexContent>

<xsd:restricbon base=*pps:RelabonalType~>

<xsd.sequence»

<    xsd.element nef=’pps:Oty* mir»Occur5="0“ maxOccxrs^unbounded'/»

<Vxsd: sequence»

<    xsd .attribute name2 Type" type2"xsd:string* fixed2 “Defective “/>

<xsd attribute name=To<* type=*xsd ;stnng“ri>

</xsd restriction»

</xsd:complexConterit>

</xsd:oomplexType>

<!-Definition Type of Assigned Equipment element extended on relational element ->

<!-Assign edEqmpment element —>

<xsdetement na me2 ’ Assigned Equpment' type2"AssignedEquipmentType" substHutionGroup2*pps:AssignV> <!-Ass»gnedEquipmeot Type ->

<xsd:complexType name="AssignedEquipmentType*>

<xsd:complexContent>

<xsd:restriction base=*pps:RelabonalType"»

<xsd:sequenoe>

<xsd:otoment nef='pps:Oty* minOccurs2*(r maxOccxrs2'unbounded*/»

</xsd:sequence»

<xsd:attribute name="type“ type="xsd:stnng" fixed2’Equipment"/»

<xsd attnbute name2'resource' type2"xsd:stnng7>

<Уxsd restriction»

</xsd complexContent»

</xsd:oomplexType>

<!-Oefinfftxyi Type of OrderName element extended on speafic element — >

<    (-Order Name element ->

<    xsd: element name2“OrderName* type2“OrderNameType' substitubonGcDup=“pps.SpecV»

<!—OrderName Type —>

<    xsd .complex Type name="OrdefNameType~>

<xsd:complexContent>

<xsdrestriction base="pps:SpebficType~>

<xsd.sequence»

<xsd:element ref="pps:Char" minOccurs=*0“ maxOccurs2“unboundedV>

<Vxsd: sequence»

<    xsd .attribute name=“type“ type=*xsd:sthng“ fixed="Order',/>

</xsd .restriction»

</««1гптр1л»Г.пп1вп»>

</xsd:oomp*exType>

<(-Oefinrt»on Type of Length element extended on specific element —>

<1- Length element ->

<    xsd. element name="Length* type="LengthType" subsirtutionGroup="pps:Spec*/>

<xsd:element name=“Oty“ subsbtutionGroup=*pps:Qty7>

<!- Length Type —>

<xsd.complexType name=*LengthType*>

<xsd:complexContent>

<xsdrestriction base=~pps:SpeciftcType*>

<xsd:sequeoce>

<xsd:oloment nef^ppsOty* minOccurs2*tT maxOcctrs2'unbounded'/»

<7xsd: sequence»

<    xsd .attribute name="type* type=*xsd:string“ ftxed="Length“/»

</xsd restriction»

</xsd complexContent»

</xsd:oomplexType>

<    (-Message —>

<!-Oefinrt>on Request Message of LoedReope ->

<    xsd. element name2*LoadReopeRequest*>

<xsd complexType»

<    xsd .com plexContent>

<xsd:extension base="micx:MessageType*>

<xsd:sequence>

<xsd:element name2’RecipeRecord">

ГОСТ Р ИСО 20242-4—2012


со



ГОСТ Р ИСО 20242-4—2012


«л



ГОСТ Р ИСО 20242-4—2012

=>Г type =*xsdst ring'

<xsd attribute name=*acbon" type="xsd:sthng‘ fixed =~Notify7»

<xsd attribute name="transacbon* type='xsd:stnng7>

<xsd attribute name="profile" type=*xsd .string"/»

<xsd .attribute name=ecrBate" type=“xsd:dateTime7>

<xsd attribute names"sender^ type="xsd:stnog"/>

<xsd:attribute name="descriptxxT type="xsd:stnng7>

</xsd:restriction>

</xsd :com plexContent»

</xsd:compiexType>

</xsd:etement>

<xsd:e*ement name="Resource Record"»

<xsd.complexType>

<xsd:com plexContent»

<xsd:restriction base="ppst:TransactionType“»

<xsd. sequence»

<xsd:eJement nel="ppstApp" minOccurs="07»

<xsd:etement ref="ppsLHeader* minOocurs="07»

<xsdcrio*c© гтпОссигБ="0"»

<xsd: element ref="pps:Resource" maxOccLrs="unbounde<r/»

</xsdcho*ce»

</xsd:sequence»

<xsd:attribute пагт>е="кГ type="xsd: string" Lrse="reqiMBd7»

<xsd attribute name="acbon" type=4sd:stiing"/»

<xsdattnbute name="transact>on" type="xsd:slnng* fixed="Nottfy"/»

<xsd attribute пэте=*ргоб1е* type=*xsd.string"/»

<xsdattnbute name="crBate" type=“xsd:dateTime7>

<xsd attribute names"sender^ type="xsd:stnng"/>

<xsd:attribute name="descriptxxT type ="xsd: string 7»

<7xsd: restriction»

</xsd :com plexContent»

</xsd:compiexType>

</xsd:etement»

</xsd:cho*ce»

</xsd:extension»

</xsd complexContent»

</xsdcomp*exType>

</xsd:element>

</»«15гЬятд>

B.6 Пример CCD-олисажя В.6.1 Общие сведения

Файл CCDb.xsd содержит XML-схему примера ССО-олиса»*<я. которая позволяет допотмять XML-схему для зависящего от выбираемой МГСХ-технологми DCPT-шаблона (см. В.4) в соответствии с возможностями согласующего устройства, импортирующего DCD-олисаюю драйверов устройства.

В.6.2 XML-схема: Файл CCDb_xsd

<?xml version="1.0* encoding=TTTF-8* standatone="yes’?>

<xsd:schema xmins:xsd= xmlns-Tittp^/ jp/№icx/tSO20242-4/b/Example* xmins:micx^ttp://w>ewjnstc.orjp/micx/1S020242-4/MCX" targetNamespace=" elementf ormOef a utt="qualified"»

<xsd annotation»

<xsd:appinfo source=>

<DCPTHeader>

<CX^PTldentof»cabon»CCO</DCPndentrficatJon>

<DCPTRevision> 1.0</OCPTRevision>

<DCPTName»CCD Samp)e</DCPTName>

<DCPTSource»CCObJtsd</DCPTSource>

<DCPTCIassl D»lnformat>onExchangeTemplate</DCPTCIassl D>

<DCPTDate>2009-02-25</DCPTDate>

< DCPTVender»FAOP<,OCPTVender>

<TectmologyReference>

< Technology »F АОР-МI СХ<-Technology >

<Revision> 1.0</Revis*on>

</ТechnologyRef егепсе»

</DCPTHeader>

</xsd-appinfo>

</xsd .annotation»

<!- • Import MTCXCommon.xsd." —>

<xsd:*nport namespace=" schema Location=*MICXGommon.xsd7>

<xsd [include schemaLocatiorv="DCDb.xsdV>

<»- • IS015745 Profile Root ■ ->

<xsd: element name="IS015745Profile"»

<xsd complexType»

<xsd:sequence>

<xsd.element ref^ProfileHeader'/»

<xsd.eiement ref="ProfileBody7»

</xsd: sequence»

</xsd:complexType>

</xsd [element»

<!- • HEADER DATA TYPES * ->

<xsd:element name-'Profile Headed>

<xsd complexType»

<xsd: sequence >

<xsd:element гате=**РгоЛе Identification" type="xsdlstring7»

<xsd:element name="ProffleRevision" type=*xsd [string*/»

<xsd :element name="ProftleName" type="xsd: string"/»

<xsd[element name="Profi*e Source" type="xsd:stringV»

<xsd[element name="ProfileClassID" type="ProfileCl3sslD_DataType* fixed=*lnformationExchange7»

<xsd.element name-"ProfileDate" type-"xsd[date" m*>Occurs="07>

<xsd [element name='Addrtional Information" type =*xsd: any URT minOccurs="07» <xsd element name="IS01574SReterence* type=*IS01 S74SRefo nooce_DataType"/> <xsd.element name=" IAS interface Type" type="IASInterface_DataType" fixed=“CSf* minOccurs="0" maxOcojrbs"unbounde<r/>

</xs<l sequence»

</xsdcomplexType>

</xsd [element»

<xsd[complexType name=’IS015745Reference_DaiaType">

<AbJ.MM)uei it«>

<xsd;element name="1S015745Part" type=*xsd:string" fixed="1"/>

<xsd[element name="IS015745EdK>on" type=*xsd: string" fixed="17»

<xsd [element name="ProfileTechnology" type="xsd: string" fixed="Nooe"/>

</xsd[ sequence»

</xsdcomplexType>

<xsd:simpleType name=*ProfileClasslD_DataType"»

<xsd:restriction base=*xsd:slnng*»

<xsd:enumerabon value=*AIP’/>

<xsd[enumeration value=*Process"/>

<xsd[enumera6on value=*lnforma6onExchange7»

<xsd:enumerabon value="Resocrce7»

<xsd [enumeration value= “Device 7»

<xsd[©nume ration value="Communi cation Network"/»

<xsd:enumeration value=*Equipment"/>

<xsd;enumefabon value=*Human*/>

<xsd [enumeration value="Mateoaf7>

</xsd:restriction>

</xsdsjmpleType»

<xsd:simpleType name=’TASIntertace_DataType"»

<xs<t union»

<xsd [ simpleType >

<xsd:resliiction base="xsd;slnng*»

<xsd.enumeration value=*CSI7»

<xsd [enumeration value="HCI7>

<xsdenume ratoon value="ISI7»

<xsd:enumerabon value=*API7>

<xsd.enumeration vaJue=*CMI7>

<xsd:enumeratoon vafue=*ESI7»

<xsd. enumeration va)ue=*FSI7>

<xsd:enumeratoon value="MTI7»

<xsd:enumerabon value=*SEI7>

<xsd:enumeratoon value=*TJS 17»

</xsd:restriction»

</xsd: simple Type»

<xsd: simple Type»

<xsd:vBStriction base=*xsd:string"»

<xsd .length vaiue="47»

</xsd:restriction>

</xsd: sample Type»

</xsd:union>

</xsd:s*mpleType>

<!- * BODY SECTION * ->

<xsd:etemerrt name=ePtoWeBod/*>

<xsd:oomplexType>

<xsd.sequence»

<xsd: element na me="CCD" maxOccurs^’inboundecT»

<xsdoomp*exType>

<xsdsequeoce>

<xsd;e4ement пате=ТЭС01* type=*DC DType" m»nOccurs=7r maxOca*s="unbounded7»

</xsd: sequence»

<xsd; attribute name="name* type=7csd :stnng7>

<xsd attribute name ^category type="micx; category Type* use="require<r fixed ="CCD7»

</xsd:oomp*exType>

</xsd .element»

</xsd: sequence»

</xsd:oomplexType>

</xsd .element»

</xsd:schema»

B.7 Пример PtD-олисамия

В.7.1 О6<диосв«домия

Файл SamplePtDb.xml содержит ХМ1_-да»+е*е для примера PID-описаиия. который а качестве XML-cxet** использует файлы CCDb.xsd и DCDtucsd. В нем описав параметрические экземпляры класса из набора параметров загружи в сетевой компьютер

В.7_2 XML-схема: Файл SamplePtDb.xml <7xml version=*1.0r encoding=*UTF-8"?>

<IS015745Profle xmJns="http:M«ww.rnstC-or jp'micx/)SO20242-4/h/Example* xml ns:xsi=*http ./rivww.w3.org/2001/XMLScriema-instance*

xsi:sc*)emaLoc3bon=* CCOb xsd*>

<ProfileHeader>

<Prof*eldenbfcatioo»ExamplePIDt></Profi*eldentific3t>on»

<    PnofieRe vision »1.0</ProfileRevision>

<Pro6leName>Example of PID for MICX</ProfileName»

<ProfleSource»SampleP1Db.xml<JProfileSot*ce»

<ProfteClasslD» Informa bon Exchange</ProfiieClass ID»

<PnofaeDate»2009-02-25</PnofileOate»

<AdcJbonallnformation>nnp^/Www.mstc.orjpAm»cx/lSO20242-t/PID </Additional Information»

<    I S015745Ref erence»

<IS015745Part»1 <nS015745Part>

<1 SOI 5745Ed4ion» 1 </IS015745Edition»

<ProfaeTechno*ogy»Nooe</ProfileTechnology»

</IS015745Reference>

<IAS*rtertaceType»CSJOlASInlerfaceType»

</ProfileHeader»

<ProSeBody>

<ССО name="ExampieP1D" category="CCD">

<DCD1 name=“MICX" category="DCD">

< Device name=*NC_la<he* category=*MOOULE">

<ProducbonConCrol na/ne="machng" category=4NTERFACE*> <LoedRecipe category="OPERATION“>

<LoadRecipeRequesl message="REOUEST">

<ReopeRecofd id=’001* action =" Add" corfrm="Always*>

<Redpe id="1001" name="machir*ng">

<AcceptedWorfc item="B7>

<Ass*gr>edEqu*xnent resource="NC_C7>

<Length name="ms>deOiameter">

<Qty value="15" unit=*mm7>

</Length>

<Length name= "о и tsde Diameter^

<Oty vatue=*36" unit="mm"/>

</Length>

<Length name="thickness">

<Oty value="2.6" unit=“mm"/>

</Leogth>

</Recipe >

</RedpeRecord>

</LoadRecipeRequest>

<LoadRecipeRequest message="REQUEST">

<ReopeRecord id="002" action ="Add" sender="MESX~ confirm="Alvvays"> <Reape id=*1002" name="mach**ng">

<AcceptedWorfc rtem="B"/>

<Ass*gr>edEqupment resource=*NC_C"/>

<Length name=*ms»deOiameter~>

<Oty value="16" unit="mm7>

</Length>

<Length narne="outSideDiametef^>

<Qty value=‘40r unit=‘mm7>

</Length>

<Length name=*th*ckness">

<Oty value="2.6* unrt=“mm"/>

</Length>

</RnripA>

</RecipeRecord>

</LoadRecapeRequest>

</LoadRecipe>

</ProductionControl>

</Device>

</DCD1>

</CCD>

</Pro6leBody>

</IS015745Pro6te>

Приложение С (справочное)

Шаблоны профилей возможностей открытого сетевого робототехнического интерфейса (OriN)

С.1 Общие сведения

Отрытый сетевой робототехдеческий интерфейс (OriN) является обобщекьым интерфейсом устройств, используемым для различных приложений. Ниже приведено отмсамие зависящего от ORiN-интврфейса шаблона профиля возможностей устройства (версия 2.1). а также приведены примеры DCO-, С СО- и PID-олисани*.

С.2 Зависящая от ORiN-интерфейса модель профиля

С .2.1 Общие сведения

Зависящая от выбираемого ORiN-интерфейса модель профиля содержит воо информацию, необходимую для олисаыя возможностей устройств и их параметризации. На рисунке С.1 приведена диаграмма классов для зависящей от ORN-кытерфейса модели профиля шаблона (ОСРТ).

Generic ОСРТ - Обобшеимый ОСРТ-шабл»

Рисунок С.1 — Диаграмма классов для зависящей от ORiN-аытерфейса модели профиля шаблона (DCPT)

С-2-2 Класс ORiN_CCD

Класс ORiN_CCD характеризует возможности зависящего от ORiN-интерфейса согласующего устройства (координатора). Он наследует класс GenericCCD и является абстрактна классом. Его наследует зависящий от согласующего устройства класс ORiN CCD и определяет возмохмосги этого устройства.

С-2-3 Класс ORW_DCD    ~

Класс ORN_DCO характеризует возможности зависящего от ОЯ!Ычмтерфейса драйвера согласующего устройства (координатора)- Он наследует этот зависящий от ORiN-интерфейса драйвер. Он наследует класс GenericDCO и является абстрактным классом. Его наследует зависящий от устройства класс ORiN_DCD и определяет возмохмосги драйвера этого устройстве.

С.2.4 Класс ORiN_Header

Класс ORiN_Meader содержит дополнительную информацию, которая используется для конкретизации драйвера устройства. Элементы этого класса указаны в тэблмзе С.1. Определение класса ORiN_Header также приведено в ORiNcommonjcsd (см. А.6.2).

Таблица С.1 — Элементы класса ORiN_Header

Элоыеит класса О R»N_ Header

Тал элемента

Опасение элемента

DCD_Vecsion

xsdunsignedlnt

Число версий для DCD version

DeviceVersion

xsdunsignedlnt

Число версий для устройства

ProvtderName

xsd:string

Наименование провайдера ORiN

ProwderVersion

xsd.unsignedlnt

Число версий для провайдера ORiN

Factory

xsd:string

Наименование производителя

DR*

xsdrstnng

Имя XML-текстоеого файла

ORiN_ Verson

Mayor

xsd.imsignedByle

Основной номер версии

Minor

xsd.imsignedByle

Дополнительный номер версии

Revision

xsd. unsigned Byte

Номер редакции

С .2.5 Класс ORiN_Module

Класс ORiN_Module характеризует возмохоюсти зависшего от ORN-мнтерфейса виртуального устройства. Он наследует класс Virtue Device и является абстрактньы классом. Зависший от устройства класс ORN_Modi4e наследует его и определяет возможности конкретного виртуального устройства. Класс ORiN_Module может содержать параметр CreateParameter и идентифицироваться номером, содержащимся в дополнительном XML-атрибуте. называемом «гткххяею»* и принадлежащем типу «xsd.inslgneasnort».

С.2.6 Класс ORiN_Obfect

Класс ORiN_OOject характеризует возмохоюсти фухкциона/ъиых объектов зависящего от ORiN-интерфейса виртуального устройства. Он наследует класс FuncbonOtoject и является абстрактшм классом. Зависящий от устройства класс ORiN_Object наследует его и определяет возможности зависящего от устройства фумсциомагы» иого объекта. Класс ORiN.Object может содержать параметр CreateParameter и идентифицироваться номером, содержащимся в дополнит егыюм XML-атрибуте, называемом «fundd» и принадлежащем типу «xsd:unsignedShort».

С.2.7 Класс Method

Класс Method описывает работу зависящего от ORiN-^герфейса виртуального устройства, наследует класс Operation и является абстрактным классом. Кахщый зависящий от устройства класс Method наследует его и характеризует возможности операиж. Каждый класс Method содержит един входной и един выходной операционный параметр, которые могут быть нулевыми или (иногда) XML-экэемплярамм реализации. Присвоение значения входному операцжжмому параметру в XML-экэемпляре (РЮ) указывает на то. что операция должна выполняться для конфигурации. Класс Method идеитифи1*«руется номером, содержащимся в дополнитетъном XML-атрибуте, называемом «оретеbonldld» и принадлежащем типу «xsd:unsignedShort».

С.2.8 Класс MethodlnPara meter

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

С.2.9 Класс MethodOutParameter

Класс MethodOutParameter характеризует выходное зиэчеиме для операцю*. является абстрактным классом и содержит значение выходного параметра. Каждый зависший от устройства класс MethodOutParameter наследует его и определяет тип даи»ых значомп.

С .2.10 Класс PropertyReadOnly

Класс PropertyReadOnly характеризует значение времени прогона фунжционагьного объекта, который можно тогъко считывать. Он наследует класс СогтчжьсаЬопОЬ|ес1 и является абстрактным классом. Каждым за вися ими от устройства класс PropertyReadOnly наследует его и определяет возможности каждого значения времени прогона и его тип данных.

С.2.11 Класс PropertyReadWrfte

Класс PropertyReadWnte характеризует значение времени прогона фужциоиа/ъного объекта, который можно и считывать и загмсывагъ. Он наследует класс ComrmxbcationObfect и является эбстрактгем классом. Каждый зависящий от устройства класс PropertyReadWnte наследует его и определяет возможности каждого энэче»мя времени прогона и его тип данных.

С .2.12 Идентификация коммуникационных объектов ОRiN-интерфейса

Экземпляры классов PropertyReadOnly и PropertyReadWrite определяют по номеру, который является подсчетом зтих экземпляров в FimctionOtoject имеющимся с едииащы.

С.З Элементы типовых данных и сценариев конфигурирования

С.3.1 Общие сведения

Элемент Value задается для облегчения наследования типов данных, не затрагивающего наследовало* структур»*» классов. С помощью дагаюго метода определение типов дз»а*»х для коммуникационных объектов и соаданме параметров само по себе не связано с этиым объектами. Элемент Value не требуется в тех случаях, когда гиге данных определены неявно по отношению к коммуимсациомному объекту.

С.З.2 Элемент Value

Класс Vfelue описывает элемет типа xsd:anyType. которым можно пренебрег для гшобого другого типа, и поэтому он будет /мшь полем для заполнения для любого типа эле мета, определена юго в каком-либо другом месте описания возможностей устройства. Испольэооа»мо этот дополнигель»юго элемента облегчает наследование при определении типов дангех (см. рисунок С-2).

Рисунок С.2 — Элемент Value для иесвяза»<иых олредвло» »ы типа

С.4 Дополнительная идентификация типа обобщенного DCРТ-шаблона

В таблицах С-2-С .4 указаны зависящие от испогеэувмой технолога* типы идентификаторов для коммуникационных объектов и операционных параметров.

Таблица С.2 — Типы ндоггифюаторов для коммууьжационгех объектов

Элемент зависящего от технологии DCPT-швблома

Содержимое XML-атрибута «category»

Содержимое XML-атрмбута «readonly»**

AttnbuteReadWrite

ATTRIBUTE

ложное

AttributeReadOnly

ATTRIBUTE

истинное

Parameter

PARAMETER

(ложное)

л> Дополнительный XML-атрибут «readonly» типа xsd:boolean является обязательгем для элементов AttnbuteReadWrite и AttributeReadOnly.

ТаблицаС.З — Типы коентмфюсаторов для операционных параметров

Элемент зависящего от технологии DCPT-шаблона

Содержимое XML-атрибута «category»

Operation I nParameter

*4

OperationOutParameter

OUT

Таблица С.4 — Типы идентификаторов для создания параметров

Элемент зависящего от технологии DCPT -шаблона

Содержимое XML-атрибута «category*

CreateParameler

CREATE PARAMETER

С.5 Дополнительные XML-атрмбуты для обобщенного DCPT-шаблона

Коммутыкациожые объекты AttnbuleReadOnty и AttnbuteReadWrite можно испогъзоватъ для передачи незапрашиваемых даьыых вместе с серейса »ы VOSlinfReporl и VDSt_Accept Запрос на использование этих сервисов во время прогона выполняется в процессе конфигурировали путем установки X ML-атрибутов nfReport и присэо вния типу «xsd:bootean» испеьюпо значения (см. табл»ыу С.5).

Таблица С.5 — XML-атрибуты для передав незапрашиваемых данных

Наименование XML-атрибута

Используется дли элемента

Описание содержимого атрибута

infReport

AttnbuteReadWrite.

AttrbuteReadOnty

Запрос на использование сервиса VDSMnfReport

accept

AttnbuteReadWnte

Запрос на использование сервиса VDSI_Accept

С.6 Зависящий от ORiN-иитерфейса шаблон профиля возможностей устройства

С.6.1 Общие сведения

ORJNcommon.xsd — это XML-схема (структурах содержащая базовые классы которые можно использовать для описаться этой структуры, содержащей всю жформадою для описают функциональных возможностей устройства и параметризации. Задавае«еие типы элемента AitributeReadWnte могут быть расширены элементами Value. В этом случае элементы Value могут иметь тип даюых. определяемый в допогыителъной ХМL-схеме. Кроме того, определяемые типы даючых AttrfcuteReadOnly и GperationOu(Parameter могут быть расширены элемента*»* Value с внешне заданными типами даиюде.

Примечание — Если элементы Value не используются, а коммуникационные объекты содержат значения простого или комплексного типа дажых, то из-за расширения ютсла типов данных XML-схема может измениться. В этом случае OR«Ncommon.xsd можно использовать в качестве образца (моде/ы) структуры получаемого XML-эхэемпляра и необходимых XML-атрибутов.

С.6-2 XML-схема: ORiNcommonjcsd

<?xml versions*!.(Г encoding=*UTF-e"?>

<!—

: ORiNcommon.xsd ЕбЬоп: 27-Feb-2010

<xsd: schema xmdns:xsd=~h tip :// Schema* etemeotFormDetatrft=’quaM>ed" attnbuteFormOefautt=\*)qualified°>

<!- Header rtformabon is contained in each schema Me —>

<xsd:annotation>

<xsdappinfo sou nee="http 7AvwwORiN jp/1SO20242-4/DCPTHeader.xsd*>

<OCPTHeader>

<DCPT Iden bfcation >ORiN_Common </DCFTI denti6cat«on>

<DCPTRevision>1.0</DCPTRev*s>on>

<DCPTName>ORiNcommon</DCPTName>

<DCPTSounce>ORjNcommoo.xs<K/DCPTSource> <DCPTCIasslD>TechnlogySpeaftcOCPT</DCPTClassl D>

<DCPTDate>201 0-02-27<^DCPTDate>

<1 SO20242Reference>

<1 SO20242Edrtion> 1 </ISO20242Edition>

<Technology>ORi N<nechnology>

</ISO20242Refereoce>

</DCPTHeader>

</xsdappinfo»

</xsd annotation»

<!-- Vakd content for XML-Altribut category (kind of OCO element) -->

<xsd:simpleType name="Category>

<    xsd [restriction base=*xsd[ string"»

<xsd.enumerabon value=’MOOULE"/>

<xsd:enumerabon value="1NTERFACE7»

<xsd.enumerabon valuer’ATTRIBUTE"/»

<xsd:enomerabon value=*OPERATION7»

<xsd.enumeration value="IN7»

<xsd eoumerabon value=’CUT*/»

<xsd:enumerabon vahie="DCD*7>

<    xsd [enumeration value=*CCDV>

</xsd:restrictiorv>

</xsd:sampleType>

<!-- Group of attributes for assignmg muftriingua] text to elements ->

<xsd atthbuteGroup name=*TexlAttr4xjtes">

<xsd attribute name=*areaMsg" type="xsd:trisignedShor1 "use=’oplionar/>

<xsd:attribute name="WMsg" type=*xsd:unsjgnedShort" uses"opbonaT/>

<xsd:attribute пате="агваТвхГ type="xsd.ixisignedShort* use="optionaT/>

<xsd attnbute name="infText" type= "xsd[unsignedShort’ use=*optionar/> </xsdattributeGroup»

<!-- Basic type definition for most elements used in the DCO —>

<xsd :compiexType name=”TNamedDCDE)ement" abstract=*liue"»

<xsdattribute name="hetpstnng* type=’xsd [string" use="opbonaT/»

<    xsd atthbuteGroup rBf=TextAttnbutes7>

</xsd:oocnp*exType>

<!-- Virtual Devices have additional XML-attrbutes "moduleld" and category="MOOULE\ —> <xsd.compfexType name="ORiN_Module’ abstract=*true*>

<xsd[Com plexContent»

<xsd[extension bases<rTNamedOCDEIement">

<xsdattribute name="moduleld" type="xsd:uns*gnedShort" use=*required"/»

<xsdatthbute name="category* type=" Category use=*reqisre<r fixed=’MOOULE7>

<xsd attribute name^provider" type="xsd [stnng" use="nequired7»

</xsd [extension»

</xsd:comptexContent»

</r«rt ттр1л1гТурл>

<!-- Function Objects have additional XML-attrbutes "Tuncld" and category^"INTERFACE*. —» <xsd.complexType name="ORiN_Object" abstract=true"»

<xsd[com plexContent»

<xsd[extension base-*TNamedOCDEIement*»

<xsd:attribute name="fwcl(T type=’xsd :insagnedShort’ use=*requtred"/>

<xsdatthbute name=*category* type-"Category" use= "required" fixed="INTER FACE"/»

<xsd:attribute name="name" type="xsd:string" use="opbonaT/>

<xsdatthbute name="op6on" type=’xsd:string" use="opbonafY>

</xsd [extension »

</xsd :com plexContent»

</xsd:complexType>

<!•• Communication Objects which may be changed have readonly=*faftse" —»

<!-- With respect to ORiN obejct model, they are cafted Properties here —»

<xsd.complexType name-"PropertyReadWhte" abstract" true"»

<xsd[Com plexContent»

<xsd:extension base-TNamedDCDEIement"»

<xsd attribute name=*readonly* type=*xsd;boo*ean" fixed="faise“/>

<xsdatthbute name=*category* type=*Category" use=*required" fixed=*ATTRIBUTE7»

<    xsd attnbute name-"infReport" type=*xsd boolean"/»

<    xsd attnbute name="accept* type= "xsd [boolean"/»

</xsd .extension»

</xsd [com plexContent»

</xsd:comp4exType>

<!-- Communication Objects which may not be changed have readonfy="true" —»

of ISO 20242-4 Amex C

ГОСТ P ИС0 20242-4—2012

С.7 Примеры описания возможностей устройства С.7.1 Общие сведения

XML-схемы DCDl.xsd и DCD2jcsd являются примерами огмсания возможностей устройства, которые расширяют существующую XML-схему ORiNCommonjisd в соответствии с возможностям драйверов устройств. Имена XML-эломонгое должны быть определены в соответствии с требованиями потребителей. Структурная информация об XML-элементах определена в содержании XML-атрибута «категориям (category).

С.7.2 XML-схема: DC01 Jtsd

<?хтл1 versions* 1.(Г encoding=*utf-8“?»

<xsd:schema xmtns:xsd="http^/vrww.w3.org2001/XMLSchema* xmArrs=“http^/

targetNamespece="httpy/ D1 * element Form Defautt=’qi»alr6ed*> <xsd:annotaUon>

<xsd lappinfo source=»

<DCPTHeader»

<DCPTldenti6cabon>DCD1</DCFTkJerttrfiaation>

<DCPTRevision>1.0</OCPTRevision>

<DCPTName>DCD1 </DCPTName»

<DCPTSource»OCD1 Jtsd <yDCPTSource»

<DCPTClasslD>DCD1</DCPTCtasslD»

<DCPTDate>201Q-05-26</DCPTDate>

< ISO20242Reference»

<1 SO20242Edrt>on> 1 <;tSO20242Edftion>

<Techndogy»ORi N<fTechnotogy »

</ISO20242Reference»

<yDCPTHeader»

</xsd.appinfo»

</xsd annotation»

<xsd: include schemaLocatK>n="ORiNcommon.xsdV»

<!- Main type is ORiN_DCD with contained Virtual Device Types.

There may be many different Virtual Device Types cootamed. —»

<xsd element name=*DCD1* type=*DCDType*/»

<xsd:complexType name=*DCDType*»

<xsd:complexContent»

<xsd:extens>on base=“ORiN_DCD~»

<xsd:sequence»

<xsd. element ref=*Provider^ minOccurs=*0* maxCccurs=*4jnbounded*/»

</xsd: sequence»

</xsd:extension»

</xsd icomplexContent»

</xsd.complexType»

<!- Vrtual Device Types have fixed numbers for identification in modulelD.

This is a restncbon of type VDInstance. If Ybu want to avoid restriction, move attribute moduiefd from type ORiN_Module with a fixed number to type PnoviderType below, which than is an extension of ORiN_Module and type PruvrfereaseType wifl be obsolete. ->

<xsd:comptexType name="ProvidereaseType*»

<xsd:compiexContent»

<xsd:restriction base=*ORjN_ModuJe*>

<xsd attribute name=’provider‘ type=*xsd isfrng* uses'Vequired* fixed=’CaoPTov.DCD 1 */»

<xsdattribute name=*modulekf type=*xsd:unsignedShorT use=*requirecT fixed=*0*/»

</xsd .restriction»

</xsd :complexContent»

</xsd:complexType»

<!- This Virtual Device Type exampiary only contains one Function Object type without restricting the number of instances. -»

<xsd:element name=*Provider* type="ProviderTypeV»

<xsd:complexType name=*PmviderType*»

<xsd :com plex Content»

<xsd extension bases*PTOviderBaseType*>

<xsd. sequence»

<xsd:element ref="CaoPmvControief* maxOccurs^’unbounded*/»

<xsd element ref="CaoProvRobot» minOccurs=*(T max Occurs= "unbounded"/»

</xsd: sequence»

</xsd extension»

</xsd [com plexContent»

<Sxsd:complexType>

<!- Function Object Types have fixed nixnbers for identification vi funclO.

This is a restriction of type ORiN_Object. If You want to avoid restriction, move attribute funcld from type ORiN_Object with a fixed number to type ControlerBaseType be4ow. which than is an extension of ORJN_Object and type Controller&aseType wil be obsolete. —>

<xsd:complexType name="ControfierBaseType">

<xsd:complexContent>

<xsd:restriction bace="ORiN_Obyect">

<xsd attribute name="?uncJd" type="xsd iunsignedShort* use="require<T fixed="101"/» </xsd .restriction»

</xsd:complexContent>

</xsd:comptexType>

<xsd:complexType name=*Robot8aseType">

<xsd:comp<exContent>

<xsd:restriction base="ORiN_Object~>

<xsdattribute name=*funcld" type="xsd :unsignedShort" use="requin9(T fixed="104*/> </xsd .restriction </xsdxom plexContent»

</xsd:oomptexType>

<!- This Function Object type exemplary contans several Operations. —>

<xsd.element name="CaoProv Controller* type="ControHerType7>

<xsd.complexType name="ControierType"»

<xsdcom plexContent»

<xsd:extension base="ControOerBaseType~»

<xsd:sequence>

<xsd:etement пате="СоппесГ type="Ctr1ConnectType7»

<xsd :element name= "Disconnect" type=*CHDisconnecfType"/>

<xsd.eiement name="GetRoboT type=*CtrtGetRobotType7»

</xsd. sequence»

</xsd [extension»

</xsd хот plexContent»

</xsd:complexType>

<1— This Funriinn OhjArt type evomplwy rrmteins one Opnralinn —>

<xsd [element name=*CaoPruvRobot* type="RobotType"/»

<xsdxomplexType name=*RoboCType">

<xsd[complexContent>

<xsd[extensaon base="RobotBaseType"»

<xsd.sequence»

<xsd.element name="Move" ty pe="RobotMoveType" rrwiOccurs="07>

</xsd. sequence»

</xsd [extension»

</xsd [complexContent»

</xsd.oomplexType»

<!- This Operation has optional input and output values. —>

<xsd[complexType name=*Ctf1ConoectBaseType">

<xsd:oom pie xCon tent»

<xsd [restriction base="Method"»

<xsd attribute name="operationkT type ="xsd[uns^gnedShorT use=’requred" fixed=*37> </xsd [restriction»

</xsd[complexContent>

</xsd:comp*exType»

<xsd:comp!exType name="Ctr1ConnectType*»

<xsd[complexContent»

<xsd[extension base="Ct/1ConnectBaseType*>

<xsd:sequence»

<xsd. element name="Paramster* type=*KCethodlnGetObjectType*/>

<xsd:element name="ResulC type=“MethodOutVokfType7> <yxsd: sequence»

</xsd:extension>

</xsd :com plexCon tent»

</xsd:oomp)exType>

<xsd:complexType name="Ctr1DisconnectBaseType~»

<xsd.complexContent»

<xsd restriction base=”Method*»

<xsdattribute пате="орегаЪоп1<Г type=*xsd:unsignedShort* use=*required* fixed=‘47> </xsd:restriction»

<У xsd :com pie xC on tent >

</xsd:complexType>

<xsd:complexType name=*CtrlOisconnectType*>

<xsd:complexContdnt»

<xsd;extension base^CtflDtsconoectBaseType-»

<xsd.sequence»

<xsd:eiement name="Parameter^ type="MethodtnVofoType7>

<xsd. element name=“Result* type=*MethodOutVo«lType*/>

<7xsd: sequence»

</xsd:extension»

</xsd:complexConterit>

</xsd:complexType>

<xsd.complexType name=*Ctr1GetRobotBaseType~>

<xsd:comptexContent>

<xsd restriction base="Method*»

<xsd .attribute name^operationld* type=*xsd:unsjgnedShorT use=*reqi*red' fixec^TV» </xsd:restriction»

</xsd:compfexContent»

</xsd:oompiexType»

<xsdcomp*exType name^CtriGetRobotType*»

<xsd:complexContent>

<xsd:extension base=*Ctr1GetRoOotBaseType">

<xsd:sequeoce>

<xsd;etemecrt name="Parametera type='MethodlnGetObfectTypeV»

<xsd:eiement name=eResuft’ type=*Metho<JCX/TGetObject"/»

<yxsd: sequence»

<7xsd extension»

</xsd:comptexContent»

плтркигТурл»

<xsd.complexType name=-RobotMoveBaseType">

<xsd.complex Content»

<xsd restriction base=*Method*>

<xsdattribute name="operabonkT type^xsdiunsignedShort* use=’reqiMed" fixed=*72"/> </xsd: restriction»

<Jxs6 complexContent»

</xsd:complexType>

<xsd.compJexType name=*RobotMoveType">

<xsd: complex Con tent»

<xsd:extension base=*Rot>otMoveeaseType*>

<xsd.sequence»

<xsd.e*ement name=“Parameter* Type="MethodlnRobotMove7>

<xsd etement name=*ResuK* type="MethodOutVoidType*/>

<7xsd: sequence»

</xsd extension »

</xsd complexContent»

</xsdcomp*exType>

<!- The input parameters for this operation may be a sequence of values. -» <xsd:comp!exType name=*Method»nVbidTypea>

<xsd:complexContent>

<xsd extension base='Method InParameter*»

<xsd:sequence>

<xsde*ement name="Vafcje* type=%o*d'/»

</xsd: sequence»

</xsd :exteos«on >

</xsd :com plexContent»

</xsd:complexType>

< xsd.com ptexType name="Method)nGetObfeclType*»

<xsd:com plexContent»

<xsd:extensaon base="Method InParameter*»

<xsd.sequence»

<xsd: element name="Vaiue"»

<xsd.complexType»

<xsd: sequence»

<xsd:element name="Name* type=“xsd: string"/»

<xsd.etement name=*Opbon“ type="xsd:sfrvig*/>

</xs<l sequence»

</xsdcomp*exType»

</xsd .element»

</xsd: sequence»

</xsd :extension>

</xsd :complexContent>

</xsd:complexType>

<xsd.complexType name=“MethodlnRobotMove*>

<xsd:com plexContent»

<xsd:extensaon base=*MethodtnParameter~»

<xsd.sequence>

<xsd: element name="Value">

<xsd.complexType»

<xsd: sequence»

<xsd:element name="lntefpolabon* type=~xsd:integer'7> <xsd.element name="Pose" type="xsd:anyType7»

<xsd: element name="Opbon" type=*xsd:stnng7>

</xsd. sequence»

</xsd:complexType>

</xsd .element»

</xsd: sequence»

</xsd:extensaon»

</xsd com plexCon tent»

</xsd:complexType>

<!- The output parameters for this operation is a special type ‘Void", which da ft nos. that tho accordingly XML otomont has to bo empty. —'» <xsd complexType name=*MethodOutVoidType"» <xsd:comp4exContent»

<xsd:extension base="MethodOutParameter">

<xsd:sequence>

<xsd: element name=*\falue" type=Vo*d7>

</xsd. sequence»

</xsd .extension»

</xsd icomplexContent»

</xsd:oomplexType>

<xsd:compfexType name="MethodOUTGetObjecr»

<xsd:com plexContent»

<xsd:extension base="Me(hodOutParameter">

<xsd:sequence»

<xsdiefement name-"Vaiue" type="xsd:unsignedlnt7»

</xs<l sequence»

</xsd extension»

</xsd icomplexContent»

</xsdcomp*exType>

<!- empty type —»

<xsd comp4exTyp© name^Void'V»

</xsd:schema»

C.7.3 XML-схема: DC02xsd

<?xml version="1.0^ encoding="utf-8"?»

<xsd: schema xmins:xsds*http^^vww.w3.or^2001/XMLSchema* xmlrrs=*http^/"

targetNamespace="http.//elementFormDefault='quafcfied"> <xsd:annotation>

<xsd:appinfo source="http:/>

<DCPT Header»

<DCPTIdentification»DC02</DCPTldentrf*cabon>

<DCPTHevision>1.0</OCPTRevtsen>

<    DC PT Name» DCD2</DCPT Name»

<DCPTSource»OCD2 xs<K/DCPTSource»

<DCPTClasslD»DCD2</DCPTCtasslD>

<DCPTDate»2010-05-26</DCPTDate>

<    ISO20242Reference»

<l SO20242E<»on> 1 </tSO20242Edition>

<Technology»ORiN<frechriology>

<У ISO20242Reference»

<yDCPTHeader»

</xsd.appinfo»

</xsd:annotabon>

<xsd:include schema Location =*ORiNcommon.xsdV>

<!- Main type is ORiN_DCD with contained Virtual Device Types.

There may be many different Virtual Device Types contained. —»

<xsd:element name=*DCD2" type=*DCDType"/>

<xsd.complexType na me="DCD Type"»

<xsd:complexContent>

<xsd:ex tension base="ORiN_DCD“»

<xsd.sequence»

<xsd.element ref= "Provider" mjnOccurs=*C" maxOccurs="un bounded"/»

</xsd:sequence>

</xsd:ex tension»

</xsd com plexCon tent»

</xsd:oomplexType>

<!- Virtual Devce Types have fixed numbers for identification in moduielD.

TNs is a restriction of type ORiN_Module. ff You want to avoid restriction, move attribute modiieid from type ORiN_Module with a fixed number to type ProviderType below, which than is an extension of ORiN_Module and type Providerease Type wil be obsolete. —»

<»wlmmplft*Type пятд=*РтиНп>ПамТуря*>

<xsd:complexContent»

<xsd:restrict>on base=’ORiN_Module~»

<xsd:attribute name="modulekT type="xsd:unsignedShort" use="required" fixed=*07>

<xsd attribute name="pcov*der" type="xsd :s^ng" use="required" fixed=*CaoProv.DCD2"/»

</xsd. restriction»

<7xsd complexContent»

</xsd:oomplexType>

<!- Virtual Device Types typically contain a Create Paramter of a specific type and several Function Objects of different types.

This exemplary Function Object type describes an input channel and it is posstte to use up to 16 channels with each Virtual Device instance. —»

<xsd.element name="Providef* type="ProviderTypeV»

<xsd complexType namo~"ProviderType"»

<xsd:oomplexContent>

<xsd extension base="PruvidecBaseType*»

<xsd:sequence>

<xsd element ref="CaoProvConfroief" maxOccufS="unbounde<r/»

<xsdelement ref="CaoPtovVahab4e* minOccurs="0" maxOccurs="untxx*>ded"A»

<7xsd: sequence»

</xsd extension»

</xsd xomplexConte nt>

</xsd:complexType>

<!- Function Object Types have fixed numbers for identification in modirfeJD.

This is a restriction of type ORiN_Object. If You want to avoid

restriction, move attribute funckJ from type ORiN_Obyect with a fixed number to type ControierType below, which than is an extension of ORiN_Object and type ControUecBase Type will be obsolete. —>

<xsd:complexType name=*Controeer6aseType”>

<xsd:oomplexContent>

<xsd:restriction base=*ORiN_ObfecT>

<xsdattribute name="Tuncld" type="xsd:unsigr>ed Short’ use="requin9cT fixed="101V> </xsd:restriction>

</xsd :complexContent>

</xsd:oomp)exType>

<xsd:complexType name=*\foriableBaseType">

<xsd:oomplexContent>

<xsd:restriction base="ORiN_ObyecT>

<xsd .attribute namestundd" type="xsd:uns^nedShort" use^required* fixed="106“/> </xsd :restiiction>

</xsd xx>mpfexContent>

</xsd:oomplexType>

<!- This Function Object type exemplary contains several Operations. —>

<xsd. element name="GaoProvController'a type=*ControllerType*/>

<xsd:oomplexType пате='СопЬовегТуре">

<xsd:complexContent>

<xsd:extension bases*ControBerBaseType">

<xsd:sequence>

<xsd.element names*Connect* type="CtriConnectType* minOccixb=*0"/>

<xsd:element name^OsoonnecT type=*CtrtDisconnectType* m*nOcciss='X)’/> <xsd:element name="Ge(Variable* type="CtrtGetVanableType* minOccurs^T»

</xsd. sequence>

</xsd extension >

</xsd :complexContent>

</xsd:complexType>

<!- This Function Object type exemplary contains several Communication Objects. —> <xsd.element name="CaoProvVanable“ type="VanableType7>

<xsd.complexType name="VariabteType*>

<xsd:complexContent>

<xsd:extension base=*V^hableBaseType">

<xsd:sequence>

<xsdfoment name-4Attribute" type=*PropertyROIntType" mfnOccurs=TT/> <xsd:o*oment name="Vaiue" tyDe=“PropeftyRWVarianfrype4 mmOocurs=^Cr/> </xsd.sequence>

</xsd :extension>

</xsd :complexContent>

</xsdcomplexType>

<!- This Operation has optional input and output values. —>

<xsd.complexType namo~"CtriConnectType">

<xsd:complexContent>

<xsd:extension base=4Ctr1ConnecJBaseType">

<xsd:sequence>

<xsd:element name=“Parameter* type="Method I nGetObfectType"/>

<xsd.element name=*Result" type=*MethodOutVoidType7>

</xsdL sequence»

</xsd extension»

</xsd :complexContent>

</xsd:oomplexType>

<xsd:oomplexType name= "Ctrl Con nectBaseType">

<xsd:complexContent>

<xsd restriction base="Method">

<xsd:atthbute пате="орега!юпкГ type="xsd:unsignedShort" use="reqtwed" fixed="3*/> </xsd sestrictior»

</xsd xomplexConte nt>

</xsd:complexType>

<xsd complexType name=*Ctr1DisconnectType*>

<xsd:complexContent> <xsd:extension base="Ctr1DcsconnecteaseType">

<xsd:sequeoce>

<xsd: element name="Parameter'* type="MethodlnVoadType7>

<xsd:element name="Result" type=“MethodOutVo»dType"/>

</xsd: sequence»

</xsd:extenskm>

</xsd:complexContent»

</xsd:oomp)exType>

<xsd:complexType name=~CtrlDisconnect8aseType"»

< xsd.com plexContent»

<xsd:restr»cboo base=~Method*>

<xsd .attribute nam e=“ operation kT types*xsd:unsignedShorta> use=*requredfc fwetf=*4"/> </xsd :reslrictkxv>

</xsd :com plexContent»

</xsd.complexType>

<xsd.complexType name="Clr1GefVariableType’>

<xsd:complexContent>

<xsd extension base=’Ctr»Get\/bnableBaseType',>

<xsd.sequence»

<xsd:etement name=“Parametef* type="MethodlnGetObfecnype"/>

<xsd: element name="Result" type="MethodOUTGetObject7»

</xsd: sequence*

</xsd extension»

</xsd :complexContent>

</xsd.complexType>

<xsdcomplexType name^CtriGetVariableeaseType*»

<xsd:com plexContent»

<xsd.Testriction base="Method"»

<xsd attribute name=“operationkT type=’xsdunsignedShort" use^requirecf fixed=*S7»

</xsd :reslrictkxv>

</xsd.com plexContent»

</xsd.complexType>

<!- The input parameters for the operation may be a sequence of values. —> <xsd:comp!exType name="Method In Void Type*»

<xsdcom plexContent»

<xsd:extensaon base ^"Method InParameter*»

<xsd.sequence>

<xsd:element name="Value’ lype=Void7»

</xsd: sequence>

</xsd :ex tension»

</xsd :complexContent>

</xsd.complexType>

<xsdcompiexType name="MethodlnGetObjectType*^>

<xsd:comp!exContent>

<xsd:extension base="MethodlnParameter*»

<xsd:sequence>

<xsd:element name="Value">

<xsdcompiexType>

<xsdsequeoce>

<xsd:element r>ame="Name" type="xsd: string"/»

<xsd:element name=*Opbon" type="xsd:string7>

</xsd: sequence»

</xsd:compiexType>

</xsd:element>

</xsd: sequence»

</xsd extension»

</xsd .com plexContent»

</xsd:oomplexType»

<!- The output parameters for the operation is a spebal type Vo*T. which defines, that the accordingly XML element has to be empty. ~>

<xsd complexType name =*MethodOut VoxJ Type" >

<xsd:comp(exContent>

<xsd:extension base="MethodOutParameter">

<xsd.sequence>

<xsd:eiement name="Vafoe" type=Void7>

</xsd.sequence>

</xsd:extenson>

</xsd :com plexCon tent>

</xsd:oomp)exType>

<xsdcomptexType name=*MethodOUTGetOtjecr>

<xsd:oomplexContent>

<xsd:extension base="MethodOutParameter*>

<xsd:sequence>

<xsd:etement name=“Vaiue" type=*xsd:unsignedlntV>

</xsd. sequence»

</xsd extension»

</xsd:com plexCon tent»

</xsd:oomplexType>

<!- A simple readonly Property for the Function Object ->

<xsd.comptexType name=*PropertyROIntTypee>

<xsd:complexContent>

<xsd:extension base='Property Readonly*»

<xsd:sequence>

<xsdeteo>erit name=“\telue* type="xsd:int"/>

</xsd. sequence»

</xsd extension»

</xsd:complexContent>

</xsd:oompiexType>

<!- A simple read/write Property for the Function Object ->

<xsd.complexType rvame=*PropertyRWVanantType“>

<xsd:com pie «Content»

<xsd:extension base=*PropertyReadWrite*>

<xsd: sequence»

<xsd eten>ent name=*Vaiue* type=*xsd:anyType7>

</xsdL sequence»

</xsd extension >

</xsd :complexConterTt>

</xsd:oomp*exType>

<!- empty type —>

<xsd:comp!exType name="void*/>

</xsd:schema>

C.8 Пример описания возможностей согласующего устройства С.8,1 Общие сведения

XML-схема CCO.xsd является примером описания возможностей согласующего устройства, которая описывает X ML-схему парме три займи двух драйверов устройств.

С.82 XML-схема: CCD-xsd

<?хл8 versk>o=*V0" encoding=*UTF-8"?>

<xsd:schema xnifos:xsd="http://Www.w3.or^2001/XMLSchema* xrrdnsidcd 1 =~http.//"

xmlns:dcd2s*http://www. ORiN.co.jp/ISO20242-4/DCDZ* etementFormOetault-'qualified* attributeFormOefautts*LV>qualifie<r>

<xsd annotation»

<xsd:appinfo sounce=*htlp^/>

<DCPTHeader>

<DCPTIdenb6cabon>CCD</DCPTkJentifica6on>

<DCPTRevision>1.0</DCPTRevision>

<DC PT Name>C CD</DC PTN ame>

<DCPTSource>CCD.xsd</DCPTSource>

<DCPT ClasslD>CCD</DC PT ClasslD>

<    DCPTDate >2010-05-24</DC PTDate >

<    I SO20242Reference »

<l SO20242Edition > 1 otS020242Edition> <Technology»ORiN<nechnology»

</ISO20242Reference»

</DCPTHeader>

</xsd:appinfo>

</xsd .annotation»

<!- A cootfnaftor capably description contans the capability descriptions of all devices, which will be usable ->

<    xsd: include schemaLocation=*ORiNcommon.xsd*/»

<xsd:mport namespace="Wtp^schemaLocation=’DC01 .xsd*/» <xsd:import namespace=*schemaLocation='DC02.xsd*/» <»- * IS015745 Profie Root ■ ->

<    xsd: element name="1S015745Profile*»

<xsd:complexType>

<xsd:sequence>

<    xsd: element ref=eProWeHeader,/>

<    xsd element ref="ProfileBody7»

</xsd: sequence»

</xsd:complexType>

</xsd .element»

<!- • HEADER DATA TYPES * ->

<    xsd: element name=*Profile Header*»

<xsdcomplexType>

<xsd:sequence>

<xsd:element rame=~Profile Identification* type=*xsd:string*/»

<xsd :element name^ProfileRevision* type=*xsd:string7»

<xsd:element name=*Pro6leName* type="xsd:slring*/»

<    xsd: element name=*ProfileSource* type =*xsd: string’/»

<xsd:element name=*ProfileClasslD" types*ProT4eOasslD_DataType* fxed=*lnformationExchange*/> <xsd:element name=’ProfileDate’ type=’xs<ldate" minOcciirs="0“/>

<xsd.element name=’Addrtion at Information’ type =" xsd: any URT minOccurs=*0*/»

<xsd:elemeni name=*IS015745Reference* typa=*lS015745Refefence_DataType*/>

<xsd:element name=’IAS Interface Type’ type="IASInterface_DataType’ foted=*CSr minOccurs=*0* maxOccurs=*unbounded*/»

</xsd:sequence>

</xsd:complexType>

</xsd .element»

<xsdicomplexType name=*ISO15745Reference_DaiaType*>

<xsd:sequence>

<xsd:element name=*IS015745Part* type=*xsd:string* fixed=*1"/>

<    xsd. element name=‘TS015745Edrt>on" type=‘xsd:strmg’ fixed=*17>

<xsdetement name=’ProfBe Technology* type=’xsdstnng" fixed=*NoneV»

</xsd: sequence»

</xsd:complexType»

<xsd:simpleType name=*Pro7ieCiasslD_DataType*>

<xsd:restriction base=*xsd:string*»

<xsd.enumerabon value=*A!P*/»

<xsd:enumerabon value=’Process*/»

<xsd:enumerabon vaiue=TnformationExchar>ge7>

<xsd:enumerabon value=*Resotrce*/>

<xsd.enumeration value= “Device 7»

<    xsd :en и me ration value="Communi cation Network*/»

<xsd:enumerabon value=*Equipment*/>

<xsd:enumerabon value-*Human*/»

<xsd.enumeration value=“MateriafV»

<7xsd .restriction»

</xsd:simpleType>

<xsd.simpleType na me= IAS I nterface_DataType"»

<    xsd: union»

<    xsd: simple Type »

<    xsd: restriction base=*xsd:string"»

<xsd.enumeration value=*CSI*/»

<xsd:enumerabon value=“HCIV»

<xsd;enumerabon value="ISI7>

<xsd:enomerabon value=*API7>

<xsd:enumerabon valoe=*CMr/>

<xsd:enumerabon vafoe="ESI7>

<xsd.enumeration vakje=TSf7>

<xsd.enumerabon value="MTr/>

<xsd:enumerabon value=*SEI7>

<xsd .enumeration vakje=USI7>

</xsd :res1riction>

</xsd:s*mpleType>

<xsd: simple Type >

<xsd:restriction base=*rsd:stnng~>

<xsd length vak*e=m4mt>

</xsd :restriction>

</xsd:simpleType>

</xsdunion>

</xsd:sxmpleType>

<!- * BOOY SECTION * ->

<xsd:element name=*ProfileBody>

<xsd:oomplexType>

<xsd:sequence>

<xsd:element name="CCD* maxOccurs=*inboimded">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=*dcd1:DCDr minOccurs=^07>

<xsd:e*emerrt ref="dcd2:DCDZ* minOccurs=7)7>

</xsd:sequence>

<xsdattnbute name=*category type=“Category* use=*required* fixed=*CCD7>

</xsd:comp*exType>

</xsd :etement>

</xsd:sequence>

</xsd:comptexType>

</xsd:elemeot>

</xsd:schema>

C.9 Пример параметрического описания экземпляра класса С.9.1 Общие сведения

Sample Р ID. xml является примером парамотричеоюго описэкмя экземпляра класса в XML-формате. который испогъзует файл GCD.xso в качестве XML-схемы и огысыеает параметрические экземпляры коороинатора и драйверов устройств.

С. 9 _2 XML: SamplePIDjunl

<?xml versk>n=* enooding=*UTF-8*?>

<ISO15745Protiexmlnsjcsi="htlp7/ Schema-instance* xsj:noNamespaceSchemaLocabon=*.JSchema/CCO_xs(T>

<Prof*leHeader>

<Pro#ieldenbficabon>Examp4eOfP1D</Pro#ietdentrfcabon>

<Prof3eRevis»on> 1.0</ProfileRevisK>n>

<ProfiteName>Example Ы PIOTProfileName»

<ProfieSource>PID.xmK/PnofileSource>

<Pro6teClasslO> Informa bon Exchange</PrcrNeClassiD>

<ProfieDate>2010-03-26</ProfiteDate>

<Adtftional Jrrformation>http://wvn».ORiN>

<1 S015745Ref erence >

<IS015745Part>K/lS015745Part>

<IS015745E<*bon>1</tS015745Edition>

<Pro#aeTechnology>None</ProfaeTechnotogy </IS015745Reference>

<IASlrterfacsType>CSK/lASIntBrfaoeType>

</ProfHeHeader>

<ProOeBody>

<CCO category="CCD*>

<DC01 category="DCO* dllPath=*CaoProvNetwoRC dr ProviderVersion=*r xm<ns=*httpJ/www.ORiN.co.|p/1SO20242-4/OC0r>

<ORiN_Header»

<DCO ^Version» 1 </DCO_Version»

<    DevK»VersK)n> 1<V Device Vers иэп>

<    Provider Name/»

<ProviderVersioo» 1 </ProviderVersion>

<Factofy/>

<orr/>

<ORiN_Version>

<    Mayor» 1 </Mayor»

<Mror»1</Mra>

«Revision» 1 -«/Revision»

</ORiN_Vers*on>

<yOR»N~Headef>

«Provider category ^MODULE* module Id="0" pro\nder=’CaoProv.DCD 1 *» «CaoProvControOer category^" INTERFACE* funcld="101">

<    Conned category=*OPERAT10N* operator*^*»

<Parameter category=*lN*»

<Va*ue>

<Name>RC 1 </Name>

«Option/»

«/Value»

«/Parameter»

«Result category=eOlTT>

«Valuet>

«/Result»

«/Connect»

«Disconnect category="OPERAT»ON" operabontd="4~»

«Parameter category=“lN~>

«Value*»

«/Parameter»

<    Result category^ "OLTP»

«Value*»

«/Result»

«/Disconnect»

«GetRobot category=“OPERAT10fT operabonkJ=*7~>

«Parameter category^ "TN">

«Value»

<    Name» VS</Name»

«Op6on/>

«/Value»

«/Parameter»

<    Result category^ "OUT*»

«Value »100</\felue>

«/Result»

«/GetRobot»

«/CaoProvController»

<CaoProvRobot category="INTERFACE* fundd=*104*»

<Move category^ "OPERATION" operationki=~72">

«Parameter category="lN~»

«Value»

<lnterpolabon»0</lnterpolat>on»

<Pose»P 11 </Pose»

<Opbon/>

«/Value»

<УРагате1ег»

<    Result category="OlTT»

«Value*»

</Result»

«/Move»

</CaoProvRobot»

«/Provider»

«/DCD1»

<DCD2 category="DCD* dll Ра th=*CaoProv. Data Store" Pro\nderVersior>=* 1" xmins=’*http://www.ORjN co.jp/lSO20242-4/DCD2*»

«ORiN_Header»

«DCD ^Version» 1 «/DCO_Version»

«Device Version» 1 «/DeviceVersion»

«ProviderName/»

«ProviderVecsioo» 1 «/ProviderVersion»

«Factory/»

«0П7»

<ORiN_Vers»on>

«Major» 1 «/Major»

«Minor» K/Mnor»

«Revision» 1 <fl*evicion>

</ORiN_Version>

</ORiN_Header»

<Provider calegory='MOCXJLE* moduleld="D* provider=*CaoProv.DCD2*» <CaoProvController cetegofy=*INTERFACE* fundd=*101*>

«Connect category=*OPERAT10N* opera bonld=“3“»

«Parameter category^ N“»

«\falue»

<Name> DS«/Name>

«Option/»

«/Value»

«/Parameter»

«Result category=*OlTT>

<Value»

«/Result»

«/Connect»

«Disconnect category=’OPERAT>ON" operationld=*4*»

«Parameter category="lN*>

«Value»

«/Parameter»

«Resist category=*OUT»

«Value»

«/Result»

«/Disconnect»

«Get Variable category=*OPERAT)ON" operabonld=*9~»

«Parameter cateoorv=*lN*»

«Value»

«Name»@Vars«/Name»

<Opbon»ID=tO«/Option»

<Vakje>

«/Parameter»

«Result category=*OlTT»

«Value »123«/Value >

«/Result»

«/GeCVariable»

«/CaoProvController»

«CaoProvVariable category^"! NTERFACE* funcld=*106*>

«Aitrfeute category=*ATTR!BUTE* readonly=*true"»

<Value>0</Value>

«/Altobute»

«Value category=*ATTRBUTE* readonly="talse*>

«Value» ABC«Afelue>

«/Value»

«/CaoProvVariable»

«/Provider»

«/DCD2»

«/ССО»

«/Profile Body»

</IS015745Pro«e»

Приложен и в ДА (справочное)

Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации

Т а би ца ДА. 1

Обо» л чей не ссылочного меядумародного стандарта

Степень соответствия

Обозначение ■ наименоеаиие соответствующего национального стандарта

ИСО 15745-1

ЮТ

ГОСТ Р ИСО 15745-1—2010 «Системы промышленной автоматизации и интеграция. Прикладная интеграциои-мая среда открытых систем. Часть 1. Общее эталонное огмсание»

ИСО 20242-1:2005

ЮТ

ГОСТ Р ИСО 20242-1—2010 «Системы промышленной автоматизации и ьытеграция. Служебный интерфейс для ислыгатетъмых прикладных программ. Часть 1. Общие положения»

ИСО 20242-3

ЮТ

ГОСТ Р ИСО 20242-3—2012 «Системы промышленной автоматизации и мгтеграция. Служебный интерфейс для испыгате/ъмых прикладных программ. Часть 3. Служебиъай интерфейс виртуального устройства»

Примечание — В настоящей табтще использовано следующее условное обозначение стеле»* соответствия стандартов:

ЮТ — идентичные стандарты.

Библиография

П1
И
PI
HI

т

[71

и

[9]

ИСО 15745 (вое части) (ISO 15745 (^1 parts)) ИСОДДЭК 19501.2005 (ISOflEC 195012005)


Системы промышленной автоматизации и ммтеградея. Прикладная среда интегрирования открытых систем

(Industrial automaton systems and meg ration - Open systems application ntegrabon framework)

Информационные технологии. Открытая распределительная обработка. Унифицированный яэьк моде/мровамия (UML). Версия 1.42

(Information technology - Open Distributed Processing - Unified Modeling Language (UML) Version 1.4.2)


Generic Device Interface Version 4.4 — Association for Standardization of Automation and Measuring Systems


(ASAM)

OASIS PPS-1. Production Planrvng and Scheduling Part 1: Core Elements. Verl.O Public Review Draft 01. 7th August. 2007

OASIS PPS-2. Production Planning and Scheduling Part 2: Transaction Messages. Ver1.0 Pubic Review Draft 01. 71h August 2007

ORrN 2.1 Speculations. Version 2.1. ORiN Forum

REC-xml-20040204. Extensible Markup Language (XML) 1.0 Tturd Edition — W3C Recommendation 04 February


2004

R EC-xml schema-1-20041028. XML Schema Part 1: Structures Second Edtion—W3C Recommendation 28 October 2004

REC-xmfscbema-2-20041028. XML Schema Pari 2: Datatypes Second EdKon —W3C Recommendation 28 October 2004


УДК 658.52.011.56.006.354    OKC 25.040.40    T58
Ключевые слова: автоматизированные промышленные системы, интеграция, жизненный цикл систем, управлеюю производством

Редактор Г. А Леонове Технический редактор Е. в. Беспрозвамая Корректор в. Е. Нестерова Компьютерная верстка Е. Н. Евтеееои


Сдано в набор 07.102014. Подписано а печать 18. 12.2014. Формат 60x84’.', Бумага офсетная. Гартштура Ариап Печать офсетная Усп. пен. я. 8.37 Уч -над. п. 7.50. Тирах 40 зо. Зек. 1738


ФГУП «СТАНДАРТИНФОРМ». 123995 Мосхаа. Гранатой пер.. 4 mloQgostinlo ш

Набрано я отпечатано в Калужской типографии стандартов. 248021 Калуга, уп Московская. 258