Получите образец ТУ или ГОСТа за 3 минуты

Получите ТУ или ГОСТ на почту за 4 минуты

ГОСТ Р ИСО 15745-2-2010 Системы промышленной автоматизации и интеграция. Прикладная интеграционная среда открытых систем. Часть 2. Эталонное описание систем управления на основе стандарта ИСО 11898

>

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

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

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

ГОСТ Р исо 15745-2 — 2010

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

ПРИКЛАДНАЯ ИНТЕГРАЦИОННАЯ СРЕДА ОТКРЫТЫХ СИСТЕМ

Часть 2

Эталонное описание систем управления на основе стандарта ИСО 11898

ISO 15745-2:2003 Industrial automation systems and integration — Open systems application integration framework — Part 2: Reference description for ISO 11898-based control system

(IDT)

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

Москва Стандарта нформ 2013

ГОСТ Р ИС0 15745-2—2010

Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. №184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р1.0—2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

  • 1 ПОДГОТОВЛЕН Научно-техническим центром ИНТЕК на основе собственного аутентичного перевода на русский язык международного стандарта, указанного в пункте 4

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

  • 3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 21 декабря 2010 г. № 865-ст

  • 4 Настоящий стандарт идентичен международному стандарту ИСО 15745-2:2003 «Системы промышленной автоматизации и интеграция. Прикладная интеграционная среда открытых систем. Часть 2. Эталонное описание систем управления на основе стандарта ИСО 11898» (ISO 15745-2:2003 «Industrial automation systems and integration — Open systems application integration framework — Part 2: Reference description for ISO 11898-based control system»).

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

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

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

© Стандартинформ, 2013

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

Содержание

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

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

  • 3 Термины и сокращения

  • 4 Обозначения и сокращения

  • 5 Технологические специальные элементы и правила

    • 5.1 Интеграционные модели и интерфейсы IAS

    • 5.2 Шаблоны профилей

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

      • 5.2.2 Содержимое и синтаксис

      • 5.2.3 Заголовок

    • 5.3 Технологические специальные профили

  • 6 Профили устройств и коммуникационных сетей для систем управления на основе ИС011898 ….

    • 6.1 Протокол DeviceNet

      • 6.1.1 Профиль устройств

      • 6.1.2 Профиль коммуникационных сетей

    • 6.2 Протокол CANopen

      • 6.2.1 Профиль устройств

      • 6.2.2 Профиль коммуникационных сетей

Приложение А (обязательное) Шаблоны профилей DeviceNet

Приложение В (обязательное) Шаблоны профилей CANopen

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

Библиография

ГОСТ Р ИС0 15745-2—2010

Введение

Прикладная интеграционная среда (AIF) определяет элементы и правила, облегчающие:

  • – систематическую организацию и представление требований к интеграции прикладных систем с помощью моделей интеграции;

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

ИСО 15745-1 устанавливает общие элементы и правила описания интеграционных моделей и AIP вместе с их профилями компонент — профили процессов, профили обмена информацией и профили ресурсов. Содержание комплекса стандартов ИСО 15745 и структурный вид составных частей AIP показан на рисунке 1 ИСО 15745-1:2003.

Настоящий стандарт расширяет общую AIF, описанную в ИС0 15745-1. путем определения технологических специальных элементов и правил описания как профилей коммуникационных сетей, так и коммуникационных аспектов профилей устройств (приборов), относящихся к системам управления на основе ИС011898 (DeviceNet1*, CANopen2*).

В частности, в настоящем стандарте описаны шаблоны технологического специального профиля для профиля устройств (приборов) и профиля коммуникационной сети. В рамках AIP экземпляр профиля устройств (приборов) или экземпляр профиля коммуникационной сети является частью профиля ресурсов, определенного в ИС015745-1. Файлы экземпляров XML профиля устройств (приборов) и профиля коммуникационной сети включаются в экземпляр XML профиля ресурсов с использованием файла Profile-Handle_ DataType, как установлено 8 ИСО 15745-1:2003, пункт 7.2.5.

AIF. использующие элементы и правила ИС015745-1, могут быть легко интегрированы с профилями компонент, определенными с использованием элементов и правил, установленных в настоящем стандарте.

Настоящий стандарт разработан техническим комитетом ИСО/ТК184 «Системы промышленной автоматизации и интеграция», подкомитетом ПК 5 «Архитектура, системы связи и интегрированные среды».

Комплекс стандартов ИС0 15745 имеет общее название «Системы промышленной автоматизации и интеграция. Прикладная интеграционная среда открытых систем» и включает в себя следующие части:

  • – часть 1. Общее эталонное описание;

  • – часть 2. Эталонное описание систем управления на основе стандарта ИСО 11898;

  • – часть 3. Эталонное описание систем управления на основе стандарта МЭК 61158;

-часть 4. Эталонное описание систем управления на основе стандарта Ethernet.

ГОСТ Р ИСО 15745-2—2010

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

Системы промышленной автоматизации и интеграция ПРИКЛАДНАЯ ИНТЕГРАЦИОННАЯ СРЕДА ОТКРЫТЫХ СИСТЕМ Часть 2

Эталонное описание систем управления на основе стандарта ИСО 11898

Industrial automation systems and integration. Open systems application integration framework.

Part 2. Reference description for ISO 11898-based control system

Дата введения — 2011—09—01

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

Настоящий стандарт устанавливает специальные технологические элементы и правила описания как профилей коммуникационных сетей, так и коммуникационных аспектов профилей устройств (приборов), относящихся к системам управления на основе ИС011898.

Примечание — Общие элементы и правила описания интеграционных моделей и профилей интероперабельности прикладных систем с профилями их компонент (профили процессов, профили обмена информации и профили ресурсов) установлены в ИСО 15745-1.

Настоящий стандарт следует использовать вместе с ИС0 15745-1.

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

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

ИСО 639-1:2002 Коды для представления названий языков. Часть 1. Двухбуквенный код (ISO 639-1:2002, Codes for the representation of names of languages — Part 1: Alpha-2 code)

ИСО 639-2:1998 Коды для представления названий языков. Часть 2. Трехбуквенный код (ISO 639-2:1998, Codes for the representation of names of languages — Part 2: Alpha-3 code)

ИСО 3166-1:1997 Коды для представления названий стран и единиц их административно-территориального деления. Часть 1. Коды стран (ISO 3166-1:1997, Codes for the representation of names of countries and their subdivisions — Part 1: Country code)

ИСО/МЭК 10646-1:2000 Информационные технологии. Универсальный многоокгетный кодированный набор символов (UCS). Часть 1. Архитектура и базовая многоязычная плоскость (ISO/IEC 10646-1:2000, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane)

ИСО 11898:1993 Дорожные транспортные средства. Обмен цифровой информацией. Сеть контроллеров (CAN) для высокоскоростной связи (ISO 11898:1993, Road Vehicles — Interchange of digital information — Controller area network (CAN) for high-speed communication)

ГОСТ Р ИС0 15745-2—2010

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

МЭК 61158 (все части) Передача цифровых данных для измерения и управления. Полевая шина для систем автоматического регулирования и управления технологическими процессами (IEC 61158 (all parts), Digital data communications for measurement and control — Fieldbus for use in industrial control systems)

МЭК 61784-1:2003 Цифровые передачи данных для измерения и управления. Часть 1. Профильные наборы для непрерывного и раздельного производства полевых шин для систем автоматического регулирования и управления технологическими процессами (IEC 61784-1:2003, Digital data communications for measurement and control — Part 1: Profile sets for continuous and discrete manufacturing relative to fieldbus use in industrial control systems)

МЭК 62026-3:2000 Устройства распределительные комплектные низковольтные. Интерфейсы между контроллером и прибором (CDIs). Часть 3. DeviceNETTM (IEC 62026-3:2000, Low-voltage switchgear and controlgear—Controller-device interfaces (CDIs)—Part 3: DeviceNetTM)

FH 50325-4-200? Подсистема промни пленной коммуникации на основе ИСО 11898 (CAN) для интерфейсов контроллер-прибор. Часть 4. CANopen (EN 50325-4:2002, Industrial communications subsystem based on ISO 11898 (CAN) for controller-device interfaces — Part 4: CANopen)

IEEE Std 754-1985 (R1990) Стандарт IEEE для двоичной арифметики с плавающей запятой (IEEE Std 754-1985 (R1990), IEEE Standard for Binary Floating-Point Arithmetic)

REC-xml-20001006 Расширяемый язык разметки (XML) 1.0 Второе издание — Рекомендация W3C от 6 октября 2000 г. (REC-xml-20001006, Extensible Markup Language (XML) 1.0 Second Edition — W3C Recommendation 6 October 2000)

REC-xmlschema-1-20010502 Схема XML, Часть 1. Структуры — Рекомедация W3C от 2 мая 2001 (REC-xmlschema-1-20010502, XML Schema. Part 1: Structures — W3C Recommendation 02 May 2001)

REC-xmlschema-2-20010502 Схема XML, Часть 2. Типы данных — Рекомедация W3C от 2 мая 2001 (REC-xmlschema-2-20010502, XML Schema. Part 2: Datatypes — W3C Recommendation 02 May 2001)

RFC 1738:1994 Единый указатель ресурсов (URL) — Целевая группа инженерной поддержки Интернета (IETF), Запрос на комментарий (RFC) (RFC 1738:1994, Uniform Resource Locators (URL) — Internet Engineering Task Force (IETF). Request for Comments (RFC))

RFC 1759:1995 Принтер MID — Целевая группа инженерной поддержки Интернета (ICTT), Запрос на комментарий (RFC) (RFC 1759:1995, Printer MIB — Internet Engineering Task Force (IETF), Request for Comments (RFC))

UMLV1.4OMG — Спецификация для Унифицированного Языка Моделирования (Версия 1.4, сентябрь 2001) (UML V1.4, OMG — Unified Modeling Language Specification (Version 1.4, September 2001))

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

В настоящем стандарте использованы термины и определения по ИС015745-1 (приложение А).

4 Обозначения и сокращения

AIF — прикладная интеграционная среда (Application Integration Framework):

AIP — профиль интероперабельности приложений (Application Interoperability Profile);

CAN — сеть контроллеров (Controller Area Network);

Cip™3) —общий промышленный протокол (Common Industrial Protocol):

EDS — электронная информационная таблица; электронная таблица данных (Electronic Data Sheet);

IAS — системы промышленной автоматизации (Industrial Automation Systems);

OSI — взаимодействие открытых систем (Open System Interconnection);

UML —унифицированный язык моделирования (см. UML V1.4) (Unified Modelling Language);

XML — расширяемый язык разметки (см. REC-xml-20001006) (extensible Markup Language).

5 Технологические специальные элементы и правила

  • 5.1 Интеграционные модели и интерфейсы IAS

Разработчик AIP должен создать интеграционную модель с использованием правил, описанных в ИСО 15745-1. а также должен обеспечить, чтобы профили устройства (приборов) и коммуникационных сетей на основе ИС011898 (независимо от того, представляют ли они требования к интерфейсам или требования, выводимые из существующих приборов/коммуникационных сетей) включали в себя необходимые интерфейсы IAS. Интерфейсы IAS, включенные в профиль, должны быть идентифицированы в разделе заголовка (см. ИСО 15745-1:2003, пункт 7.2.2).

Примечание — Интерфейсы IAS описаны в ИСО 15745-1:2003 (приложение В).

  • 5.2 Шаблоны профилей

5.2.10бщие положения

Шаблоны технологических специальных профилей на основе ИС011898 выводятся из общих шаблонов профилей, установленных в ИСО 15745-1 (раздел 7).

  • 5.2.2 Содержимое и синтаксис

Комплекс стандартов ИС0 15745 устанавливает шаблоны профилей, которые являются XML схемами (REC-xmlschema-1-20010502 и REC-xmlschema-2-20010502) и используют общую основную структуру. Профили устройств (приборов) и коммуникационных сетей, основанные на этих шаблонах, как правило, содержат:

  • – информацию, необходимую для идентификации подсоединенного прибора;

  • – описание данных об устройстве (приборе), которые могут быть оценены через сеть;

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

Однако некоторые технологии, основанные на ИС011898, используют специальный унаследованный синтаксис ASCII. Поэтому обратная совместимость, определения шаблонов любой технологии (приложения А, В) включают в себя все или соответствующие поднаборы, а именно:

  • – шаблоны профилей коммуникационных сетей и устройств (приборов), установленные в ИСО 15715-1;

  • – шаблон ИСО 15745, инкапсулирующий файлы с унаследованным синтаксисом ASCII («упаковщик»); -унаследованный синтаксис ASCII.

  • 5.2.3 Заголовок

Заголовок шаблона профилей, установленный в ИСО 15745-1:2003 (пункт 7.2.2), используют для шаблонов технологических специальных профилей ИСО 11898. Каждая технология использует одно или несколько имен для идентификации технологии или ее отдельную компоненту (отдельные компоненты) (см. таблицу 1). Выбранное имя должно храниться в атрибуте ProfileTechnology в разделе заголовка.

Таблица 1 — Имена атрибута ProfileTechnology

Имя атрибута ProfileTechnology

Технология

DeviceNet

DeviceNet

CIP

DeviceNet

EDS

DeviceNet

CANopen

CANopen

COFDCML

CANopen

  • 5.3 Технологические специальные профили

Структура технологических специальных профилей коммуникационных сетей и коммуникационные аспекты структуры профилей устройств (приборов), основанные на ИСО 11898, описаны в разделе 6, включающем в себя следующие технологии:

  • – DeviceNet (см. 6.1);

  • – CANopen (см. 6.2).

Определения связанных шаблонов профилей даны в приложениях А и В.

ГОСТ Р ИС0 1 5745-2—2010

6 Профили устройств и коммуникационных сетей для систем управления на основе ИСО 11898

  • 6.1 Протокол DeviceNet

  • 6.1.1 Профиль устройств

  • 6.1.1.1 Общие положения

На рисунке 1 показана диаграмма классов профилей устройств DeviceNet.

Рисунок 1 — Диаграмма классов профилей устройств DeviceNet

Доступные форматы для профилей устройств DeviceNet описаны в А.2 (приложение А).

XML схема, представляющая шаблон профилей устройств DeviceNet, определена в А.2.1.3.3 (приложение А). Имя XML файла этой схемы должно быть «CIP_Device_Profile.xsd».

Примечание — Диаграмма классов профилей устройств DeviceNet, представленная на рисунке 1, определяет основные классы. Эти классы разбиваются на составные части; подробное описание дано в приложении А.

XML схема, представляющая инкапсуляцию унаследованного DeviceNet EDS в шаблон профилей приборов на основе ИСО 15745, определена в А.2.2.2 (приложение А). Имя XML файла этой схемы должно быть «EDS_Device_Profile_wrapper.xsd». Сам унаследованный синтаксис EDS ASCII описан в А.4 (приложение А).

  • 6.1.1.2 Идентичность устройств

Класс Идентичность устройств (Deviceidentity) содержит атрибуты, которые однозначно идентифицируют прибор и поддерживают сервисы, позволяющие извлечь эту информацию из устройства.

Эти атрибуты обеспечивают, в частности:

  • – идентификацию изготовителя (название и идентификационный код);

  • – идентификацию устройств (тип устройства, название изделия, модификация, серийный номер);

  • – классификацию устройств;

  • – место хранения дополнительной информации (например, иконки).

  • 6.1.1.3 Управление устройствами

Класс Управление устройствами (DeviceManager) содержит атрибуты и поддерживает сервисы, используемые для мониторинга и конфигурирования приборов.

Эти атрибуты обеспечивают, в частности:

  • – модификацию объекта Идентичность DeviceNet;

  • – информацию по структуре устройства (для устройств, интегрированных в модульную систему). Сервисы позволяют:

  • – отключить устройство;

  • – осуществлять поиск атрибутов DeviceManager.

  • 6.1.1.4 Функция устройств

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

Пример — Примерами объектов DeviceFunction являются объекты перегрузки, распознавания присутствия объекта, аналоговых входных данных и дискретных выходных данных.

Примечание — Определение специального класса DeviceFunction в ИСО 15745-2 не установлено.

  • 6.1.1.5 Прикладной процесс

На рисунке 2 показана структура класса Прикладной процесс (Applicationprocess).

Рисунок 2 — Диаграмма класса Applicationprocess DeviceNet

Класс Компоновка (Assembly) собирает несколько элементов данных прикладного процесса в один блок для оптимизации коммуникаций. Класс Параметр (Parameter) обеспечивает стандартизованный интерфейс для оценивания отдельных элементов данных прикладного процесса. Класс Группа Параметров (ParameterGroup) устанавливает группы связанных параметров для определенной цели (например, конфигурирование, мониторинг). Класс Компоновка и класс Параметр поддерживают атрибуты и сервисы как на уровне класса, так и на уровне экземпляра.

Классы Assem (Компоновка), Param (Параметр) и Group (Группа) определяют отдельные экземпляры основных классов.

Примечание — Класс Компоновка и класс Параметр соответствуют объектам Компоновка DeviceNet и Параметр. Объект Компоновка полностью определен в МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2).

  • 6.1.2 Профиль коммуникационных сетей

  • 6.1.2.1 Общие положения

На рисунке 3 показана структура классов профилей коммуникационных сетей DeviceNet.

ГОСТ Р ИС0 1 5745-2—2010

Рисунок 3 — Диаграмма классов профилей коммуникационных сетей DeviceNet

Доступные форматы для профилей коммуникационных сетей DeviceNet описаны в А.З (приложение А).

XML схема, представляющая шаблон профилей коммуникационных сетей DeviceNet. определена в А.3.1.3 (приложение А). Имя XML файла этой схемы должно быть «DNet_CommNet_Profile.xsd».

XML схема, представляющая инкапсуляцию унаследованного DeviceNet EDS в шаблон профилей коммуникационных сетей на основе ИСО 15745, определена в А.3.2.2 (приложение А). Имя XML файла этой схемы должно быть «EDS_CommNet_Profile_wrapper.xsd». Сам унаследованный синтаксис EDS ASCII описан в А.4 (приложение А).

  • 6.1.2.2 Прикладные уровни

Класс Прикладные уровни (ApplicationLayers) DeviceNet представляет составные профили для трех верхних уровней интегрированной OSI модели коммуникационных сетей DeviceNet.

Далее он разбивается на несколько классов, как показано на рисунке 3:

  • – объект Соединение (Connectionobject) определяет характеристики, связанные с соединениями, и управление соединениями;

  • – объект Маршрутизатор сообщений (MessageRouter) определяет характеристики, связанные с внутренней маршрутизацией сообщений 8 устройстве.

Примечание — Соответствующие объект Соединение и объект Маршрутизатор Сообщений полностью определены в МЭК 6202&>3.

  • 6.1.2.3 Транспортные уровни

Класс Транспортные уровни (TransportLayer) DeviceNet представляет составные профили для четырех нижних уровней интегрированной OSI модели коммуникационных сетей DeviceNet.

Далее он разбивается на несколько классов, как показано на рисунке 3:

  • – физический Уровень DN (DNPhysicalLayer) идентифицирует характеристики физического уровня (например, соединитель, скорость передачи данных в бодах, электрические характеристики);

  • – канальный Уровень DN (DNLinkLayer) и объект DeviceNet (DeviceNetObject) определяют характеристики, связанные с конфигурированием канального уровня передачи данных и мониторингом;

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

Примечание — Соответствующий объект DeviceNet полностью определен в МЭК 62026*3:2000.

  • 6.1.2.4 Управление сетями

Класс Управление сетями (NetworkManagement) DeviceNet представляет конфигурирование сети и возможности настройки характеристик интеграционной модели коммуникационной сети DeviceNet.

Далее он разбивается на несколько классов, как показано на рисунке 3:

• объект NM-DeviceNet (NM-DeviceNetObject), объект NM-Соединение (NM-ConnectionObject) и Маршрутизатор NM-сообщений (NM-MessageRouter) определяют характеристики, связанные с управлением классов соответствующих объектов.

  • 6.2 Протокол CANopen

  • 6.2.1 Профиль устройств

  • 6.2.1.1 Общие положения

На рисунке 4 показана структура классов профилей устройств CANopen.

Рисунок 4 — Диаграмма классов профилей устройств CANopen

Требуемый формат профилей устройств CANopen описан в В.1 (приложение В). XML схема, представляющая шаблон профилей устройств CANopen, определена в В.1.5.1 (приложение В). Имя XML файла схемы должно быть ‘COFDCML.xsd’.

Примечание! — Для лучшей читаемости диаграмма классов профилей устройств (DeviceProfile) CANopen разбита на пять диаграмм классов.

Примечание 2 — Все эти классы отображаются в той же XML схеме, определенной в В.1.5.1 (приложение В).

Примечание 3 — Диаграммы классов профилей устройств CANopen. показанные на рисунках 4—10, определяют основные классы. Далее некоторые классы разбиваются на составные части; подробное описание дано в приложении В.

  • 6.2.1.2 Идентичность устройств

Класс Идентичность устройств (Deviceidentity) определен на рисунке 5.

Рисунок 5 — Диаграмма класса Идентичность устройств (Deviceidentity)

ГОСТ Р ИС0 1 5745-2—2010

Класс Deviceidentity должен состоять из дочерних классов, показанных на рисунке 5 и установленных в таблице 2.

Таблица 2 — Разбиение класса объекта Идентичность устройств

Класс

Описание

Профиль

Тип

Экземпляр

vendorName

Название изготовителя или продавца устройства

X

X

X

vendorlD

IEEE OUI (Организационно Уникальный Идентификатор) (см.(6))

X

X

vendorText

Может быть использован для предоставления дополнительной информации по продавцу

X

X

X

deviceramily

Определение этого класса е настоящем стандарте не установлено

X

X

X

capabilities

Определение этого класса в настоящем стандарте не установлено

X

X

productFamily

Специальное семейство продуктов (бренд) продавца устройства

X

X

productName

Специальное название продуктов продавца

X

X

X

productID

Уникальный идентификатор, определяющий тип устройства; формат выбирается по усмотрению продавца

X

X

productText

Может быть использован для предоставления дополнительной информации по устройству

X

X

X

orderNumber

Специальный порядковый номер продукта продавца

X

X

version

Специальная версия продукта продавца, атрибут versionType (Тип версии) позволяет различать множество версий (а именно: аппаратные средства. встроенные программы)

X

X

buildDate

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

X

X

specificationRevision

Внесение изменений в спецификацию, которой данное устройство соответствует

X

X

X

instanceName

Имя экземпляра устройства

X

serialNumber

Серийный номер экземпляра устройства

X

Примечание — 8 графах «Профиль», «Тип» и «Экземпляр» указывают, подходит ли отдельный дочерний класс для использования в профиле устройств, а также для описания типа устройства или описания экземпляра устройства.

6.2.1.3 Управление устройством

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

На рисунке 6 показано представление CANopen класса Управление устройством (DeviceManager).

  • 6.2.1.3.2 Объекты localDataDescriptionList (Список описаний локальных данных), localDataDescription (Описание локальных данных)

Объект localDataDescriptionList должен быть набором объектов localDataDescription. Объект localDataDescription должен описывать объекты данных, используемых только в контексте устройства.

  • 6.2.1.3.3 Объект devicestructure

  • 6.2.1.3.3.1 Общее представление

Объект devicestructure должен быть контейнером всех физических объектов устройства. Такой объект может быть каналом (физической или логической точкой ввода/вывода), MAU (Устройством подключения к среде), слотом для подключения дополнительных модулей (как часть устройства) или LED (светоизлучающим диодом).

  • 6.2.1.3.3.2 Объекты channelList (Список каналов), channel (канал)

Объект channelList должен быть набором объектов channel. Эти объекты должны описывать физические или логические точки ввода/вывода устройства.

  • 6.2.1.3.3.3 Объекты MAUList (Список устройств подключения к среде), MAU (Устройство подключения к среде)

Объект MAUList должен быть набором объектов MAU. Эти объекты должны описывать точки доступа к сетевым средам.

  • 6.2.1.3.3.4 Объекты slotList (Список слотов), slot (слот)

Объект slotList должен быть набором объектов slot. Объект slot должен содержать ссылку на описание внешнего обмена профилями устройства CANopen.

Примечание — Слоты используют для описания модульных устройств или отдельных комбинаций устройств.

  • 6.2.1.3.3.5 Объекты indicatorList (Список индикаторов), LEDList (Список светоизлучающих диодов), LED (светоизлучающий диод)

Объект LEDList должен быть набором объектов LED. Этот объект должен описывать LED устройства.

Примечание — Класс indicatorList может быть расширен в последующих изданиях ИСО 15745-2.

  • 6.2.1.3.4 Класс communication Entity (Коммуникационная сущность)

  • 6.2.1.3.4.1 Общие положения

На рисунке 7 дано определение класса communicationEntity.

ГОСТР ИС015745-2—2010

л А

  • V

  • V

А

Л

I

  • V

  • V

Рисунок 7 — Диаграмма класса communicationEntjty

Класс communication Entity должен описывать объект устройства, способный установить связь с объектами других устройств, и должен содержать полный набор заранее определенных элементов конфигурации и описания коммуникационных объектов. В устройстве могут использоваться несколько communicationEntity.

  • 6.2.1.3.4.2 cfgltemUst (Список элементов конфигурации)

cfgltemList должен состоять из объектов CANopenDedicatedCfgltem.

  • 6.2.1.3.4.3 CANopenDedicatedCfgltem (специализированный элемент конфигурации CANopen) CANopenDedicatedCfgltem должен быть набором элементов конфигурации.

Примечание — Определение дополнительных классов элементов конфигурации в ИСО 15745-2 не рассмотрено.

  • 6.2.1.3.4.4 Класс CAN open Identity (идентичность CANopen)

Класс CAN openidentity состоит из нескольких объектов, необходимых для идентификации устройства в сети CANopen. Он включает в себя объекты для CANopen VendorlD (идентификатор продавца CANopen), CANopenProductCode (код продуктов CANopen), CANopenRevisionNumber (номер модификации CANopen) и CANopenSerialNumber (серийный номер CANopen), а также CANopenManufacturerDeviceName (название прибора изготовителя CANopen), CANopenManufacturerHardwareVersion (версия аппаратных средств изготовителя CANopen) и CANopenManufacturerSoftwareVersion (версия программных средств изготовителя CANopen)

Примечание — Соответствующий объект идентичности определен в ЕН 50325-4.

  • 6.2.1.3.4.5 CANopenCommuricationFunctkxiLjst (Список коммуникационных функций CANopen), function (функция)

CANopenCommunicationFunctionLJst должен быть набором объектов function (функция). Каждый такой объект описывает функциональные возможности CANopen, связанные с коммуникационной областью CANopen, путем использования CANopenCommunicationParametedJst (Слисок коммуникационных параметров CANopen).

  • 6.2.1.3.4.6 CANopenCommunicationParameterList (Список коммуникационных параметров CANopen), parameters (параметры)

CANopenCommunicationParametertJst должен быть набором объектов Параметр. Каждый такой объект описывает параметр, связанный с коммуникационной областью CANopen.

  • 6.2.1.3.4.7 CANopenObjectAccessUst (Список доступа к объектам CANopen), CANopenObject (объект CANopen)

CANopenObjectAccessList должен быть набором объектов CANopenObject. Что касается словаря объектов CANopen, каждый такой объект описывает параметр из вида DeviceFunction или из CANopen CommuntcationParame terList

Примечание — CANopenObjectAccessList соответствует словарю объектов CANopen в ЕН 50325*4. 6.2.1.3.5 Класс processingEntity (обрабатываемая Сущность)

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

На рисунке 8 показано определение класса processingEntity.

additionalltemList

addeonaltteni

irternalComectionPointList

0.1

dgltemUst

dedicatedOgttem

irvomittecfCIgltem

-^-1 logicalConnecbonPointUst

into ma Connect» nPoint

logieaConnecBonPoint

logical ConnectionAasemblyPoant

A A s ?

О a.

v

v

Рисунок 8 — Диаграмма класса processingEntity

Класс processingEntity должен описывать любое устройство, не являющееся коммуникационным объектом.

Пример—Ресурс, способный выполнять программы.

  • 6.2.1.3.5.2 Классы additionalltemList (Список дополнительных элементов), addrtionalltem (дополнительный Элемент)

Класс additionalltemList должен быть набором объектов дополнительных элементов, определяемых пользователем. Объект additionalltem может быть использован для описания характеристик приборов, кроме характеристик конфигурации или коммуникационных объектов.

Примечание — Определение additionalltemType дополнительных элементов в настоящем стандарте не рассмотрено.

Пример—Документация по прибору.

  • 6.2.1.3.5.3 Классы logicalConnectionPointList (Список логических точек соединений), logicalConnection-Point (логическая точка соединения)

Класс logicalConnectionPointList должен быть набором объектов логических точек соединений. Этот объект описывает соединение.

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

  • 6.2.1.3.5.4 Классы logicalConnectionPointAssemblyList (Список наборов логических точек соединений), logicalConnectionPointAssembly (набор логических точек соединений)

Класс logicalConnectionPointAssemblyList должен быть набором объектов logicalConnectionPointAssembly. Этот набор должен быть описанием группы объектов logicalConnectionPoint.

  • 6.2.1.3.5.5 Классы intemalConnectionPointList (Список внутренних точек соединений), intemalConnection-Point (внутренняя точка соединения)

Класс intemalConnectionPointList должен быть набором объектов intemalConnectionPoinL определяющим внутренние соединения между различными объектами communicationEntity и/или объектами resourceEntity в одном и том же устройстве.

  • 6.2.1.3.5.6 Класс cfgltemList (Список элементов конфигурации)

Класс cfgltemList может состоять из объектов dedicatedCfgltem и объектов uncomittedCfgltem.

ГОСТР ИС015745-2—2010

  • 6.2.1.3.5.7 Элемент dedicatedCfgltem (Специализированный элемент конфигурации) dedicatedCfgltem должен быть элементом конфигурации с атрибутом dedicatedCfg Item Туре. Такой элемент следует использовать для определения соответствующих характеристик конфигурации.

  • 6.2.1.3.5.8 Элемент uncommittedCfgltem (нескоммутированный элемент конфигурации) uncommittedCfgltem должен быть элементом конфигурации с атрибутом dedicatedCfgltemType. Такой

элемент следует использовать для определения характеристик конфигурации, которые не могут быть описаны dedicatedCfgltem.

Примечание — Определение некоммутированных элементов конфигурации в настоящем стандарте не рассмотрено.

Пример — Описание DIP—переключателей, изменяющих код идентификатора прибора.

6.2.1.4 Функция прибора

  • 6.2.1.4.1 Общие положения

На рисунке 9 приведена диаграмма классов DeviceFunction.

DeviceFunctJon

functonView

Рисунок 9 — Диаграмма классов DeviceFunction (Функция устройства)

В случае различных представлений функции устройства для описания DeviceFunction используют дополнительную XML схему. Имя XML файла схемы должно быть «FDCMLISO15745DeviceFunction.xsd». XML схема DeviceFunction определена в приложении В.

Примечание — Определение дополнительных XML схем, описывающих классы DeviceFunction, в настоящем стандарте не рассмотрено.

  • 6.2.1.4.2 parametertJst (Список параметров), parameter (параметр)

parameterList должен быть набором объектов Параметр. Такой объект описывает параметры устройства на основе функциональной перспективы. Он соединяется с коммуникационным объектом в communicationEntity.

  • 6.2.1.4.3 functionList (Список функций), function (функция), inputsList (Список вводов), outputsList (Список выводов)

functionList должен быть набором объектов function (функция). Такой объект должен состоять из inputsList и outputsList. Эти списки должны содержать список ссылок на объекты Параметр.

6.2.1.5 Прикладной процесс

  • 6.2.1.5.1 Общие положения

Объект Applicationprocess (Прикладной процесс) может быть представлен одной или несколькими соответствующими XML схемами.

Примечание — Определение этих XML схем в настоящем стандарте не установлено.

  • 6.2.1.5.2 textualDescription (Текстовое описание)

Объект textualDescription объясняет функцию устройства в читаемом текстовом виде.

6.2.2 Профиль коммуникационных сетей

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

На рисунке 10 показана диаграмма классов профиля коммуникационной сети CANopen.

Рисунок 10 — Диаграмма классов профиля коммуникационной сети CANopen

XML схема, представляющая профиль коммуникационной сети CANopen, определена в приложении В. Имя файла XML схемы должно быть «COComrnNetworkProffe.xsd».

  • 6.2.2.2 communicationprofile (Коммуникационный профиль)

communicationprofile должен устанавливать подходящие идентификаторы коммуникационных профилей. Эти профили и их идентификаторы определены в МЭК 61784-1 (раздел 10.1). Разработчик AIP может установить дополнительные коммуникационные профили; идентификаторы для таких новых коммуникационных профилей должны быть трехразрядным числом, лежащим между 680 и 699.

  • 6.2.2.3 Транспортные уровни

  • 6.2.2.3.1 Общие положения

Объект TransportLayers (Транспортные уровни) должен представлять комбинированные профили для четырех нижних уровней интегрированной OSI модели коммуникационных сетей. Этот объект должен включать в себя объект cfgItemList (Список элементов конфигурации).

  • 6.2.2.3.2 Объекты cfgItemList (Список элементов конфигурации), CANopenDedicatedCfgCategory (Специализированная категория конфигураций CANopen)

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

Примечание — CANopenDedicatedCfgCategory описывает поддерживаемые услуги по передаче данных (например, объектов данных технологического процесса или объектов сервисных данных), а также поддерживаемые скорости передачи информации в бодах, как определено в ЕН 60325-4.

  • 6.2.2.4 Прикладные уровни

  • 6.2.2.4.1 Общие положения

Объект ApplicationLayers (Прикладные уровни) должен представлять комбинированные профили для трех уровней интегрированной OSI модели коммуникационных сетей. Объект ApplicationLayers должен содержать объект cfg ItemList.

  • 6.2.2.4.2 Объекты cfgltemList (Список элементов конфигурации), CANopenDedicatedCfgCategory (Специализированная категория конфигурации CANopen)

Объект cfgltemList должен быть набором элементов конфигурации, относящихся к трем уровням интегрированной OSI модели коммуникационных сетей. Набор включает в себя специализированную категорию, предназначенную для связанных элементов конфигурации CANopen, например для поддерживаемых типов данных для формального отображения, общих возможностей, а также для ввода прибора в эксплуатацию.

  • 6.2.2.5 Управление сетями

  • 6.2.2.5.1 Общие положения

Объект NetworkManagement (Управление сетями) должен представлять функциональные возможности управления сетями. Этот объект должен содержать объект cfgltemList.

  • 6.2.2.5.2 Объекты cfgltemList (Список элементов конфигурации), CANopenDedicatedCfgCategory (Специализированная категория конфигураций CANopen)

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

Примечание — Объект CANopenDedicatedCfgCategory определяет поддерживаемые сервисы управления сетями, как установлено в ЕН 50325-4.

ПриложениеА (обязательное)

Шаблоны профилей DeviceNet

А.1 Общие положения

Верхние уровни сети DeviceNet основаны на Общем Промышленном Протоколе (CIP). Этот протокол моделирует все коммуникационные и прикладные сущности как объекты. Передача специальных сообщений CIP требует выполнения сервисов на соответствующих экземплярах объекта (или на их атрибутах). Эта схема обеспечивает заданный доступ ко всем данным по конфигурации, состоянию и переменным рабочего цикла в узле. В то же самое время соединения ввода/вывода позволяют осуществлять прямой обмен с базой данных ввода/вывода без промежуточной обработки данных. В обоих случаях все адреса данных в устройстве устанавливаются с использованием маршрута CIP, т. е. октетного строкового потока, определяющего экземпляр прикладного объекта, атрибут и/или конечную точку соединения.

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

  • – информацию по приборам, сохраняемую в печатном или электронном формате:

  • – специализированные объекты Parameter Object, которые предоставляют заданный открытый интерфейс для отдельных значений данных по конфигурации/параметрам и также могут вводить дополнительную информацию по конфигурации, например описательный текст, тип данных, границы данных и данные по умолчанию:

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

  • – комбинации методов, перечисленных выше.

Средства конфигурирования, доступные в настоящее время для устройств на основе CIP, используют специально отформатированный файл ASCII, называемый Электронная Информационная Таблица (EDS), который предоставляет:

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

  • – описание данных по устройству, которые могут быть оценены через сеть (например, конфигурируемые параметры);

  • – описание коммуникационных возможностей, поддерживаемых устройством (например, соединения);

  • – дополнительную информацию от продавца.

EDS позволяет средствам конфигурирования автоматизировать процесс конфигурирования устройств. Требования EDS определяют открытый, согласованный и совместимый метод, позволяющий выполнить конфигурирование устройств в среде CIP.

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

  • – шаблонов профилей коммуникационной сети и приборов, как определено в ИСО 15745-1;

  • – инкапсуляции унаследованных файлов EDS в шаблоны ИСО 15745 («упаковщики»);

  • – унаследованной Электронной Информационной Таблицы (EDS), включая общую семантическую информацию.

Примечание — EDS сети DeviceNET заданного прибора может быть получена из содержимого соответствующих XML файлов профилей приборов и коммуникационных сетей с использованием соответствующих таблиц стилей.

А.2 Описание шаблонов профилей устройств

А.2.1 Описание шаблонов профилей устройств на основе XML

А.2.1.1 Общие положения

Файлы XML профилей приборов должны соответствовать XML схеме профилей устройств, как установлено в А.2.1.3.3.

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

А.2.12. Семантика элементов XML схемы

А.2.1.2.1 ProfileBody (Тело профиля)

Данный основной элемент связан с набором атрибутов, предоставляющих дополнительную информацию о файле профилей.

Семантика этих атрибутов установлена в А.4.1.4.2.

А.2.1.2.2 Deviceidentity (Идентичность устройств)

Данный элемент определяет поддерживаемые атрибуты экземпляра и операции объекта Идентичность (см. МЭК 62026-3). а также дополнительную информацию для полной идентификации устройств. В случае необходимости этот элемент также указывает истинные значения атрибутов экземпляра.

Семантика подэлементов Deviceldentity_lnstanceAttributes элемента Deviceidentity установлена в таблице А.1.

Таблица А.1 — ЭлементыDeviceldentityJnstanceAttributes

Элементы XML схемы

Атрибуты объекта

Семантика

SpecificationConformance

Нет

Строка, устанавливающая эталонную версию спецификаций DeviceNet

VendCode, ProdType, ProdCode, ProdRevision

Есть

А.4.1.4.3

VendName. ProdTypeStr, ProdName. Catalog. Icon. Exclude FromAdapterRackConnection

Нет

А.4.1.4.3

Status, SerialNumber, State, ConfigurationConsistencyValue. Heartbeatinterval

Есть

Не применяется

Deviceclassification

Нет

А.4.1.4,4 и А.4.2.2.1

А.2.1.2.3 DeviceManager (Управление устройствами)

Данный элемент определяет поддерживаемые атрибуты классов и операции объекта Identity (Идентичность) (см. МЭК 62026-3). а также дополнительную информацию для управления устройствами. В случае необходимости этот элемент таюке указывает истинные значения атрибутов экземпляра.

Семантика модульных подэлементов элемента DeviceManager установлена 8 А.4.1.5.2.

А.2.1.2.4 DeviceFunction (Функция устройств)

В настоящем стандарте содержимое этого элемента не детализировано.

А.2.1.2.5 Applicationprocess (Прикладной процесс)

А.2.1.2.5.1 Assembly (Компоновка)

Данный элемент устанавливает поддерживаемые атрибуты классов и экземпляров объекта Assembly (см. МЭК 61158-5 и МЭК 61158-6 (тип 2)]. а также описание отдельных экземпляров.

Семантика подэлементов Assem. ProxyAssem and ProxiedAssem элемента DeviceManager установлена в А.4.1.4.8иА.4.1.5.3.2.

А.2.1.2.5.2 Parameter (Параметр)

Данный элемент устанавливает поддерживаемые атрибуты классов и экземпляров и операции объекта Parameter Object, а также описание отдельных экземпляров.

Семантика подэлемента Parameter_ClassAttributes элемента Parameter установлена в А.4.1.4.5.

Семантика подэлементов Param, ProxyParam and ProxiedParam элемента Parameter установлена в А.4.1.4.6 и А.4.1.5.3.1.

А.2.1.2.5.3 ParameterGroup (Группа Параметров)

Данный элемент устанавливает группы связанных параметров для конкретной цели.

Семантика подэлемента Group элемента ParameterGroup установлена в А.4.1.4.7.

А.2.1.3 XML схемы

А.2.1.3.1 Файл MasterTemplateTypes.xsd

Примечание — XML схема содержит все стили, определенные как часть основного шаблона в ИСО 15745-1.

<?xml version=“1.0* encoding=“UTF-8“ ?>

<x3d:3chema xmln3:x3d=’,http://www.w3.org/2001/XMLSchema*>

<’• • Target namespaces are not specified in this master template – ->

<xsd:annotation>

<xsd:documentation>* HEADER DATA TYPES “</xsd:documentation>

</xsd:annotation>

<xsd:simpleType name=”ProfileClasslD_DataType’’>

<xsd restriction base=”xsd:string“>

<xsd:enumeration vaiue-‘AlP” />

<xsd:enumeration vaJue^Process” />

<xsd:enumeration value=”lnformationExchange” />

<xsd:enumeration value^Resource” />

<xsd:enumeration value-’Device’* f>

<xsd:enumeration value=HCommunicationNetwork” />

<xsd:enumeration vakie=*Equipment” />

<xsd:enumeration value=’’Human” l>

<xsd:enumeratk)n vakje=”Materiar f>

</xsd;restr»ction>

</xsd:simpleType>

<xsd:complexType name=”ISO15745Reference_DataType”>

<xsd:sequence>

<xsd:element пате=”18О15745РагГ type^xsdipositivelnteger” />

<xsd:element name=’ISO15745Edition” type=”xsd:positivelnteger*’ />

<xsd:element name=’PгofileTechnology,‘ type=’xsd:string” /> </xsd:sequence>

</xsd :comptexType>

<xsd:simpleType name=”IASInterface_DataType”>

<xsd:union>

<xsd:simpleType>

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

<xsd:enumeration value=”CSI” />

«*xed:enumeration vahje-‘HCI” />

<xsd:enumeration value-‘ISI” />

<xsd:enumeration value=”APr f>

<xsd:enumeration vakje-’СМГ/>

<xsd;enumeration value=“ESI” />

<xsd:enumeration value-‘FSI” />

<xsd:enumeration vakje=”MTI” f>

<xsd:enumeration value=”SEI” />

<xsd:enumeration value=”USI* />

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType>

<xsd:restrict>on base=”xsd:string”>

<xsd:length values“4” />

</xsd:restr»ction>

</xsd;simpleType>

</xsd;union>

</xsd:simpleType>

<xsd:annotalion>

<xsd:documentatfon>* ISO 15745 DEFINED DATA TYPES ‘</xsd:documentation>

</xsd:annotation>

<xsd:complexType name=”ProfileHandle_DataType”>

<xsd:sequence>

<xsd:element name=”Profileldent!fication“ type=”xsd:string” t>

<xsd:element name=”ProfileRevision” type=”xsd:string’ t>

<xsd:element name=’ProfileLocation’ type=”xsd:anyllRr minOccurs=”0’ maxOccurs=”r />

</xsd:sequence>

</xsd:comptexType>

</xsd:schema>

A.2.1.3.2 Файл ClPDataTypes.xsd

Примечание — XML схема определяет элементы, составляющие ее (например, типы данных, типы элементов, группы атрибутов), используемые в других XML схемах.

<?xml verskxi=’1.0″ encoding=”UTF-8″?>

<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema’>

<!- – Target namespaces are not specified in this master template – ->

<xsd:annotation>

<xsd:documentation>* CIP DATA TYPES *</xsd:documentation>

</xsd:annotation>

<xsd:simpleType name=”dt_USINT‘*> <xsd:restriction base=’xsd:unsignedByte’7> </xsd:simpleType>

<xsd;simpleType name=”dt_UINT>

<xsd:restrict»on base=“xsd:unsignedShort7>

</xsd:simpleType>

<xsd:simpleType name=”dt_UDINT’>

<xsd restriction base=”xsd:unsignedlnt‘/> </xsd:simpleType>

<xsd:simpleType name=,’dt_ULINT“> <xsd:restriction base=Bxsd:unsignedLong7> </xsd:simpleType>

<xsd:simpleType name=“dt_SINT’> <xsd:restriction base=”xsd:byte7> </xsd:simpleType>

<xsd:simpleType name=”dt_INT’>

<xsdrestriction base=”xsd:sbort7> </xsd:simpleType>

<xsd:simpleType name=”dt_DINT”> <xsd:restriction base=’xsd:int7> </xsd:simpleType>

<xsd:simpleType name=,,dt_LINT”> <xsdrestriction base=”xsd:long7> </xsd:simpleType>

<xsd:simpleType name=Bdt_8YTEB> <xsd:restriction base=’xsd:hexBinary”> <xsd:maxLength value«”17>

</xsd: restriction >

</xsd:simpleType>

<xsd:simpleType name=,‘dt_WORD*> <xsd:restriction base=”xsd:hexBinary”> <xsd:maxl_ength vakje=”27>

</xsdrestriction>

</xsd:simpleType>

<xsd:simpleType name=”dt_DWORD“> <xsd;restriction base=”xsd;hexBinary*> <xsd:maxLength vakie=”47>

</xsd: restriction >

</xs<i:3impleType>

<xsd;simpleType name=”dt_LWORD’,> <xsd:restriction base=’xsd:hexBinary”> <xsd:maxLength vakje=”87>

</xsdrestriction>

</xsdisimpleType>

<xsd:simpleType name=”dt_REAL”> <xsd:restriction base=’xsd:float7> </xsd:simpleType>

<xsd:simpleType name=”dt_LREAL”>

<xsdrestriction base=“xsd:double’7> </xsd:simpleType>

<xsd:simpleType name=”dt_EDS_Char_Array”> <xsd:restriction base=’xsd:string7> </xsd:simpleType>

<xsd;simpleType name=”dt_EPATH“> <xsd:llst ltemType=”et_EPATHJtem7> </xsd:simpleType>

<xsd:simpleType name=”dt_STRINGI”> <xsdrestriction base=“xsd;string7> </xsd:simpleType>

<xsd:simpleType name=“dt_EDS_Date”> <xsd:restriction base=”xsd:date”/> </xsd:simpleType>

<xsd;simpleType name=“dt_EDS_Time_Of_Day”> <xsd restriction base=”xsd:time7> </xsd:simpleType>

<xsd:simpteType name=”dt_EDS_Revision”> <xsd restriction base=“xsd:string“>

<xsd:pattern value=’(0-9M1-9]|(1-^[0-9]|[1-^[1-9r/>

</xsd:reslriclion>

</xsd:simpleType>

<xsd:simpleType name=,,dt_EDS_URL”> <xsd:restrictkxi base=“xsd:anyURr>

<xsd:pattem value=Tittp://.’7>

<xsd:pattern value=’ftp://.*7>

<xsd:pattem value=”.*7>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name=”at_AccessType_OptionalGet“>

<xsd: restriction base=“xsd:NMTOKEN“>

<xsd:enumeration value=”None’7>

<xsd:enumeration value=“Get”/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name=”at_AccessType_OptionalSet’>

*”x£d:re6trict>on base=’x£d:NMTOKEN»’» <xsd:enumeration value=,’None7> <xsd:enumeration value=”Get7> <xsd:enumeration vahje-‘SetV*

</xsd:restriction>

</xsd:simpleType>

<xsd;simpleType name=’at_AccessType_Mandatory“>

<xsd: restriction base=“xsd:NMTOKE№>

<xsd:enumeration value=,,Get7>

<xsd:enumeration vakje=”Set7>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name=”et_VendorSpecificKeyword”>

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

<xsd:pattem value=-[1-9](0-9KO,4}_([A-Z]|[a-z]|[0-9]X[A-Z]|[a-z]|[0-9]|U)”/> </xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name=”et_EPATH_item”>

<xsd:union>

<xsd:simpleType>

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

<xsd:pattem value=”([0-9]|(a-f]|(A-F]X2}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType>

<xsd:restriction base=’,xsd:NMTOKE№>

<xsd:enumeration value=“SLOT7>

<xsd:enumeration value=”SL0T_MINUS_0NE7>

<xsd:enumeration value=”SYMBOL_ANSr/>

</xsd:restriction>

</xsd:simpleType>

<x sd: sim pleType*

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

<xsd:pattem value=”Param[1-9][0-9]{0,4}7>

<xsd: pattern value=”\[Param[ 1 -91[0-9КО,4}\]**/>

<xsd:pattem value=7VoxyParamil-9I(0-9K0.4}7>

<xsd:pattem value=”\[ProxyParam[1 -9][0-9]{0,4}\]7> </xsd:restriction>

</xsd:simpleType>

</xsd:union>

</xsd:simpleType>

<xsd:simpleType name=”et_ParamReference”>

<xsd:restriction base=”xsd;NMTOKEN’>

<xsd:pattem va1ue=eParam[1 -9][0-9]{0,4}((i][0-9]{1,2})*7>

<xsd:pattem value=“ProxyParam[1 -9)(0-9]{0.4XI-)(0-9]{1,2})’7>

</xsd: restriction >

</xsd:simpleType>

<xsd:simpleType name=”et_AssemReference’,>

<xsd; restriction base=“xsd;NMTOKE№>

<xsd:pattem value=”Assem(1-9](0-9l(0.4}7>

<xsd:pattem value=“ProxyAssem(1 -9][0-9]{0,4}7>

</xsd;restriction>

</xsdisimpleType>

<xsd:attributeGroup name=“ag_FiteDescription“>

<xsd:attribute name=’DescText’ type=”dt_EDS_Char_Array” use=”required7>

<xsd;attribute name=“CreateDate” type=*dt_EDS_Date* use=“required7>

<xsdattribute name=“CreateTime” type=”dt_EDS_Time_Of_Day” use=”required7>

<xsd:attribute name=’ModDate” type=”dt_EDS_Date” use»”optional7>

<xsd:attribute name=’ModTime“ type=”dt_EDS_Time_Of_Day” use^optionalT»

<xsd:attribute name=“Revision“ type=’dt_EDS_Revision“ use=’required7>

<xsd:attribute name=”HomeURL,‘ type=“dt_EDS_URL” use=”optional7>

<xsd:3ttribute name-’SpecificationConformance” type-“dt_EDS_Ch3r_Array” uee-“required7> </xsd:attributeGroup>

</xsd:schema>

A.2.1.3.3 Файл CIP_Device_Profile.xsd

Примечание — XML схема включает в себя файлы «Master Template Types.xsd» (см. A.2.1.3.1) и «ClPDataTypes.xsd» (см. А.2.1.3.2).

<?xml version^’TO” encoding=”UTF-8*?>

<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema” elementFormDefault=*qualified’>

<!- – Target namespaces are not specified in this master template – -> <xsd:redefine schematocation=”MasterTemplateTypes.xsd,*> <xsd:complexType name=”ISO15745Reference_DataType”> <xsd:complexContent>

<xsd:restriction base=’iSO15745Reference_DataType’>

<xsd:sequence>

<xsd:element name=’ISO15745Paif type=“xsd:positivelnteger7>

<xsd:element name=’ISO15745Edrtion” type=”xsd:positivelnteger7>

<xsd:element name=eProfileTechnok>gy’ type=”xsd:string” fixed=’CIP7> </xsd:sequence>

</xsd:restriction>

</xsd:complexContent>

</xsd;complexType>

</xsd:redefine>

<x$d:include schemaLocation=,,CIPOataTypes.xsd7>

<xsd:element name=“ISO15745Profilee>

<xsd;complexType>

<xsd:sequence>

<xsd:element ref=,,ProfileHeader7>

<xsd:element ref=”ProfileBody7>

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:annotation>

<xsd;documentation>* HEADER SECTION *</xsd:documentation>

</xsd:annotation>

<xsd:element name=’ProfileHeadere>

<xsd;complexType>

<xsd;sequence>

<xsd:element name=’Profileldentification” type=”xsd:string7>

<xsd:element name=eProfileRevision* type=”xsd:string7>

<xsd:element name=’ProfileName“ type=”xsd:string7>

<xsd:element name=”ProfileSource” type=”xsd:string7>

<xsd:element name=’ProfileClasslD” type-’ProfileClasslD_DataType* fixed=’Device7>

<xsd:element names’ProfileDate’* type=”xsd:date” minOccurs=”07>

<xsd:element name=’Additionallnformation” type-‘xsdzanyURI” minOccurs=”07>

<xsd:element name=*ISO15745Reference” type=”ISO15745Reference_DataType7> <xsd:element name=BIASInterfaceType* type=,1AS!nterface_DataType” minOccurs=’0″ maxOccurs=”unbounded7>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>* BODY SECTION ‘</xsd:documentation>

</xsd:annotation>

<xsd:element name=’ProfileBody”>

<xsd;complexType>

<xsd:sequence>

<xsd:element ref=”Deviceldentity‘7>

<xsd:elemerit ref-’DeviceManager” minOccurs=”07>

<xsd:element ref=”DeviceFunction“ max0ccurs=”unbounded7>

<xsd;element ref=”ApplicationProcess” minOccurs=*07>

<xsd:element name=’ExtemalProfileHandle“ type=”ProfileHandle DataType” minOccurs=“07> </xsd:sequence>

<xsd:attributeGroup ref=”ag_FileDescnption7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’Deviceldentity”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=“Deviceldentity_lnstanceAttributes’,>

<xsd :complexType>

<xsd:sequence>

<xsd:element name=’VendCode,,>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=Mdt_UINT”>

<xsd:attribute name^AccesS-Rule” type=’,at_AccessType_Mandalor/’ use=“required” fixed=BGet7>

</xsd:extens*on>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”VendNa(ne*>

<xsd;complexType>

<xsd;simpleContent>

<xsd:extension base=’dt_EDS_Char_Array7>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”SpecificationConforrnance” type=*dt_EDS_Char_Array“ minOccurs=”07>

<xsd:element name=’ProdType”>

<xsd:complexType>

<xsd.simpleContent>

<xsd:extension base=,,dLUINT”>

<xsd:attribute r)arne=’Access_Rule’’ type=’*at_AccessType_Mandatory” use=“required’ fixed=“Get7>

</xsd:extensk>n>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<x$d:element name=’ProdTypeStr”>

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base=’dt_EDS_Char_Array‘’/>

</xsd:simpleContent>

</xsd :complexType>

</xsd:element>

<xsd:element name=’ProdCode”>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=“dt_UINT“>

<x$d:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=’required“ fixed=“Get7>

</xsd:extension>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd;element name=‘ProdRevision’>

<xsd:complexType>

<xsdisequence>

<xsd:eiement name=”MajRev” type=”dt_USINT7>

<xsd:element name=’MinRev’ type=”dt_USINT7>

</XRd • Rfiqi 1РЛПА>

<x$d:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=’required“ fixed=“Get7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“Status“ minOccurs=”0”>

<xsd:complexType>

<xsd:attribute name=“Access_Rule’’ type=”at_AccessType_Mandatory‘ use=*required” fixed=*Get”/>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’SenalNumber minOccurs=”0″> <xsd:complexType>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=’required“ fixed=“Get7>

</xsd :comptexType>

<xsd:element name=*’ProdName”>

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd:string”>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=required“ fixed=“Get7>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd;element name=’State” minOccurs=”0H>

<xsd:complexType>

<xsd:attribute name=“Access_Rule’* type^al-AccessType-OptionalGet” use=”required7>

</xsd:comptexType>

</xsd:element>

<xsdielement name=”ConfigurationConsistencyValue” minOccurs=”0″> <xsd:complexType>

<xsd:attribute name=“Access_Rule» type=”at_AccessType_OptionalGer use=’required”/>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“Heartbeatlntervar minOccurs=,‘0“> <xsd:complexType>

<xsd:attribute name=”Access_Rule’’ type=”at_AccessType_OptionalSer use=”required7>

</xsd;comptexType>

</xsdielement>

<xsd:element name=’Catalog” type=’xsd:string” minOccurs»*07>

<xsd:element name=1con” type=“xsd:string’* minOccurs=”0″/>

<xsd:element name=’ExcludeFromAdapterRackConnectiorr type=”xsd:stringM minOccurs=”07>

<xsd:element name=”DeviceClassification” rYwnOccurs=”0B> <xsd;complexType>

<xsd:sequence>

<xsd:element name=’Classe maxOccurs=Hunbounded”>

<xsd :complexType>

<xsd:sequence>

<xsd:element name=*MainClass”>

<xsd;simpleType>

<xsd:union>

<xsd:simpleType>

<xsd:restriction base=“xsd:NMTOKEN”>

<xsd:enumeration value=”ControlNet7>

<x$d:enumeration value~”Dev>ceNet7>

<xsd:enumeration value=*EtherNetlP7>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType>

<xsd:restriction base=”et_VendorSpecificKeyword7>

</xsd:simpleType>

</xsd:union>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’SubClass” type=”xsd:NMTOKEN” minOccurs-’O* maxOccurs=“unbounded’7>

</xsd:sequence>

<xsd:attribute name=”id” use=”required,’>

<xsd:simpleType>

<xsd:restriction base=<xsd:ID’>

<xsd:pattern value=*Class[1-9][0-9}{0,4}7>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

</xsd :comptexType>

</xsd:element>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:any namespace=H##any7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Deviceldentity_lnstanceOperations” minOccurs=”0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’Get_Attribute_AB”>

<xsd.complexType>

<xsd:attribute ref=HSupportedService” fixed=,,true7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’Reset’>

<xsd:complexType>

<xsd:attribute ref=”SupportedService” fixed=”true7>

</xsd:comptexType>

</xsd:element>

<xsd;element name=’Get_Attribute_S»r>gle”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=H##any7>

</xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs-‘O” maxOccurs-‘unbounded‘7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd;element name=’DeviceManager’>

<xsd:complexType>

<xsd:sequerice>

<xsd:element name=“Deviceldentity_ClassAttributes“ minOccurs=”0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=“ObjectRevision”>

<xsd:complexType>

<xsd-attribute namas*Anca£S_Rtite* typA=”at_Acr.A<i<?TypA_OpHc>nalGAt“ use=“required7>

</xsd;comptexType>

</xsd:element>

<xsd;element name=’Maxlnstance’,>

<xsd:complexType>

<xsd:attribute name=”Access_Rule’’ type=”at_AccessType_OptionalGet’ use=“required7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”MaxlDCIassAttributes,’>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=*xsd:string”>

<xsd:attribute name=“Access_Rule* type=’’al_AccessType_OptjonalGet‘’ use=”required7>

</xsd.exlens»on>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”MaxlDlnstanceAttributes”>

<xsd:complexType>

<xsdisimpleContent>

<xsd:extens»on base=”xsd:string”>

<xsd:attribute narne=”Access_Rule” type=’at_AccessType_OptionalGer use=”required”/>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs-’O” maxOccurs=,,unb<xinded7> </xsd:sequence>

</xsd:comptex I ype>

</xsd;element>

<xsd:element name=’Deviceldentity_ClassOperations” minOccurs=,’Oe> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’Get_Attribute_All”>

<xsd:complexType>

<x$d:attribute ref=”SupportedService7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“Reset“>

<xsd:complexType>

<xsd:attribute ref=HStipportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Get_Attribule_Srigle”> <xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:elemenl name=”Find_Next_Object_lnstance‘,> <xsd :complexType>

<xsd:attribute ref=,,SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0“ maxOccurs=,,unbounded7> </xsd:sequence>

</xsd;comptexType> </xsd:element>

<xsd:element name=’Modular” minOccurs=”0′>

<xsd nomplexTypa> <xsd:choice>

<xsd:element name=’ChassisB>

<xsd :complexType>

<xsd:sequence>

<xsd:element name=’DefineSlotslnRack” type=”dt_UINT7> <xsd:element name=”SlotDisplayRule’ type=’et_ParamReference” minOccurs=”07>

<xsd:any namespace=”##any” minOccurs=H0″ maxOccurs=”unbounded7> </xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name=”Module“>

<xsd:complexType> <xsd:sequence> <xsd:element name=*Width* type=’,dt_UINT”/> <xsd.element name-“Rack“ maxOccurs-,‘unbounded>> <xsd:complexType>

<xsd:sequence>

<xsd:etement name=*VendCode“ type=”dt_UINT7> <xsd:element name=’ProdType” types’<lt_UINT’> <xsd:element name=“ProdCode“ type=”dt_UINT7> <xsdielemenl name=“MajRev* type=“dt_USINT7> <xsd:element name=“MinRev“ type=”dt_USINT7> <xsd:element name=,rLegalSlot” type=’dt_UINT” maxOccurs=”unbounded7>

<xsd:any namespace=“##any“ minOccurs=“0“ maxOcctjrs=“unbounded7> </xsd:sequence>

<xsd:attribute name=wid“ use=”required”>

<xsd:simpleType>

<xsd:restrictk>n base=’xsd:ID“>

<xsd:pattem value=’Rack[1 -9Ц0-9]{0.4}7>

</xsd: restriction > </xsd:simpleType> </xsd:attribute> </xsd:comp*exType> </xsd:element>

<xsd:eiement name=”ExternallD” type=”dt_EPATH” minOccurs=”07> <xsdielement name=’GenericlD’’ type=“dt_EPATH* minOccurs=’07> <xsd:element name=”ExtemlDExactMatctr minOccurs=”0”> <xsd:simpleType>

<xsd:restriction base=”xsd:NMTOKEN’>

<xsd:enumeration value=”Yes7>

<xsd:enumeration value=”No7> </xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name^Query” minOccurs=’*0,*>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”Path” type=,,dt_EPATH7>

<xsd:element name=”Service” type=’dt_USINT7>

<xsd;element name=“Size’*>

<xsdisimpleType>

<xsd:restriction base=”dt_USINT,’>

<xsd:minlndusive value-’17>

<xsd:maxlndusive value=”167>

</xsd:restriclion>

</xsd:simpleType>

</xsd:element>

<xsd:eiement name=’ExtemallD” type=“dt_EPATH7>

</xsd:sequence>

</xRdcomptexTypfi>

</xsd:element>

<xsd;any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbotinded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

</xsd:choice>

</xsd:comptexType>

</xsd:element>

<xsd;any namespace=,,##any”/>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=wDeviceFunction”>

<xsd;complexType>

<xsd:sequence>

<xsd.any narne$pace-“##any” minOccurs-“0“ maxOccurs-“unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ApplicationProcess”>

<xsd:complexType>

<xsdisequence>

<xsd:element name^Parameter” minOccurss“0”>

<xsd:complexType>

<xsd:sequence>

<xsdielement name=”Parameter_Class” minOccurs=’0“> <xsd;complexType>

<xsd:sequence>

<xsd:element name=Parameter_ClassAtlributes”>

<xsd:complexType>

<xsd:sequence>

<xsd:elemeni name=’UbjectKevision” minOccurs=”U”>

<xsd :complexType>

<xsd:attribute name=’Access_Rule“ type=Hat_AccessType_OptionalGet” use=”required7> </xsd;comptexType>

</xsd:element>

<xsd:element name=”Maxlnstance’’>

<xsd;complexType>

<xsdiattribute name=”Access_Rule* type=,’at_AccessType_Mandatory” use=Hrequired’ fixed=’Ger/> </xsd:comptexType>

</xsd:element>

<xsd:element name=”ParameterClassDescriptor”>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd:string”>

<xsdiattribute name=’Access_Rule“ type=,’at_AccessType_Mandatory” use=Hrequired’ fixed=’Get7> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsdielement>

<xsd:element name=”Conr»gurationAssemblylnstance’> <xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=*xsd:string”>

<xsdattribute name=”Access_Rule“ lype=’,al_AccessType_Mandatory” use^required* fixed=”Get7> </xsd:extension>

</xsd:simpleContent>

</xRdcomptexTypfi>

</xsd:element>

<xsd:element name=”NativeLanguage* minOccurs=”0“> <xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”>

<xsdattribute name=’Access_Rule’’ type=”at_AccessType_Optk>nalSet’’ use=”required7> </xsd:extens»on>

</xsd:simpleContent>

</xsd :complexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ maxOccurs=’,unbounded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd.element name=”Parameter_ClassOperations“ minOccurs=”0″> <xsd:complexType>

<xsdisequence>

<xsd:element name=’Get_Attribute_AIT>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”Reset*>

<xsd;complexType>

<xsd:attribute ref=”SupportedServiceV>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’Get_Attribute_Single”> <xsd:complexType>

<x$d:attribute ref=“SupportedService” fixed=”true7> </xsd:comptex lype>

</xsd:element>

<xsd:element name=“Set_Attribute_Single“> <xsd;complexType>

<xsd:attribute ref=“SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’Restore’>

<xsd:complexType>

<xsd:attribute ref=’SupportedService7>

</xsd;comptexType>

</xsd;element>

<xsd;element name=“Save’>

<xsd :complexType>

<xsd:attribute ref=,,SupportedService7> </xsd;comptexType>

</xsd:element>

<xsd:any namespace=”##any” minOccurs=”0″ maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Parameter_lnstance” minOccurs=’0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=”Parameter_lnstanceAttributes’’ minOccurs=’0″> <xsd:complexType>

<xsd:sequence>

<x<w1 element name=“PeremeterVehie“>

<xsd:complexType>

<xsd:attribute name=”Access_Ruletype=‘,at_AccessType_Mandatory1‘ use=Hrequired‘’ fixed=”Set’7> </xsd;comptexType>

</xsd:element>

<xsd:element name=”LinkPathSize*’>

<xsd:complexType>

<xsd:attribute name=*Access_Rule” Lype=”at_AccessType_Mandatory” use^required” fixed=”Set7> </xsd :complexType>

</xsd:element>

<xsd:element name=“LinkPath“>

<xsd:complexType>

<xsd;attribute r>ame=’’Access_Rulee type=‘,at_AccessType_Mandatory1‘ use=Hrequired‘’ fixed=,,Set7> </*sd.compte*Type>

</xsd:element>

<x$d;element name=“ParamDescriptor**>

<xsd :complexType>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory” use=”required” fixed=”Get”/> </xsd;comptexType>

</xsd:element>

<xsd:element name=*DataType“>

<xsd;complexType>

<x$diattribute name=”Access_Rule“ lype=”at_AccessType_Mandatory” use=,,required’ fixed=’Get”/> </xsd:comptexType>

</xsd:element>

<xsd:element name=’DataSize’>

<xsd:complexType>

<x$d:attribute name=’Access_Kule” type=”at_AccessType_Mandatory” use^required fixed=’Get,,/> </xsd:comptexType>

</xsd:element>

<xsd:element name=ParameterName”>

<xsd:complexType>

<xsd:attribute name=“Access_Rule“ lype=Mat_AccessType_OplionalGet” use=”required7> </xsd :complexType>

</xsd:element>

<xsd:element name=”UnitsString”>

<xsd;complexType>

<xsd:attribute name=’Access_Rule’ type=’,at_AccessType_OptionalGef’ use=”required7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”HelpString”>

<xsd:complexType>

<xsdattribute name=’Access_Rule” type=’’at_AccessType_OptionalGet” use=”required7> </xsd:comptexType>

</xsdielement>

<xsd:element name=”MinimumValue”> <xsd:complexType>

<xsdattribute name=’Access_Rule’’ type=“at_AccessType_OptionalGet” use=”required7> </xsd :comptexType>

</xsd:element>

<xsd:element name=”MaximumValue”>

<xsd:complexType>

<xsd attribute narrw*=eAcr:AAR_Rute’* type=’’at_AccessType_OptioralGet” use=”required7> </xsd:comptexType>

</xsd:element>

<xsd;element name=’OefaultValue,’> <xsd:complexType>

<xsdattribute name=’Access_Rule’’ type=“at_AccessType_OptionalGet” use=”required7> </xsd:comptexType>

</xsd;element>

<xsd:element name=’ScalingMultipljer”>

<xsd :complexType>

<xsd:attribute name=”Access_Rule” type=“at_AccessType_OptionalGet” use=”required7> </xsd:comptexType>

</xsd:element>

<xsd;element namee“ScalingDivider“> <xsd:comptexType>

<xsdattribute name=”Access_Rule“ lype=”at_AccessType_OplionalGet” use=”required”/> </xsd:comptexType>

</xsd;element>

<xsdielement name=*ScalingBase,’> <xsd:complexType>

<xsdattribute name=’Access_Rule’’

Lype=Mat_AccessType_OplionalGet” use=”required7> </xsd:comptexType>

</xsd:element>

<xsd:element name=”ScalingOffser>

<xsd :complexType>

<xsdattribute name=’Access_Rule” type=”at_AccessType_OptionalGet” use=”required7> </xsd;complexType>

</xsd:element>

<xsd:element name=“MultiplierLink”>

<xsd;complexType>

<xsd:attribute name=”Access_Rule’’ type=’,at_AccessType_OptionalGef’ use=”required7> </xsd:comptexType>

</xsd:element>

<xsd:element name=’DivisorLink’>

<xsd:complexType>

<xsd:attribute name=’Access_Rule” type=”at_AccessType_Optiona!Get” use=”required7> </xsd:comptexType>

</xsd:element>

<xsd:element name=”BaseLink”>

<xsd;complexType>

<xsdiattribute name=”Access_Rule* types,’at_AccessType_OptionalGet’’ use=“required7> </xsd:comptexType>

</xsd:element>

<xsd:elemenl name=”OffselLink”>

<xsd :complexType>

<xsd:attribute name=’Access_Rule” type=Mat_AccessType_OptionalGet” use=“required7> </xsd:comptexType>

</xsd:element>

<xsd:element name=”DecimalPrecisionM>

<xsd;complexType>

<xsd:attribute name=”Access_Rule* types,’at_AccessType_OptionalGet’’ use=“required7> </xRdcomptexTypfi>

</xsd:element>

<xsd;any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbotinded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”Parameter_lnstanceOperationse minOccurs=’0’> <xsd:complexType>

<xsd:sequence>

<xsd;element name=”Get_Attribute_AF> <xsd:complexType>

<xsd:attribute ref=”SupportedServiceV>

</xsd:comptexType>

</xsd:element>

<xsd;element name=“Get_Attribule_Single“> <xsd:complexType>

<xsd.attribute ref=”SupportedService“ fixed=“true“/>

</xsd:comptexType>

</xsdielement>

<xsd:element name=’Set_Attribute_Single”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService” fixed=”true7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”Get_Enum_String”> <xsd;complexType>

<xsd:attribute ref=,,SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ maxOccurs=,,unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Param” minOccurs=”0″ maxOccurs=“unbounded”> <xsd:complexType>

<xsd:complexContent>

<xsd:extension base=”et_ParamType*>

<xsd:attribute name=wid” use=”required”>

<xsd;simpleType>

<xsd:restrict»on base=”xsd:ID’>

<xsd:pattem value=”Param[1-9)[0-9K0.4}7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:extens»on>

</xsd;complexContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’ProxyParam” minOccurs=“0″ maxOccurs=”unbounded”> <xsd;complexType>

<xsdicomplexContent>

<xsd:extensk>n base=”et_ProxyParamType”>

<xsd:attribute name=”id” use=’required,’>

<xsd:simpleType>

<xsd:restriction base=”xsd:ID”>

<xsd:pattem value=’ProxyParam[1 -9J(0-9){0.4}7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:comptexType> </xsd:element>

<xsd:element name=’ProxiedParam” minOccurs=”0″ maxOccurs=”unbotinded’> <xsd:complexType> <xsd:complexContent>

<xsd:extension base=”et_ParamType’>

<xsd:attribute name=”id” use=”required”>

<xsd:simpleType>

<xsd:restriction base=’xsd:ID’>

<xsd:pattem value=*ProxiedParam(1-9](0-9K0,4}7>

</xsd:restr»ction>

</xsd:simpleType>

</xsd:attribute> </xsd:extension> </xsd;complexContent> </xsd :comptexType> </xsd:element>

<xsd:any namespace=”##any” minOccurs=”0″ maxOccurs=”unbounded7> </xsd;sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”Assembly” minOccurs=”0’>

<xsd:complexType> <xsd:sequence> <xsd:element name=’Assembly_Class” minOccurs=”0″> <xsd:complexType>

<xsd;sequence>

<xsd:element name=”Assembly_ClassAttributes” minOccurs=”0″> <xsd:complexType>

«’xsdisequence’*

<xsd:element name=’ObjectRevision’>

<xsd:complexType>

<xsdattribute name=”Access_Rule” type=’,at_AccessType_Mandatory” use=“required‘ fixed=’Get*7> </xsd:comptexType> </xsd:element>

<xsd;element name=“Maxlnstance’’>

<xsd:complexType>

<xsdattribute name=”Access_Rule” type=”at_AccessType_OpUonalGet” use=”required7> </xsd;comptexType>

</xsd:element>

<xsd:any namespace=,*##any” minOccurs=”0″ maxOccurs=,,unbounded7>

ГОСТ Р ИС015745-2—2010

</xsd: sequence»

</xsd:comptexType>

</xsd:element>

<xsd:element name=“Assemb!y_ClassOperaUons” minOccurs=B0’,>

<xsd :complexType>

<xsd:sequence>

<xsd:element name=’*Create“>

<xsd :complexType>

<xsd:attribute ref=,,SupportedService7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“Delete’>

<xsd:complexType>

<xsd:attribute ref=“SupportedService’/>

</xsd:complexType>

</xsd:element>

<xsd:element name-’Get_Attribute_Single”>

<xsd:complexType>

<xsd:attribute ref=“SupportedService“ fixed=”true7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0“ maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<x$d;element names-Assembly-lnstance” minOccurs=”0″> <xsd:complexType> <xsd:sequence>

<xsd:element name=”Assembfy_lnstanceAttributes’ minOccurs=’,0″> <xsd;complexType>

<xsdisequence>

<xsd:element name=’NumberOfMembers”>

<xsd;complexType>

<xsdiattribute name=”Access_Rule* type=’’at_AccessType_OptionalGet” use=,,required7> </xsd:comptexType>

</xsd:element>

<xsd:element name=“AssemblyMemberList”>

<xsd:complexType>

<xsd:attribute name=’Access_Rule”

type=‘at_AccessType_Optk>nalSet” use-‘required7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’AssemblyData’>

*’xsd;complexTyp©,>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory” use=”required” fixed=”Set7> </xsd:comptexType>

</xsd:element>

<xsd:any namespace=”##any“ minOccurs-‘O” maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Assembly_lnstanceOperations’ minOccurs=”0’> <xsd;complexType>

<xsd:sequence>

<xsd:element name=’Delete*>

<xsd:complexType>

<xsd:attribute ref=HSupportedService7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’Get_Attribute_Single”>

<xsd:complexType>

<x$d:attribute ref=”SupportedService’ fixed=”true7>

</xsd:comptexType>

</xsdielement>

<xsd;element name=’Set_Attribute_Single”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=*Get_Member’*>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xRdcomptexTypfi>

</xsd:element>

<xsd:elemenl name=’Set_Member,*>

<xsd :complexType>

<xsd:attribute ref=,,SupportedService7>

</xsd:complexType>

</xsd:element>

<xsd:element name=“lnsert_Member”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :complexType>

</xsd:element>

<xsd:element name=‘Rernove_Member’,>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd.element>

<xsd;any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’Assem* minOccurs^O” maxOccurs=’unbounded“>

<xsd;complexType>

<xsd:complexContent>

<xsd:extension base=*et_AssemType“>

<xsd:attribute name=*id” use=“required,‘>

<xsdisimpleType>

<xsd:restriction base=’xsd:ID“>

<xsd:pattem value=”Assem[1 -9](0-9]{0.4}7>

</xsd;restncuon>

</xsd:simpleType>

</xsd:attribute>

</xsd;extension>

</xsd;complexContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ProxyAssem” minOccurs=”0″ maxOccurs=“unbotinded“> <xsd:complexType>

<xsd:complexContent>

<xsd:extension base=’,et_AssemType’>

<xsd:attribute name=”id” use=“requiredH> <xsd;simpleType>

<xsd:restrictK>n base=*xsd:ID“>

ГОСТ Р ИС015745-2—2010

<xsd:pattem value=”ProxyAssem[1-9][0-9]{0.4}7>

</xsd: restriction > </x$d:simpleType> </xsd;attribute> </xsd:extension> </xsd;complexContent> </xsd;comptexType> </xsd:element> <xsdielement name=”ProxiedAssem* minOccurs=”0″ maxOccurs=”unbounded*> <xsd;complexType>

<xsd:complexContent>

<x$d:extension base=’et_AssemType”> <xsd:attribute name=7d” use=’required,‘> <xsd:simpleType>

<xsd:restriction base=Mxsd:ID’>

<xsd:pattem value=”ProxiedAssem[1-9H0-9K0.4}7>

</x8d: restriction > </xsd:simpleType> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:comp*exType> </xsd:element> <xsd:any namespace=”##any“ minOccurs-‘O” maxOccurs=”unbounded7> </xsd:sequence> </xsd:comp*exType> </xsd:element>

<xsd:element name=’ParameterGroup” minOccurs=”0″> <xsd;complexType> <xsd:sequence>

<xsd:element name=”Group” minOccurs=“0* maxOccurs=”unbounded*> <xsd;complexType> <xsd:sequence>

<xsd:element name=’NameString” type=*dt_EDS_Char_Array7> <xsd;element name=’NumberOfMembers” type=”dt_UINT7> <xsd:choice maxOccurs=’,unbounded’>

<xsd:element name=’ParameterRer type=,*dt_UINT7> <xsd:element name=*VariantRef” type=,,xsd:NMT0KEN7> <xsd:any namespace=”##any” minOccurs=”Ow maxOccurs=,,unbounded7> </xsd;choice>

</xsd;sequence> <xsd:attribute name=7d” use=”required”> <xsd:simpleType> <xsd:restriction base=“xsd:ID“>

<xsd:pattem value=‘Group[1-9][0-9]{0.4}7>

</xsd:restriction> </xsd:simpleType> <’/xsd:attribut©’> </xsd:comptexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:any namespace=”##any“ minOccurs=”0″ max0ccurs=”unbounded7> </xsd:sequence> </xsd :complexType> </xsd:element>

<xsd:attribute name=”SupportedServ»ce” use=7equired”> <xsd;simpleType>

<xsd:restrict»on base=”xsd:boolean»> <xsd:pattem value=,,true|false7>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

<xsd:complexType name=“et_ParamType’’>

<xsd:sequence>

<xsd:element name=”LinkPathSize” type=”dt_USINT” minOccurs=”0’/>

<xsd:element name=’LinkPatti’ type=”dt_EPATH* minOccurs=”07>

<xsd:element name=*ParamDescriptor” type=*dt_WORD7>

<xsd;element name=’DataType”>

<xsd:simpleType>

<xsd:union memberTypes=“dt_USINT dt_EPATH7>

</xsd:simpleType>

</xsd:element>

<xsd:element name=”DataSize’ type=”dt_USINT7>

<xsd:element name=eParameterName“ type=”dt_EDS_Char_Array’7>

<xsd:element name=’UnHsString” lype=Mdt_EDS_Char_Array7>

<xsd:element name=”HelpStrinq” type=“dt EDS Char Array”/*

<xsd;element name=”MinimumValue” minOccurs=”07>

<xsd:element name=”MaxinxjmValue” minOccurs=”07>

<xsd:element name=“DefauttValue” minOccurs=“07>

<xsd:element name=’ScalingMultiplier“ type^dt-UINT” minOccurs=w07>

<xsd:element name=’ScalingDivider” type=“dt_UINT“ minOccurs=”07>

<xsd:element name=eScalingBase” type=’’dt_UINT” minOccurs=”07>

<xsd:element name=”ScalingOffset“ type=”dt_INT” minOccurs=*07>

<xsd:element name=“MulliplierLink“ type=”dt_UINT’’ minOccurs=”07>

<xsd:element name=’DivisorLink” type=”dt_UINT” minOccurs=“07>

<xsd:element name=’BaseLink“ type=”dt_UINT” minOccurs=”07>

<xsd:element name=”OffsetLink” type=”dt_INT’ minOccurs=”0″/>

<xsd:element name=”DecimalPrecision” type=”dt_USINT” minOccurs=“07>

<xsd:element name=”lntemabonalParameterName” type=”dt_EDS_Char_Array“ minOccurs=”07> <xsd:element name=“lnternationalEngineeringUnits“ type-‘dt_EDS_Char_Array“ minOccurs=“07> <xsd;element name=”lntemationalHelpSlring” type=”dt_EDS_Char_Array“ minOccurs=“07> <xsd:element name=’Enum’ minOccurs=”0″>

<xsd:complexType>

<xsd:sequence maxOccurs=’unbounded”>

<xsd:element name=“EnumValue” type=“dt_LINT7>

<xsd;element name=”EnumName“ type=’’dt_EDS_Char_Array“/>

</xsd:sequence>

</xsd;comptexType>

</xsd;element>

<xsd:any namespace=”##any“ minOccurs=”0″ maxOccurs=”unbounded7>

</xsd:sequence>

</xsd:comptexType>

<xsd:complexType name=”et_ProxyParamType”>

<xsdicomplexContent>

<xsd:extension base=’et_ParamType’>

<xsd:sequence>

<xsd:element name=’ProxyParamSizeAdder* minOccurs=”Ow>

*-xsd;complexType*

<xsd:sequence>

<xsd:element name^MinimumValue”/*

<xsd:element name=“MaximumValue7>

<xsd:element name=’DefaultValue7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:comptexType>

<xsd;complexType name=”et_AssemType”> <xsd:sequence>

ГОСТ Р ИС0 1 5745-2—2010

<xsd:element name=*AssembtyName” type=”dt_EDS_Char_Array” minOccurs=e07>

<xsd:element name=”AssemblyPath” type=”dt_EPATH” minOccurs=”07>

<xsd:element name=”AssemblyDataSize” type=’dt_UINT” minOccurs=”07>

<xsd:element name=’AssemblyDescriptor” type=”dt_WORD” minOccurs=”07>

<xsd:element name=’AssemblyMember” minOccurs=“0″ maxOccurs=“unbounded,’> <xsd:complexType>

<xsd;choice>

<xsd:element name=”MemberSize” type=”dt_UINT’7>

<xsd;element name=’MemberReference” type=”et_MemberReferenceType7>

<xsd:element name=”VariantReference”>

<xsd:complexType/>

</xsd:element>

<xsd:choice>

<xsd:sequence>

<xsd:element name=”MemberSize” type-‘dt_UINT7>

<xsd:element name=’MemberReference” type=”et_MemberReferenceType7>

</XRd ■ Rfiqi I АПГЙ>

<xsd:sequence>

<xsd:element name=”MemberSize’’ type=”dt_UINT”/>

<xsdielement name=*VariantReference”>

<xsd:complexType/>

</xsd:element>

</xsd:sequence>

</xsd:choice>

</xsd:choice>

</xsd;comptexType>

</xsd:element>

<xsd:any namespace=”##any” minOccurs=”0″ maxOccurs=”unbounded7>

</xsd:sequence>

</xsd:comptexType>

<xsd;simpleType name=”et_MemberReferenceType“>

<xsd:union memberTypes=”et_AssemReference et_ParamReference dt_UDINT dt_EPATH

xsd.NMTOKEN7s’

</xsd:simpleType>

</xsd:schema>

A.2.2 Описание шаблонов профилей устройств — инкапсуляция XML файлов EDS

А.2.2.1 Общие положения

Файлы XML профилей устройств, используемые для инкапсуляции файлов EDS, должны соответствовать XML схеме профилей устройств, как установлено в А.2.2.2.

Семантика подэлементов элемента ExtemalProfileHandle, используемого для обращения к имеющемуся файлу EDS. установлена в таблице А.2.8 зависимости от значения атрибута WrapperReference к файлу EDS можно обратиться, используя элементы идентификации либо из самого файла EDS, либо из продукта, описанного этой EDS.

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

Таблица А.2 — Элементы ExtemalProfileHandle (Внешний Идентификатор Профиля)

Элементы XML схемы

WrapperReference = FILEINFO

WrapperReference = DEVICEINFO

Profile Identification

Текстовое описание файла EDSa)

VendorlD (идентификация вендора), Device Type (тип устройства). Product Code (код продукта)w

ProfileRevision

Модификация EDS*’

Модификация продукта ь>

ProfileLocation

Собственный адрес (URL) EDS-1

Имя файла, содержащего изображение иконки9

a) Для получения более полной информации

см. АЛЛ.4.2.

ь) Для получения более полной информации

см. АЛЛ.4.3.

Элементы Deviceidentity (Идентичностьустройств), DeviceManager (Управление устройствами). DeviceFunction (Функция устройств) и Applicationprocess (Прикладной процесс) должны быть совместимы с форматами, установленными в А.2.1.3.3.

Примечание 2 — Они могут быть использованы в течение перехода от унаследованного формата EDS к полному формату XML.

А.2.2.2 XML схема: файл EDS_Device.Profile.wrapper.xsd

Примечани е — XML схема включает в себя файл «MasterTemplateTypes.xsd» (см. А.2.1.3.1).

<?xml verston=*1.0″ encoding=”UTF-8″?>

<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema’>

<!- – Target namespaces are not specified in this master template – ->

<xsd:redefine schemaLocation=”MasterTemplateTypes.xsd“> <xsd:complexType name=”ISO15745Reference_DataType”> <xsd:complexContent>

<xsd:restriction base=’iSO15745Reference_DataType”>

<xsd:sequence>

<xsd:element name=’ISO15745Part” type=”xsd:positivelnteger”/>

<xsd:element name=’ISO15745Edition“ type=“xsd:positivelnteger,‘/>

<xsd:element name=’ProfileTechnology’ type=“xsd:string” fixed=”EDS7> </xsd:sequence>

</xsd:restriction>

</xsd:complexContent>

</xsd:comptexType>

</xsd:redefine>

<xsd;element name=“ISO15745Profile“>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”ProfileHeader“/>

<xsd:element ref=’’ProfileBody7>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>* HEADER SECTION “</xsd:documentation>

</xsd:annotation>

<xsd:element name=“ProfileHeader’>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=*’Profileldentification” type=”xsd:string’7>

<xsd:element name=’ProfileRevision” type=”xsd:string7>

<xsd:element name=”ProfileName” type=”xsd:string7>

<xsd:element name=’ProfileSource” type=”xsd:string7>

<xsd:element name=’ProfileClasslD” type-’ProfileClassID.DataType’ fixed=”Device7>

<xsd:element name=“ProfileDate” type=“xsd:date” minOccurs=”0″/>

<xsd:element name=”Additionallnformation” type=”xsd:anyURr minOccurs=”07>

<xsd:element name=”ISO15745Reference” type=”ISO15745Reference_DataType7>

<xsd:clcmcnt namc_“lASIntcrfacoTypc“ typc-“IAS!ntcrfacc_DataTypc” minOccurs-“0” maxOccurs=“unbounded7>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>“ BODY SECTION ‘</xsd:documentation>

</xsd:annotation>

<xsd:element name=“ProfileBody“>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=“Deviceldentity“ minOccurs=”0“>

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace=H##any7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”DeviceManager’ minOccurs=”0″>

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace=,,##any7>

</xsd:sequence>

</xsd:comptexType>

</xsd;element>

<xsd:element name^DeviceFunction” maxOccurs=“unbounded”>

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace=”##any*/>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsdielement name=”ApplicationProcess” minOccurs=”0″>

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace=H##any“/>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsdielement name=”ExternalProfileHandle**>

<xsd:complexType>

<xsd:complexContent>

<xsd:extens»on base=“ProfileHandle_DataType’>

<xsd:attribute name=”WrapperReference” use=”optionar default=”FILEINFO’>

<xsd:simpleType>

<xsd:restriction base=”xsd;NMTOKEN”>

<xsd:enumeration value=”FILEINFO7>

<xsd:enumeration vahje=”DEVICEINFO7>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute> </xsd:extension> </xsd;complexContent> </xsd :comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:schema>

А.З Описание шаблонов профилей коммуникационных сетей

А.3.1 Описание шаблонов профилей коммуникационных сетей на основе XML

А.3.1.1 Общие положения

Файлы XML профилей коммуникационных сетей должны соответствовать XML схеме профилей коммуникационных сетей, как установлено в А.3.1.3.

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

А.3.1.2 Семантика элементов XML схемы

А.3.1.2.1 ProfileBody (Тело профиля)

Данный основной элемент связан с набором атрибутов, которые предоставляют дополнительную информацию о файле профиля.

Семантика этих атрибутов установлена в А.4.1.4.2.

А.3.1.2.2 ApplicationLayers (Прикладные уровни)

А.3.1.2.2.1 ConnectionObject (Объект соединения)

Данный элемент устанавливает поддерживаемые атрибуты экземпляров и операции Объекта соединения (см. МЭК 62026-3), а также описание отдельных экземпляров соединений и характеристики ввода/вывода.

Элемент ConnectionDescriptions (Описание соединений) идентифицирует экземпляры Объекта Соединения, которые осуществляются в устройстве. Семантика подэлемента Connection (Соединение) установлена в таблице А.З.

Таблица А.З — Элементы соединений

Элементы XML схемы

Семантика

InstanceType

Устанавливает тип соединения (определенное сообщение, ввод/вывод по запросу, побитовый стробированный ввод/вывод, динамический ввод/вывод)

ProductionTrigger

Устанавливает тип триггера (циклический, изменение состояния, запускаемый приложением)

TransportType

Устанавливает тип транспорта (сервер, клиент)

Transportclass

Устанавливает класс транспорта (0, 2 или 3)

ProducedConnec LionSize

Устанавливает размер созданных данных в байтах

ConsumedConnectionSize

Устанавливает размер потребленных данных в байтах

Семантика элемента IO_Characlerislics установлена в А.4.2.4.2.

А.3.1.2.2.2 MessageRouter (Маршрутизатор сообщений)

Данный элемент устанавливает поддерживаемые атрибуты экземпляров и операции Объекта Message Router (Маршрутизатор сообщений) (см. МЭК 62026-3).

А.3.1.2.3 TransportLayers (Транспортные уровни)

А.3.1.2.3.1 DNPhysicalLayer (Физический уровень DN)

Данный элемент идентифицирует характеристики физических уровней (например, коннекторы, скорости передачи данных в бодах, электрические характеристики).

Семантика его подэлементов установлена в таблице А.4.

Таблица А.4 — Элементы DNPhysicalLayer

Элементы XML схемы

Атрибут XML схемы

Семантика

Коннекторы

ConnectorType

Устанавливает тип коннекторов (открытая жесткая разводка, открытые съемные, герметизированные Мини, герметизированные Микро)

Светоизлучающие диоды (СИД)

Устанавливает поддерживаемые индикаторы LED

Module

Network

Combo ModNet

IO

Если атрибут присутствует, то присутствует соответству-ющий LED

Baud_Rate_Setting

Устанавливает поддерживаемые скорости передачи данных в бодах

SwitchType

Устанавливает поддерживаемые методы установки выбранной скорости передачи данных в бодах

SoftwareSettable

Определяет, может ли скорость передачи данных в бодах устанавливаться программными средствами

Electrica (Characteristics

Подэлемент устанавливает максимальную потребляемую мощность сети в амперах при напряжении постоянного тока 11В (наихудший случай)

Isolated Physical

Layer

Определяет, изолирован ли физический уровень

А.3.1.2.3.2 DNLinkLayer (Канальный уровень DN)

Данный элемент определяет некоторые характеристики, связанные с конфигурацией уровней каналов передачи данных.

Семантика его подэлементов установлена в таблице А.5.

Таблица А.5 — Элементы DNLinkLayer

Элементы XML схемы

Атрибут XML схемы

Семантика

Mac-IDSetting

Устанавливает MAC-ID (идентификатор контроля доступа к сети) по умолчанию

SwitchType

Определяет поддерживаемые методы для установки MAC-ID

SoftwareSettable

Определяет, можно ли установить МАС-ID с использованием программных средств

PredefinedMasterSlaveCon nectionSet

Устанавливает поддерживаемый заранее определенный набор соединений (ни одно из общего числа. Клиент Группы 2 и/или Сервер Группы 2. Клиент только Группы 2. Сервер только Группы 2)

DynamicConnectionSupport

Устанавливает поддержку динамических соединений (ни одно из общего числа, Группа 1, Группа 2. Группа 3)

Fragmented Explicit Messaging

Подэлементы устанавливают параметры для фрагментированной передачи сообщений

Supported

Определяет, поддерживается ли фрагментированная передача сообщений

А.3.1.2.3.3 Элемент DeviceNetObject

Данный элемент устанавливает поддерживаемые атрибуты экземпляров и операции Объекта DeviceNet (см. МЭИ 62026-3).

А.3.1.2.3.4 Порты (Ports)

Данный элемент идентифицирует порты устройств, которые способны маршрутизировать сообщения из одного кяняпя пвя.чи r другой канал сяя.зм

Семантика подэлемента Port элемента Ports установлена в А.4.1.4.10 и А.4.2.2.2.

А.3.1.2.4.1 NetworkManagement (Управление сетями)

Данный элемент устанавливает поддерживаемые атрибуты классов и операции Объекта DeviceNet (см. МЭК 62026-3).

А.3.1.2.4.2 Элемент NM-ConnectionObject (Объект NM-соединения)

Данный элемент устанавливает поддерживаемые атрибуты классов и операции объекта Connection (Соединение) (см. МЭК 62026-3).

А.3.1.2.4.3 Элемент NM-MessageRouter (Маршрутизатор NM-сообщений)

Данный элемент устанавливает поддерживаемые атрибуты классов и операции Объекта Message Router (Маршрутизатор сообщений) (см. МЭК 62026-3).

А.3.1.3 XML схема: файл DNet_CommNet_Profile.xsd

Примечание — XML схема включает в себя файлы «MasterTemplateTypes.xsd» (см. А.2.1.3.1) и «ClPDataTypes.xsd» (см. А.2.1.3.2).

<?хт1 verskxi=‘’1.0″ encoding=”UTF-8’?>

*>xsd;sctienia xnilns.xsd=”tittp.//www.w3.org/2001/XMLSctiema“ elementFormDefaull=”qualitied*>

<!- – Target namespaces are not specified in this master template – -> <xsd:redefine schemaLocation=”MasterTemplateTypes.xsd,’> <xsd:complexType name=“ISO15745Reference_DataType”> <xsd:complexContent>

<xsd:restriction base=”ISO15745Reference_DataType’>

<xsd:sequence>

<xsd:element name=1SO15745Part” type=“xsd:positivelnteger” fixed=”2“/> <xsd:element name=”ISO15745Edition” type=”xsd;positivelnteger” fixed=”17> <xsd:element name^ProfileTechnofogy” type=”xsd:string” fixed=’DeviceNet7> </xsd:sequence>

</xsd: restriction >

</xsd:complexContent>

</xsd :comptexType>

</xsd:redefine>

<xsd:include schemaLocation=’CIPDataTypes.xsd7>

<xsdielement name=’ISO15745Profile’>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“ProfileHeader7>

<xsd:element ref=’ProfileBody7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:annotation>

<xsd;documentation>* HEADER SECTION •</xsd:documentation> </x$d:annotation>

<xsd:element name=”ProfileHeader”>

<xsd:complexType>

<xsd:sequence>

<xsri element neme=”Prnfileldentificetinn” type=”xsd string”/»

<xsd:element name=’ProfileRevision” type=”xsd:string7>

<xsd;element name=”ProfileName“ type=”xsd;string”/>

<xsd:element name=*ProfileSource” type-‘xsd:string7>

<xsd:element name=’ProfileClasslD’ type=’ProfileClasslD_DataType’’ fixed=“CommunicationNetwork7>

<xsd:element name=”ProfileDate” type=”xsd:date” minOccurs=”07>

<xsd:element name=“Additionallnformation“ type=”xsd:anyURr minOccurs=”0”/> <xsd:element name=’ISO15745Reference” type=”ISO15745Reference_DataType7» <xsd:element name=”lASInterfaceType” type=”IASInterface_DataType” fixed=MCSI7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>* BODY SECTION *</xsd;documentation>

</x$d:annotation>

<xsd.element name=”ProfileBody”>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”ApplicationLayers7>

<xsd:element ref=”TransportLayers7>

<xsd;element ref=”NetworkManagement” minOccurs=”07> </xsd:sequence>

<xsd:attributeGroup ref=”ag_FileDescription7>

</xsd:comptexType>

</xsd:element>

<xsdielement name=”Applicationlayers”>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”Connect»onObject“/>

<xsd:element ref-’MessageRouter”/»

<xsd:any namespace=”##any“ minOccurs=”0″ maxOccurs=,,unbounded7> </xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’Transportlayers*>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”DNPhysicalLayer*/>

<xsd;element ref=”DNLinkLayer7>

<xsd:element ref=”DeviceNetObject”/>

<xsd:element ref=“Ports” minOccurs=“07>

<xsd:any namespace=”##any” minOccurs=H0″ maxOccurs=”unbounded7> </xsd;sequence>

</xsd:complexT^>e>

</xsd:element>

<xsd:element name^NetworkManagementT»

<xsd;complexType>

<xsd;sequence>

<xsd:element ref=”NM-DeviceNetObject7>

<xsd:element ref=“NM-ConnectionObjecr minOccurs=’0’/>

<xsd:element ref=”NM-Messa9eRouter“ minOccurs=’0’/> </xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“ConnectionObject”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=*ConnectionObject_lnstanceAttritxjtes” minOccurs=’’0,‘> <xsd;complexType>

<xsd:sequence>

<xsd:element name=”State”>

<xRdrz»mplAxTypft>

<x$d:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=’required“ fixed=“Get7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”lnstanceTypee>

<xsd:complexType>

<xsd:attribute name=“Access_Rule’’ type=”at_AccessType_Mandatory‘ use=*required” fixed=*Get”/>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”TransportClassTrigger”>

<xsd:complexType>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory“ use=”required” fixed=”Set*7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ProducedConnectionlD*>

<xsd :complexType>

<xsd:attribute name=“Access_Rule’’ type=“at_AccessType_Mandatory‘ use=”required’ ftxed=’Set7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“ConsumedConnectionlD’>

<xsd:complexType>

<xsd:attribute name=’Access_Rule” type=”at_AccessType_Mandatory“ use=’required’ ftxed=’Set7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’lr)itialCommCharacteristics,,>

<xsd:complexType>

<xsd:attribute name=’Access_Rule” type=“at_AccessType_Mandatory” use=“required‘ fixed=”Set’/>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’’ProducedConnectionSize”>

<xsd:complexType>

<xsd:attribute name=“Access_Rule’’ type=”at_AccessType_Mandatory‘ use=”required” fixed=”Set7>

</xsd:comptexType>

</xsd:element>

<x$d:element name=“ConsumedConnectionSize”>

<xsd;complexType>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_Mandatory” use=”required‘ ftxed=“Sel7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’ExpectedPacketRale”>

<xsd;complexType>

<xsd:attribute name=”Access_Rule” type=*at_AccessType_Mandatory”

use=*required“ fixed=“Set7>

</xsd;comptexType>

</xsd;element>

<xsdielement name=’WatcbdogTirneoutActione>

<xsd:complexType>

<xsd:attribute name=”Access_Rule’’ type=’at_AccessType_Mandatory” use=“required’ fixed=”Set7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=»ProducedConnectionPathLength»>

<xsd:complexType>

<xsd:attribute name=’Access_Rule” type=”at_AccessType_Mandatory’ use-’required’ fixed-’G©t7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ProducedConnectionPath”>

<xsd;complexType>

<xsd:attribute name=“Access_Rule’’ type=“at_AccessType_Mandatory* use=“required” fixed=’Set7>

</xsd:comptexType>

</xsd;element>

<xsd:element name=“ConsumedConnectionPathLength“>

<xsd:complexType>

<xsd:attribute name=“Access_Rule” type=*at_AccessType_Mandalory” use=“required“ fixed=“Get7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”ConsumedConnectionPath’,>

<xsd:complexType>

<xsd:attribute name=’Access_Rule” type=*at_AccessType_Mandatory”

use=’required’ fixed=’Set7>

</xsd:complexType>

</xsd:element>

<xsd:element name=’Productionlnhit><fnme’>

<xsd:complexType>

<xsd:attribute name=’Access_Rule’* type=,,at_AccessType_OptionalSet” use=”required7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=,*##any“ minOccurs=”0″ maxOccurs=”unbounded7>

</xsd:sequence>

</xsd:complexT^>e>

</xsd:element>

«■xsdielement nam©=“Conn©ctionObjGct_lnstanc9Operation£’ mir)Occure=”0″>

<xsd:complexType>

<xsdisequence>

<xsd:element name=“Reset“>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd;comptexType>

</xsd;element>

<xsd:element name=*Delete*>

<xsd;complexType>

<x$d:attribute ref=”SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’Apply_Attributes’>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“Get_Attribute_Single“> <xsd:complexType>

<xsd:attribute ref=*SupportedService“ fixed=*true7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“Set_Attribute_Single”> <xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs-’O” maxOccurs=,,unbounded7> </xsd:sequence>

</xRdcomptexTypfi>

</xsd:element>

<xsd:element ref=“ConnectionDescriptions’* minOccurs=”07> <xsd:element name^O-Characteristics” minOccurs=”0′> <xsd;complexType>

<xsd:sequence>

<xsd:element name=’IO_lnfo” type=’etJOInfoType7>

<xsd:any namespace=,*##any“ minOccurs=M0“ maxOccurs=,,unbounded7> </xsd: sequence*

</xsd;comptexType>

</xsd:element>

<xsd:any namespace=”##any” minOccurs=”0″ maxOccurs=”unbounded7> </xsd:sequence>

</xsd;comptexType>

</xsdielement>

<xsd:element name=“ConnectionDescriptions“>

<xsd:<x>mplexType>

<xsd:sequence*

<xsd:element name=wConnection” minOccurs=”0″ maxOccurs=’unbounded”> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’lnstanceType”>

<xsd:simpleType>

<xsd:restriction base=,,xsd:NMTOKEN”>

<xsd:enumeration value=”ExplicitMessage7>

<xsd:enumeration value=”PoledlO7>

<xsd:enumeration value-’BitStrobedlO7>

<xsd:enumeration value=*DynamiclO7>

</xsd;restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name^ProductionTrigger”*

<xsd:simpleType>

<xsd: restriction base=“xsd:NMTOKE№>

<x$d:enumeration vahje=”Cyclic7>

<xsd:enumeration value=,‘ChangeOfState7>

<xsd:enumerat>on value=”ApplicationTriggered7> </xsd:restrict»on>

</xsd:simpleType>

</xsd:element>

<xsd;element name=TransportType’,>

<xsd:simpleType>

<xsd: restriction base=“xsd:NMTOKEN“>

<xsd:enumeration value=”Server7>

<xsd:enumeration value=”Client7>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name=“TransportClass”>

<xsd;simpleType>

<xsd:restriction base=*dt_SINT”>

<xsd:enumeration vakie=*07>

<xsd:enumeration value=’,27>

<xsd:enumeration value=*37>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’ProducedConnectionSize” type=”dt_UINT7> <xsd:element name=’ConsumedConnectionSize” type=”dt_UINT7> <xsd:any namespace=“##any’ minOccurs=”0″ maxOccurs=,,unbounded7> </xsd:sequence>

</xsd :comptexType>

</xed:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’MessageRouter’>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”MessageRotiler_lnstarceAttributes” minOccurs=”0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=*Object_List”>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_0ptionalGet7> </xsd:extension>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”MaximumConnectionSupported’*> <xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=’dt_UINT”>

<xsd:attribute name=”Access_Rule” type=”al_AccessType_OptionalGet7> </xsd;extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”NumberActiveConnect»ons”>

<xsd:complexType>

<xsd:simpleContent>

^xscfexterigion base=“dt_UINT”‘>

<xsd:attribute name=”Access_Rtil6″ type=”at_AccessType_OptiorialGet”/> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ActiveConnectionList”>

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base=Hdt_UINT“>

<xsd:attribute name=“Access_Rule” type=”at_AccessType_OptionalGet7> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbounded7> </xsd;sequence> </xsd:complexType>

</xsd:element>

<xsd:element name=”MessageRouter_lnstanceOperatjons” minOccurs=”0″> <xsd;complexType> <xsd:sequence>

<xsd:element name=’Get_Attribute_AII”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Get_Attribule_Single”>

<xsd:complexType>

<xsd:attribute ref=”SupportedServiceV>

</xsd cnmptexTypA>

</xsd:element>

<xsd;any namespace=“##any‘ minOccurs=”0” maxOccurs=”unbounded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=,’DNPhys»calLayer*>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”Connectors” minOccurs=’0“>

<xsd:complexType>

<xsd:attribute name=“ConnectorType“>

<xsd:simpleType>

<xsd. restriction base=“xsd;NMTOKE№>-

<x$d:enumeralion value=”OpenHardWired’7>

<xsdienumeration value=”OpenPluggable7>

<xsd:enumeration value=”SealedMini7>

<xsd:enumeration value=,,SealedMicro7>

</xsd;re$triction>

</xsdisimpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’LEDs” minOccurs=”0*>

<xsd:complexType>

<xsd:attribute name=”Module“ type=’*xsd:NMTOKEN,7>

<xsd:attribute name=“Network” type=’xsd:NMTOKEN7>

<xsd:attribute name=“Combo_ModNet* type=“xsd:NMTOKEN7>

<xsd:attribute name=TO“ type=”xsd:NMT0KEN7>

</xsd:complex lype>

</xsd:element>

<xsd:element name=’Baud_Rate_Setting’* minOccurs=“0,‘> <xsd;complexType>

<xsd:sequence>

<xsd;element name=“BR_125Kbits” minOccurs=M0“>

<xsd:complexType>

<xsd:attribute ref=’Supported”/>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’BR_250Kbits” minOccurs^O’»

<xsd:complexType>

<xsd:attribute ref=’Supported7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=,’BR_500Kbits” minOccurs=M0’>

<xsd:complexType>

<xsd:attribute ref=”Supported7>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

<xsdattribute name=”SwitchType” use-‘required”>

<xsd:simpleType>

<xsd: restriction base=”xsd:NMTOKEN’>

<xsd:enumeration value=”DipSwitch7>

<xsd:enumeration value=”Other’7>

<xsd:enumeration vakje=,,SoftwareOnly7>

</xsd;restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd*attriheite narne=eSnftwafftSettaNe“ ijRft=Breqnired”>

<xsd:simpleType>

<xsd:restriction base=“xsd:boolearT>

<xsd:pattem value=“true’7>

<xsd:pattem va1ue=7alse7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’ElectricalCharacteristics” minOccurs=”0″>

<xsd:complexType>

<xsdisequence>

<xsd:element name=’MaxNetworkPowerConsumption’ type=”dt_REAL7> </xsd:sequence>

<xsd:attribute name=”lsolatedPhysicalLayer“>

<xsd:simpleType>

<xsd:restrict»on base=”xsd:boolean,’>

<xsd:pattem value=“true7>

<xsd:pattem value=,,false7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“Other” type=“xsd;string” minOccurs-*07>

<xsd:any namespace=’*##any“ minOccurs^O” maxOccurs=,,unbounded7> </xsd:sequence>

</xsd:complexType>

</xsdielement>

<x$d:element name^ONLinkLayer”»

<xsd:complexType>

<xsd:sequence>

<xsd:element name=’MAC-IDSetting” minOccurs-‘0*>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”DefauttMAC-ID” type=”et_MAC-IDRange” minOccurs=”07>

</xsd:sequence>

<xsd:attribute name=“SwitchType” use=’’required”>

<xsd:simpleType>

<xsd:restriction base=”xsd:NMTOKEN”>

<xsd:enumeration value-‘DipSwitch7>

<xsd:enumeration value=”0ther7>

<xsd:enumeration value=”SoftwareOnty7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name=aSoftwareSettable” use=”required”>

<xsd:simpleType>

<xsd:restriction base=”xsd:boolearT>

<xsd:pattem value=“true7>

<xsd:pattem value=<false7>

</xsd;restriction>

</xsdisimpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

<xsd:element name=“PredefinedMasterSlaveConnectionSer minOccurs=”0“> <xsd:simpleType>

<xsd:restriction base=”xsd;NMTOKEN”>

<xsd:enumeration value=”NotSupported7> <xsd:enumeration value=”Group2Client7> <xsd*Anitmeratinn vakie=“GrcMjp?Servftr7> <xsd:enumeration value=”Group2ClientServer7> <xsd:enumeration vakje=”GroupOnly2Client7> <xsd:enumeratk>n vakje-‘GroupOnly2Server7> </xsd: restriction >

</xsd:simpleType>

</xsd:element>

<xsd:element name=“DynamicConnectionSupport” minOccurs=“0″> <xsd:simpleType>

<xsd:restriction base=”xsd;NMTOKEN”>

<xsd:enumeration value=”NotSupported7>

<xsd:enumeration vakje=“GroupT7>

<xsd:enumeration value=’,Group2,7>

<xsd:enumeration vakje=,‘Group37> </xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name=“FragmentedExplicitMessaging“ minOccurs^O”» <xsd;complexType>

<xsd:sequence>

<xsd:element name=*TransmissionTimeout’ type=*dt_UINT’’ minOccurs=”07> <xsd:element name=”TypicalTargetAddress” minOccurs=”0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’Class” type^dt-USINT” minOcajrs=“07> <xsd;element name=1nstance” type=“dt_USINT minOccurs=‘0“> <xsd:etement name=*Attributee type=*dt_USINT* minOccurs=’07> </xsd:sequence>

</xsd:comptexType>

</xsd;element>

</xsd:sequence>

<xsd:attribute ref=“Supported’/>

</xsd;complexType>

</xsd:element>

<xsd:any namespace=”##any’ minOccurs^O” maxOccurs=,,unbounded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“DeviceNetObject>>

<xsd;complexType>

<xsd:sequence>

<xsd:element name=”DeviceNetObject_lnstanceAttributes” mjnOccors=’0”> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’MAC_ID”>

<xsd:complexType>

<xsd:attribute name=”Access_Rule’* type=Mat_AccessType_OptionalSer use=“required7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=*Baud_Rate”>

<xsd;complexType>

<xsd:attribute name=”Access_Rule” type=,,at_AccessType_OptionalSet* use=“required7>

</xsd :comptexType>

</xsd:element>

<xsd;element пате=мВОГ>

<xsd :complexType>

<xsd:attribute name=’Access_Rule’’ type=”at_AccessType_OptionalSet’ use=’required7>

</xsd:complexType>

</xsd:element>

<xed:element name-’Bus_Off_Counter”>

<xsd;complexType>

<xsd:attribute name=’Access_Rule’* type=Mat_AccessType_OptionalSete use=”required7>

</xsd:complexType>

</xsd:element>

<xsd:element name=“Allocation_lnformation“>

<xsd:complexType>

<xsd:attribute name=”Access_Rule” type=“at_AccessType_OptionalGet’ use=”required7>

</xsd:comptexType>

</xsd:element>

<xsd;elemenl name=’MAC_ID_Switch_Changed’’>

<xsd:complexType>

<xsd:attribute name=“Access_Rcile” type=”at_AccessType_OptionalGet’ use=’required7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=,‘Baud_Rate_Switch_Changed”> <xsd;complexType>

<xsdattribute name=”Access_Rule” type=“at_AccessType_OptionalGer use=*required7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”MAC_ID_Switch_Value”>

<xsd:complexType>

<xsd:attribute name=”Access_Rule’’ type=”at_AccessType_OptionalGer use=”required7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’Baud_Rate_Switch_Value”>

*’xsd;comptexTyp©,>

<xsd:attribute name=”Access_Rtile‘* type=”at_AccessType_OptionalGet’ use=”required7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=*##any“ minOccurs-‘O” maxOccurs=”unboiinded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=*DeviceNetObject_lnstanceOperations” minOccurs=”0”> <xsd;complexType>

<xsdisequence>

<xsd:element name=*Get_Attribute_Single”>

<xsd:complexType>

<xsd:attribute ref=,,StipportedService7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’Set_Attribute_Single”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’Allocate_MS_Connection_Set”>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”Release_Group2_ldentifier_Set*> <xsd:complexType>

<xsd:attribute ref=”SupportedServiceV>

</xRdcomptexTypfi>

</xsd:element>

<xsd;any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbotinded7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=,,Ports”>

<xsd:complexType>

<xsd:sequence>

<xsd:element пате=”РогГ minOccurs=”0“ maxOccurs=”unbounded,*> <xsd:complexType>

<xsd:sequence>

<xsd:element name=”PortTypeName*>

<xsd:simpleType>

<xsd:union>

<xsd;simpleType>

<xsd:restriction base=Mxsd:NMTOKE№>

<xsd:enumeration vahje=”ControlNet7>

<xsd:enumeration value=”ControlNet_Redundant’7>

<xsd:enumeration value=TCP7>

<xsd:enumeration value=”Dev»ceNet7>

</xsd: restriction >

</xsd;simpleType>

<xsd:simpleType>

<xsd:restriction base=“et_VendorSpecificKeyword7>

</xsd:simpleType>

</xsd:union>

</xsd:simpleType>

</xsd:element>

<xsd:eiemeni name=’PortName” type=“dt_EDS_Char_Array” minoccurs=“07>

<xsd:element name=*PortObject’ type=”dt_EPATH” minOccurs=”07>

<xsd:element name=’PortNumber” type=”dt_UINT7>

<xsd:element name=”PortSpecific“>

<xsd :complexType>

<xsd:sequence>

<xsd:any namespace=,*##any” minOccurs=”0″ fnaxOccurs=,,unbounded7> </xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ max0cojrs=”unbounded7>

</xsd;sequence>

<xsd:attribute name=”id” use=”required”>

<xsd:simpleType>

<xsd:restrict»on base=*xsd:ID”>

<xsd:pattem value=”Port[1-9][0-9]{0,4}7>

</xsd;restr»ction>

</xsd:simpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’NM-DeviceNetObject”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=*DeviceNetObject_ClassAttributes” minOccurs=”0*> <xsd:complexType>

<xsd:sequence>

<xsd element name=“ObjectReviRton“>

<xsd:comptexType>

<xsd:attribute name=,’Access_Rule“ type=”at_AccessType_Mandatory* fixed=”Get7> </xsd :comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbotinded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”DeviceNetObject_ClassOperations’* minOccurs=”0’’> <xsd:complexType>

<xsd:sequence>

<xsd:element name=”Get_Attribule_Srigle”> <xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :complexType>

</xsd:element>

<xsd:any namespace=”##any“ minOccurs=”0″ maxOcctirs=”unboiinded7> </xsd:sequence>

</xsd :complexType>

</xsd:element>

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’NM-ConnectionObjecr>

<xsd;complexType>

<xsd:sequence>

<xsd:element name=“ConnectionObject_ClassAttributes” minOccurs=“0″> <xsd:complexType>

<xsd:sequence>

<xsd:element name=’ObjectRevision”>

<xsd:complexType>

<xsd;attribute name=“Access_Rule- type=”at_AccessType_OptlonalGerv>

</xsd :comptexType>

</xsd:element>

<xsd:any namespace=”##any“ minOccurs^O’ maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”ConnectionObject_ClassOperations” minOccurs=”0’> <xsd :complexType>

<xsd:sequence>

<xsd:element name=”Reser>

<xsd :complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=,’Create’’>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=“Delete>

<xsd :complexType>

<xsd:attribute ref=,,SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“Get_Attribute_Single“>

<xsd:complexType>

<xsd:attribute ref=”SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd AlfimAnt namft=*Finri_Nftxt_ObjACt_lriRtancA’’>

<xsd:complexType>

<xsd:attribute ref=“SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs-‘O’ maxOccurs=”unbounded7> </xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd;sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element rame=”NM-MessageRo<jter”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”MessageRouter_ClassAttributes” minOccurs=”Ow> <xsd:complexType>

<xsd:sequerice>

<xsd:element name=”ObjectReviston”>

<xsd;complexType>

<xsd:attribute name=”Access_Rule“ type=”at_AccessType_0ptioralGet7> </xsd;comptexType>

</xsd:element>

<xsd:element name=’OptionalAttributeList’>

<xsd:complexType>

<xsd attribute name=”Access_Rule” type=”at_AccessType_OptionalGet7> </xsd:comptexType>

</xsd:element>

<xsd:element name=’OptionalServiceList’’>

<xsd:complexType>

<xsd:attribute name=“Access_Rule” type=”at_AccessType_OptionalGet7> </xsd:comptexType>

</xsd:element>

<xsd:element name=’MaxlDCIassAttributes,’>

<xsd:complexType>

<xsd:attribute name=”Access_Rule“ type=”al_AccessType_OptionalGet“/> </xsd:complexType>

</xsd:element>

<xsd:element name=’MaxlDlnstanceAttributes“>

<xsd:complexType>

<xsd:attribute name=”Access_Rule” type=”at_AccessType_OptionalGef/> </xsd :comptexType>

</xsd:element>

<xsd:any namespace=”##any’ minOccurs=”0″ max0cctirs=”unbounded7> </xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name=”MessageRouter_ClassOperatioris” minOccurs=”0″> <xsd;complexType>

<xsdisequence>

<xsd:element name=*Get_Attribute_AB*>

<xsd;complexType>

<xsd:attribute ref=’SupportedService7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”Get_AttribuLe_S»ngle”> <xsd;complexType>

<xsd:attribute ref=”StipportedService7>

</xsd:comptexType>

</xsd:element>

<xsd:any namespace=“##any“ minOccurs=”0″ maxOccurs=”unbotinded7> </xsd;sequence>

</xed:comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:attribute name=‘SupportedServ>ce” use=*required‘> <xsd:simpleType>

<xsd:restrict»on base=”xsd:boolean”> <xsd:pattem value=’true|false’/> </xsd:restr»ction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name=’SupportedM use=“required”>

<xsd:simpleType>

<xsd:restriction base=”xsd:boolean“>

<xsd:pattem value=“true|false*/>

</xsd;restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd;simpleType name=’et_MAC-IDRange”>

<xsd:restriction base=”xsd:nonNegativelnteger”>

<xsd:maxlndusive vakje=”637>

</xsd:restriclion>

</xsd:simpleType>

<xsd:complexType name=”et_SpedfidOlnfoType”> <xsd:sequence>

<xsdielement name=”CompatiblelOTypeMask” type=”dt_WORD”/> <xsd:element name=”DefaultProdudngConnection” type=edt_UINT’7> <xsd:element name=’DefaultConsumingConnection“ type=”dt_UINT7> <xsd:any namespace=”##any“ minOccurs=”0″ maxOccurs=”unbounded7> </xsd:sequence>

<‘/xsd:comptexTyp©’>

<xsd:complexType nam©=Het_GenericlOlnfoType”>

<xsd:sequence>

<xsd:element name=“SizeH type=”dt_UINT7>

<xsd:element name=”NumberSignificantBits” type=”dt_UINT7> <xsd:element name=”CompatiblelOTypeMask” type=”dt_WORD’/> <xsd:element name=’Name_String” type=“dt_EDS_Char_Array”/> <xsd:element name=“Connectfc>nPatbSize” type=”dt_UINT7> <xsd:element r>ame=*Path” type=,,dt_EPATH”/>

<xsd:element name^Help.Stnng” type=,,dt_EDS_Char_Array7> <xsd;any namespace=“##any“ minOccurs=”0” maxOccurs=”unbounded7> </xsd:sequence> </xsd :comptexType>

<xsd:complexType name=”et_IOInfoType”>

ГОСТ Р ИС015745-2—2010

<xsd:sequence>

<xsd:element name=’Defautt“>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=’DefaultlOTypeMask” type=’dt_WORD”/>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=ePolllnfoe type=’et_SpecjficlOlnfoType’’ minOccurs=*07>

<xsd:element name=*Strobelnfo” type=”et_SpecificlOlnfoType” minOccurs=”07>

<xsd:element name=“MulticastPolllnfo” type=’et_SpecificlOlnfoType” minOccurs=’07>

<xsd:element name=’COSInfo” type=’et_SpecificlOlnfoType” minOccurs=”0″/>

<xsd:element name=’Cycliclnfo” type=”et_SpedficlOlnfoType’’ minOccurs=”07>

<xsd:element name=’lnpuf minOccurs=”0H maxOccurs=”unbotinded’>

<xsd;complexType>

<xsd:complexContent>

<xsd;extens>on base=“et_GenericlOlnfoType“>

<xsd:attrilxjte name=”id” use=“required”>

<xsd:simpleType>

<xsd:restriction base=,,xsd:ID’>

<xsd:pattem value=”1nput(1-9][0-9]{0,4}7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:extension>

</xsd;complexContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”Output” minOccurs^O* maxOccurs=”unbounded”>

<xsd:complexType>

<xsd:complexContent>

<xsd:extenskxi base=*et_GenericlOlnfoType“>

<xsd:attribute name=”id“ use=“required”>

<xsd:simpleType>

<xsd:restriction base=”xsd:ID»>

<xsd:pattem value=”0utput[1-9][0-9]{0,4}7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:extension>

</xsd:complexContent>

</xsd :comptexType>

</xsd:element>

<xsd:any namespace=”##any“ minOccurs-‘O” maxOccurs=”unbounded7>

</xsd:sequence>

</xsd:comptexType>

</xsd:schema>

A.3.2 Описание шаблонов профилей коммуникационных сетей. XML инкапсуляция файлов EDS

А.3.2.1 Общие положения

Файлы XML профилей коммуникационных сетей, используемые для инкапсуляции файлов EDS. должны соответствовать XML схеме профилей коммуникационных сетей, как установлено в А.3.2.2.

Семантика подэлементов элемента ExtemalProfileHandle, используемого для обращения к имеющемуся файлу EDS, установлена в таблице А.2. В зависимости от значения атрибута WrapperReference к файлу EDS можно обратиться, используя элементы идентификации либо из самого файла EDS, либо из продукта, описанного этой EDS.

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

А.3.2.2 XML схема: файл EDS_CommNet_Profile_wrapper.x$d (см. А.2.1.3.1)

Примечание — XML схема включает в себя файл «MasterTemplateTypes.xsd» (см. А.2.1.3.1).

<?xml verskxi=“1.0″ encoding=*UTF-8″?>

<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>

<!- – Target namespaces are not specified in this master template – -> <xsd:redefine schemaLocation=”MasterTemplateTypes.xsd,’> <xsd:complexType name=“ISO15745Reference_DataType”> <xsd:complexContent>

<xsd:restriction base=4SO15745Reference_DataType’> <xsd:sequence>

<xsd:element пате=”18О15745РагГ type=”xsd:positivelnteger7>

<xsd:element name=’ISO15745Edition“ type=‘xsd:positivelnteger,7> <xsd:element name=’ProfileTechnotogy” type=”xsd:string” fixed=”EDS7> </xsd:sequence>

</xsd: restriction >

</xsd;complexContent>

</xsd :comptexType>

</xsd:redefine>

<xsd element neme=*ISO15745Profiiee>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”ProfileHeader“/>

<xsd:element ref=,rProfileBody*7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>’ HEADER SECTION •</xsd;documentation> </xsd:annotation>

<xsd:element name=“ProfileHeader“>

<xsd;complexType>

<xsd;sequence>

<xsd;element name^Profileldentification” type=“xsd:string‘7>

<xsd:element name=*ProfileRevision* type=“xsd:string7> <xsd:element name-‘ProfileName” typee,’xsd:3tring7> <xsd:element name=’ProfileSource” type=”xsd:string7> <xsd;element name=’ProfileCiasslD type=“ProfileClasslD_DataType” fixed=”CommunicationNelwork7>

<xsd:element name=“ProfileDate” type=“xsd:date” minOccurs=”0″/>

<xsd;element name=“Additionallnformation“ type=”xsd:anyURr minOccurs=”07> <xsd:element name=ISO15745Reference’’ type=,,ISO15745Reference_DataType7> <xsd:element name=“lASInterfaceType“ type=“IASInterface_DataType“ fixed=MCSI7> </xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:annotation>

<xsd:documentation>* BODY SECTION •</xsd;documentation>

</xsd:annotation>

<xsd:element name=“ProfileBody”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=’ExtemalProfileHandle,’>

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base=MProfileHandle_DataType’>

<xsd:attribute name=’WrapperReference” use=“optionar default=*FILEINFO“> <xsd:simpleType>

<xsd:restriction base=“xsd:NMTOKEN”>

<xsd:enumeration value=”FILEINF07>

<xsd:enumeration vahje=”DEVICEINFO7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:extension>

ГОСТ Р ИС015745-2—2010

</xsd:complexContent>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

</xsd:schema>

A.4 Электронная информационная таблица EDS

A.4.1 Общие требования к EDS на основе CIP

А.4.1.1 Общие положения

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

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

Файл EDS определяется как файл ASCII, который включает представление ASCII объектов в устройстве, которые могут быть оценены из сети [например, Parameter (Параметр) и Assembly (Компоновка)], и дополнительную информацию, необходимую для поддержки адресации объектов.

АЛЛ 2. Содержимое EDS

А.4.1.2.1 Структура EDS

Один файл должен содержать всю EDS. EDS должна состоять из разделов. Таблица А.6 описывает структуру разделов, которые являются общими для нескольких сетей на основе CIP. соответствующие разрешенные разделители разделов и порядок следования этих разделов в EDS.

Таблица А.6 — Структура файла EDS CIP

Название раздела

Разрешенный разделитель

Расположение

Обязательно/ Дополнительно

Описание файла

[FHe]

1

Обязательно

Описание устройства

[Device]

2

Обязательно

Классификация устройства

[Device Classification]

a)

Дополнительно

Класс параметров

[ParamClass]

a)

Дополнительно

Параметры

[Params]

a)

Дополнительно

Группы параметров

[Groups]

a)

Дополнительно

Компоновка

[Assembly]

a)

Дополнительно

Характеристики соединений

[Connection Manager]

a)

Дополнительно

Порт

[Port]

a)

Дополнительно

Модульный

[Modular]

a)

Дополнительно

Со стороны продавца

[Vendor

ID_vendorspecifickeyword]

Последний

Дополнительно

а> Эти дополнительные группы должны быть расположены после обязательных групп.

Содержимое электронной информационной таблицы (EDS) должно быть организовано следующим образом:

  • – все файлы EDS должны содержать раздел Описание файла, который должен быть первым разделом файла EDS и должен использовать разрешенный разделитель [File];

  • – все файлы EDS должны содержать раздел Описание устройства, который должен сразу же следовать за разделом Описание файла и должен использовать разрешенный разделитель [Device];

  • – дополнительные разделы, описанные в данной спецификации, могут быть представлены в любом порядке при условии отсутствия в файле EDS ссылки вперед;

-дополнительный раздел (дополнительные разделы), относящийся (относящиеся) к продавцу, должен (должны) использовать разрешенный разделитель (разрешенные разделители) (VendorlD_vendorspecifickeyword], установленный (установленные) в А.4.1.2.2.11, и должен (должны) быть расположен (расположены) после всех разделов, установленных в данной спецификации.

А.4.1.2.2 Правила форматирования EDS

А.4.1.2.2.1 Общие положения

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

А.4.1.2.2.2 Пробелы в EDS

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

Интерпретатор EDS должен рассматривать нижеприведенные символы как символы пробелов. Эти символы, считываемые интерпретатором, но не кодированные как символы, читаемые человеком, указывают на наличие в файле пробела:

  • – знак пробела;

  • – новая строка;

возврат каретки;

  • – перевод строки;

  • – табуляция, вертикальная и горизонтальная;

  • – перевод страницы;

  • – метка конца файла;

  • – комментарии.

А.4.1.2.2.3 Символы ключевых слов

Все ключевые слова в файле EDS должны состоять из символов ASCII из следующего списка:

  • – прописные буквы А—Z;

  • – строчные буквы а—z;

  • – цифры 0—9;

  • – специальный символ подчеркивания «_»;

  • – символ пробела.

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

А.4.1.2.2.4 Разделы

Файл EDS должен разделяться на обязательные и дополнительные разделы.

А.4.1.2.2.5 Разделители разделов

Каждый раздел в EDS должен быть надлежащим образом разделен ключевым словом раздела в квадратных скобках (Legal Delimiter). Допустимые разрешенные разделители разделов должны соответствовать разделителям. установленным в таблице А.6.

А.4.1.2.2.6 Ключевые слова разделов

Каждое ключевое слово раздела определяется текстом между началом разделителя ключевого слова раздела «[» и конечным разделителем «]>. Символы, используемые в ключевых словах раздела, определены в А.4.1.2.2.3. Имеются два типа ключевых слов раздела, общедоступные ключевые слова и ключевые слова продавца.

А.4.1.2.2.7 Последовательность разделов

Каждый обязательный раздел должен располагаться в требуемом порядке, как установлено в А.4.1.2. Дополнительные разделы могут целиком пропускаться или включаться с пустыми символами — заменителями данных. За исключением раздела (разделов), относящегося (относящихся) к продавцу, дополнительные разделы могут располагаться в любом порядке. Раздел (разделы), относящийся (относящиеся) к продавцу, должен (должны) быть последним (последними) в файле EDS.

А.4.1.2.2.8 Ввод

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

А.4.1.2.2.9 Ключевые слова ввода

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

А.4.1.2.2.10 Общедоступное ключевое слово

Общедоступное ключевое слово должно всегда определяться в спецификации CIP ответственными ассоциациями продавцов. Общедоступное ключевое слово никогда не должно начинаться с цифры.

А.4.1.2.2.11 Ключевые слова продавца

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

А.4.1.2.2.12 Поля вводов

Каждый ввод должен содержать одно или несколько полей. Разделители в виде запятой должны разделять все поля. Значение поля (полей) должно зависеть от контекста раздела. Поля ввода являются либо обязательными. либо дополнительными, как установлено в этой спецификации. Пробелы и пустоты между запятыми должны быть использованы для непредставленных дополнительных полей. Точка с запятой может быть использована для указания отсутствия замыкающих дополнительных полей. Термин «номер поля» должен указывать положение поля ввода. Поля следует нумеровать слева направо (или сверху вниз), начиная с номера 1.

А.4.1.2.2.13 Ключевые слова полей

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

А.4.1.2.2.14 Составные поля данных

Некоторые поля ввода следует устанавливать с использованием данных, которые не могут быть определены одним значением между разделителями 8 виде запятой. Возможность дополнительного разделения всего поля определяют путем использования одного или нескольких наборов символов в виде парных фигурных скобок «{* и ”)». Содержимое между этими символами следует рассматривать как один элемент или ввод. Содержимое может быть сгруппировано в множестве фигурных скобок.

А.4.1.2.2.15 Комментарии

Комментарии должны разделяться символом в виде знака доллара ($) и символом новой строки. Интерпретатор EDS должен рассматривать все символы между разделителями комментариев как пробелы. Разделитель комментария $, обнаруживаемый внутри поля или набора символов в виде двойных кавычек, не должен рассматриваться как разделитель комментариев.

Пример – Ниже приводятся примеры некоторыж комментариев:

$ This is a valid comment line 1.2. 3;

$ Comments cannot span <NL> more than one line <NL>

<NL>

$ This is a valid comment <NL>

<= This is an error — no $

A.4.1.2.2.16 Пример структуры форматирования EDS

Примеры на рисунке А.1 показывают структуру электронной информационной таблицы, [section name]

$ Comment — extends to end of line

Entry1=Field1, Field2, Field3; Entry2=Field1, Fiekl2. Field3. Field4; Entry3=

Fieldl,

Field2.

Field3;

Entry4=

Fieldl. Field2.

Field3.

Field4;

Entry5= 1,

(1.2.3);

Entry6={ 44, {22,33,11}};

65535_Entry=

Fieldl. Field2;

$ Entire entry on one line

$ Entire entry on one line

$ Multiple line entry

$ Fieldl

$ Field2

$ Field3

$ Combination

$ Fields 1 and 2 on one line

$ Field3

$ Field4

$ Field 1 3pccific3 the value 1

$ Field 2 specifies an array or

$ structure with three values

$ Entry 6 specifies a single field.

$ The field contains two sets of data.

$ The first set is the single value 44

$ The second set contains three values $ Vendor Specific entry for

$ Vendor ID 65535 with two fields

Рисунок A.1 — Пример структуры форматирования EDS (информативный)

А.4.1.2.3 Требования к имени файла

Соглашения по присвоению имени файлам не принимаются для дисковых файлов EDS, за исключением файлов в среде DOS/Wmdows: эти файлы должны иметь суффикс «.EDS», приписываемый к имени файла.

А.4.1.3 Требования к кодированию данных EDS

А.4.1.3.1 Общие положения

В настоящем подразделе установлены требования к кодированию данных для файла EDS.

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

Элементарные типы данных, установленные в спецификации CIP. также используются для других элементов EDS, однако значение изменяется, как описано в последующих подразделах (см. А.4.1.3.3—А.4.1.3.10).

Некоторые типы данных используются только в файлах EDS (см. А.4.1.3.11—А.4.1.3.14).

А.4.1.3.2 Соглашение по файлу символов ASCII

Все данные в EDS должны кодироваться с использованием 8-битных символов ASCII, где все ссылки на символы ASCII означают 8-битный формат символов ASCII (как установлено в таблицах 1 и 2. строка 00 ИСО/МЭК 10646-1). Символы, которые не могут быть воспроизведены на терминале ANSI, не должны использоваться в именах идентификатора или я представлениях данных Правильные значения символов ASCII должны включать в себя новую строку, табуляцию и значения от 32 до 126 в десятичной системе счисления.

А.4.1.3.3 Соглашение по строке символов — EDS_Char_Array

А.4.1.3.3.1 Общие положения

Все строковые данные в файле EDS должны быть строками символов фиксированной длины без символа конца строки и должны заключаться в двойные кавычки (EDS_Char_Array data type).

Существуют две формы преобразований строковых данных. Символы, заключенные между двойными кавычками, должны быть преобразованы в 8-битные символы ASCII. Символы, заключенные между двойными кавычками, которым предшествует заглавная буква L, должны быть преобразованы в 16-битные символы стандарта UNICODE (юникод).

Пример 1 — «Это результат в строке, состоящей из 8-битных символов».

Пример 2 — L «Строка символов UNICODE, включающая греческий символ Pi \u03C0».

Примечание — Текст \uO3CO определяет одиночный 16-битный символ со значением 03С0. В наборе символов UNICODE это соответствует таблице 9. строка 3. Basic Greek — символ нижнего регистра. Описания управляющей последовательности символов даны в А.4.1.3.3.5,

А.4.1.3.3.2 Действия в случае недостаточного количества символов в поле строки

Интерпретатор EDS должен использовать выравнивание символов в поле по правому знаку и заполнить неустановленные символы пробелами в начале строки текста (ASCII 0x20) для остающейся длины строки.

Пример — Если параметр имеет максимальную длину строки 8 и вмещает строку «123АВ», строка интерпретируется как «–123АВ», где символы тильда (-) представляют пробелы.

А.4.1.3.3.3 Действия в случае избыточного количества символов в поле строки

Если заданное поле строки содержит слишком много символов, интерпретатор EDS должен отсечь символы слева направо.

Пример — Если параметр имеет максимальную длину строки 8 и вмещает строку «I23ABCDEFG», строка отсекается и интерпретируется как «I23ABCDE».

А.4.1.3.3.4 Конкатенация строки

Множество строк без промежуточных запятых должно подвергаться конкатенации.

Пример 1 —

Строка: «АВС» «123» «XYZ»

Интерпретируется как: «ABC123XYZ»

Строки также могут находиться на отдельных строках текста.

Пример 2 —

Следующие строки:

«АВС» $ Это комментарий

«123»

«XYZ»

также интерпретируются как: «ABC123XYZ»

Для строки UNICODE (длинная строка) только первым двойным кавычкам должна предшествовать заглавная буква L.

Пример 3 — L «АВС» «123» «XYZ» – то же самое, что и L «ABC123XYZ».

А.4.1.3.3.5 Управляющие последовательности строк

Интерпретатор EDS должен опознавать все управляющие последовательности, перечисленные в таблице А.7. Интерпретация зависит от приложения.

Таблица А.7 — Управляющие последовательности строк

Управляющая последовательность

Трансляция

\\

\

\п

newline (новая строка)

U

tab (табуляция)

V

vertical tab (вертикальная табуляция)

backspace (возврат на один символ)

carriage return (возврат каретки)

\f

form feed (перевод страницы)

BELL character (0x07) (символ Звонок)

Г

V

\хпп

Одиночный байт, содержащий значение «пп» в шестнадцатеричной системе счисления

\unnnn

Пара байтов, содержащих значение <пппп» в шестнадцатеричной системе счисления. Такая форма переключения строки является правильной только в случае, если результирующие данные строки имеют длину 16 бит. например. L” форма спецификации строк

Если встречаются с последовательностью, не указанной выше, интерпретирующее устройство должно отвергнуть целую строку и указать ошибку Файлы FDS должны содержать только управляющие последовательности. установленные в таблице А.7.

А.4.1.3.4 Соглашение по строкам ASCII (STRING, SHORT_STRING, STRING2)

Все типы строковых данных (STRING. SHORT_STRING. STRING2), используемые в атрибутах объектов, должны преобразовываться в файл EDS EDS_Char_Array.

А.4.1.3.5 STRINGI

Тип данных Международной строки (STRINGI) CIP кодируется в файле EDS как представление сложного типа данных. Все содержимое ввода STRINGI должно заключаться в пару фигурных скобок. После числа языковых элементов, установленных как USINT, должны следовать определения языковых элементов, причем каждый такой элемент заключается в пару фигурных скобок и разделяется запятой. Каждый языковой элемент ввода STRINGI должен определяться в виде четырех полей. Первое поле (выбор языка) должно представлять собой точно три символьные строки фиксированной длины, заключенные в двойные кавычки, — код языка, установленный в ИСО 639-2/Т. Тип строковых данных должен быть представлен с использованием кода типа данных, как установлено в спецификации CIP для STRING. STRING2. STRINGN или SHORT_STRING. Выбор набора символов должен быть представлен как UINT, как установлено в Кодах принтера IANA MIB (RFC 1759). Часть содержимого строки языкового элемента должна быть представлена как строка или длинная строка.

Пример — Ниже представлен ввод STRINGI на трех языках:

Fieldl = {3,

{“eng”,0xD0,4, ‘This is an ASCII English language string”}, {‘spa’,0xD5,1000,L’Espafioles palabras”}, $ “Spanish words’*

$ using UNICODE

{‘deu’,0xD0,4, ‘Spanische Worter auf Deutsch’} $“Spanish words in German”

};

A.4.1.3.6 Маршрут CIP (EPATH)

Тип данных CIP (EPATH), используемый, в частности, для определения строк маршрута CIP, должен кодироваться в файлах EDS с использованием базового формата, установленного в настоящем стандарте для файла EDS_Char_Array. Кроме того, содержимое строки для маршрута CIP или других данных ЕРАТН должно состоять из групп двух соседних шестнадцатеричных символов, разделенных пробелами. Могут быть использованы как верхний регистр, так и нижний регистр.

Пример 1 — «20 04 24 01»

Пример 2 — «20 05 24 02 30 04»

А.4.1.3.7 Соглашение по целым числам без знака ASCII (USINT. UINT. UDINT, ULINT)

Типы целочисленных данных без знака представляют положительные целочисленные значения. Целочисленные данные без знака следует вводить либо в десятичной системе счисления, либо в шестнадцатеричной системе счисления без пробелов или запятых между символами. Если для представления целочисленных символов без знака используют шестнадцатеричную систему счисления, последовательность двух символов Ох без пробела должна предшествовать целочисленным символам без знака.

диапазон разрешенных данных USINT:

  • – десятичная система счисления

  • – шестнадцатеричная система счисления диапазон разрешенных данных UINT:

  • – десятичная система счисления

  • – шестнадцатеричная система счисления диапазон разрешенных данных UDINT:

0—255 0x0—OxFF

0—65535 Ox—OxFFFF

• десятичная система счисления

– шестнадцатеричная система счисления

0—4294967295 0x0—OxFFFFFFFF

диапазон разрешенных данных ULINT:

  • – десятичная система счисления

  • – шестнадцатеричная система счисления

0—18446744073709551615 0x0—OxFFFFFFFFFFFFFFFF

В десятичной системе счисления не следует использовать влередиидущие нули, но они могут быть использованы в шестнадцатеричной системе счисления. В шестнадцатеричной системе счисления могут быть использованы как верхний регистр, так и нижний регистр, а общее число символов для типа ULINT должно ограничиваться числом 10 (Ох плюс еще 8) или 18 (Ох плюс еще 16).

Пример—Десятичное значение UINT 254 может быть представлено как 254 (в десятичной системе счисления) или как OxFE (в шестнадцатеричной системе счисления), а 0254 (десятичная система счисления) и OxOOOOOOOFE (шестнадцатеричная система счисления) являются недопустимыми.

А.4.1.3.8 Соглашение по целым числам со знаком ASCII (SINT. INT, DINT. LINT)

Типы данных SINT, INT, DINT и LINT представляют значения целочисленных данных со знаком. Целочисленные данные со знаком следует вводить либо в десятичной системе счисления, либо в шестнадцатеричной системе счисления с пробелами или запятыми между символами. Если для представления целочисленных символов со знаком используют шестнадцатеричную систему счисления, последовательность двух символов Ох без пробела должна предшествовать целочисленной последовательности символов.

– диапазон разрешенных данных SINT:

– десятичная система счисления

• шестнадцатеричная система счисления

– диапазон разрешенных данных INT:

-128—127 -0x80—0x7

  • – десятичная система счисления

  • – шестнадцатеричная система счисления – диапазон разрешенных данных DINT:

-32768—32767 -0x8000—0x7FFF

  • – десятичная система счисления

  • – шестнадцатеричная система счисления

  • – диапазон разрешенных данных LINT:

—2147483648—2147483647 – 0x0—OxFFFFFFFFFFFFFFFF

– десятичная система счисления

– 9223372036854775808—9223372036854775807

• шестнадцатеричная система счисления

0x8000000000000000—0x7FFFFFFFFFFFFFFF

В деся!ичной системе счислении не следует использовать влередиидущие нули, но они могут быть использованы в шестнадцатеричной системе счисления. В шестнадцатеричной системе счисления могут быть использованы как верхний регистр, так и нижний регистр, а общее число символов для типа LINT должно ограничиваться числом 10 (Ох плюс еще 8) или 18 (Ох плюс еще 16).

Пример—Десятичное значение INT 254 может быть представлено как 254 (в десятичной системе счисления) или как -OxFE (в шестнадцатеричной системе счисления) или как OxOOOOOOFE (в шестнадцатеричной системе счисления), а 0254 (десятичная система счисления) и OxOOOOOOOFE (шестнадцатеричная система счисления) являются недопустимыми.

А.4.1.3.9 Соглашение по словам ASCII (BYTE. WORD. DWORD. LWORD)

Типы данных BYTE, WORD, DWORD и LWORD представляют значения с побитовой адресацией. Эти значения считают дискретными значениями позиции двоичного разряда, и они не предназначены для представления целочисленных значений со знаком или без знака. Однако для удобства эти значения должны быть введены в десятичной, шестнадцатеричной или двоичной системе счисления без пробелов или запятых между символами.

Если для представления целочисленных символов используют шестнадцатеричную (соответственно двоичную) систему счисления, последовательность двух символов Ох (соответственно ОЬ) без пробела должна предшество

вать символам значений.

диапазон разрешенных данных BYTE:

  • – десятичная система счисления

  • • шестнадцатеричная система счисления

  • – двоичная система счисления диапазон разрешенных данных WORD:

  • – десятичная система счисления

  • • шестнадцатеричная система счисления

  • • двоичная система счисления

диапазон разрешенных данных DWORD:

  • – десятичная система счисления

  • – шестнадцатеричная система счисления

  • – двоичная система счисления

диапазон разрешенных дачных LWORD:

  • – десятичная система счисления

  • – шестнадцатеричная система счисления

  • – двоичная система счисления

0—255

0x0—OxFF

ОЬОООООООО—ОЫ1111111

0—65535

0x0—OxFFFF

ОЬОООООООООООООООО—0Ь1111111111111111

0—4294967295

0x0—OxFFFFFFFF

0600000000000000000000000000000000

0Ы111111111111111111111111111111

0—18446744073709551615

0x0—OxFFFFFFFFFFFFFFFF

оьоооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо— 0Ы1111111111111111111111111111111111111111111111111111111111111111

В десятичной системе счисления не следует использовать впередиидущие нули, но они могут быть использованы в шестнадцатеричной и двоичной системах счисления. В шестнадцатеричной системе счисления могут быть использованы как верхний регистр, так и нижний регистр, а общее число символов для типа LWORD должно ограничиваться числом 10 (Ох плюс еще 8) или 18 (Ох плюс еще 16).

Пример — Десятичное значение WORD 254 может быть представлено как 254 (в десятичной системе счисления) или как OxFE (в шестнадцатеричной системе счисления), или как OxOOOOOOFE (в шестнадцатеричной системе счисления), а 0254 (в десятичной системе счисления) и OxOOOOOOOFE (в шестнадцатеричной системе счисления) являются недопустимыми.

А.4.1.3.10 Соглашение по плавающей точке ASCII (REAL, LREAL)

Типы данных REAL и LREAL представляют двоичные значения с плавающей точкой. Внутреннее представление форматов этих данных описано в IEEE 754. В этом же стандарте описаны как численные значения, так и последовательности битов, которые интерпретируются как символьные значения NaN («не число»), а также как плюс и минус бесконечности. Значения с плавающей точкой могут быть введены либо как целые значения, значения. основанные на десятичном представлении плавающей точюг, либо как значения, вводимые в «экспоненциальном» представлении. Целые значения являются теми же. что и значения, приведенные для типов данных INT. DINT или LINT. Эти значения не могут быть использованы для представления дробных значений. Десятичные значения с плавающей точкой являются значениями, которые имеют как целую часть, так и дробную компоненту. Целое значение и дробные компоненты разделяются десятичной точкой «.» или символом периода. Форма значений в «экспоненциальном» представлении является такой же, как и представление дробных значений с добавлением экспоненциальной компоненты (показателя степени). Этот показатель степени всегда является целым числом со знаком до 10, в которое возводится значение основания системы счисления.

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

Диапазон разрешенных данных REAL (32-битный формат IEEE с ординарной точностью) устанавливают по формуле

значение = (-1)*-(2)е127-(т),

где а — значение знакового бита;

е — 8-битный показатель степени. Допустимые значения этого показателя лежат в диапазоне от -126 до *127;

т — нормализованная 24-битная мантисса (23 бита внутренней памяти плюс один скрытый бит). Допустимые значения мантиссы лежат в диапазоне между 0 и 16777215.

Комбинирование е и m позволяет установить диапазон приближенных абсолютных значений 0—3,4028е38. EDS использует для данных REAL следующие представления значений с плавающей точкой:

  • – представление в виде целых чисел (фиксированных): от -16777215 до 1677725:

  • – десятичная система счисления (с плавающей точкой): 0.0 – ±9999999999999999,

где общее число разрядов не должно превышать 16 (помимо символа десятичной точки и символа знака). Оба этих символа могут быть опущены (знак * подразумевается, если символ знака опущен).

«Экспоненциальное» представление: 0.0 – ±пп.пппппппппЕ±хххх,

где общее число разрядов в мантиссе не должно превышать 11 (помимо символа десятичной точки и символа знака), а число разрядов в показателе степени не должно превышать 4 (помимо символа «Е» и символа знака). Десятичная точка может располагаться в мантиссе где угодно. Как символ десятичной точки, так и символ знака в мантиссе могут быть опущены (знак «+» подразумевается, если символ знака опущен).

Диапазон разрешенных данных LREAL (64-битный формат IEEE с двойной точностью) определяют по формуле

значение = (-1 )®(2)®”1023(т),

где s — значение знакового Оита:

е — 11-битный показатель степени. Допустимые значения этого показателя лежат в диапазоне от -1022 до +1023;

m — нормализованная 53-битная мантисса (52 бита внутренней памяти плюс один скрытый бит). Допустимые значения мантиссы лежат в диапазоне между 0 и 9007199254740991.

Комбинирование е и m позволяет установить диапазон приближенных абсолютных значений 0—1,7976е308. EDS использует для данных LREAL следующие представления значений с плавающей точкой:

• представление в виде целых чисел (фиксированных):

  • – от 9007199254740991 до + 9007199254740991;

  • – десятичная система счисления (с плавающей точкой):

0.0—±9999999999999999,

где общее число разрядов не должно превышать 16 (помимо символа десятичной точки и символа знака). Оба этих символа могут быть опущены (знак «+» подразумевается, если символ знака опущен).

«Экспоненциальное» представление:

0.0—±пппп.ппппппппппппЕ±хххх, где общее число разрядов в мантиссе не должно превышать 16 (помимо символа десятичной точки и символа знака), а число разрядов в показателе степени не должно превышать 4 (помимо символа «Е» и символа знака). Десятичная точка может располагаться в мантиссе где угодно. Как символ десятичной точки, так и символ знака 8 мантиссе могут быть опущены (знак «+» подразумевается, если символ знака опущен).

В дополнение к вводимым значениям, указанным выше, представление плавающей точки учитывает два стиля вводов и два типа бесконечностей. Существуют два типа Nan («не число»), а именно сигнализация Nan и «тихое» NaN (Quiet NaN). Кроме того, формат устанавливает представления значений плюс и минус бесконечностей. В этих случаях резервируются следующие специальные слова, которые должны использоваться для представления ввода ассоциированного символа плавающей точки:

  • – «тихое» не число QUIET-NAN:

  • – сигнализация не числа SIGNAL-NAN;

  • – бесконечность плюс INFINITY (или +INFINIIY);

  • – бесконечность минус -INFINITY.

А.4.1.3.11 EDS.Date

Тип данных EDS_Date должен иметь формат mm-dd-yyyy, где mm — месяц, dd — день, уууу — год. Правильные значения месяца, дня и года mm-dd-yyyy должны быть следующими:

mm — 01—12;

dd — 01—31 (в зависимости от месяца и года);

уууу — 1996—9999.

Представление года двумя символами может быть использовано в случае, если тип данных EDS_Date имеет формат mm-dd-yy, где mm — месяц, dd – день месяца, а уу — год. В этом случае две первые цифры года имеют предполагаемое значение 19, так что уу=96 должно означать год 1996. Правильные значения месяца, дня и года параметров mm-dd-yy должны быть следующими:

mm— 01—12;

dd — 01—31 (в зависимости от месяца и года);

уу — 98—99 (подразумеваются две первые цифры 19).

Примечание — Представление года двумя цифрами не рекомендуется.

А.4.1.3.12 EDS_Time_Of_Day

Тип данных EDS_Time_Of_Day должен иметь формат hh.mm.ss, где hh — часы, mm — минуты и ss — секунды. Правильные значения часов, минут и секунд должны быть следующими:

hh — 00—23;

mm — 00—59;

ss — 00—59.

А.4.1.3.13 EDS_Revision

Тип данных EDS_Revision должен иметь формат Major_Revisk>n.Minor_Revision с правильными значениями:

Major_Revision 0—9;

Minor_Revision 0—9.

Значение EDS_Revision 0.0 следует рассматривать как ошибочное.

Пример — EDS_Revision 1.4 соответствует старшей версии 1 и младшей версии 4.

А.4.1.3.14 Универсальный указатель ресурсов EDS_URL

Все ссылки на EDS_URL в требованиях к EDS предназначены для получения формализованной информации, необходимой для определения местоположения ресурсов и доступа к ним через Интернет. EDS_URL должен кодироваться в файлах EDS с использованием базового формата, установленного в ИСО 15745-2 для EDS_Char_Array. Кроме того, содержимое строки для EDS_URL должно иметь формат, установленный Сетевой рабочей группой RFC 1738 «Универсальный указатель ресурсов (URL)» Интернета. Что касается спецификаций в файле EDS, EDS_URL должен ограничиваться любой из следующих форм:

http;

ftp;

file (файл).

А.4.1.4 Основные требования к файлу EDS

А.4.1.4.1 Обзор

В данном подразделе описаны основные разделы EDS, являющиеся общими для нескольких сетей на основе CIP, и установлены соответствующие требования к применению. В таблице А.8 указано местоположение подразделов определений этих разделов.

Таблица А.8 — Определение основных разделов

Разделы EDS

Определено в

Раздел описания файла

А.4.1.4.2

Раздел описания устройства

А.4.1.4.3

Раздел классификации устройства

А.4.1.4.4

Раздел классов параметров

А.4.1.4.5

Раздел параметров

А.4.1.4.6

Раздел групп параметров

А.4.1.4.7

Раздел компоновки

А.4.1.4.8

Раздел управления соединениями

А.4.1.4.9

Раздел портов

А.4.1.4.10

Раздел модулей

А.4.1.5.2

АЛЛ.4.2 Раздел описания файла

Раздел описания файла должен содержать административную информацию о файле EDS. Средства конфигурирования должны считывать эту информацию, форматировать и воспроизводить ее пользователю. Пользователь таюке может иметь доступ к этому разделу с помощью программы просмотра текстового файла и воспроизводить неформатированную информацию. Раздел не требует внесения в него изменений, если только пользователь вручную не внес изменения в файл. Раздел описания файла должен содержать вводы, приведенные в таблице А.9.

Таблица А.9 — Формат описания файла

Имя вводимых данных (ввода)

Ключевое слово ввода

Номер поля

Тил данных

Обязательно/ Дополнительно

Текст описания файла

DescText

1

EDS_Char_Array

Обязательно

Дата создания файла

CreateDate

1

EDS Date

Обязательно

Время создания файла

CreateTime

1

E DS Time Of Day

Обязательно

Дата внесения последних изменений

ModDate

1

EDSDate

Дополнительно

Время внесения последних изменений

ModTime

1

E DS_Time_Of_Day

Дополнительно

Пересмотр EDS

Revision

1

EDS_Re vision

Обязательно

Базовый URL

HomeURL

1

EDSJJRL

Дополнительно

Вводимые в раздел описания файла данные должны предоставлять информацию, как показано в таблице А.10.

Таблица А.10 — Вводимые (входные) данные описания файла

Вводимые данные

Описание

Текст описания файла

Отдельная строка текста, воспроизводимая средствами конфигурирования. Разработчик EDS должен определить для этого ввода значимую строку текста. Все наборы символов должны заключаться в двойные кавычки

Дата создания файла

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

Время создания файла

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

Дата внесения последних изменений

Дата внесения последних изменений в EDS. Средства конфигурирования, позволяющие вносить изменения в файл EDS, в случае необходимости должны обновлять это поле. Средства конфигурирования, предусмотренные только ради удобства, должны воспроизводить содержимое этих вводимых данных, если вносятся изменения. Если средства конфигурирования вносят изменения в EDS, то они должны обновлять это поле. Однако если изменения в EDS вносят вручную или с помощью текстового редактора, то это поле также должно обновляться.

Такой ввод необходим, если

  • – изменения в файл EDS вносят с использованием программных средств или если

  • – представлены вводимые данные о времени внесения последних изменений

Время внесения последних изменений

Время внесения последних изменений в EDS. Средства конфигурирования, позволяющие вносить изменения в файл EDS, в случае необходимости должны обновлять эти вводимые данные. Средства конфигурирования, предусмотренные ради удобства, должны воспроизводить содержимое этого ввода, если вносятся изменения. Если средства конфигурирования вносят изменения в EDS. то они должны обновлять это поле. Однако если изменения в EDS вносят вручную или с помощью текстового редактора, то это поле также должно обновляться

Пересмотр EOS

Пересмотр EDS. Пересмотр EDS не взаимосвязан с каким-либо пересмотром продуктов; это просто пересмотр самого файла EDS

Окончание таблицы А. 10

Вводимые данные

Описание

Базовый URL

Универсальный указатель ресурсов основного файла EDS, файл, содержащий изображение иконки, и другие файлы, связанные с данным EDS. HomeURL должен определять полный квалифицированный URL для ссылки на основную версию файла EDS. Кроме того, область ссылки (без спецификации имени файла) используется для определения области, в которой содержится (содержатся) другой связанный файл (другие связанные файлы), относящийся (относящиеся) к устройству, описываемому данным EDS

На рисунке А.2 приведен пример, представляющий типичный раздел [File].

(File]

DescText = “Smart Widget EDS File”; CreateDate = 04-03-94;

$ created

$ last changed

S Revision of EDS

CreateTime = 17:51:44;

ModDate = 04-06-94;

ModTime = 22:07:30;

Revision = 2.1;

HomeURL = “http://www.odva.org/EDS/example.eds”;

Рисунок A.2 — Пример раздела [File] (информативный)

A.4.1.4.3 Раздел описания устройств

Раздел описания устройств должен содержать информацию изготовителя по устройствам, включая те же значения, что и в объекте Идентичность устройств. Раздел описания устройств должен содержать входные данные, установленные в таблице А.11.

Таблица А.11 — Формат описания устройств

Входные данные

Ключевое слово

Номер поля

Тип данных

Обязательно/ Дополнительно

Идентификатор продавца *’ь>

Vend Code

1

UINT

Обязательно

Название продавца

VendorName

1

EDS Char Array

Обязательно

Тип устройства”1 Ь)

ProdType

1

UINT

Обязательно

Строка типа устройства

ProdTypeStr

1

EDS Char Array

Обязательно

Код продукта’1 w

ProdCode

1

UINT

Обязательно

Старшая версия**Ь)

MajRev

1

USINT

Обязательно

Младшая версия*1

MinRev

1

USINT

Обязательно

Название продукта’1

ProdName

1

F nS_Char_Array

Обя.чатепкнп

Номер каталога

Catalog

1

EDS_Char_Array

Дополнительно

Исключить из соединения с использованием адаптерного блока

Исключить FromAdapterRackCon nection

1

EDS_Char_Array

Дополнительно

Имя файла, содержащего изображение иконки

Icon

1

EDS_Char_Array

Дополнительно

а> Эти вводимые данные представляют атрибут объекта Идентичность.

ь> Эти вводимые данные используют для согласования EDS с конкретным продуктом/версией.

с> Эти вводимые данные представляют атрибут объекта Идентичность, хотя тип данных может слегка отличаться.

Название входных данных поля описания устройства устанавливает номер строки ввода.

Средства конфигурирования должны использовать требуемые входные данные в разделе описания устройств для согласования EDS с конфигурируемым устройством. Входные данные должны предоставлять информацию, установленную в таблице А.12.

Таблица А.12 — Входные данные для описания устройств

Вводимые данные (вводы)

Описание

Идентификатор продавца

Числовой идентификатор продавца, определяемый объектом Идентичность, Атрибут 1

Название продавца

Текстовое название продавца. При воспроизведении в зависимости от возможностей дисплея может возникнуть необходимость усечения текста

Тип устройства

Числовой идентификатор устройства, определяемый объектом Идентичность. Атрибут 2

Строка типа устройства

Текстовое описание типа устройства, как установлено в соответствующем профиле устройств на основе CIP. Отдельные продавцы могут выбрать строки для отдельных типов устройств продавца

Код продукта

Установленный числовой идентификатор кода продуктов продавца, определяемый объектом Идентичность. Атрибут 3. Каждый код продуктов должен иметь собственную EDS

Старшая версия

Номер старшей версии, установленной продавцом, как определяется объектом Идентичность. Атрибут 4. Номер старшей версии продукта обычно может быть повышен . если вносятся изменения в форму, подготовку или функцию устройства. Изменения, внесенные в старшие версии, должны использоваться средствами конфигурирования для согласования устройства с EDS

Младшая версия

Номер младшей версии, установленной продавцом, как определяется объектом Идентичность. Атрибут 4. Номер младшей версии должен использоваться для идентификации изменений, внесенных в продукт, которые не влияют на выбор конфигурации пользователя (например, изменения, вносимые в корректоры ошибок встроенных программ, дополнительные светоизлучающие диоды, внутренние аппаратные средства). Изменения, вносимые в младшие версии, не должны использоваться средствами конфигурирования для согласования прибора с EDS

Название продукта

Текстовое название продукта, как определено объектом Идентичность. Атрибут 7. При воспроизведении в зависимости от возможностей дисплея может возникнуть необходимость усечения текста

Номер каталога

Номер текстового каталога или модели. Один или несколько номеров каталога могут быть ассоциированы с индивидуальным кодом продукта.

Примечание — В случае множества номеров каталога полезно предоставить столько номеров, сколько возможно. Например, номер 1438-ВАС7хх. где *хх’ представляет варианты номеров каталога, поддерживаемые данным кодом продукта/EDS

Исключить из FromAdapterRackCon nection

Это поле используется для описания, если устройство стойки необходимо исключить из адаптерного соединения стойки. Если значение поля соответствует строке «Yes». то этот модуль должен быть исключен из адаптерных соединений стойки путем сброса ассоциированных битое щелевой маски (вход, выход и конфигурация). Если значение поля соответствует строке «No» или это дополнительное поле пропущено, ассоциированные биты щелевой маски могут быть установлены

Окончание таблицы А. 12

Вводимые данные (вводы)

Описание

Имя файла, содержащего изображение иконки

Имя файла, содержащего изображение иконки. Идентификация файла, содержащего графическое представление устройства. Файл должен иметь формат “.ICO MSWindows и должен содержать, как минимум, иконку 16×16. Файл также может содержать иконки 32×32, 48×48 и 64 x64. Местоположение файла, содержащего изображение иконки, определяется с учетом местоположения, установленного ключевым словом HomeURL (без компоненты имени файла HomeURL), и имени файла, установленного этим ключевым словом. Это ключевое слово должно быть представлено только в случае, если ключевое слово HomeURL существует

На рисунке А.З приводится пример, представляющий типичный раздел устройств (Device).

[Device]

VendCode ~ 65535;

VendName = “Widget-Works, Inc.”;

ProdType = 0; ProdTypeStr = “Generic”; ProdCode = 42;

MajRev = 1; $ Device Major Revision

MinRev = 1; $ Device Minor Revision

ProdName = “Smart-Widget”;

Catalog = “1499-DVG”;

Icon – “exampte.ico”;

Рисунок А.З — Пример раздела устройств (информативный)

А.4.1.4.4 Раздел классификации устройств

Раздел классификации устройств должен классифицировать устройство, описываемое EDS. как принадлежащее одному или нескольким категориям устройств. Ключевое слово ввода для всех классификаций должно состоять из набора символов «Class», объединенных с десятичным числом. Числа должны начинаться с 1 для первого класса и должны увеличиваться для каждого дополнительного класса.

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

  • – ControlNet

  • – DeviceNet;

• EtherNetIP;

  • – ключевое слово поля со стороны продавца.

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

А.4.1.4.5 Раздел классов параметров

Раздел классов параметров должен идентифицировать общие атрибуты параметров конфигурации, описываемые EDS, которые соответствуют поднабору атрибутов класса Parameter Object и установлены в Библиотеке Объектов CIP.

Раздел классов параметров должен содержать вводимые данные, установленные в таблице А.13.

Таблица А. 13 — Формат классов параметров

Вводимые данные (вводы)

Ключевое слово вводимых данных

Число полей

Тип данных

Обязательно/ Дополнительно

Максимальное число экземпляров

Maxlnst

1

UINT

Обязательно

Дискриптор классов параметров

Descriptor

1

WORD

Обязательно

Экземпляр компоновки конфигурации

CfgAssembly

1

UINT

Обязательно

Вводимые в раздел классов параметров данные должны предоставлять информацию, как показано в таблице А. 14.

Таблица А.14 — Вводимые данные (вводы) классов параметров

Вводимые данные (вводы)

Описание

Максимальное число экземпляров

Идентифицирует общее число параметров конфигурации, содержащихся в устройстве, ассоциированных с EDS

Дескриптор классов параметров

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

Экземпляр компоновки конфигурации

Устанавливает число экземпляров объекта Компоновка, содержащих данные по конфигурации устройства

Ввод дескриптора классов параметров должен содержать биты, которые описывают характеристики параметров. как установлено в таблице А.15. Биты, не установленные в таблице А.15. не должны использоваться и им должны быть присвоены нулевые значения (0).

Таблица А.15 — Значения битов дескриптора классов параметров

Бит

Название

Значение и смысл битое

0

Поддерживает индивидуальный доступ к параметрам

0 = Ни к одному из параметров не имеется индивидуальный доступ. Используется только компоновка конфигурации.

1 = К параметрам имеется индивидуальный доступ

1

Поддерживает полные атрибуты

0 = Только текущее значение параметров доступно в устройстве.

1 = Все данные по конфигурации для параметра доступны в самом устройстве

2

Команда сохранения в энергонезависимом запоминающем устройстве

0 = Параметры, сохраняемые автоматически.

1 = Параметры, не сохраняемые автоматически, должна быть выполнена команда сохранения в энергонезависимом запоминающем устройстве, если необходимые параметры сохраняются в энергонезависимом запоминающем устройстве

3

Параметры сохраняются в энергонезависимом запоминающем устройстве

0 = Параметры не сохраняются в энергонезависимом запоминающем устройстве.

1 = Все полные параметры сохраняются в энергонезависимом запоминающем устройстве

Рисунок А.4 является примером, показывающим типичный раздел класса параметров.

[ParamClass]

Maxlnst = 3;

Descriptor = ОхОЕ; CfgAssembly = 3;

Рисунок А.4 — Пример раздела класса параметров (ParamClass) (информативный)

А.4.1.4.6 Раздел параметров

Раздел параметров должен идентифицировать параметры конфигурации в устройстве. Ключевое слово ввода должно быть одним из следующих наборов символов: «Рагат», «РгохуРагат», «ProxiedParam». объединенным с числом (десятичным) экземпляров параметров для устройства, например «Рагат1». Фактический экземпляр объекта параметров может быть (но необязательно) реализован в устройстве. Наоборот, не требуется. чтобы все экземпляры объекта параметров имели соответствующий ввод «ParamN» в EDS. Однако если экземпляр объекта параметров существует в узле и если этот параметр также описывается 8 EDS. тогда значение «N» в «ParamN» должно соответствовать экземпляру объекта параметра.

Каждый ввод должен содержать форматированные поля, представленные в таблице А. 16. Ключевые слова «РгохуРагат» и «ProxiedParam» определяются далее в А.4.1.5.3.1 как часть требований EDS к модулям.

ГОСТ Р ИС015745-2—2010

Таблица А.16 — Формат параметров

Имя поля

Номер поля

Тип санных

Обязательно/ Дополнительно

Зарезервированное

1

USINT

Обязательно

Размер маршрута связи

2

USINT

Дополнительно

Маршрут связи

3

ЕРАТН

Дополнительно

Дескриптор

4

WORD

Обязательно

Тип данных

5

USINT/EPATH

Обязательно

Размер данных

6

USINT

Обязательно

Название параметра

7

EDS Char Array

Обязательно

Строка единиц измерения

8

EDS Char Array

Обязательно

Строка справки

9

EDS Char Array

Обязательно

Минимальное значение

10

data type

Дополнительно

Максимальное значение

11

data type

Дополнительно

Значение по умолчанию

12

data type

Обязательно

Масштабный множитель

13

UINT

Дополнительно

Масштабный делитель

14

UINT

Дополнительно

Масштабное основание

15

UINT

Дополнительно

Масштабное смещение

16

INT

Дополнительно

Связь множителя

17

UINT

Дополнительно

Связь делителя

18

UINT

Дополнительно

Связь основания

19

UINT

Дополнительно

Связь смещения

20

UINT

Дополнительно

Десятичная точность

21

USINT

Дополнительно

Международное название пара* метров

22

STRINGI

Дополнительно

Международные технические единицы

23

STRINGI

Дополнительно

Международная строка справки

24

STRINGI

Дополнительно

а> Эти позиции будут определены в таблице А.20.

Вводимые данные раздела параметров должны содержать информацию, установленную в таблицах А.17иА.21.

Поля параметров, перечисленные в таблице А.17, являются общими для всех параметров.

Таблица А.17 — Общие поля параметров

Поля

Описание

Зарезервированное

Данное первое поле должно содержать нуль

Размер маршрута связи

Число байтов, используемых для представления маршрута. Если размер канала связи не согласуется с числом байтов в поле «Маршрут связи», тогда «Размер канала связи» должен быть проигнорирован. Если этот параметр не адресуется из канала связи, то данное поле должно быть пустым. Если это поле является пустым, а поле «Маршрут связи» непустым, «Размер канала связи» должен быть равен числу байтов в поле «Маршрут связи»

Окончание таблицы А. 17

Поля

Описание

Маршрут связи

Маршрут CIP к атрибуту объекта, где было найдено значение параметра. Маршрут должен быть введен как набор символов, используя нотацию маршрута, описанную в МЭК 62026-3:2000, и формат, установленный в А.4.1.3.6. Если параметр. описываемый этим вводом ParamN. не непосредственно адресуется из сети, то данное поле должно быть пустым. Если это поле содержит пустую строку, *”*, параметр, описываемый этим вводом ParamN. должен быть адресован как атрибут данных (атрибут экземпляра 1) N-ro экземпляра объекта параметров (т. е. используя маршрут «20 0F 24 N 30 01»)

Дескриптор

Дескриптор параметров. Содержит флаги битов, описывающих поведение отдельных параметров (см. таблицу А.18)

Тил данных

Идентификатор типов данных, как определено в МЭК 62026*3:2000 (Специ* фикация и Кодирование типов данных). Данный идентификатор должен кодироваться либо как USINT. либо как ЕРАТН.

Примечание — Старые версии файлов EDS могут использовать идентификаторы типов данных USINT, как установлено в таблице А.19, но эти версии в настоящее время устарели. Они представлены здесь по причинам совместимости

Размер (объем) данных

Значение размеров числовых данных. Для типов данных строки и ЕРАТН это поле устанавливает число байтов в расчете на символ или ввод. Следовательно, для типов данных STRING и ЕРАТН это значение должно быть равно 1. Для типа данных STRING2 оно должно равняться 2. Для типа данных STRINGN рассматриваемое значение должно быть установлено, как равное N

Название параметра

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

Строка единиц измере

ния

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

Строка справки

Набор символов текстовой справки. В случае необходимости для согласования с максимально допустимой длиной набора символов найденный текст должен быть усечен

Минимальное значение

Что касается смысла и требований, основанных на типе данных параметров, см. таблицу А.20

Максимальное значе

ние

Что касается смысла и требований, основанных на типе данных параметров, см. таблицу А.20

Значение по умолчанию

Числовое значение по умолчанию, присваемое значению данных параметров

Международное название параметров

Название параметра, представляемое в нотации STRINGI

Название международных технических единиц

Технические единицы измерения, представляемые в нотации STRINGI

Международная строка справки

Строка справки, представляемая в нотации STRINGI

Биты поля дискриптора должны быть такими, как установлено в таблице А.18

Таблица А.18 — Определения битов поля дескриптора

Бит

Определение

Значение и смысл битов

0

Поддерживает устанавливаемый маршрут

0 = Маршрут связи не может быть установлен. 1 – Маршрут связи может быть установлен

1

Поддерживает нумерованные строки

0 = Нумерованные строки не поддерживаются.

1 – Нумерованные строки поддерживаются и могут быть считаны

ГОСТ Р ИС0 1 5745-2—2010

Окончание таблицы А. 18

Бит

Определение

Значение и смысл битов

2

Поддерживает масштабирование

0 = Масштабирование не поддерживается.

1 = Масштабирование поддерживается. Атрибуты масштабирования реализуются, и значение представляется пользователю 8 технических единицах измерения

3

Поддерживает масштабируе

мые связи

0 = Масштабируемые связи не поддерживаются.

1 = Значения атрибутов масштабирования могут быть получены из других параметров

4

Только параметр считывания

0 = Значение параметра может быть записано (установлено) и считано (получено).

1 = Значение параметра может быть только считано (получено). а не установлено

5

Параметр мониторинга

0 – Значение napaMeipa не ибниьлнеi ия ус1рийс1ьим и реальном времени.

1 = Значение параметра обновляется устройством в реальном времени

6

Поддерживает расширенное точное масштабирование

0 – Расширенное точное масштабирование не поддерживается.

1 = Расширенное точное масштабирование должно быть осуществлено. и значение должно быть представлено пользователю в технических единицах измерения

7

Поддерживает непоследовательные нумерованные строки

0 = Непоследовательные нумерованные строки не поддерживаются.

1 – Непоследовательные нумерованные строки поддерживаются

8

Допускает как нумерованные, так и отдельные значения

0 = Как нумерованные, так и отдельные значения не поддерживаются.

1 = Как нумерованные, так и отдельные значения поддерживаются

9—15

Зарезервированные

Эти биты резервируются и должны устанавливаться на 0

Старые версии файлов EDS могут использовать идентификаторы типов данных, как установлено в таблице А.19.

Таблица А.19 — Идентификаторы типов данных (устаревшие)

Идентификатор типа данных

Определение

Описание типов данных

1

WORD

16-битное слово

2

UINT

16-битное целое число без знака

3

INT

16-битное целое число со знаком

4

BOOL

Булево

5

SINT

Короткое целое число

6

DINT

Двойное целое число

7

LINT

Длинное целое число

8

USINT

Короткое целое число без знака

9

UDINT

Двойное целое число без знака

10

ULINT

Длинное целое число без знака

11

REAL

Ординарный формат с плавающей точкой (IEEE 754)

Окончание таблицы А.19

Идентификатор типа данных

Определение

Описание типов данных

12

LREAL

Двойной формат с плавающей точкой (IEEE 754)

13

ITIME

Длительность (короткая)

14

TIME

Длительность

15

FTIME

Длительность (высокое разрешение)

16

LT1ME

Длительность (продолжительная)

17

DATE

Дата

18

TIME_OF_DAY

Время суток

19

DATE_AND_T1ME

Дата и время

20

STRING

8 бит в расчете на строку символов

21

STRING2

16 бит в расчете на строку символов

22

STRINGN

N байт в расчете на строку символов

23

SHORT_STRING

Короткая N-байтная строка символов

24

BYTE

8-битная строка

25

DWORD

32-битная строка

26

LWORD

64-битная строка

Таблица А.20 определяет смысл и конкретные требования, касающиеся вводов минимальных и максимальных значений, основанных на типе данных параметров.

I а b л и ц а А.20 — Семантика для вводов минимальных и максимальных значений

Тип данных

Описание и семантика

Семантика минимальных значений

Семантика максимальных значений

Обязательно/ Дополнительно/ Недопустимо

BYTE

Битовая строка — длина 8 бит

Минимальное и максимальное значения для этих типов данных не олреде-лены и не должны устанавливаться в файле EDS

Недопустимо

WORD

Битовая строка — длина 16 бит

DWORD

Битовая строка — длина 32 бита

LWORD

Битовая строка — длина 64 бита

STRING a>

Строка (индикатор длиной 2 байта, 1 байт в расчете на символ)

Минимальная длина строки

Максимальная длина строки

Обязательно

STRING2 a

Строка (индикатор длиной 2 байта, 2 байта в расчете на символ)

Минимальная длина строки

Максимальная длина строки

Обязательно

STRINGN a>

Строка (индикатор длиной 2 байта, N байтов в расчете на символ)

Минимальная длина строки

Максимальная длина строки

Обязательно

ГОСТ Р ИС0 1 5745-2—2010

Окончание таблицы А.20

Тил данных

Описание и семантика

Семантика минимальных значений

Семантика максимальных значений

Обязательно/ Дополнительно/ Недопустимо

SHORT_STRINGal

Строка символов (индикатор длиной 1 байт. 1-байтные символы)

Минимальная длина строки

Максимальная длина строки

Обязательно

ЕРАТН*1

Нумерованный маршрут

Минимальная длина строки

Максимальная длина строки

Дополнительно

Все другие типы данных

Минимальное числовое значение, которое может быть присвоено значению данных

Максимальное числовое значение, которое может быть присвоено значению данных

Дополнительно*’

а>Типы данных STRING, STRING2, STRINGN, SHORT_STRING и ЕРАТН не имеют спецификации по минимальному или максимальному значению. Поля минимального и максимального значений используются для представления длин минимальной и максимальной строки или минимального и максимального маршрута. В этих случаях параметр Размер данных используется для представления числа байтов, необходимых в расчете на символ или кодируемую единицу.

&>Если Минимальное значение и/или Максимальное значение не установлены, тогда минимальное и/или максимальное значения для параметра данных определяются в соответствии с МЭК 62026-3:2000, основываясь на тиле данных параметра.

Поля параметров, перечисленные в таблице А.21. являются дополнительными и значимыми только в случае. если используются со следующими типами данных: SINT, INT, DINT, LINT. USINT. UINT. UDINT. ULINT. REAL и LREAL. Спецификация этих полей с любым другим типом данных запрещается.

Таблица А.21 — Поля параметров, зарезервированные для типов числовых данных

Поля

Описание

Масштабный множитель

Числовое значение множителя, применяемого к текущему значению данных параметра

Масштабный делитель

Числовое значение делителя, применяемого к текущему значению данных параметра

Масштабное основа

ние

Числовое значение основания, применяемого к текущему значению данных параметра

Масштабное смеще

ние

Числовое значение смещения, применяемого к текущему значению данных параметра

Связь множителя

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

Связь делителя

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

Связь основания

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

Связь смещения

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

Десятичная точность

Числовое значение точности, применяемое к текущему значению данных параметра

Масштабирование не должно выполняться устройством, содержащим параметр, но должно выполняться средствами воспроизведения. Если масштабирование поддерживается, средство масштабирования должно использовать формулу, приведенную на рисунке А.5. позволяющую определить техническое значение параметра (т. е. воспроизводимое значение) из фактического значения параметра. Если масштабирование не поддержи* вается, тогда значение параметра должно воспроизводиться как оно есть.

EngValue = (ActualValue + Offset) • Mult • Base

Div •

Примечание — Если расширенное масштабирование не поддерживается, то эта формула должна использоваться с DecimalPrecision=0.

Рисунок А.5 – Формула масштабирования параметра

В разделе [Params] может также быть второе ключевое слово. Это ключевое слово должно использоваться для предоставления нумерованного списка выборов параметров, представляемых пользователю. Ключевое слово ввода для всех нумерованных параметров должно состоять из набора символов, «Епит», объединенных с десятичным числом из соответствующего ввода Param. Каждый ввод «Епит» должен состоять из пар целых чисел и строк.

На рисунке А.6 приведен пример типичного раздела Parameter.

[Params]

Paraml = 0.1 ,*20 02″, 0х0Е94,1,1,“Preset’,“V”,“User Manual рЗЗ“, 0, 5,1,1.1,1,0, 0,0,0,0,2;

Param2 =

0.

6. “20 04 24 01 30 03″, 0х0А94.

1,

1,

‘Trigger’.

‘Hz“,

“User Manual p49“, 0, 2, 0.

1.1.1.0,

$ parameter instance

$ First field shall equal 0

$ path size, path

$ descriptor — in hex format

$ data type

$ data size

$ name

$ units

$ help string

$ min, max, default data values

$ mult, div. base, offset scaling

$ mult, div, base, offset links not used

2;

РагагпЗ =

$ decimal places

$ not addressable from link

0,,, 0x0082, 8,1, “speed control”, ”, ”, 3,12. 3, ЕпитЗ = 3. ‘stop’. 8, “stow”, 12, “fast*;

Рисунок А.6 — Пример раздела [Params]

А.4.1.4.7 Раздел групп параметров

Раздел групп параметров должен идентифицировать все группы параметров в устройстве. Каждая группа параметров должна содержать список параметров в группе. Ключевое слово ввода для каждой группы должно состоять из комбинации набора символов. «Group», и номера группы параметров (десятичного), например «Groupl». Десятичные номера должны начинаться с единицы и увеличиваться на единицу.

Фактический экземпляр объекта группы параметров может быть (но необязательно) реализован в устройстве. Наоборот, не требуется, чтобы все экземпляры объекта группы параметров имели соответствующий ввод «GroupN» в EDS. Однако если экземпляр объекта группы параметров существует в узле и если эта группа параметров также описывается в EOS. тогда значение «N» в «Group N» должно соответствовать экземпляру объекта группы параметров.

Поля в каждом вводе должны содержать название группы, число элементов в группе и номера экземпляров параметров в группе. Раздел группы параметров должен содержать поля, показанные в таблице А.22.

Таблица А.22 — Формат группы параметров

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Строка названия группы

1

EDS_Char_Array

Обязательно

Число элементов

2

UINT

Обязательно

Параметр

3 до (числа членов + 2)

UINT

Обязательно

ГОСТ Р ИС0 1 5745-2—2010

На рисунке А.7 представлен пример, показывающий раздел типичных групп параметров.

[Groups]

Groupl = “Setup”. 2.1. 2; $ group 1

Group2 = “Monitor”, 2, 2, 3; $ group 2

Group3 = “Maintenance”, 2.1.3; $ group 3

Рисунок A.7 — Пример раздела [Groups]

A.4.1.4.8 Раздел компоновки

Раздел компоновки описывает структуру блока данных. Часто такой блок представляет собой атрибут данных объекта Компоновка; однако данный раздел EDS может быть использован для описания любой сложной структуры. Описание этого блока данных соответствует описанию механизма, используемого объектом Компоновка для описания списка своих членов.

Ключевое слово ввода «Revision» имеет поле 16-битных целых чисел, которое должно быть версией (атрибут класса 1) объекта Компоновка в приборе. Если этот дополнительный ввод опущен, версия объекта Компоновка должна быть версией 2.

Ключевое слово ввода для всех компоновок должно состоять из одного из следующих наборов символов: «Assem», «ProxyAssem». «ProxiedAssem». объединенных с номером (десятичным) экземпляра объекта Компоновка для прибора, например «Assem!». Если отдельный экземпляр объекта Компоновка адресуется из канала связи, должно быть взаимно однозначное соответствие между номером Assem в файле EDS и номером экземпляра компоновки в устройстве. Ключевые слова «ProxyAssem» and «ProxiedAssem» определены далее в АЛЛ.5.3.2 как часть требований EDS к модулям.

Каждый ввод должен содержать форматированные поля, показанные в таблице А.23.

Таблица А.23 — Формат ключевых слов AssemN

Имя поля

Номер поля

Тип данных

Обязательно/Дололнительно

Название

1

EDS Char Array

Дополнительно

Маршрут

2

EDS_Char_Array

Дополнительно

Размер

3

UINT

Условно

Дескриптор

4

WORD

Дополнительно

Зарезервированное

7. 9. 11…

Пустое

Размер элемента

8,10,12…

UINT

Условно

Элементная ссылка

AssemN. ProxyAssemN, ParamN. ProxyParamN. UDINT. or EPATH

Условно

Первое поле «Название» должно быть строкой, дающей имя блоку данных. Это дополнительное поле может быть использовано интерфейсом пользователя.

Второе поле «Маршрут» должно быть строкой, устанавливающей логическую цепь. Этот маршрут должен идентифицировать адрес блока данных в устройстве. Если блок, описываемый этим вводом AssemN, не непосредственно адресуется из канала связи, то это поле должно быть пустым. Если это поле является пустой строкой, блок данных должен адресоваться как атрибут данных (атрибут экземпляра 3) N-ro экземпляра объекта Компоновка.

Третье поле «Размер» должно устанавливать размер блока данных в байтах. Если ни это поле, ни поля «Member Size»/«Member Reference» не представлены, размер блока данных должен быть равен 0. Однако оба этих поля могут быть представлены, поскольку они оба устанавливают размер блока, размеры, устанавливаемые обоими способами, должны быть согласованы.

Четвертое поле «Дескриптор» должно быть битовым полем, описывающим некоторые характеристики Компоновки. Биты этого поля должны интерпретироваться, как установлено в таблице А.24.

Таблица А.24 — Определение битов поля дескриптора Компоновки

Бит

Название

Значение

0

Разрешение редактирования значений

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

При сбросе (0) содержимое этих полей элементных ссылок может не редактироваться. Если это поле является пустым, значение должно по умолчанию сбрасываться (0). Элементные ссылки, рассматриваемые как значения, являются ссылками, устанавливающими либо константу UDINT, либо маршрут, состоящий из Сегментов Данных (Data Segments)

1—15

Зарезервированные

Поля 5 и 6 должны быть зарезервированы и должны быть пустыми.

Остающиеся поля должны быть спаренными так, чтобы поле «Member Size (Размер элемента)» спаривалось с полем «Member Reference (Элементная Ссылка)», делая полное число полей четным. Число пар полей в таком вводе должно быть переменным. Пары должны соответствовать списку элементов объекта Компоновка.

Разрешенные значения поля «Member Reference» должны быть одним из следующих значений:

  • – ссылка ParamN или ProxyParamN из раздела (Params);

  • – ссылка AssemN или ProxyAssemN из раздела (Assembly);

  • – строка, представляющая маршрут (ЕРАТН);

  • – константа UDINT;

  • – пустое поле;

  • – дополнительные значения, установленные для модульной EDS в А.4.1.5.3.2.

Если поле «Member Reference» является пустым, число битов, установленных полем «Member Size», должно использоваться как дополнение в объекте Компоновка. Поле «Member Reference», содержащее пустую строку, следует рассматривать так, как если бы поле было пустым. Поле «Member Reference» и его соответствующее поле «Member Size» не должны быть одновременно пустыми. Если поле «Member Reference» устанавливает ЕРАТН. то этот маршрут должен состоять либо из Логических сегментов (маршрут к объекту в приборе), либо из Сегментов

ДАННЫХ

Поле «Member Size» должно измеряться в битах. Если поле «Member Size» является пустым, должен использоваться установленный размер поля «Member Reference». Установленный размер ввода Param должен быть таким, как определено в его 6-м поле (размер). Установленный размер ввода Assem должен быть таким, как определено в его 3-м поле (размер).

Элементы должны размещаться в первом младшем бите блока данных, так же как и в объекте Компоновка. Если размер поля «Member Size» меньше установленного размера соответствующего поля «Member Reference», должны использоваться младшие биты соответствующего поля «Member Reference». Если размер поля «Member Size» больше установленного размера соответствующего поля «Member Reference», после всего элемента должны следовать дополняющие нули, позволяющие увеличить размер элемента до «Member Size». Размер представленного блока данных должен быть целым числом байтов. Размер всех элементов должен соответствовать размеру поля «AssemN Size» (когда выражается в битах).

На рисунке А.8 представлен пример, показывающий типичный раздел Компоновка. В этом примере длина Assem5 составляет 1 байт, а его значение по умолчанию определяется как 0x21.

(Params)

Paraml =

$ First Geld shall equal 0 $ path size, path

$ descriptor

S data type : 16-bit WORD

$ data size in bytes

$ name

S units

$ help string

$ min. max, default data values

$ mult, dev, base, offset scaling not used $ mult, dev, base, offset link not used

$ decimal places not used

$ path size, path

О,

6. “20 OF 24 01 30 or,

0x0000,

2,

2.

“Idle state”.

“User Manual p48”,

0.2,1,

0.0.0,0,

0, 0, 0,0,

0;

Param2 =

0. 6. “20 OF 24 02 30 01”, 0x0000, 2, 2,

“Fault state”.”User Manual p49″, 0,2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0; (Assembly)

Revision = 2;

Assem5 = “configuration”. “20 04 24 05 30 03”,1„„

4. Paraml,

3, Param2.

Рисунок A.8 — Пример раздела (Assembly]

Примечание — Ключевое слов Variant, объединенное с десятичным числом (например, «Variantl»), резервируется для определения в дальнейшем новых типов вводов в разделе Компоновка.

А.4.1.4.9 Раздел управления соединениями Настоящий раздел CIP не используется в файлах EDS DeviceNet. поэтому он не рассмотрен в настоящем стандарте.

ГОСТ Р ИС015745-2—2010

А.4.1.4.10 Раздел портов

В настоящем разделе должны описываться маршрутизируемые порты CIP, имеющиеся в приборе. Каждый маршрутизируемый порт CIP. рассматриваемый в настоящем разделе, должен иметь соответствующий ввод. Ключевое слово ввода для всех портов должно состоять из набора символов «Port», объединенных с десятичным числом, соответствующим экземпляру объекта Порт. Например. Portl соответствует экземпляру 1 объекта Порт.

Примечание — Маршрутизируемый порт CIP представляет порт обмена сообщениями с другим портом CIP, подключенным к другому каналу связи CIP.

Каждый ввод должен содержать форматированные поля, установленные в таблице А.25.

Таблица А.25 — Формат ввода Порта

Имя поля

Номер поля

Тил данных

Обязательно/Дололнительно

Название типа порта

1

Ключевое слово поля продавца

Обязательно

Название порта

2

EDS Char Array

Дополнительно

Объект Порт

3

EDS_Char_Array

Дополнительно

Число портов

4

UINT

Обязательно

Зарезервированное

5.6

Пустое

Не используется

Специфика порта

7.8,…

Специфика порта

Специфика порта

Первое поле «Название типа порта» (Port Type Name) должно быть одним из следующих ключевых слое:

  • – ControlNet;

  • – Contro!Net_Redundant;

  • – TCP (указывает порт TCP EtherNet/IP);

  • – DeviceNet;

  • – Ключевое слово поля продавца, начинающееся с Идентификатора продавца и символа подчеркивания С65535_’).

Дополнительное поле «Название порта» (Port Name) должно быть строкой, устанавливающей название порта, и может быть использовано интерфейсом пользователя. Поле «Объект порта» (Port Object) должно иметь маршрут (ЕРАТН). который идентифицирует объект связи, относящийся к сети, ассоциированный с портом.

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

На рисунке А.9 представлен пример, показывающий типичный раздел Порт.

[Port]

Portl = DeviceNet, “Port A*. “20 03 24 01″.

2;

Port2 = 65535_Chassis, “Chassis”. “20 9A24 01″.

1;

$ name of port

S instance one of the DeviceNet object

S port number 2

$ name of port

$ vendor specific backplane object

S port number 1

Рисунок A.9 — Пример раздела (Port)

A.4.1.5 Требования к файлу EDS модульных устройств

А.4.1.5.1 Общие положения

Настоящий подраздел описывает концепцию и содержимое EDS модульных устройств и устанавливает требования к их применению.

А.4.1.5.2 Раздел модульных устройств Modular section

А.4.1.5.2.1 Содержимое

Раздел Modular section должен описывать систему на основе стойки. Должны быть использованы два типа модульных устройств:

-стойку:

– модуль.

А.4.1.5.2.2 Устройство на основе стоек

Раздел Modular section, описывающий стойку, должен содержать установленное ключевое слово «DefineSlotsInRack». Единственное поле этого ввода должно содержать 16-битовое целое число без знака (UINT), устанавливающее число слотов в стойке. Даже если для стойки устанавливается электронный ключ, он необязательно должен адресовываться из канала связи. Ключевое слово SLOT (Слот), используемое в определениях маршрута в разделе Connection Manager, должно находиться в диапазоне от 0 до числа слотов минус 1.

Ключевое слово «SlotDisplayRule» является дополнительным. Единственное поле этого ввода должно быть параметром из раздела {Params} (только ParamN), определяющим трансляцию между внутренними и внешними слотами.

На рисунке А.10 представлен пример, показывающий EDS для устройств на основе стойки, включая раздел модулей.

(File}

DescText = “Wonder Chassis EDS file”; CreateDate = 09-01-1997; CreateTime = 17:23:00;

Revision = 1.1;

[Device]

VendCode = 65535;

VendName = “Widget Works. Inc.”; ProdType =101;

ProdTypeStr = “Widget Works Generic”; ProdCode = 1;

MajRev = 1: MinRev= 1; ProdName = “Widget Chassis”; Catalog = “1234-chassis”;

[Params] Paraml =

$ first field shall equal 0

$ path size.path

$ descriptor

$ data type: 32-bit Unsigned Long Integer

$ data size in bytes

$ name

$ units

$ help string

$ min,max,default data values

$ mult.dev.base.offset scaling

$ mult,dev.base,offset link not used

$ decimal places not used

0.

0x0004,

8,

1.

“Slot Naming Convention”,

«I II

«I II

0,4,0,

0.0.0.0,

0,0,0,0, 0;

Enuml = 0,’n/a”,1,”0″,2,”1″,3,”2″.4.”3″;

[Modular] DefineSlotsInRack = 5; SlotDisplayRule – Paraml;

Рисунок A.10 — Раздел [Modular], описывающий стойку

A.4.1.5.2.3 Модульное устройство (основные вводы)

Раздел [Modular], описывающий модуль, должен содержать вводы «Width (Ширина)» и «Rack (стойка)».

Требуемый ввод с ключевым словом «Width» должен иметь единственное поле, которое устанавливает, сколько слотов в стойке используется модулем. Поле должно содержать 16 битное целое число без знака (UINT).

Ключевое слово ввода для всех стоек, в которых может быть размещен модуль, должно состоять из набора символов «Rack», объединенного с десятичным числом. Числа должны начинаться с 1 для первой стойки и должны увеличиваться на 1 для каждой дополнительной стойки. Поля для вводов «Rack» должны быть такими, как показано в таблице А.26.

Таблица А.26 — Формат ввода Rack (стойка)

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Vendor ID (Идентификатор продавца)

1

UINT

Обязательно

Product Туре (Тип продукта)

2

UINT

Обязательно

Product Code (Код продукта)

3

UINT

Обязательно

Major Revision (Старшая версия)

4

USINT

Обязательно

Minor Revision (Младшая версия)

5

USINT

Обязательно

Зарезервированное

6. 7.8

Пустое

Не используется

Legal Slot (Разрешенный слот)

9,10,11 …

UINT

Обязательно

ГОСТ Р ИС0 1 5745-2—2010

Поля «Vendor ID». «Product Туре». «Product Cod» «Major Revision» и «Minor Revision» должны идентифицировать электронный ключ стойки, в которую может быть вставлен модуль. Зарезервированное поле должно быть пустым. Поля «Legal Slot» должны идентифицировать слоты, в которые может быть вставлен модуль. EOS для модуля должен содержать один ввод «Rack» для каждой стойки, в которой может быть размещен модуль.

Рисунок А.11 представляет пример, показывающий типичный раздел Modular.

(Modular)

Width = 1;

Rackl = S this module can plug into

65535, 101,1,1,1„„ $ slots 1, 2, 3 and 4 of

  • 1.2, 3.4; S this five slot chassis

Рисунок A. 11 — Пример раздела [Modular]

A.4.1.5.2.4 Модульный прибор (дополнительные вводы)

Общее представление

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

С этой целью модульные устройства обычно разделяют на две категории:

  • – модули, имеющие подключения канала связи CIP, соответствующий объект Идентичность, адресуемый из канала связи, и размещаемые в слоте 0 (например, коммуникационные адаптеры);

  • – модули, не имеющие подключения канала связи CIP или адресуемого объекта Идентичность, не могут быть размещены в слоте 0 (например, модули ввода/вывода).

Примечание — CIP предоставляет другие механизмы идентификации устройств и их кодирования для модулей, поддерживающих адресуемый объект Идентичность канала связи CIP.

Вводы для модуля, не имеющего адресуемого объекта Идентичность канала связи

Раздел Modular, описывающий модуль, не имеющий адресуемого объекта Идентичность канала связи, может содержать ключевое слово ввода «ExtemallD». Ключевое слово должно иметь единственное поле. Это поле должно быть байтовой строкой, идентифицирующей модуль. Байтовая строка должна кодироваться с использованием того же формата, как и для ERATH.

На рисунке А.12 представлен пример, показывающий типичный раздел [Modular], который описывает модуль без адресуемого объекта Идентичность канала связи.

[Modular]

Width – 1;

$ this module can plug into $ slots 1, 2, 3 and 4 of

$ this five slot chassis

Rackl =

65535,101,1,1,1„„

  • 1.2. 3.4;

Rack2 =

65535,101, 2.1,1,„.

  • 1.2. 3.4, 5. 6, 7;

ExtemallD = “12 34″;

Рисунок A.12 — Пример раздела Modular (модуль без адресуемого объекта Идентичность канала связи)

Вводы для модуля, имеющего подключение канала связи и размещенного в слоте 0

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

Ключевое слово «GenericID» должно иметь единственное поле. Это поле должно быть байтовой строкой, которая должна включаться в сегмент данных для соединения модуля вместо ExtemallD, если кодирование модуля не требуется. Эта байтовая строка должна кодироваться с использованием того же формата, который был установлен для ЕРАТН.

Ключевое слово «ExtemIDExactMatch» должно иметь единственное поле со значением Yes (Да) или No (Нет). Значение Yes должно указывать, что ExtemallD устанавливает одно конкретное устройство. Значение No должно указывать, что ExtemallD устанавливает один из наборов совместимых устройств. Если ключевое слово «ExtemIDExactMatch» пропущено, по умолчанию ExtemallD должно устанавливать одно конкретное устройство.

Ключевое слово «Query (Запрос)» должно иметь четыре поля. Первое слово должно быть маршрутом, идентифицирующим адресуемый атрибут канала связи, который содержит набор внешних идентификаторов, по одному для каждого слота в стойке, за исключением слота 0. Второе поле должно быть сервисом для использования с маршрутом запроса (т. е. 1 — получить все атрибуты или 14 — получить один атрибут). Третье поле должно быть целым числом, определяющим число байтов, используемых для идентификации каждого модуля, и должно находиться в диапазоне 1—16. Если двойной модуль слота находится в стойке, внешний идентификатор модуля должен появляться дважды в наборе, возвращенном из запроса. Запрос должен быть адресован только модулю в слоте 0. Четвертое поле ExtemallD должно быть возвращаемым, когда имеется пустой слот, кодируемый с использованием того же формата, который был установлен для ЕРАТН.

На рисунке А.13 представлен пример, показывающий типичный раздел [Modular], описывающий модуль с подключением канала связи, размещенный в слоте 0.

[Modular]

Width = 1;

Rackl = $ this module can only plug into

65535, 101, 1,1,1„„ $ slot 0 of this five slot chassis

0;

Rack2 = 65535. 101,2.1,1,,,. 0;

Query = “20 04 24 07 30 03”,1.2. “FF FF”;

GenericID = “00 00″;

ExternallDExactMatch = No;

Рисунок A. 13 — Пример раздела [Modular] (модуль с подключением канала связи в слоте 0)

А.4.1.5.3 Добавление модулей в основные разделы EDS

А.4.1.5.3.1 Добавления в раздел Параметр

Ключевые слова «РгохуРагат» и «ProxiedParam» должны быть использованы для описания параметров, замещаемых адаптерным устройством DcviccNct о другом приборе, который нс поддерживает протокол CIP. Примером такого устройства является адаптерный модуль DeviceNet (устройство, замещающее соединение) в многослотной стойке ввода/вывода с аналоговым модулем ввода/вывода (устройство, замещающее соединение).

Ключевое слово «РгохуРагат» должно быть в EDS для устройства, выполняющего роль «заместителя».

Ключевое слово «ProxiedParam» должно быть в EDS для устройства, выполняющего роль «заместителя». Информация в разделе Modular должна быть использована для ассоциации файлов EDS. содержащих ключевые слова «РгохуРагат», с файлами EDS, содержащими ключевые слова «ProxiedParam». Эта ассоциация должна существовать, если оба файла EDS устанавливают согласованный ввод для стойки (Rack).

Десятичное число (объединяемое с «РгохуРагат» и «ProxiedParam») должно быть использовано для согласования «РгохуРагат» с «ProxiedParam». Значения поля согласованной пары «РгохуРагат» и «ProxiedParam» должны быть объединены для составления такой же информации по значению поля, которая существует в единственном вводе «Рагат». Это объединение должно быть выполнено с использованием значения поля из «РгохуРагат». если только значение этого поля не определяется ключевым словом «Module». Если значение поля, установленное в «РгохуРагат», определяется ключевым словом «Module», должно быть использовано значение поля, установленное в «ProxiedParam». Разрешается устанавливать значения поля для вводов «ProxiedParam». соответствующее значение поля которых в «РгохуРагат» не определяется ключевым полем «Module», однако эти значения поля не должны быть использованы, они должны существовать только для документации.

В разделе Param также может существовать другое ключевое слово. Это ключевое слово должно быть использовано для предоставления минимального, максимального значений и значения по умолчанию, добавляемых к минимальному, максимальному значениям и к значению по умолчанию «РгохуРагат». Это ключевое слово ввода должно иметь вид «ProxyParamSizeAdder» и должно быть объединено с десятичным числом из соответствующего ввода «РгохуРагат». Определение этих полей согласовывается с определениями «Рагат». Ключевое слово «ProxyParamSizeAdder» предоставляет средства для адаптера на соединении модуля (например. «ProxyConnect»). добавляя данные по адаптеру в данные по модулю и возвращая объединенные данные по соединению.

В разделе [Рагат] также может существовать другое ключевое слово, соответствующее «РгохуРагат», «РгохуЕпит». «РгохуЕпит» определяется так же, как и «Епит». за исключением того, что оно ассоциируется с «РгохуРагат», а не с «Рагат». В разделе [Рагат] также может существовать второе ключевое слово, соответствующее «ProxiedParam», «ProxiedEnum». «ProxiedEnum» определяется также, как и «Епит», за исключением того, что оно ассоциируется с «ProxiedParam», а не с «Рагат».

Л.4.1.5.3.2 Добавления о раздел Компоновка

Дополнительные ключевые слова ввода

Ключевые слова «ProxyAssem» и «ProxiedAssem» должны быть использованы для описания компоновок замещаемым адаптерным устройством CIP в другом устройстве, которое не поддерживает протокол CIP. Примером такого устройства является адаптерный модуль DeviceNet (устройство, замещающее соединение) в многослотной стойке ввода/вывода с аналоговым модулем ввода/вывода (прибор, замещающий соединение).

Ключевое слово «ProxyAssem» должно существовать в EDS для устройства, выполняющего роль «заместителя».

Информация в разделе Modular должна быть использована для ассоциации файлов EDS, содержащих ключевые слова «ProxyAssem», с файлами EDS, содержащими ключевые слова «ProxiedAssem». Эта ассоциация должна существовать, если оба файла EDS устанавливают согласованный ввод для стойки (Rack).

Десятичное число (объединяемое с «ProxyAssem» и «ProxiedAssem») должно быть использовано для согласования «ProxyAssem» с «ProxiedAssem». Значения поля согласованной пары «ProxyAssem» и «ProxiedAssem» должны быть объединены для составления такой же информации по значению поля, которая

ГОСТ Р ИС015745-2—2010

существует в единственном вводе «Assem». Это объединение должно быть выполнено с использованием значения поля из «ProxyAssem». если только значение этого поля не определяется одним из ключевых слов «Module» или «ModuleMemberList». Если значение поля, установленное в «ProxyAssem», определяется ключевым словом «Module», должно быть использовано значение поля, установленное в «ProxiedAssem». Значение поля «Module» не должно быть использовано для полей «Member Size» или «Member Reference». «ModuleMemberList» должно быть использовано только вместо пары полей «Member Size» и «Member Reference». Если значение поля, установленное в «ProxyAssem», определяется как «ModuleMemberList», должны быть использованы все поля «Member Size» и «Member Reference», установленные в «ProxiedAssem». Разрешается устанавливать значения поля для вводов «ProxiedAssem», соответствующее значение поля которых в «ProxyAssem» не определяется ключевым полем «Module», однако эти значения поля не должны быть использованы, они должны существовать только для документации.

Дополнительные ключевые слова полей

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

Следующие ключевые слова являются дополнительными значениями, учитывающими поле «Member Reference» е разделе Компоновка, которое определяет специальное назначение данных, установленных эле ментом компоновки:

  • – ExtemallD:

  • – InputSlotMaskO или InputSlotMaskl;

  • – OutputSlotMaskO или OutputSlotMaskl;

  • – ConfigSlotMaskO или ConfigSlotMaskl.

Ключевое слово «ExtemallD» устанавливает, что этот элемент компоновки должен содержать либо значение «ExtemallD» модульного устройства, если кодирование необходимо, либо значение «GenericID», устанавливаемое в EDS адаптера, если кодирование модуля не требуется.

Ключевое слово «ExtemallD». объединенное с десятичным числом (например, ExtemallD2), должно быть использовано для кодирования отдельного устройства для адаптерных соединений стойки. Десятичное (положительное) число N в «ExtemallDN» определяет слот N в стойке. Ключевое слово «ExternallDN» устанавливает, что данный элемент компоновки должен содержать либо значение «ExtemallD» модульного устройства для слота N, если кодирование устройства для этого слота необходимо, либо значение «GenericID», устанавливаемое в EDS адаптера, если кодирование модуля для этого слота не требуется.

Примечание Кодирование недоступно для слота 0.

Ключевое слово «InputSlotMaskO» или «InputSlotMaskl» должно указывать местоположение входной щелевой маски в компоновке. Входная щелевая маска является набором битов, которые представляют включение или исключение исполнителя модуля в (из) данные (данных) инициатора в адаптерном соединении стойки. Если используется ключевое слово «InputSlotMaskO», то бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т. д. Если используется ключевое с лово «InputSlotMaskl», то бит 0 в этом наборе представляет слот 1, бит 1 представляет слот 2 и т. д. Ключевые слова «InputSlotMaskO» и «InputSlotMaskl» не должны быть использованы одновременно в одной и той же компоновке. Предшествующее поле «Member size» должно быть обязательным.

Ключевое слово «OutputSlotMaskO» или «OutputSlotMaskl» должно указывать местоположение выходной щелевой маски в компоновке. Выходная щелевая маска является набором битов, которые представляют включение или исключение исполнителя модуля в данные (из данных) инициатора 8 адаптерном соединении стойки. Если используется ключевое слово «OutputSlotMaskO», то бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т. д. Если используется ключевое слово «OutputSlotMaskl», то бит 0 в этом наборе представляет слот 1. бит 1 представляет слот 2 и т. д. Ключевые слова «OutputSlotMaskO» и «OutputSlotMaskl» не должны быть использованы одлооремешю о одной и той же компоновке. Предшествующее поле «Member size» должно быть обязательным.

Ключевое слово «ConfigSlotMaskO» или «ConfigSlotMaskl» должно указывать местоположение щелевой маски конфигурации в компоновке. Щелевая маска конфигурации является набором битов, которые представляют включение или исключение данных по конфигурации модуля в сервис установления адаптерного соединения стойки. Если используется ключевое слово «ConfigSlotMaskO», то бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т. д. Если используется ключевое слово «ConfigSlotMaskl». то бит 0 е этом наборе представляет слот 1, бит 1 представляет слот 2 и т. д. Ключевые слова «ConfigSlotMaskO» и «ConfigSlotMaskl» не должны быть использованы одновременно в одной и той же компоновке. Предшествующее поле «Member size» должно быть обязательным.

А.4.1.5.3.3 Добавления в раздел Управление соединениями

Данный раздел CIP не используется в файлах EDS DeviceNet, поэтому в настоящем стандарте он не рассмотрен.

А.4.1.5.3.4 Примеры расширенного раздела EDS (информативные)

На рисунках А.14 и А.15 представлены примеры, показывающие использование модульных расширений EDS для разделов Параметр и Компоновка.

(Params)

Paraml = 0,„0х0010.2,2.* Target Error Codes”, O.OxFFFF.0.0.0.0,0.0,0.0.0,0;

ProxyParaml – 0„,0x0000,2,2.”input size”. “*,””,Module.Module,Module,0.0,0,0„,„0; ProxyParamSizeAdder! =4.4,4;

[Assembly]

Assem! = “connection input format”„„..32,Param1, .ProxyAsseml. ,ProxyAssem2; ProxyAsseml = “real time input format”,”20 7D 24 SLOT 30 0A*„„, ModuleMemberList;

ProxyAsseml = “real time status format**,“20 7D 24 SLOT 30 0B”…..ModuleMemberList

Рисунок A.14 — Пример вводов ProxyParam и ProxyAssem

[Params]

ProxiedParaml = „„„”input size”.*”,'”,0.2,2,

[Assembly] ProxiedAsseml = “real time input format”..,,,; ProxiedAssem2 – “real time status format”„„„16,;

Рисунок A.15 — Пример согласованных вводов ProxiedParam и ProxiedAssem

А.4.2 Требования к EDS для DeviceNet

А.4.2.1 Содержание ES для DeviceNet

Настоящий подраздел устанавливает требования к кодированию файлов Электронной Информационной Таблицы (EDS) для сетей на основе DeviceNet.

Таблица А.27 описывает структуру разделов, которые могут быть представлены в DeviceNet EDS, соответствующие разрешенные разграничители разделов и порядок этих разделов в EDS. Некоторые из этих разделов являются общими для нескольких сетей на основе CIP, их конкретное использование для DeviceNet установлено 8 А.4.2.2, если это необходимо. Другие разделы являются специфическими для DeviceNet и установлены в А.4.2.4.

Таблица А.27 — Структура файлов DeviceNet EDS

Название раздела

Разрешенный разграничитель

Размещение

Обязательно/ Дополнительно

Описание файлов

[File]

1

Обязательно

Описание устройств

[Device]

2

Обязательно

Классификация устройств

(Device Classification]

a)

Условно ь)

Класс параметров

[ParamClass]

a)

Дополнительно

Параметры

[Params]

a)

Дополнительно

Группы параметров

(Groups]

a)

Дополнительно

Компоновка

(Assembly]

a)

Дополнительно

Характеристики соединений

(Connection Manager]

He применяется

Не применяется

Порт

(Port)

a)

Дополнительно

Модульный

(Modular]

a)

Дополнительно

Нумерации параметров

[EnumPar]

a)

Дополнительно

Характеристики ввода/вывода

[IO_lnfo]

a)

Условно^

Спецификация продавца

[VendorlD_vend orspecrfickeyword]

Последний

Дополнительно

а> При размещении этих групп необходимо только следовать разделам Описание устройств и Классификация устройств.

ь> Данный раздел необходим, если включен модульный раздел, в противном случае он может быть пропущен.

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

Содержимое DeviceNet EDS должно быть организовано следующим образом:

  • – все файлы EDS DeviceNet, включающие в себя модульный раздел, должны также содержать раздел Классификация приборов, который должен использовать разрешенный разграничитель [Device Classification], и могут быть размещены где угодно после раздела Описание файлов;

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

А.4.2.2 Реализация общих требований CIP

А.4.2.2.1 Раздел классификации устройств

Для любого совместимого устройства DeviceNet раздел классификации устройств их EDS, если он представлен. должен содержать не менее одного ввода ключевого слова ClassN с его первым полем, установленным на DeviceNet. Дополнительная подклассификация классификации DeviceNet должна быть зарезервирована.

А.4.2.2.2 Раздел Порт

В разделе Порт EDS ввод PoctN, соответствующий совместимому порту DeviceNet. должен устанавливаться следующим образом:

  • – поле «Port Type Name (Название типа порта)» должно иметь значение «DeviceNet»;

  • – дополнительное поле «Port Object (объект Порт») должно быть установлено на маршруте объекта DeviceNet для ятлгл портя:

  • – в полях «Рог! Name (Название порта)» и «Port Number (Число портов)» не размещаются никакие дополнительные требования, кроме требований, установленных в общем подразделе CIP (см. А.4.1.4.10).

А.4.2.3 Дополнительные требования к кодированию данных

Для файлов DeviceNet EDS дополнительные требования к кодированию данных не устанавливают.

А.4.2.4 Дополнительные требования к файлам

А.4.2.4.1 Раздел нумерованных строк параметров

Настоящий раздел предоставляет нумерованный список параметров, выбираемых пользователем. Ключевое слово ввода для всех нумерованных строк параметров должно состоять из набора символов «Рагат». объединенного с номером (десятичным) экземпляра параметров для прибора. Каждый параметр, поддерживающий нумерованные строки и не имеющий соответствующего ввода Enum в разделе Параметры, должен иметь ввод в этом разделе. Вводы должны быть расположены в возрастающем порядке.

Поля в каждом вводе должны содержать нумерованные строки, разделенные запятыми. Положение в списке определяет нумерованное значение, присваемое строке. Первой строке в нумерованном списке присваивается минимальное значение параметра. Каждой последующей строке присваивается значение, увеличенное на единицу. Для каждого целого значения от минимального значения параметра до максимального значения нарамв1ра должна бьиь использована одна cipo«a.

Каждый ввод в разделе Нумерованные строки параметров должен содержать форматированные поля, показанные в таблице А.28.

Таблица А.28 — Формат нумерованных строк параметров

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Нумерованная строка (нумерованные строки)

1 — число нумераций

EDS_Char_Array

Обязательно

На рисунке А.16 представлен пример, показывающий типичный раздел нумерованных строк параметров. [EnumPar]

Param2 = $ enums for param 2

“1 ms input delay”,

“10 ms input delay”.

“25 ms input delay”;

РагатЗ = $ enums for param 3

“Light Operate”,

“Dark Operate”;

Рисунок A. 16 — Пример раздела [EnumPar]

A.4.2.4.2 Раздел характеристик ввода/вывода

А.4.2.4.2.1 Содержимое

Раздел характеристик ввода/вывода должен содержать информацию о возможностях ввода/вывода заранее определенного набора основных/подчиненных соединений прибора (см. МЭК 62026-3:2000). Этот раздел является обязательным, если прибор реализует соединение ввода/вывода, характеристики которого могут быть полностью представлены одним или несколькими вводами в этом разделе.

В данном разделе должны быть описаны следующие характеристики ввода/вывода прибора:

  • – тип триггера ввода/вывода (Опрос, Строб, Изменение состояния. Циклический);

  • – размер сообщения ввода/вывода (число байтов);

  • – заранее установленные маршруты соединений ввода/вывода.

Раздел характеристик ввода/вывода должен содержать вводы, установленные в таблице А.29.

Таблица А.29 — Формат характеристик ввода/вывода

Имя ввода

Ключевое слово ввода

Обязательно/Дололнительно

Информация ввода/вывода по умолчанию

Default

Обязательно

Информация по опросам

Pollinfo

Условно

Информация по стробам

Strobeinfo

Условно

Информация по многоадресным запросам

MulticastPollInfo

Условно

Информация по изменению состояния

COSInfo

Условно

Информация по циклам

Cydiclnfo

Условно

Соединение выхода устройства

Input

Условно

Соединение входа устройства

Output

Условно

Вводы в разделе характеристик ввода/вывода должны предоставлять информацию, как показано в таблице А.30.

Таблица А. 30 — Вводы характеристик ввода/вывода

Вводы

Описание

Информация ввода/ вывода по умолчанию

Определяет информацию ввода/вывода по умолчанию

Информация по опросам

Определяет типы ввода/вывода, которые могут быть использованы с соединением с опросами и с соединениями выхода и входа опросов по умолчанию. Если этот ввод не представлен, опрашиваемое соединение в приборе не поддерживается

Информация по

стробам

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

Информация по изменению состояния

Определяет типы ввода/вывода. которые могут быть использованы вместе с соединением Изменение состояния и с соединениями выхода и входа Изменения состояния по умолчанию . Если этот ввод не представлен, соединение Изменение состояния в устройстве не поддерживается

Информация по циклам

Определяет типы ввода/вывода, которые могут быть использованы с циклическим соединением вместе с циклическими соединениями выхода и входа по умолчанию. Если этот ввод не представлен, циклическое соединение в приборе не поддерживается

Информация по

многоадресным запросам

Определяет типы ввода/вывода, которые могут быть использованы с соединением многоадресных опросов и с соединениями выхода и входа многоадресных опросов по умолчанию. Если этот ввод не представлен, соеденение многоадресных опросов в приборе не поддерживается

Соединение выхода поибооа

Определяет размеры соединения в байтах и битах, которые могут быть использованы типами ввода/вывода, маршрут соединения, строку имени и строку справки

Соединение входа прибора

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

А.4.2.4.2.2 Ввод информации ввода/вывода по умолчанию

Ввод информации ввода/вывода по умолчанию должен определять информацию ввода/вывода прибора по умолчанию.

Ввод информации ввода/вывода по умолчанию должен содержать форматированные поля, представленные в таблице А.31.

Таблица А.31 — Формат информации ввода/вывода по умолчанию

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Маска типа ввода/вывода по умолчанию

1

WORD

Обязательно

Поле маски типа ввод/вывода по умолчанию должно быть битовым отображаемым полем, позволяющим определять типы ввода/вывода по умолчанию для устройства. Присвоение битое установлено в таблице А.32.

Таблица А.32 — Присвоение битов маски типа ввода/вывода по умолчанию

Бит

Определение бита

0

Опрос

1

Строб

2

Изменение состояния

3

Циклический

4

Многоадресный опрос

5—15

Зарезервированный

А.4.2.4.2.3 Ввод информации по опросам

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

Если данный ввод не представлен, тогда:

• соединение с опросами в приборе не поддерживается или

– соединение не может быть полностью описано логической структурой этого ключевого слова.

Ввод информации по опросам должен содержать форматированные поля, показанные в таблице А.ЗЗ.

Таблица А.ЗЗ — Формат информации по опросам

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Совместимая маска типа ввода/вывода

1

WORD

Обязательно

Соединение выхода по умолчанию

2

UINT

Обязательно

Соединение охода по умолча

НИЮ

3

UINT

Обязательно

Ввод информации по опросам должен предоставлять информацию, как показано в таблице А.34.

Таблица А.34 — Поля информации по опросам

Поля

Описание

Совместимая маска типа ввода/вывода

Битовое отображаемое поле определяет типы ввода/вывода. с которыми может быть объединено опрашиваемое соединение. Присвоение битов должно быть таким же. как и для маски типа ввода/вывода по умолчанию (см. таблицу А.32). Должен быть установлен бит опроса

Окончание таблицы А.34

Поля

Описание

Соединение выхода по умолчанию

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

Соединение входа по умолчанию

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

А.4.2.4.2.4 Ввод информации по стробам

Ввод информации по стробам должен определять типы ввода/вывода. которые могут быть использованы вместе со строб-соединением. Он также должен устанавливать строб-соединения выхода и входа по умолчанию.

Если данный ввод не представлен, тогда:

  • – строб-соединение в приборе не поддерживается или

  • – соединение не может быть полностью описано логической структурой этого ключевого слова.

Ввод информации по стробам должен содержать форматированные поля, показанные в таблице А.35.

Таблица А.35 — Формат информации по стробам

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Совместимая маска типа ввода/вывода

1

WORD

Обязательно

Соединение выхода по умолчанию

2

UINT

Обязательно

Соединение входа по умолчанию

3

UINT

Обязательно

Ввод информации по стробам должен предоставлять информацию, как показано в таблице А.36.

Таблица А.36 — Поля информации по стробам

Поля

Описание

Совместимая маска типа ввода/вывода

Битовое отображаемое поле определяет типы ввода/вывода. с которыми может быть объединено строб-соединение. Присвоение битов должно быть таким же. как и для маски типа ввода/вывода по умолчанию (см. таблицу А.32). Должен быть установлен битовый строб

Соединение выхода по умолчанию

Устанавливает один из вводов соединения выхода по умолчанию для строб-соединения. Нуль должен указывать, что для строб-соединения выходные данные отсутствуют

Соединение входа по умолчанию

Устанавливает один из вводов соединения входа по умолчанию для строб-соединения. Нуль должен указывать, что для строб-соединения входные данные отсутствуют

А.4.2.4.2.5 Ввод информации по изменению состояния

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

Если данный ввод не представлен, тогда:

  • – соединение Изменение Состояния в приборе не поддерживается;

  • – соединение не может быть полностью описано логической структурой этого ключевого слова.

Ввод информации по изменению состояния должен содержать форматированные поля, показанные в таблице А.37.

Таблица А.37 — Формат информации по изменению состояния

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Совместимая маска типа ввода/вывода

1

WORD

Обязательно

Соединение выхода по умолчанию

2

UINT

Обязательно

Соединение входа по умолча

нию

3

UINT

Обязательно

Ввод информации по изменению состояния должен предоставлять информацию, как показано в таблице А.38.

Таблица А.38 — Поля информации по изменению состояния

Поля

Описание

Совместимая маска типа ввода/вывода

Битовое отображаемое поле определяет типы ввода/вывода, с которыми может быть объединено соединение Изменение Состояния. Присвоение битов должно быть таким же, как и для маски типа ввода/вывода по умолчанию (см. таблицу А.32). Должен быть установлен бит изменения состояния

Соединение выхода по умолчанию

Устанавливает один из вводов соединения выхода по умолчанию для соединения Изменение Состояния. Нуль должен указывать, что для соединения Изменение Состояния выходные данные отсутствуют

Соединение входа по умолчанию

Устанавливает один из вводов соединения ввода по умолчанию для соединения Изменение Состояния. Нуль должен указывать, что для соединения Изменение Состояния входные данные отсутствуют

А.4.2.4.2.С Ввод информации по циклам

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

Если данный ввод не представлен, тогда:

  • – циклическое соединение в устройстве не поддерживается;

  • – соединение не может быть полностью описано логической структурой этого ключевого слова.

Ввод информации по циклам должен содержать форматированные поля, показанные в таблице А.39.

Таблица А.39 — Формат информации по циклам

Имя поля

Номер поля

Тил данных

Обязательно/Дополнительно

Совместимая маска типа ввода/вывода

1

WORD

Обязательно

Соединение выхода по умолчанию

2

UINT

Обязательно

Соединение входа по умолчанию

3

UINT

Обязательно

Ввод информации по циклам должен предоставлять информацию, как показано в таблице А.40.

Таблица А.40 — Поля информации по циклам

Поля

Описание

Совместимая маска типа ввода/вывода

Битовое отображаемое поле определяет типы ввода/вывода, с которыми может быть объединено циклическое соединение. Присвоение битое должно быть таким же. как и для маски типа ввода/вывода по умолчанию (см. таблицу А.32). Должен быть установлен бит циклов

Окончание таблицы А.40

Поля

Описание

Соединение выхода по умолчанию

Устанавливает один из вводов соединения выхода по умолчанию для циклического соединения. Нуль должен указывать, что для циклического соединения выходные данные отсутствуют

Соединение входа по умолчанию

Устанавливает один из вводов соединения входа по умолчанию для циклического соединения. Нуль должен указывать, что для циклического соединения входные данные отсутствуют

А.4.2.4.2.7 Ввод информации по многоадресным опросам

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

Если данный ввод не представлен, тогда:

– соединение с многоадресными опросами в приборе не поддерживается;

• соединение не может быть полностью описано логической структурой этого ключевого слова.

Ввод информации по многоадресным опросам должен содержать форматированные поля, показанные в таблице А.41.

Таблица А.41 — Формат информации по многоадресным опросам

Имя поля

Номер поля

Тип данных

Обязательно/Дополнительно

Совместимая маска типа ввода/вывода

1

WORD

Обязательно

Соединение выхода по умолчанию

2

UINT

Обязательно

Соединение входа по умолча

нию

3

UINT

Обязательно

Ввод информации по многоадресным опросам должен представлять информацию, как показано в таблице А.42.

Таблица А.42 — Поля информации по многоадресным опросам

Поля

Описание

Совместимая маска типа ввода/вывода

Битовое отображаемое поле определяет типы ввода/вывода. с которыми может быть объединено соединение с многоадресными опросами. Присвоение битов должно быть таким же. как и для маски типа ввода/вывода по умолчанию (см. таблицу А.32). Должен быть установлен бит многоадресных опросов

Соединение выхода по умолчанию

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

Соединение входа по умолчанию

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

А.4.2.4.2.8 Вводимые данные соединений выходов устройства

Вводимые данные соединений выходов устройства должны быть использованы для определения логи* чески кодированного маршрута к данным одного или нескольких объектов, которые могут быть созданы соедине* нием ввода/вывода.

Отдельный ввод данных необходим для каждого случая, если:

  • – он может быть установлен в маршруте соединения выхода;

  • – он может быть описан в файле EDS.

Каждый ввод должен определять размер соединения в байтах и битах, если он использует типы ввода/ вывода, маршрут соединения, строку имен и строку справки.

Ключевое слово для вводов соединений выхода должно состоять из комбинации набора символов «input», объединенных с десятичным числом, например «input!». Десятичное число должно начинаться с единицы и увеличиваться на единицу.

Каждый ввод соединения выхода должен содержать форматированные поля, как показано в таблице А.43.

Таблица А.43 — Формат соединения выхода

Имя поля

Номер поля

Тип данных

Обязательно/ Дополнительно

Размер

1

UINT

Обязательно

Число значимых битов

2

UINT

Обязательно

Совместимая маска типа ьво-да/вывода

3

WORD

Обязательно

Строка имен

4

EDS Char Array

Обязательно

Размер маршрута соединения

5

UINT

Обязательно

Маршрут соединения

6

EPATH

Обязательно

Строка справки

7

EDS_Char_Array

Обязательно

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

Таблица А.44 — Поля соединений выхода

Поля

Описание

Размер

Размер этих данных в байтах

Число значимых би* тое

Число последовательных значимых битов этих данных (биты, которые фактически используются). Нуль должен указывать, что все биты данных являются значимыми

Совместимая маска типа ввода/вывода

Битовое отображаемое поле, определяющее типы ввода/вывода. с которыми эти данные могут быть использованы. Присвоение битов должно быть таким же. как и для маски типа ввода/вывода по умолчанию ( см. таблицу А.32)

Строка имен

Текстовое имя данных (максимум 32 символа). При воспроизведении в зависимости от возможностей дисплея средств конфигурирования может возникнуть необходимость усечения текста

Размер маршрута соединения

Число байтов, используемых для представления маршрута

Маршрут соединения

Маршрут данных соединения. Маршрут должен вводиться как набор символов с использованием нотации маршрута, описанной в МЭК 62026-3:2000. и формата, установленного в А.4.1.3.6.

Строка справки

Текстовая строка справки. При воспроизведении в зависимости от возможностей дисплея средств конфигурирования может возникнуть необходимость усечения текста.

А.4.2.4.2.9 Вводимые данные соединений входов устройства

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

Отдельный ввод необходим для каждого случая, если;

• он может быть установлен в маршруте соединения входа;

– он может быть описан в файле EDS.

Каждый ввод должен определять размер соединения в байтах и битах, если он использует типы ввода/ вывода, маршрут соединения, строку имен и строку справки.

Ключевое слово для вводов соединений входов должно состоять из комбинации набора символов «Output», объединенных с десятичным числом, например «Outputl». Десятичное число должно начинаться с единицы и увеличиваться на единицу.

Каждый ввод соединения входа должен содержать форматированные поля, как показано в таблице А.45.

Таблица А.45 — Формат соединения входа

Имя поля

Номер поля

Тип данных

Обязательно/ Дополнительно

Размер

1

UINT

Обязательно

Число значимых битов

2

UINT

Обязательно

Совместимая маска типа вво-да/вывода

3

WORD

Обязательно

Строка имен

4

EDS Char Array

Обязательно

Размер маршрута соединения

5

UINT

Обязательно

Маршрут соединения

6

EPATH

Обязательно

Строка справки

7

E DS_Ch a r_Array

Обязательно

Ввод соединения входа должен предоставлять информацию, представленную в таблице А.46.

Таблица А.46 — Поля соединений входа

Поля

Описание

Размер

Размер этих данных в байтах. Для строб-соединений единица должна устанавливать, что строб-бит используется, а нуль должен устанавливать, что он не используется

Число значимых би

тов

Число последовательных значимых битов этих данных (биты, которые фактически используются). Нуль должен указывать, что все биты данных являются значимыми

Совместимая маска типа ввода/вывода

Битовое отображаемое поле, определяющее типы ввода/вывода. с которыми эти данные могут быть использованы. Присвоение битов должно быть таким же, как и для маски типа ввода/вывода по умолчанию ( см. таблицу А.32)

Строка имен

Текстовое имя данных (максимум 32 символа). При воспроизведении в зависимости от возможностей дисплея средств конфигурирования может возникнуть необходимость усечения текста

Размер маршрута соединения

Число байтов, используемых для представления маршрута

Маршрут соединения

Маршрут данных соединения. Маршрут должен вводиться как набор символов с использованием нотации маршрута, описанной в МЭК 62026-3:2000, и формата, установленного в А.4.1.3.6

Строка справки

Текстовая строка справки. При воспроизведении в зависимости от возможностей дисплея средств конфигурирования может возникнуть необходимость усечения текста

А.4.2.4.2.10 Примеры

Настоящий подраздел содержит примеры разделов файлов EDS, устанавливающие характеристики ввода/ вывода устройств.

Рисунок А.17 представляет пример, показывающий типичный раздел характеристик ввода/вывода для прибора с возможностями опросов и стробов (Опрос по умолчанию).

[IO_lnfo]

Default = 0x0001; S Pol

$ Bit mapped (0 – None)

$ Bit 0 = Poll

$ Bit 1 = Strobe

ГОСТ Р ИС015745-2—2010

Pollinfo =

0x0003,

$ OK to Combine w/Poll or Strobe

2,

3;

$ Default Input = Input2 $ Default Output = Output3

Strobeinfo =

0x0003,

$ OK to Combine w/Poll or Strobe

1,

4;

S Default Input – Inputl S Default Output = Output4

– Input Connections – –

Inputl =

1.

S 1 byte

1.

$ 1 bit is significant

0x0003,

S Strobe or Poll Connection

‘Data*,

$ Name String

6.

$ Path Size

“20 04 24 20 30 03‘,

S Assy Obj Inst 20 Attr 3

‘This is a help string.*:

$ Help String

Input2 = 2, 0, 0x0003, ‘Status*, 6, “20 04 24 21 30 03”, ‘This is a help string.’;

Input3 = 3. 0. 0x0003, ’Data + Status*. – Output Connections —

Outputl =

6, *20 04 24 22 30 03″. “This is a help string

1.

S 1 byte

0.

S AN bits are significant

0x0001,

$ Poll Only Connection

‘Data”,

$ Name String

6.

S Path Size

‘20 04 24 10 30 03”,

S Assy Obj Inst 10 Attr 3

“This is a help string.’;

S Help String

Output2 = 2, 0, 0x0001, ‘Reference’, 6,

“20 04 24 11 30 03*. ‘This is a help string.’:

Output3 = 3, 0, 0x0001, ‘Data + Reference”,6, ’20 04 24 12 30 03”. ‘This is a help s

Output4 =

1.

$ Use Strobe Bit

1,

$ 1 significant bit

0x0002,

$ Strobe Only Connection

‘Data Bit”.

$ Name String

4.

$ Path Size

‘20 0E 24 01″,

S Sensor Obj Inst 1

“This is a help string.’; Outputs =

$ Help String

1,

S Use Strobe Bit

1,

S 1 significant bit

0x0002,

$ Strobe Only Connection

‘Sync Bit”,

$ Name String

4,

$ Path Size

“20 0E 24 02″,

S Sensor Obj Inst 2

‘This is a help string.’: Output6 =

$ Help String

0.

$ Strobe Bit Ignored. Don’t Map

0,

$ Al bits are significant (None)

0x0002,

$ Strobe Only Connection

“Sync Pulse’,

$ Name String

4.

$ Path Size

“20 0E 24 03”.

$ Sensor Obj Inst 3

“This is a help string.’;

$ Help String

Рисунок А.17 — Пример характеристик ввода/вывода. Устройство с возможностями опросов и стробов. Опрос по умолчанию

Рисунок А.18 представляет пример, показывающий типичный раздел характеристик ввода/вывода для уст* ройства Strobe Only (только один вход и один выход).

[lOJnfo)

Default = 0x0002; Strobeinfo =

S Strobe Only

0x0002 1; 1;

S Strobe Only

S Default Input = Inputl

S Default Output = Outputl

$ – – Input Connections – –

Inpull =

1.

$ 1 byte

2,

$ 2 bits are significant

0x0002.

$ Only Strobe Connection

‘Data & Status Bits’,

S Name String

4.

$ Path Size

‘20 0E 24 0Г.

3 Sensor Obj Inst 1

‘This is a help string.’:

$ Help String

$ – – Output Connections – –

Outputs

0.

$ Strobe bit not used

0.

3 AN bits are significant

0x0002.

$ Only Strobe Connection

‘Strobe Out Bit Not Used*.

S Name String

6.

S Path Size

‘20 0E 24 01*.

$ Sensor Obj Inst 1

‘This is a help string.’;

$ Help String

Рисунок A.18 — Пример характеристик ввода/вывода для устройства Strobe Only.

только один вход и один выход

Рисунок А.19 представляет пример, показывающий типичный раздел характеристик ввода/вывода для

устройства с возможностями опросов

и изменения состояния (Опросы и изменение состояния по умолчанию).

[lOJnfo]

Default = 0x0005;

$ Рой & Change of State $ Bit 0 = Poll

3 Bit 2 =Change of State

Pollinfo =

0x0005,

$ OK to Combine w/Poll or COS

2.

2;

$ Default Input = Input2 S Default Output = Output2

COSInfo =

0x0005.

$ OK to Combine w/Poll or COS

1.

1;

S Default Input = Inputl $ Default Output = Outputl

$ – – Input Connections – –

Inputl =

1.

S 1 byte

1.

$ 1 trit is significant

0x0005,

$ Poll or COS Connection

‘Data*.

$ Name String

6,

$ Path Size

‘20 04 24 20 30 03*.

$ Assy Obi Inst 20 Attr 3

‘This is a help string.’; S Help Siring

Input2 = 2.0. 0x0005. ‘Status*. 6. *20 04 24 21 30 03″, “This is a help string.’;

Inputs = 3. 0. 0x0005, “Data ♦

Status’. 6. *20 04 24 22 30 03′. “ I his is a help string.*:

$ * * Output Connections – –

Outputl =

1.

S 1 byte

0.

3 AN bits are significant

0x0005.

$ Poll or COS Connection

‘Data*.

$ Name String

6,

S Path Size

‘20 04 24 10 30 03’,

$ Assy Obj Inst 10 Attr 3

‘This is a help string.’;

$ Help String

Output2 = 2, 0.0×0005. ‘Reference”. 6. “20 04 24 11 30 03″. “This is a help string.*;

Output3 = 3, 0, 0x0005, ‘Data + Reference’,6, “20 04 24 12 30 03*. “This is a help string.”;

Рисунок A.19 — Пример характеристик ввода/вывода. Устройство с возможностями опросов и изменения

состояния.

Опросы и изменение состояния по умолчанию

ГОСТ Р ИС0 15745-2—2010

Приложение В (обязательное)

Шаблоны профилей CANopen

В.1 Описание шаблонов профилей устройств

В.1.1 Общие положения

XML схемы шаблонов профилей устройств, определенные в В.1.5. содержат отображения диаграмм классов профилей устройств, представленных в 6.2.1. Помимо классов и атрибутов отображения они содержат дополнительные элементы с атрибутами XML или без них. облегчающие однозначное описание профилей устройств и устройств XML. Для повторного использования некоторых определений элементов и гибкого расширения описаний профиля устройств и устройств с использованием моделей, используемых здесь, классы были отражены в нескольких XML схемах. В таблице В.1 перечислены все XML схемы описания обмена шаблонами профилей устройств CANopen.

Примечание – Описание профилей устройств или описание устройств может не потребоваться для применения всех XML схем, установленных в настоящем приложении.

Таблица В.1—Обзор XML схем

Имя

Содержимое

Пространство имен

COFDCML.xsd

Основные классы

http://www.can-cia.org/xml/canopen

FDCMLdt-xsd

Определение типов данных

http://www.fdcml.org

FDCMLk1CO15745Device Function.xsd

Классы функций приборов

http://www.fdcm!.org/HCO15745DeviceF unction

FDCMLText Resource.xsd

XML схема для текстовых ресурсов

http://www.fdcml.org/TextResource

xmldef.xsd

Определения в пространстве имен XML

http://www.w3.0rg/XMI_/1998/namespace

xlinkdef.xsd

Определения в пространстве имен Xlink

http://www.w3.0rg/1999/xlink

В. 1.2 Основы

В.1.2.1 Элементы типов данных

Профиль устройств использует типы данных МЭК 61156. Для введения дополнительных атрибутов информация по типам данных моделируется с использованием объявлений типов элементов XML. Альтернативные имена типов данных МЭК 61131-3 и CANopen предоставляются как постоянные атрибуты. Эти элементы типов данных определяются с именем «FDCMLdtxsd» в XML схеме, которая определяется в В.1.5.2.

В.1.2.2 Сборная модель

Профиль устройств использует модель сборных элементов. Эти элементы фигурируют в форме списка сборных элементов (пример: proccessDataDescriptionList/processDataDescription).

В.1.2.3 Описательный текст для элементов

В.1.2.3.1 Общие положения

Профиль устройств предлагает три разные возможности предоставления описательного текста для элементов. Должны быть использованы только 8.1.2.3.2 и В.1.2.3.3. В.1.2.3.4 может быть использован вместе с В.1.2.3.2 или В.1.2.3.3.

В.1.2.3.2 Текст, вставленный в профиль устройств

Каждый элемент, требующий описательного текста, должен иметь дочерний элемент label с атрибутом xmklang. Это позволяет использовать множество языков с одним профилем приборов. Дополнительно текст короткой справки может быть предоставлен с использованием элемента help. Он также имеет атрибут xmlilang. Этот атрибут состоит из двухбуквенного кода языка и дополнительного двухбуквенного кода страны, разделенных тире, и имеет следующий формат:

ISO 639 code for name of language ISO 3166-1-Alpha-2 code)

Пример — xml.iang=’en-us’ устанавливает текст на английском языке в американской редакции.

В.1.2.3.3 Текст, предоставляемый файлами текстовых ресурсов

Элементы labelRef и helpRef должны предоставлять указатель текстового ресурса, хранящегося в файле внешнего тестового ресурса. AIF должна заменять эти ресурсы посредством теста, предусмотренного файлом текстовых ресурсов. Файлы текстовых ресурсов, используемые профилем приборов, должны быть определены в элементе dictionary.

Формат файла тестовых ресурсов должен быть установлен в XML схеме «FDCMLTextResource.xsd», которая определена в В. 1.5.4.

В.1.2.3.4 Указатель внешней документации

Дополнительно может быть предоставлен указатель внешней документации. Элемент hlpRefFile должен указывать положение в файле, определяемое элементом helpFile.

Пример — Примерами внешней документации являются файлы *.hlp, или *.pdf.

В.1.2.4 Допустимое значение элемента

Если элемент профиля устройств имеет значение, то должно использоваться одно из следующих описаний

значения:

  • – const

  • – edit

  • – enumeration

  • – range

  • – yes. no

  • – reference

  • – instanceValue

постоянное значение элемента; редактируемое значение строк; нумерованное значение;

диапазон значений, значение может иметь несколько диапазонов; комбинация значений TRUE/FALSE;

ссылка на другой элемент; значение, если вместо профиля или типа описывается экземпляр.

В.1.2.5 Моделирование обусловленного поведения устройств

Для моделирования обусловленного поведения устройств должны быть использованы следующие элементы:

– disable

запрещает справочную характеристику устройства в зависимости от значения этой характеристики;

– enable

разрешает справочную характеристику устройства в зависимости от значения этой характеристики;

– change

изменяет справочную характеристику устройства в зависимости от значения этой характеристики.

Каждый возможный запрещаемый или разрешаемый целевой объект имеет в XML схеме разрешаемый атрибут.

В.1.2.6 Внутренние обращения элементов

Маршрут, установленный в атрибуте ref, должен быть допустимым маршрутом Xpath (см. [8]).

В.12.7 Однозначная идентификация элементов

Элементы, которые требуют идентификации, имеют атрибут uniquelD. Значение этого однозначного идентификатора должно состоять из:

token_index [ [_subindex]…]. индекса типа unsigned16 и субиндекса типа ur»signed8.

В.1 .2.8 Компоновки

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

В.1.2.9 Категории со стороны продавца

Разработчик AIP может добавить элементы категорий в сборные элементы.

Пример — Разработчик AIP добавляет processDataCategory для входных сигналов и processData-Category для выходных сигналов.

В.1.3 Объект DeviceManager

В.1.3.1 Объекты datatypeTemplateList, datatypeTemplate

Объект datatypeTemplate позволяет определить разработчика AIP или типы данных, относящиеся к профилям устройств. Эти типы данных вызываются с элементом datatypeinstance. Они могут быть описаны следующим

образом:

  • – directlyDerivedType

  • – enumeratedType

тип непосредственно выводимых данных; тип нумерованных данных или список констант (нумерация C-style);

• subrangeType -агтауТуре

– structuredType

тип данных диапазона; тип массива данных;

тип структурированных данных.

В.1.3.2 Атрибут объекта communrcationEntity

Таблица В.2 описывает атрибуты объекта communicationEntjty. определенные в 6.2.1.3.4.

Таблица В.2 — Атрибут объекта communicationEntity

Атрибут

Описание

Тип данных

Значение

Протокол

Коммуникационный протокол

xsdistring

‘CANopen’

Коммуникатор

Устанавливает, играет ли этот объект активную роль в сетевых коммуникациях или нет

xsdistring

‘YES’ — принимает участие в сетевых коммуникациях.

’NO’ — не принимает участия в сетевых коммуникациях

communicationEntityType

Тип коммуникационного объекта

xsd:string

■SLAVE’

•MASTER’ •CLIENT

•SERVER’

‘PEER* (объект, действующий как клиент и сервер) ‘MASTER_SERVER‘ (объект, действующий как основной и подчиненный) ‘DEVICEMODULE’ (объект, нуждающийся в родителе для коммуникации через сеть)

‘PASSIVE* (объект, не принимающий участия в сетевых коммуникациях)

communicationProfile

Идентификатор коммуникационных профилей

xsd:string

См. 6.2.2.2

В.1.3.3 Атрибуты объекта channell

Таблица В.З описывает атрибуты объекта channell. определенного в 6.2.1.3.3.2. Таблица В.З — Атрибуты объекта channell

Атрибут

Описание

Тип данных

Значение

channelType

Тил канала

xsd: string

direction

Направление потока данных через этот канал

xsd:string

«I»: Вход «О»: Выход «X»: Все равно

В.1.3.4 Атрибуты объектов MAU

Таблица В.4 описывает атрибуты объектов MAU, определенные в 6.2.1.3.3.3.

Таблица В.4 — Атрибуты объектов MAU

Атрибут

Описание

Тип данных

Значение

interfaceType

Предоставляет дополнительную информацию по типу MAU

xsdrstring

«COREMOTE» «COLOCAL»

Direction

Определяет логическое направление потока данных через объект MAU

xsdrstring

«INOUT»: передает и приемник «IN»: приемник и цепь обратной связи

«OUT»: передает и цель обратной связи

«IN UNI»: только принимает «OUT UNI»: только передает

directlyConnected

Определяет. подключены ли устройства непосредственно к объекту MAU

xsd:string

«YES» «NO»

Окончание таблицы В.4

Атрибут

Описание

Тип данных

Значение

MAUType

Идентификатор типа объекта MAU со стороны продавца

xsdistring

Значение co стороны продавца

newLevel

Определяет, открывается ли объектом MAU новый структурный уровень (пример: локальное шинное соединение шинного терминала)

xsd:string

«YES» «NO»

Protocol

Определяет прогон протокола объектом

MAU

xsdistring

«CANopen»

sequenceNumber

Идентификация объекта MAU. начиная с 1, отдельно нумеруемая для каждого направления

xsd: nonNegativeinteger

default = 1

В.1.3.5 Атрибуты объектов slot (слот)

Таблица В.5 описывает атрибуты объектов slot, определенные в 6.2.1.3.3.4.

Таблица В.5 — Атрибуты объектов slot

Атрибут

Описание

Тип данных

Значения

Номер

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

xsdistring

Атрибут номер может содержать один номер (*3*). список номеров (‘3,5,7′), диапазон номеров (*1—3*) или комбинацию (‘1—2.4,6,9-10*)’*.

Если дочерние устройства могут быть подключены к любому слоту, используют номер, определяющий максимальное число подключаемых дочерних устройств. Например, если 64 дочерних устройства могут быть подключены к родительскому устройству, используют slot number=’1—64*. Для каждого положения слота требуется элемент MAUUsage, указывающий на подключенный объект MAU.

В.1.3.6 Атрибуты объектов LED и LEDState

Таблица 8.6 описывает атрибуты объекта LED. определенные в 6.2.1.3.3.5. Дочерний объект LEDState описывает разные состояния. Атрибуты LEDState описаны в таблице В.7.

Таблица В.6 — Атрибуты объекта LED

Атрибут

Описание

Тип данных

Значение

LEDType

Тип LED

xsd:string

«lOStatus» «lODiagnostic» «DeviceStatus» « DeviceDiagnostic» «CommStatus» «CommDiagnostic»

Таблица В.7 — Атрибуты объекта LEDState

Атрибут

Описание

Тип данных

Значение

LEDCondition

Положение LED в состоянии

xsd:string

«ON» «OFF»

LEDColor

Цвет LED в состоянии

xsd:string

«GREEN» «YELLOW» «RED» «ORANGE» «BLUE» «WHITE»

LEDFrequency

Частота миганий в состоянии в Гц

xsd:float

LEDFIashCount

Число вспышек в состоянии

xsd:nonNega-tivelnteger

Ref

XPath к объекту или состояние объекта, вызывающее состояние LED

xsd:string

В.1.4 Описания дополнительных элементов

В.1.4.1 Объект accessPath

Объект accessPath должен описывать маршрут относительно объекта communicationEntity для получения доступа к объекту localDataDescnption. Формат объекта:

– для объекта localDataDescnption: не определен.

Примечание — Формат для объекта localDataDescnption в настоящем стандарте не рассмотрен.

На рисунке В.1 показаны порядок и нумерация смещений в байтах и битах.

канал обрабатываемых данных

октет 0

октет 1

октет 2

октет п

7

6

5

4

3

2

1

0

7 6

5

4| 3| 2

1 0

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

byteoffset bitoffset

Рисунок В.1 — Смещения в байтах и битах в канале обрабатываемых данных

В.1.4 J Объект datatype

Объект datatype должен определять тип данных родительского элемента.

В.1.4.3 Объект file

Объект file содержит ссылку XLink [7] на внешний файл.

В.1.4.4 Элементы gain, offset, maxVal, minVal, default, stepVal, on

Для уточнения элемента range должны быть использованы следующие элементы:

  • – gain

  • – offset

  • – max Vai

  • – minVal

  • – default

  • – stepVal

  • – on

масштабный коэффициент; масштабный коэффициент; максимальное значение диапазона; минимальное значение диапазона; значение диапазона по умолчанию; пошаговое значение;

значение триггера для связи.

Все значения относятся к

Масштабные коэффициенты, если они представлены, должны быть использованы, как установлено в следующей формуле: х^^ = offset + x*^, • gain.

В.1.4.5 Объекты picture, hotspotList, hotspot

Объект picture должен содержать ссылку на графическое представление элемента. Атрибуты элемента picture установлены в таблице В.8.

Таблица В.8 — Атрибуты элемента picture

Имя

Описание

Тип данных

picName

Имя файла изображения

xsd:string

picType

Идентификатор типа, расширение файла

xsdistring

Окончание таблицы В. 8

Имя

Описание

Тип данных

xSize

Ширина в пикселях

xsd: positiveinteger

ySize

Высота в пикселях

xsd: positiveinteger

picClassifi cation

Классификация пользователя содержимого изображения

xsd:string

Объект hotspotList является набором элементов hotspot. Элементы hotspot определяют положение объектов channel. LEO или MAU 8 графическом представлении. Атрибуты объекта hotspot установлены в таблице В.9. Значения атрибутов xPos и yPos определяют относительное положение (см. рисунок В.2). Элемент hotElement является маршрутом Xpath к объектам channel. LED или MAU.

0-yPos 100-

Изображение прибора

Т а б л и ц а D.9 — Атрибуты элемента hotspot

Атрибуты

Описание

Тип данных

Значение

xPos

Положение горячей точки (hotspot) в процентах

xsd:nonNegativelnteger

0 <= значение <= 100

yPos

Положение горячей точки (hotspot) в процентах

xsd:nonNegativelnteger

0 <= значение <= 100

hotElement

Маршрут XPath к точке соединения

xsd:string

Допустимый XPath

9 xPos 100

Рисунок В.2 — Положения hotspot точек соединения

В.1.4.6 Объект specificProperty

Элемент specificProperty резервируется для расширений, выполняемых разработчиком AIP.

Примечание — Использование элемента specificProperty в настоящем стандарте не рассмотрено.

В.1.4.7 Объект tool

Объект tool определяет специальную сервисную программу родительского элемента. Таблица В.10 описывает атрибуты элемента tool.

Таблица В.10 — Атрибуты элемента tool

Атрибут

Описание

Тип данных

Значение

toolclassification

Классифицирует задачу сервисной програм-

мы

xsd:string

toollD

Однозначная идентификация операционной системы сервисной программы

xsd:string

Примечание — PROGID или GUID являются примерами toollD.

В.1.4.8 Объект uses

Элемент uses определяет ассоциацию «uses», как определено на рисунках 7 и 9.

В.1.5 XML схемы шаблонов профилей устройств

В.1.5.1 COFDCML.xsd

<?xml version = ”1.0″ encoding = “UTF-8”?>

<xsd:schema xmlns = “http://www.can-cia.org/xml/canopen” targetNamespace = ’http://www.can-da.org/xml/canopen” xmlns:xlink = ’http://www.w3.org/1999/xlink” xmins:xsd = “http://www.w3.org/2001/XMLSchema’’ version = “1.0”

elementFormDefault = “qualified” attributeFormDefault = “unqualified”* <xsd:import namespace = “http://www.w3.org/1999/xlink” schemaLocation ~ “xlinkdef.xsd”/* <xsd:include schemaLocation = “FDCMLdLxsd”/>

<xsd:group name = “g_labefe”>

<xsd:choice>

<xsd:element ref ~ label” maxOccurs = “unbounded”/*

<xsd:element ref – “labelRefT*

</xsd:choice>

</xsd:group>

<xsd:group name = “g_help”>

<xsd:choice>

<xsd:element ref = “help” maxOccurs = “unbounded”/*

<xsd:element ref – “helpRefT*

</xsd:choice>

</xsd:group>

<xsd:group name = “g_naming”>

<xsd:sequence>

<xsd:choice>

<xsd:sequence>

<xsd:element ref = “label” maxOccurs = “unbounded”/*

<xsd:element ref = “help” minOccurs = “0” maxOccurs = “unbounded”/* </xsd:sequence>

<xsd:sequence*

<xsd:element ref = “labelRefT*

<xsd:element ref = “helpRer minOccurs = “07*

</xsd:sequence>

</xsd:choice*

<xsd:element ref = “helpFileRer minOccurs « “07*

</xsd:sequence>

</xsd:group>

<xsd:group name = “g_stringValues”>

<xsd:choice>

<xsd:element ref = “const” maxOccurs = “unbounded”/*

<xsd:element ref = “edit” maxOccurs = “unbounded”/*

<xsd:element ref = “labelRefT*

<xsd:element ref = “instanceValueT*

</xsd:choice>

</xsd:group>

<xsd:group name = “g_values”>

<xsd:choice>

<xsd:element ref = “const” maxOccurs = “unbounded”/*

<xsd:element ref = “edit” maxOccurs = “unbounded”/*

<xsd:element ref = ’enumeration” maxOccurs = “unbounded”/* «■xsdielemant ref – “range” maxOccurs = “unbounded”/* <xsd:sequence*

<xsd:element ref = “yes” minOccurs = “07*

<xsd:element ref = “no” minOccurs = “07*

</xsd:sequence>

<xsd:element ref = “reference” maxOccurs = “unbounded”/*

<xsd:element ref = “instanceValueT*

</xsd:choice>

</xsd:group>

<xsd:attributeGroup name = “ag_FDCML”>

<xsd:attribute name = “formatName” fixed = “FDCML” form = “unqualified” type = “xsd:string”/> <xsd:attribute name = “formatversion” fixed = “2.0” form = “unqualified” type ~ “xsd:string7> <xsd:attribute name = “fileName” use = “required” form = “unqualified” type = “xsd:string’/> <x$d:attribute name = “fileCreator” use = “required” form = “unqualified” type = “xsd:string”/>

<xsd:attribute name = “fileCreationDate” use = “required” form = “unqualified” type = “xsd:date7> <xsd:attribute name – “fileModificationDate” use = “required” form – “unqualified” type -«xsd:date»/>

<xsd:attribute name = «fileVersion» use = “required” form = “unqualified” type = “xsd:string”/> </xsd:attributeGroup>

<xsd:attributeGroup name = “accessCategory”* <xsd:attribute name = “accesscategory” use = “required”> <xsdisimpleType>

<xsd:restriction base = “xsd:NMTOKEN”>

<xsd:enumeration value = “read”/*

<xsd:enumeration value = “write”/*

<xsd:enumeration value = “readWrite”/*

<xsd:enumeration value = “noAccess”/* </xsd;restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd attrihi jteGrni ip>

<xsd:attributeGroup name = “dataType”>

<xsd:attribute name = “dalaType” use = “required”*

<xsdisimpleType>

<xsd:restriction base = “xsd:NMTOKEN”>

<xsd:enumeration value = “bool”/* <xsd:enumeration value = “byte”/* <xsd:enumeration value = “char”/* <xsd:enumeration value = “word”/* <xsd:enumeration value = “dWord”/* <xsd:enumeration value = “IWord”/* <xsd:enumeration value = “slnt”/> <xsd:enumeration value = “uslnt”/* <xsd:enumeration value = “int”/> <xsd:enumeration value = “ulnt”/> <xsd:enumeration value = “dint”/* <x&d.cnumeidl>uii value – “udlnl”/> <xsd:enumeration value = “lint”/* <xsd:enumeration value = “ullnt”/* <xsd:enumeration value = “real”/* <xsd:enumeration value = “IReal’7* <xsd:enumeration value = “string”/* <xsd:enumeration value = “unicode”/* <xsd:enumeration value = “struct”/* <xsd:enumeration value = “physical”/* <xsd:enumeration value = “array”/* </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:attributeGroup*

<xsd:attributeGroup name = “persistent”*

<xsd:attribute name = “persistent” use = “required”* <xsd:simple I ype*

<xsd:restriction base = “xsd:NMTOKEN”>

<xsd:enumeration value = “false”/*

<xsd:enumeration value = “true”/*

<xsd:enumeration value = “n.a”/* </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<xsd:attributeGroup name = “type”* <xsd:attribute name = “type” use = “required”* <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKEN”> <xsd:enumeration value = “fixedValue”/*

<xsd:enumeration value = “vendorSpecific”/»

</xsd: restriction > </xsd:simpleType> </xsd;attribute> </xsd:attributeGroup> <xsd:attributeGroup name = “use”» <xsd:attribute name = “use” use = “required”» <xsdisimpleType>

<xsd:restriction base = “xsd:NMTOKEN”> <xsd:enumeration value = “required”/» <xsd:enumeration value = “optional”/» </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<!- -xmlns:xml=”http://www. w3.org/XML/1998/namespace”- ->

<xsd:element name = “ISO15745Profile”>

<xsd:annotation>

<xsd:documentation»Document Element</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “ProfileHeader”/»

<xsd:choice>

<xsd:element ref = “ProfileBody”/»

<xsd:element ref = “ProfilesBody”/»

</xsd:choice» </xsd:sequence> </xsd:comptexType> </xsd:element> <xsd:element name = “accessPath” type = “xsd:string”/» <xsd:element name – “additionalltem”»

<xsd;complexType>

<xsdisequence>

<xsd:group ref = ”g_naming7>

<xsd:element ref = ”pictureList’ minOccurs = “0”/>

<xsd:cboice minOccurs = “0”»

<xsd:group ref = “g_values7>

</xsd:choice>

<xsd:element ref = ’specificProperty’ minOccurs – “0“ maxOccurs = “unbounded”/» <xsd:element ref = “additionalltem” minOccurs = “0” maxOccurs = “unbounded”/» <xsd:element ref = “instances’ minOccurs = “07>

</xsd:sequence>

<xsd:attribute name = “uniquelD’ use = “required” type = “xsd:ID”/»

<xsd:attribute name = “additionallternType” use = “required” type = “xsd:string7> <xsd:attribute name = “enabled” default = “YES”»

<xsd:simpleType>

«”xsdirestriction base = “xsdistring”» <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO7> </xsd:restriction>

</xsd:simpleType> </xsd:attribute> </xsd:comptexType> </xsd;element> <xsd:element name = “additionalltemCategory”» <xsd:complexType>

<xsd:sequence»

<xsd:group ref = ”g_naming”/»

<xsd:element ref = “additionalltem” maxOccurs = “unbounded”/» </xsd:sequence>

<xsd:attribute name = “uniquelD” type = “xsd:ID7>

<xsd:attribute name = “enabled” default = “YES“> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/» <xsd:enumeration value = “N07> </xsd;restriction>

</xsdisimpleType> </xsd:attribute> </xsd :comptexType> </xsd:element> <xsd:element name = “additionalltemList”» <xsd:complexType>

<xsd:sequence>

<xsd:group ref = ”g_naming7>

<xsd:ctioice maxOccurs = “unbounded”»

<xsd element ref = “eddit»nnelltemCetegnry7> <xsd:element ref = “additionalltem”/»

</xsd;choice> </xsd:sequence> <xsd:attribute name = “uniquelD” type = “xsd:ID’/> <xsd:attribute name = “additionalltemsType” use = “required” type = ”xsd:string7> <xsd:attribute name = “enabled” default = “YES”> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO7> </xsd:restriction>

</xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name ■ “alignment”» <xsd:complexType> <xsd:attribute name = “type” use = “required”» <xsd:simpleType>

<xsd:restriction base – “xsd:NMTOKEN”> <xsd:enumeration value = “byte”/» <xsd:enumeration value = “word”/» <xsd:enumeration value = “dword”/» <xsd:enumeration value = “Iword”/» </xsd:restriction> </xsd:simpleType>

</xsd:attribute> </xsd:complexType» </xsd:element> <xsd:element name = “Applicationprocess”» <xsd:complexType>

<xsd:sequence»

<xsd:element ref = “extemalSchema”/»

</xsd:sequence> </xsd:complexType» </xsd;element> <xsd:element name = “arrayType”» <xsd:complexType>

<xsd:sequence»

<xsd:ctioice minOccurs = “0”» <xsd:group ref = “g_help’7> </xsd:choice»

<xsd:group ref = “g_datatypes”/> <xsd:element ref = “subrange” maxOccurs = “unbounded”/» </xsd:sequence>

<xsd:attribute name = “initialvalues” type = “xsd:string7*

</xsd:complexType>

</xsd:element>

<xsd:element name = “buildDate”*

<xsd :complexType>

<xsd:choice>

<xsd:group ref = “g_labels”>

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”*

<xsd:simpleType>

<xsd:restriction base = “xsd:slring”> <xsd:enumeration value = “YES7*

<xsd:enumeration value = ”NO7>

</xsd:restriclion>

</xsd:simpleType*

</xsd:attribute>

</xsd:comptexType*

</xsd:element>

<xsd:element name = “capabilities”*

<xsd:complexType>

<xsd:sequence>

<xsd:element ref – “externalschema”/*

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “cfgltemList”>

<xsd:complexType>

<xsd:sequence>

<xsd:sequence minOccurs = “0”>

<xsd:group ref = “g_naming”/>

</xsd:sequence>

<xsd:element ref = “CANopenDedicatedCfgCategory”/*

</xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name = “change”*

<xsd:complexType>

<xsd:choice>

<xsd:group ref = ”g_datatypes”/>

<xsd:element ref = “datatypeinstance”/*

</xsd;choice>

<xsd:attribute name = “ref” use = “required” type = ”xsd:string7> </xsd:complexType>

</xsd:element>

<xsd:element name = “channel”*

<xsd:complexType>

<xsd:sequence>

^xsdigroup r©f = “gnaming”/’»

<xsd:element ref = “pictureList” minOccurs = “07*

<xsd:element ref = “accessPath” minOccurs = “07*

<xsd:element ref = “specificProperty” minOccurs = “0” maxOccurs = “unbounded”/* <xsd:element ref = “uses” minOccurs – “07*

<xsd:element ref = “provides” minOccurs = “0” maxOccurs = “unbounded”/* <xsd:element ref = “channel” minOccurs = “0” maxOccurs = “unbounded”/* <xsd;element ref = “instances” minOccurs = “0” maxOccurs = “unbounded”/* </xsd: sequence*

<xsd:attribute name = “uniquelD” use = “required” type = “xsd:ID7> <xsd:attribute name = “channelType” type = “xsd:string7>

<xsd:attribute name = “direction” default = ”X”>

<xsd:simpleType>

<xsd:restriction base = “xsd:string”>

<xsd:enumeration value = “Г/>

<xsd:enumeratk)n value = “Q”/>

<xsd:enumeration value = “X7> </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “enabled” default = “YES”»

<xsdisimpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “N07> </xsd:restr»ction>

</xsd:simpleType>

</xsd:atlribule>

</xsd :complexType>

</xsd:element>

<xsd element name = *chennell ist”>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “channel* maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “communicationEntity”»

<xsd:complexType>

<xsd:sequence>

<xsd:sequence minOccurs = “0”>

<xsd:group ref = ”g_naming7>

</xsd:sequence>

<xsd:element ref = “cfgltemList” minOccurs = “07>

<xsd:element ref = “CANopenldentity7>

<xsd:element name = “CANopenCommunicationFunctionList” minOccurs – “0”» <x3d:comptexType>

<xsd:sequence>

<xsd:element ref = “function” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd;complexType>

</xsdielement>

<xsd:element name = “CANopenCommunicationParameterList”» <xsd:complexType>

<xsd;sequence>

<xsd:element ref = “parameter” maxOccurs = “unbounded7> </xsd:sequence>

</xsd;complexType>

</xsd:element>

<xsd;element ref = “CANopenObjectAccessList”/»

</xsd:sequence>

<xsd:attribute name = “uniquelD” type = “xsd;ID“/>

«■xsdrattrlbute name = “protocol” use = “required” type = “xsd:string”/»

<xsd:attribute name = “communicator” default = “YES”» <xsd:simpleType>

<xsd:restriction base = “xsd:string”»

<xsd:enumeration value = “YES”/»

<xsd:enumeration value = “N07> </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<x$d:attribute name = ’communicationEntityType” default = “SLAVE”» <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “SLAVE”/» <xsd:enumeration value = “MASTER”/»

<xsd:enumeration value = “CLIENT”/»

<xsd:enumeration value = “SERVER”/»

<xsd:enumeration value = “INTERCONNECTION”/»

<xsd:enumeration value = “PEER”/»

<xsd:enumeration value = “MASTER_SLAVE”/»

<xsd:enumeration value = “DEVICEMODULE”/»

<xsd:enumeration value = “PASSIVE”/» </xsd:restriction> </xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “communicationProfile” type = “xsd:string7> <xsd:attribute name = “enabled” default = “YES”»

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO7> </xsd restriction»

</xsd:simpleType>

</xsd;atlribute>

</xsd :complexType>

</xsd:element>

<xsd:element name = “connection”»

<xsd:complexType>

<xsd:sequence minOccurs = “0”»

<xsd:element ref = “spedficProperty” maxOccurs = “unbounded”/» </xsd;sequence>

<xsd:attribute name = “destination” use = “required” type = “xsd;string7> <xsd:attribute name = “source” use = “required” type = “xsd:string7> </xsd;complexType>

</xsd:element>

<xsd;element name = “connectionList”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “connection” minOccurs = “0″ maxOccurs = “unbounded”/» </xsd: sequence»

</xsd;complexType>

</xsd:element>

<xsd:element name = “const”»

<xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_datatypes7>

<xsd:element ref = “datatypeinstance”/»

</xsd:choice>

<x$d:attribute ref = “xml:lang”/>

<xsd:attribute ref = “xfink;type”/>

<xsd:attribute ref = “xlink:href7>

<xsd:attribute name = “format” type – “xsd:string7>

<x$d:attribute name = “unit” type = “xsdistring”/»

</xsd :complexType»

</xsd:element>

<xsd:element name = “datatype”»

<xsd;complexType>

<xsd:dioice>

<xsd:group ref = “g_datatypes”/> <xsd:element ref = “datatypeinstance”/» </xsd;choice>

</xsd:complexType>

</xsd:element>

<xsd:element name = “datatypeinstance” nillable – “true”» <xsd:complexType>

<xsd:attribute name = “ref use = “required” type = “xsd;string7>

</xsd :complexType>

</xsd:element>

<xsd:element name = “datatypeTemplate”»

<xsd:complexType> <xsd:sequence> <xsd:group ref = “g_naming’/» <xsd:choice>

<xsd:element ref = “directlyDerivedType”/» <xsd:element ref = “enumeratedType”/» <xsd:element ref = “subrangeType”/> <xsd:element ref = “arrayType”/» <xsd:element ref = “structuredType7> </xsd:choice>

</xsd:sequence> </xsd;comptexType> </xsd:element> <xsd:element name = “datatypeTemplateList”» <xRdrz»mplexType>

<xsd:sequence>

<xsd:element ref = “alignment’ minOccurs = “07> <xsd:element ref = ‘endianess’ minOccurs = “07> <xsd:element ref = ’datatypeTemplate” maxOccurs = ’unbounded’/» </xsd:sequence> </xsd:comptexType>

</xsd:element> <xsd:element name = ‘default’» <xsd:complexType>

<xsd;choice>

<xsd:group ref = “g_numericDatatypes7> <xsd:group ref = “g_booleanDatatypes7> <xsd:group ref = “g_userDatatypes7> <xsd:group ref = “g_timeDatatypes7> </xsd:choice>

</xsd;complexType> </xsd:element> <xsd:element name = “deviceFamily”» <xsd;complexType>

<xsd:choice>

<xsd:group ref = “g_labels7> </xsd:choice>

<xsd:attribute name = “readonly” default = “YES“> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = *N07> </xsd:restriction>

</xsd:simpleType> </xsd:attribute> </xsd:comptexType> </xsd:element> <xsd:element name = “defaultfile”» <xsd:complexType> <xsd:attribute ref = “xlink;type7> <xsd:attribute ref = “xfcnkihreT use = “required’/» </xsd:comptexType> </xsd:element> <xsd:element name = “deleteEntity”» <xsd:complexType>

<xsd:attribute name = “node” use = “required” type = “xsd:string7> </xsd;comptexType>

</xsd:element> <xsd;element name = “DeviceFunction”» <xsd:complexType>

<xsd:choice maxOccurs = “unbounded”*

<xsd:element ref = “extemalSchema” min Occurs = “0” maxOccurs = “unbounded”/* </xsd;choice>

</xsd;complexType>

</xsd:element>

<xsd:element name = “Deviceidentity”*

<xsd;complexType>

<xsd:sequence>

<xsd:element ref = “vendorName”/*

<xsd:element ref = “vendorlD” minOccurs = “0”/>

<xsd:element ref = “vendorText” minOccurs = “07*

<xsd:element ref = “deviceFamily”/*

<xsd:element ref = “capabilities” minOccurs = “07*

<xsd:element ref = “productFamily” minOccurs = “07*

<xsd:element ref = “productNameT*

<xsd:element ref = “productID” minOccurs = “07*

<xsd:element ref = “productText” minOccurs = “07*

<xsd:element ref = “orderNumber” minOccurs = “07*

<xsd:element ref = “version” minOccurs = “0” maxOccurs = “unbounded”/*

<xsd:element ref = “buildDate” minOccurs = “07*

<xsd:element ref = “spedficationRevision” minOccurs = “07*

<xsd:element ref = “instanceName” minOccurs = “07*

<xsd:element ref = “serialNumber” minOccurs = “07* </xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “DeviceManager”*

<xsd:complexType>

<xsd:sequence*

<xsd:element ref = “importList” minOccurs = “07*

<xsd:element ref = “datatypeTemplateList” minOccurs = “0” maxOccurs = “unbounded”/*

<xsd:element ref = “dictionaryList” minOccurs = “07*

<xsd:element ref = “helpFileList” minOccurs = “07*

<xsd:element ref = “toolList” minOccurs = “07*

<x$d:element ref = “pictureList” minOccurs = “07*

<xsd:element ref = “devicestructure” minOccurs = “07*

<xsd:element ref = TocalDataDescripttonList” minOccurs = “07*

<xsd:element ref = “additionalltemList” minOccurs = “0” maxOccurs = “unbounded”/*

<xsd:element ref = “communicationEntity” maxOccurs = “unbounded”/*

<xsd:element ref = “processingEntity” maxOccurs = “unbounded”/*

<xsd:element ref = “externalschema” minOccurs = “0” maxOccurs = “unbounded”/* </xsd:sequence*

</xsd:complexType>

</xsd:element>

<xsd:element name = “devicestructure”*

<xsd:complexType>

<xsd:sequence>

«■xsdielement ref = “channelLtst*’ minOccurs – “07’*

<xsd:element ref = “MAUList” minOccurs = “07*

<xsd:element ref = “slotList” minOccurs = “0”/*

<xsd:element ref = “indicatorList” minOccurs = “07*

<xsd:element ref = “externalschema” minOccurs = “0” maxOccurs = “unbounded”/* </xsd:sequence>

</xsd:complexType>

</xsd;element>

<xsd:element name = “dictionary”*

<xsd:complexType>

<xsd:sequence>

<xsd;element ref = “file”/*

</xsd:sequence>

<x$d:attribute ref = “xml:lang” use = “required”/*

<xsd:attribute name = “dictIO” type = “xsdistring”/» </xsd:complexType> </xsd:element>

<xsdielement name = “dicUonaryList”»

<xsd :complexType>

<xsdisequence>

<xsdielement ref = “dictionary* maxOccurs = “unbounded”/» </xsd:sequence>

</xsd :comptexType>

</xsd;element>

<xsdielement name = “directfyDerivedType”> <xsd :complexType>

<xsdisequence>

<xsdichoice minOccurs = “0”>

<xsd:group ref = “g_help7>

</xsdichoice>

<xed:group ref – “g_d3tatypee”/>

</xsd:sequence>

<xsd:attribute name = “initialValue” type = “xsdistring”/» </xsd:comptexType>

</xsdielement>

<xsd;element name = “disable”»

<xsd:complexType>

<xsd:attribute name = “ref” use = “required” type = “xsdistring”/» </xsd:complexType>

</xsd:element>

<xsd:element name = “edit”»

<xsd:complexType>

<xsd;choice>

<xsdigroup ref = ”g_stringDatatypes7>

<xsd:element ref = “datatypeinstance”/»

</xsd:choice»

<xsdiattribute ref = “xmlilang”/»

<xsd:attribute ref = “xlinkitype”/»

<xsd:attribute ref = “xlink;href7>

<xsdiattribute name = “format” type « “xsdistring”/» <xsd:attribute name = “unit” type = “xsdistring”/» </xsd icomplexType» </xsd:element>

<xsd:element name = “enable”»

<xsd:complexType>

<xsd:attribute name = “ref” use = “required” type = “xsdistring”/» </xsd:complexType>

</xsdielement>

<xsd:element name = “endianess”»

<xsd:complexType> <xsd:attribute name = “type” use = “required”» «”xsdisimpleType»

<xsd:restriction base = “xsdiNMTOKEN”»

<xsd:enumeration value = “little”/»

<xsd:enumeration value = “big”/»

</xsd:restriction>

</xsd:simpleType>

</xsdiattribute>

</xsd:complexType> </xsdielement> <xsd:element name = “enumeratedType”» <xsd:complexType>

<xsdisequence>

<xsd:choice minOccurs = “0”»

<xsd:group ref = “g_help7>

</xsd:choice*

<xsd:element ref = “enumeratedValue” maxOccurs = “unbounded”/* </xsd:sequence>

<xsd:attribute name = “initialvalue” type = ‘’xsd;string7>

</xsd :comptexType> </xsd:element> <xsd;element name = “enumeratedValue”* <xsd :complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/> <xsd:choice minOccurs = “0”* <xsd:group ref = “g_datatypes7> </xsd:choice>

</xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name ~ ’enumeration^* <xsd:complexType>

<xsd:sequence>

<xsd:group ref = “gjabels”/*

<xsd:choice>

<xsd:group ref = “g_numericDatatypes7>

<xsd:group ref = “g_booleanDatatypes7> <xsd:group ref = ”g_stringDatatypes7* <xsd:group ref = ‘’g_userDatatypes”/> </xsd:choice>

<xsd:element ref = “relations” minOccurs = “07* </xsd:sequence>

<xsd:attribute name = “default” default = “NO”> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = *NO”/> <xsd:enumeration value = “YES”/* </xsd:restriction>

</xsd:simpleType> </xsd:attribute> <xsd:attribute name = “multipleselection”* <xsdisimpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value » “YES7> </xsd;restriction>

</xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd;element> <xsd:element name = “extemalSchema”> <xsd:complexType>

«’xsdisequenco’*

<xsd:any namespace = “##any“ processContents = “strict”/* </xsd:sequence> </xsd:complexType>

</xsd:element> <xsd:element name = “file”> <xsd:complexType> <xsd:attribute ref = “xlink:type7> <xsd:attribute ref = “xHnkihref” use = “required*/* </xsd:complexType>

</xsd:element>

<xsd;element name = “gain”*

<xsd :complexType>

<xsd:choice>

<xsd:group ref = “g_numericDatatypes“/>

<x$d:group ref = “g_user0atatypes7>

</xsd;choice»

</xsd;complexType>

</xsd:element>

<xsd:element name = “help”»

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attribute ref = ’xmllang” use = “required”/»

</xsd;extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name » “helpFile”»

<xsd:complexType>

<xed:sequence>

<xsd:element ref = “file”/»

</xsd:sequence>

<xsd:attribute ref = “xmllang” use = “required”/»

<xsd:attribute name = “helpFilelD” type = “xsd:string7> </xsd:comptexType>

</xsd:element>

<xsd:element name = “helpFileList”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “helpFile” maxOccurs = “unbounded”/» </xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “helpFileRer»

<xsd;complexType>

<xsd:attribute name = “helpFilelD” type = “xsd:string7>

<xsd:attribute name = “helpID” type = “xsd:string7> </xsd;complexType>

</xsd:element>

<xsd:element name = “helpRef”»

<xsd :complexType>

<xsd:attribute name = “dictlD” type = “xsd:string”/>

<xsd:attribute name = “textlD” use = “required” type = “xsd:stnng7> </xsd :complexType>

</xsd:element>

<xsd:element name = “hotspot”»

<xsd:complexType>

<xsd:attribute name = “xPos” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:nonNegativelnteger*’>

^xsdimaxlndusive value – “1007»

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name – “yPos” use – “required”»

<xsd:simpleType>

<xsd:restriction base = “xsd:nonNegativelnteger”>

<xsd:maxlndusive value = “1007»

</xsd: restriction >

</xsd:simpleType>

</xsd:atlribule>

<xsd:attribute name = “holElement” use = “required” type = “xsd;string”/> </xsd :comptexType>

</xsd:element>

<xsd:element name = “hotspotList”»

<xsd:complexType> <xsd:sequence> <xsd:element ref = “hotspot* maxOccurs = “unbounded”/» </xsd: sequence» </xsd;comptexType> </xsd:element> <xsd:simpleType name = “IASInterface_DataType”> <xsd:union memberTypes = “”>

<xsd:simpleType> <xsd:restriction base = “xsd:slring”> <xsd:enumeration value = “CSI”/> <xsd:enumeration value = “HCI7> <xsd:enumeration value = “ISI”/» <xsd:enumeration value = “API”/» <xsd:enumeration value = “СМГ/> <xsd:enumer3tk>n value – “ESI”/» <xsd:enumeration value = “FSI7> <xsd:enumeration value = “MTI7> <xsd:enumeration value = “SEI”/» <xsd:enumeration value = “USI”/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:length value »”4″/> </xsd: restriction > </xsd:simpleType>

</xsd:union> </xsd:simpleType> <xsd:simpleType name = “ProfileClasslD_DataType”> <xsd:restriction base = “xsd:slring”> <xsd:enumerat»on value = “AIP7> <xsd:enumeration value = “Process”/» <xsd:enumeration value = 7nformat»onExchange7> <xsd:enumeration value = “Resource”/» <xsd:enumeration value = “Device”/» <xsd:enumeration value = “CommunicationNetworfc”/» <xsd:enumeration value – “Equipment”/» <xsd:enumeration value = “Human”/» <xsd:enumeration value = “Material”/»

</xsd:restriction> </xsd:simpleType> <xsd:element name – “identity”» <xsd:complexType> <xsd:sequence> <xsd:element ref = “vendorName7> «■xsdielement ref = “typeName*/» <xsd:element ref = “version” minOccurs = “0” maxOccurs = “unbounded”/» <xsd:element ref = “buildDate”/»

<xsd:element ref = “specificationRevision” minOccurs = “07> <xsd:element ref = “instanceName” minOccurs = “07» </xsd:sequence> </xsd:complexType> </xsd;element>

<xsd:element name = “importList”»

<xsd:complexType> <xsd:sequence» <xsd:element ref = “file” maxOccurs = “unbounded7> </xsd: sequence» </xsd:complexType>

</xsd:element>

<xsd:element name = “indicatorList”*

<xsd;complexType> <xsd:sequence> <xsd:element ref = “LEDList” minOccurs = “07* </xsd:sequence> </xsd;comptexType> </xsdielement>

<xsd:element name = 7nstanceName“>

<xsd;complexType>

<xsd:choice>

<xsd:group ref = “gjabels”/*

</xsd:choice>

<xsd:attribute name = “readonly” default = ”YES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> <xsd:enumer3tk>n value – “YES7* <xsd:enumeration value = *NO7> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:comptexType> </xsd:element>

<xsd:element name = “instances”*

<xsd:complexType>

<xsd:choice>

<xsd:element ref = “extemalSchema” maxOccurs = “unbounded”/* <xsd:choice maxOccurs = “unbounded”*

<xsd:element ref = “modifyValue”/* <xsd:element ref = “modifyEntity”/* <xsd:element ref = “recalcValue”/* <xsd:element ref = “recalcEntity”/* <xsd:element ref = “deleteEntity”/* </xsd:choice> </xsd:choice>

<xsd:attribute name – “maxinstances” type = “xsd:nonNegalivelnteger”/> </xsd xomptexType* </xsdielement>

<x$d:element name = ’instancevalue” type = ’xsd:string”/>

<xsd:element name = “inlemalConneclionPoinf* <xsd:complexType> <xsd:sequence>

<xsd:element ref = “uses” min Occurs = “07*

<xsd:element ref = “specificproperty” minOccurs = “0″ maxOccurs = “unbounded”/* <xsd:element ref = “instances” minOccurs = “07*

</xsd:sequence*

<xsd:attribute name = “uniquelD” use = “required” type = “xsdilDT* «”xsdiattribute name – “ref use = “required” type = “xsdxtring”/’» <xsd:attribute name = “enabled” default = “YES”* <xsd:simpleType>

<xsd:restriction base = “xsd:string“> <xsd:enumeration value = “YES”/* <xsd:enumeration value = “N07* </xsd: restriction * </xsd;simpleType>

</xsd:attribute> </xsd:complexType> </xsd:element> <xsd;element name = “intemalConnectionPointList”* <xsd :complexType> <xsd:sequence*

<xsd:element ref = InternalConnectionPoint” maxOccurs = “unbounded*/* </xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name = “ISO15745Editk>n” type – “xsd:positivelnteger7> <xsd:element name = “ISO15745Part* type = “xsd:positivelnteger7> <xsd:complexType name = *ISO15745Reference_DataType*> <xsd:sequence>

<xsd:element name = “ISO15745Part* type = “xsd;positrvelnteger”/>

<xsd:element name = *ISO15745Edition* type = “xsd:positivelnteger”/> <xsd:element name = “ProfileTechnology” type = “xsdistring”/* </xsd:sequence>

</xsd :comptexType>

<xsd:element name = label”*

<xsd:complexType>

<xsd:simpleContent>

<xsd-extension base = “xsdstring”*

<xsd:attribute ref = “xml:lang” use = “required*/*

<xsd:attribute ref = “xfink;type7>

<xsd:attribute ref = “xlink:href7>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “labelRef”*

<xsd;complexType>

<xsd:attribute name = “dictID” type = “xsd:string*/>

<xsd:attribute name = “textlD” use = “required” type = “xsd:string7>

<xsd:attribute ref = “xiink:type7>

<xsd:attribute ref« *xlink;href7>

</xsd :complexType>

</xsd:element>

<xsd:element name = “LED**

<xsd;complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<xsd:element ref = “LEDState* maxOccurs = “unbounded”/*

<xsd:element ref = “specificproperty” minOccurs = “0” maxOccurs = “unbounded”/* </xsd: sequence*

<xsd:attribute name – “uniquelD” use = “required” type = “xsd:ID7*

<xsd:attribute name = “LEDType” use « “required”* <xsd:simpleType>

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

<xsd:enumeration value = “lOStatus”/*

<xsd:enumeration value = “lODiagnostic”/*

<xsd:enumeration value = “Devicestatus”/*

<xsd:enumeration value = “DeviceDiagnostic”/*

<xsd:enumeration value = “CommStatus”/*

<xsd:enumerauon value = “CommDiagnosuc7> </xsd:restr»ction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “enabled” default = “YES”*

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7* <xsd:enumeration value = “NO7* </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd;complexType>

</xsd:element>

<xsd:element name = “LEDList”»

<xsd;complexType>

<xsd;sequence>

<xsd:element ref = “LED” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “LEDState”»

<xsd;complexType>

<xsd:sequence>

<xsd:sequence minOccurs = “0”>

<xsd:group ref = “g_naming”/>

</xsd:sequence>

<xsd:element ref = “specificProperty” minOccurs = “0” maxOccurs = “unbounded”/» </xsd;sequence>

<xsd:attribute name = “LEDCondition” use = “required”»

<x<w1 simpleType»

<xsd:restriction base = “xsd:string”>

<xsd:enumeration value = “ON7>

<xsd:enumeration value = “OFF”/»

</xsd: restriction >

</xsd:simpleType>

</xsd;attribute>

<xsd:attribute name = “LEDCotor”»

<xsd:simpleType>

<xsd:restriction base = “xsd:string”>

<xsd:enumeration value = “GREEN”/»

<xsd:enumeration value = “YELLOW”/»

<xsd:enumeration value = “RED”/»

<xsd:enumeration value = “ORANGE”/»

<xsd:enumeration value = “BLUE”/»

<xsd:enumeration value = “WHITE”/»

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “LEDFrequency” type = “xsd: float”/»

<xsd:attribute name « “LEDFlashCount” type = “xsdmonNegativelnteger”/»

<xsd:attribute name = “ref” type = “xsd:string”/>

</xsd:complexType>

</xsd:element>

<xsd:element name = “localDalaCategory”»

<xsd:complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<xsd:element ref = TocalDataDescription” maxOccurs = “unbounded”/» </xsd:sequence>

<xsd:attribute name = “uniquelD” type = “xsd:ID”/>

<xsd:attribute name = “enabled” default = “YES”» «•xsdrsImpleType»

<xsd:restriction base = “xsd:string“> <xsd:enumeration value = “YES7>

<xsd:enumeration value = “NO7>

</xsd:restriction»

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType>

</xsd;element>

<xsd;element name – “localDataDescription”»

<xsd:complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<xsd:element ref = “pictureList” minOccurs = “0”/>

<xsd:element ref = “accessPath”/»

<xsd:element ref – “datatype”/»

<xsd:element ref = “specificproperty’ minOccurs = “0“ maxOccurs = “unbounded”/» <xsd:element ref = “uses” minOccurs = “0’7»

<xsd:element ref = “provides” minOccurs = “0” maxOccurs = “unbounded”/»

<xsd:element ref = TocalDataDescription” minOccurs = “0” maxOccurs = “unbounded”/» <xsd:element ref = “instances” minOccurs = “07>

</xsd:sequence>

<xsd:attribute name = “uniquelD” use = “required” type = “xsd:ID7> <xsd:attribute name = “direction” use = “required”»

<xsd:simpleType>

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

<xsd:enumeration value = T/>

<xsd:enumeration value = “Q”/> </xsd:restriction>

</xsd:simpleType>

</xsd*attnhiite>

<xsd:attribute name = “localDataDescriptionType” use = “required” type = “xsd:string”/> <xsd:attribute name = “enabled” default = “YES”»

<xsdisimpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/» <xsd:enumeration value = “N07> </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd;comptexType>

</xsd:element>

<xsd:element name = “localDataDescriptionList”»

<xsd:complexType>

<xsdisequence>

<xsd:sequence minOccurs = “0”» <xsd:group ref “ “g_naming”/> </xsd:sequence>

<xsd:choice maxOccurs = “unbounded”»

<xsd:element ref = “localDataCategory”/»

<xsd:element ref = “localOataDescription’/»

</xsd:choice>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = logicalConnectionPoint”»

<xsd:complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<xsd:element ref = “pictureList” minOccurs = “07>

<xsd:element ref = “specificProperty” minOccurs = “0″ maxOccurs = “unbounded”/»

<xsd:element ref – “uses” minOccurs « “07>

<xsd:element ref = “provides” maxOccurs = “unbounded”/»

<xsd:element ref = “instances” minOccurs = “07>

</xsd:sequence>

<xsd:attribute name = “uniquelD” use = “required” type = “xsd:ID”/»

<xsd:attribute name = “logicalConnectionPointType” use = “required” type = “xsd:string7> <xsd:attribute name = “role” use = “required”»

<xsd:simpleType>

<xsd:restriction base = “xsd:string“> <xsd;enumeration value = “CLIENT”/» <xsd:enumeration value = “SERVER”/» <xsd:enumeration value = “PEER”/» <xsd:enumeration value = “PUBLISHER”/» <xsd:enumeration value ~ “SUBSCRIBER”/» <xsd:enumeration value = “PUBLISHERSUBSCRIBER”/»

</xsd: restriction > </xsd:simpleType> </xsd;attribule> <xsd:attribute name = “maxRelationships” default = “1* type = “xsdinonNegativelnteger”/* <xsd:attribute name = “newLevel” default = “NO”*

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7* <xsd:enumeration value = “N07* </xsd;restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “enabled” default = “YES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/> <xsd:enumer3tk>n value – *NO”/> </xsd: restriction > </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element>

<xsd:element name – “logicalConnectionPointAssembty”*

<xsd:complexType> <xsd:sequence> <xsd:group ref = ”g_naming”/> <xsd:element ref = “specificproperty” minOccurs = “0” maxOccurs = “unbounded”/* <xsd:element ref = “uses” minOccurs = “07*

<xsd:element ref = “provides” maxOccurs = “unbounded”/*

<xsd:element ref = “instances” minOccurs = “07* </xsd:sequence>

<xsd:attribute name = “uniquelD” use = “required” type = “xsd;ID”/>

<xsd:attribute name = “logicalConnectionPointAssemblyType” use = “required” type = “xsd:string7>

<xsd:attribute name = “enabled” default = “YES’*

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7* <xsd:enumeration value = *NO7> </xsd:restriction>

</xsd;simpleType* </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name = “logicalConnectionPointAssemblyList”* <xsd:complexType>

<xsd:sequence> «”xsdisequence minOccurs = “О”* <xsd:group ref = “g_naming”/> </xsd:sequence*

<xsd:element ref = “logicalConnectionPointAssembly” maxOccurs = “unbounded”/* </xsd:sequence> </xsd:complexType>

</xsd:element>

<xsd;element name = “logicalConnectionPointList”*

<xsd:complexType> <xsd:sequence> <xsd:sequence minOccurs = “0”> <xsd:group ref = “g_naming7* </xsd:sequence>

<xsd:element ref = TogicalConnectionPoint” maxOccurs = “unbounded”/*

</xsd: sequence»

</xsd;comptexType>

</xsd:element>

<xsd:element name = “MAU’>

<xsd:complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<xsd:element ref = “pictureList” minOccurs = “07>

<xsd:element ref = “specificProperty” minOccurs = “0” maxOccurs = “unbounded”/» <xsd:element ref = “instances” minOccurs = “0”/»

</xsd:sequence»

<xsd:attribute name = “uniquelD” use = “required” type = “xsd:ID7>

<xsd:attribute name = “protocol” use = “required” type = “xsd:string7>

<xsd:attribute name = “interfaceType” use = “required” type = “xsd:slring7>

<xsd:attribute name = “MAUType” type = “xsd;string’7>

<xsd:attribute name = “newLevel” default = “NO”»

<xsd simpleTypA>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “NO”/» <xsd:enumeration value = “YES”/» </xsd: restriction >

</xsd:simpleType> </xsd:attribute> <xsd:attribute name = “directiyConnected” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “NO”/» <xsd:enumeration value = *YES“/> </xsd:restriction>

</xsd;simpleType» </xsd:attribute> <xsd:attribute name = “direction” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:string”» <xsd:enumeration value »”IN”/» <xsd:enumeration value = “IN_UNI”/> <xsd:enumeration value = “OUT”/» <xsd:enumeration value = “0UT_UNI7> <xsd:enumeration value = “INOUT”/» </xsd:restriclion>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “sequenceNumber” default = “1” type = “xsd:nonNegativelnteger7> <xsd:attribute name = “enabled” default = “YES”»

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = *N07> </xsd;restrlction>

</xsdisimpleType>

</xsd:attribute>

</xsd:comptexType»

</xsdielement>

<xsd:element name = “MAUList”»

<xsd:complexType>

<xsd:sequence»

<xsd:element ref = “MAU” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “MAUUsage”»

<xsd:complexType>

<xsd:attribute name = “ref use = “required” type = “xsd:string”/>

</xsd;comptexType>

</xsd:element>

<xsd:element name = “MAUUsageLisf>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “MAUUsage” maxOccurs = “unbounded^* </xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “maxVar>

<xsd:complexType>

<xsd:choice>

<xsd:group ref = ”g_numeric0atatypes7>

<xsd:group ref = ”g_booteanDatatypes”/>

<xsd:group ref = ”g_userDatatypes7>

<xfid gmup ref = ■g_timeDatatypefi,V>

</xsd:choice>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “minVar>

<xsd:complexType>

<xsd:choice>

<xsd:group ref = ”g_numericDatatypes“/>

<xsd:group ref = “g_booleanDatatypes7>

<xsd:group ref = «g_userDatatypes7>

<xsd:group ref = “g_limeDatatypes7>

</xsd:choice>

</xsd;comptexType>

</xsd:element>

<xsd:element name = “modifyEntity“>

<xsd:complexType>

<x3d:choice maxOccurs ■ “unbounded”»

<xsd:any namespace = “http://www.can-cia.org/xml/canopenr processcontents = “strict”/* </xsd:choice>

<xsd:attribute name = “node* use = “required’ type = “xsd:string7>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “modifyValue’>

<xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_values7>

</xsd:choice>

<x$d:attribute name = “node” use = “required” type = ’xsd:string’/>

</xsd:comptexType>

</xsd:element>

<xsd:element name »“no”>

<xsd:complexType>

<xsd:sequence>

<xsd:group ref = “g_naming7>

<xsd:element ref = “relations” minOccurs = “07>

</xsd:sequence>

<xsd:attribute name = “default” default = “NO’>

<xsd:simpleType>

<xsd:restriction base = “xsd:string”>

<xsd:enumeration value = “NO7>

<xsd:enumeration value = “YES’/>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name = “nonStandardizedExtension”» <xsd;complexType> <xsd;sequence>

<xsd:any namespace = “##any” processcontents = “strict”/» </xsd:sequence> </xsd:comptexType>

</xsd:element> <xsd:element name = “offset*» <xsd;complexType> <xsd:choice>

<xsd:group ref = “g_numericDatatypes7» <xsd:group ref = “g_userOatatypes”/> </xsd:choice>

</xsd;comptexType> </xsd:element> <xsd:element name = “on”» <xsdrz»mplexTypft> <xsd:sequence» <xsd:element ref = ‘relations”/» </xsd: sequence»

<xsd:attribute name = “value” use = “required” type = “xsd:string”/> </xsd:complexType> </xsd:element>

<xsd:element name = “orderNumber”»

<xsd:complexType>

<xsd:choice>

<xsd:group ref = “gjabels”/»

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”» <xsd:simpleType>

<xsd:restriction base = “xsdistring”» <xsd:enumeration value = “YES”/» <xsd.enumeration value = ”NO“/> </xsd: restriction > </xsdisimpleType>

</xsd:attribute> </xsd:comptexType> </xsd:element> <xsd:element name = “picture”» <xsd:complexType> <xsd:sequence>

<xsd:sequence minOccurs = “0”» <xsd:group ref = “g_naming”/> </xsd:sequence>

<xsd:element ref = “botspotList” minOccurs = “07>

</xsd: sequence»

<xsd:attribute name = “picClassification” type = “xsd:string7> <xsd:attribute name = “picType” use = “required” type = “xsd:string7> <xsd:attnbute name = “picName” use = “required” type = ”xsd:stnng7> <xsd:attribute name = “xSize” type = “xsd:positivelnteger”/» <xsd:attribute name = “ySize” type = “xsd:positivelnteger”/> </xsd:complexType> </xsd:element>

<xsd:element name = “pictureList”»

<xsd:complexType> <xsd:sequence> <xsd:element ref = “picture” maxOccurs = “unbounded”/» </xsd:sequence> </xsd:complexType>

</xsd;element> <xsd:element name = “processingEntity”» <xsd:complexType>

<xsd:sequence>

<xsd:sequence minOccurs = “0”>

<xsd:group ref = “g_naming7>

</xsd:sequence>

<xsd:element ref – “identity* minOccurs = *07»

<xsd:element ref = “helpFileList” minOccurs = “07>

<xsd:element ref = “toolList* minOccurs = “07>

<xsd:element ref = “pictureList” minOccurs = “07>

<xsd:element ref = “cfgltemList” minOccurs = “07>

<xsd:element ref = “additionalltemList” minOccurs = “0” maxOccurs = “unbounded”/»

<xsd:element ref = TogicalConnectionPointList’ minOccurs = “07»

<xsd;element ref = “logicalConnectionPointAssemblyList* minOccurs = “07> <xsd:element ref = “internalConnectionPointList” minOccurs = “07>

<xsd:element ref – “externalschema” minOccurs = “0” maxOccurs = “unbounded”/» </xsd;sequence>

<xsd:attribute name = “uniquelD” type = “xsd:ID7>

<xsd attribute name = “processingFntityType” use = “required” type = “xsdstring7> <xsd:attribute name = “enabled” default = “YES”»

<xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “N07> </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType»

</xsdielement>

<xsd:element name = “productFamify”»

<xsd:complexType>

<xsd:choice>

<xsd:group ref = “gjabels”/»

</xsd:choice>

<xed:attribute name = “readonly” default = lrYES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO7> </xsd:restriction> </xsd:simpleType>

</xsd:attribute>

</xsd :complexType»

</xsd:element>

<xsd:element name = “productID”»

<xsd;complexType>

<xsd:choice>

<xsd:group ref = “gjabels”/»

</xsd:choice»

<xsd:attribute name = “readonly” default = “YES”»

«•xsdrsImpleType» <xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “N07> </xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd;element name = “productName”»

<xsd:complexType>

<xsd;choice>

<xsd:group ref = “gjabels”/»

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”* <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “N07*

</xsd: restriction > </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name = “productText”> <xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_labels7>

</xsd;choice>

<xsd:attribute name = “readonly” default = “YES”>

<xsr1 RimpleTypa* <xsd:restriction base = “xsd:string”> <xsd:enumeration value = *YES“/> <xsd:enumeration value = “NO”/> </xsd: restriction >

</xsd:simpleType> </xsd:atlribute> </xsd :complexType> </xsd:element>

<xsd:element name = “ProfileBody”>

<xsd;complexType>

<xsd:sequence>

<xsd:element ref = “Deviceldentity’7* <xsd:element ref = “DeviceManagerT* <xsd:element ref = “DeviceFunction” maxOccurs = “unbounded”/*

<xsd:element ref = “ApplicationProcess” minOccurs = “0” maxOccurs = “unbounded”/* <x3d:element ref = “nonStandardizedExtanaion” minOccurg = “0” maxOccura = “unbounded”/* </xsd:sequence> <xsd:attributeGroup ref = “ag_FDCML”/>

<xsd:attribute name – “supportedLanguages” type = “xsd:NMTOKENS”/>

<xsd:attribute name = “uniquelD” type = “xsd:ID”/>

</xsd :complexType>

</xsd:element>

<xsd:element name = “ProfileHeader”*

<xsd;complexType>

<xsd:sequence>

<xsd:element name – “Profileidentification” type = “xsd:string7> <xsd:element name = “ProfileRevision” type = “xsd:string7> <xsd:element name = “ProfileName” type = “xsd;string”/> <xsd:element name = “ProfileSource” type = “xsd:string”/> <xsd:element name = “ProfileClassID” type = “ProfileClasslD_DataType7> <xsd:element name = “ProfileDate” type = “xsd;date” minOccurs = “07* «•xsdrelement name = “Additionalinformatlon” type = “xsd:anyURl” minOccurs = “0“/* <xsd:element name = “ISO15745Reference” type = “1SO15745Reference_DataType7> <xsd:element name ~ “lASInterfaceType” type = “IASInterface_DataType” minOccurs = “0” maxOccurs = “unbounded”/*

</xsd:sequence*

</xsd xomplexType*

</xsd:element>

<xsd:element name = “ProfilesBody’*

<xsd;complexType>

<xsd:sequence>

<xsd:element ref = “Deviceidentity” minOccurs = “07*

<xsd:element ref = “ProfileBody” maxOccurs = “unbounded”/* <xsd:element ref = “connectionUst”/*

</xsd:sequence>

<xsd:attributeGroup ref = “ag_FDCML7»

<xsd:attribute name – “supportedLanguages” type = “xsd:NMTOKENS”/> </xsd :comptexType>

</xsd:element>

<xsd:element name – “provides”»

<xsd:complexType>

<xsd:attribute name = “ref” use = “required” type = “xsd:string7> </xsd :comptexType>

</xsd:element>

<xsd:element name = “range”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “minVal” minOccurs = “07>

<xsd:element ref – “maxVaF minOccurs = ”07»

<xsd:element ref = “stepVal” minOccurs = “07>

<xsd:element ref = “offset” minOccurs = “07>

<xsd element ref = “gein” minOccurs = 7)7»

<xsd:element ref = “default” minOccurs = ”07»

<xsd:element ref = “on” minOccurs = “0” maxOccurs = “unbounded”/» </xsd:sequence>

<xsd:attribute name = “format” type = ’xsd:string”/>

<xsd:attribute name = “unit” type = ”xsd:string7> </xsd:comptexType>

</xsd:element>

<xsd:element name = “recalcEntity”»

<xsd:complexType>

<xsd:attribute name = “node” use = “required” type = “xsd:string’/> </xsd :comptexType>

</xsd:element> <xsd:element name = “recalcValue”» <xsd;complexType>

<xsd:attribute name = “node” use = “required” type = “xsd:string7> </xsd;comptexType>

</xsd:element>

<xsd:element name = “reference”»

<xsd;complexType>

<xsd:attribute name = “ref’ use = “required” type = ”xsd:string7> </xsd;comptexType>

</xsd:element>

<xsd:element name = “relations”»

<xsd:complexType>

<xsd:choice maxOccurs = “unbounded”» <xsd:element ref = “enable”/» <xsd:element ref = “disable”/» <xsd:element ref = “change”/»

</xsd;choice> </xsd:comptexType> </xsd:element> <xsd:eiement name = “serialNumber» <xsd:complexType>

<xsd:choice>

<xsd:group ref = “gjabels”/»

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES“>

<xsd:simpleType>

<xsd:restriction base = “xsdistring”» <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO“/> </xsd:restriction>

</xsd:simpleType» </xsd:attribute> </xsd :compiexType>

</xsd:element>

<xsd:element name = “slot”»

<xsd:complexType> <xsd:sequence> <xsd:group ref = “g_naming”/» <xsd:element ref = “MAUUsageList”/» <xsd:element ref = ‘‘defaultfile’* minOccurs = “O7> <xsd:element ref = “Йе” maxOccurs = “unbounded”/» <xsd:element ref = “specificProperty” minOccurs = “0” maxOccurs = “unbounded”/» <xsd:element ref = “instances” minOccurs = “07»

</xsd:sequence>

<xsd:attribute name = “uniquelD” use = “required” type = “xsd:ID7» <xsd:attribute name = “number” use = “required* type = “xsd:string”/> <xsd:attribute name = “enabled” default = “YES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> «xfid ennmeratinn vakie = “YPS7> <xsd:enumeration value = *N07> </xsd;restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element>

<xsd:element name = “slotList”»

<xsd;complexType> <xsd:sequence> <xsd;element ref = “dot” maxOccurs = “unbounded”/» </xsd: sequence»

</xsd;comptexType>

</xsd:element>

<xsd;element name = “spedficationRevision”»

<xsd:complexType>

<xsd;choice>

<xsd:group ref = “gjabels”/»

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”»

<xsd:simpleType> <xsd:restriction base = “xsdistring”» <xsd:enumeration value = “YES”/» <xsd:enumeration value = “NO“/> </xsd: restriction > </xsdisimpleType> </xsd:attribute> </xsd:complexType> </xsd:element>

<xsd:element name = “specificproperty”»

<xsd:complexType> <xsd:sequence» <xsd:sequence minOccurs = “0″» <xsd:group ref = ”g_naming’/> </xsd:sequence>

<xsd:group ref = “g_values*/>

</xsd:sequence»

<xsd:attribute name = “propertyType” use = “required” type = “xsdistring”/» <xsd:attribute name = “enabled” default =”YES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> <xsd:enumeration value = “NO”/» <xsd:enumeration value = “YES7> </xsd:restriction> </xsd:simpleType> </xsd:attribute>

</xsd :comptexType>

</xsd:element> <xsd:element name = “stepVal”» <xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_numericDatatypes”/> <xsd:group ref = “g_booleanDatatypes”/> <xsd:group ref = “g_userDatatypes”/> <xsd:group ref = “g_timeDatatypes7> </xsd:choice>

</xsd:comptexType> </xsd:element> <xsd:element name = “structuredType”» <xsd;complexType>

<xsd:sequence>

<xsd:ctioice minOccurs = ЧТ»

<xRd grnup ref – “g_help’7>

</xsd:choice»

<xsd:ctioice maxOccurs = “unbounded”»

<xsd:element ref = “varDeclaration”/»

<xsd:element ref = “subrangeVarDedaration”/» </xsd:choice>

</xsd:sequence> </xsd:comptexType> </xsd:element>

<xsd:element name = “subrange”»

<xsd;complexType>

<xsd:attribute name = “lowerLimit” use = ‘’required” type = “xsd:string7> <xsd:attribute name = “upperLimit” use = “required” type = “xsd:string7> </xsd:comptexType» </xsd;element>

<xsd:element name = “subrangeType”»

<xsd:complexType> <xsd:sequence> <xsd:choice minOccurs = “0”» <xsd:group ref = “g_help7>

</xsd:choice»

<xsd:group ref = “g_integerDatatypes”/> <xsd:element ref = “subrange”/» </xsd:sequence>

<xsd:attribute name = “initialvalue” type = “xsd:string”/> </xsd :comptexType>

</xsd:element> <xsd:element name = “subrangeVarDedaration”» <xsd;complexType>

<xsd:sequence>

<xsd:group ref = “g_naming”/>

<x$d:group ref = “g_integerDatatypes7>

<xsd:element ref = “subrange” minOccurs = “O7> </xsd:sequence>

<xsd:attribute name = “initialvalue” type = “xsdistring”/» </xsd;comptexType>

</xsd:element>

<xsd:element name = “tool”»

<xsd:complexType>

<xsd:attribute name = “toolclassification” use = “required” type = “xsd:string7» <xsd:attribute name = “toollD” use = “required” type = “xsd:string7> </xsd :comptexType>

</xsd:element> <xsd:element name = toolLisf» <xsd:complexType>

<xsd:sequence>

ГОСТ Р ИС015745-2—2010

<xsd:element ref = “tool” maxOccurs = “unbounded”/* </xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name = “typeName”>

<xsd:complexType>

<xsd;choice>

<xsd:group ref = “gJabels”/>

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES“> <xsd:simpleType>

<xsd:restriction base = “xsd:string“> <xsd:enumeration value = “YES’/* <xsd:enumerat»on value = “NO7> </xsd:restriction> </xsd:simpleType>

</xsdattnhiite> </xsd:complexType> </xsd:element> <xsd:element name = “uses”> <xsd;complexType>

<xsd:attribute name = “ref use = “required” type = “xsd:string7> </xsd:complexType>

</xsd:element> <xsd:element name = “varOedaration”* <xsd:complexType>

<xsd:sequence> <xsd:group ref = ”g_naming”/> <xsd:choice>

<xsd:group ref = “g_datatypes7> <xsd;element ref = “uses”/* </xsd:choice>

<xsd:element ref • “subrange” minOccurs ■ “0” maxOccurs ■ “unbounded”/* </xsd:sequence>

<xsd:attribute name = “initialValue” type = ”xsd:string7> </xsd;complexType>

</xsd:element> <xsd:element name = “vendorlD”> <xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_labels7>

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”> <xsd:simpleType>

<xsd:restriction base = “xsd:slring”> <xsd:enumeration value = “YES”/> <xsd:enumeration value = “NO“/> </xsd: restriction > </xsd:slmpleType>

</xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name = “vendo<Name”> <xsd:complexType>

<xsd:choice>

<xsd:group ref = “g_labels7>

</xsd:choice>

<xsd:attribute name = “readonly” default = “YES”» <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value «”YES7> <xsd:enumeration value = “N07>

</xsd: restriction > </xsd:simpleType> </xsd;attribule> </xsd;complexType> </xsd:element> <xsd:element name = “vendorText”> <xsd;complexType> <xsd:choice>

<xsd:group ref = ”g_labels7>

</xsd;choice>

<xsd:attribute name = “readonly” default = ”YES”> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “NO7> </xsd;restriction> </xsd:simpleType>

</xsd:attribute> </xsd:comp*exType> </xsd:element> <xsd:element name = “version”» <xsd:complexType>

<xsd:choice>

<xsd:group ref = ”g_labels7>

</xsd.choice>

<xsd:attribute name = “versionType” use = “required” type = “xsd:string7> <xsd:attribute name = “readonly” default = ”YES”>

<xsd:simpleType> <xsd:restriction base = “xsd:string”> <xsd:enumeration value «“YES”/> <xsd:enumeration value = “N07> </xsd; restriction > </xsd:simpleType> </xsd:attribute> </xsd;comptexType> </xsd:element>

<xsd:element name = “yes”>

<xsd.complexType> <xsd:sequence> <xsd:group ref x ”g_naming7> <xsd:element ref = “relations” minOccurs = “07> </xsd:sequence>

<xsd:attribute name = “default” default = “NO’> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “YES7> <xsd:enumeration value = “NO”/> </xsd: restriction > </xsd:simpleType>

</xsd;attribule> </xsd:comptexType> </xsd:element> <xsd:element name = “associatedParameter”» <xsd:complexType> <xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<x$d:attribute name = “assodatedParameterValue” use = “required” type = “xsdistring”/» </xsd:extension>

</xsd:simpleContent> </xsd:comptexType> </xsd:element>

<xsd:element name = “configParameterslist”»

<xsd;complexType>

<xsd;sequence>

<xsd:element ref = “parameterRef” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “constraint”»

<xsd:annotation>

<xsd:documentation»The elements under Constraints aren’t checked by the parser. The languages, to use to describe the constraints, don’t refer to a schema.

</xsd:documentation>

</xsd:annotation>

<xsd;complexType>

<xsd:sequence>

<xsd:any namespace = “##any” processcontents = “skip” minOccurs = “0” maxOccurs = “unbounded”/»

</xsd:sequence>

<xsd:attribute name = “constraint!D” use = “required”»

<xsdisimpleType>

<xsd:restriction base = “xsd:ID’>

<xsd:pattem value = “C\d{1.6}”/»

</xsd:restriction»

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “constraintType’ use = “required”»

<xsd;simpleType>

<xsd:restriction base = “xsd:NMTOKEN”>

<xsd:enumeration value = “among_parameters”/>

<xsd:enumeration value = “display”/»

<xsd:enumeration value = “network”/»

<xsd:enumeration value = “device”/»

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “constraintLanguage” use – “required” type = ”xsd:string7> </xsd:comptexType»

</xsdielement>

<xsd:element name = “constraintsList”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “constraint” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:comptexType»

</xsd:element>

<xsd:element name = “commandParameter”»

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:strtng”»

<xsd:attribute name = “commandParameterValue” use = “required” type = “xsdistring”/» </xsd:extension>

</xsd;simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name = “defaultvalue”»

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attributeGroup ref = “type”/»

</xsd:extension»

</xsd:simpleContent>

</xsd;complexType>

</xsd:element>

<xsd:element name = “function”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “inputsList” minOccurs – “0″/>

<xsd:element ref = “outputsList” minOccurs = “07>

<xsd:element ref = “configParametersList” minOccurs = “0’7»

<xsd:element ref = “constraintsList” minOccurs = “07>

<xsd:element name = “functionStateTransitionDiagram” minOccurs = “0″» <xsd:complexType>

<xsd:sequence>

<xsd:element ref = “stateTransitionDiagram”/»

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

</xsd:sequence>

<xsd attribute name = “name” use = “required” type = “xsdfitring”/»

<xsd:attribute name = “description” type = “xsd:string’/>

<xsd:attribute name = “functionlD” use = “required” type = “xsd:ID7> <xsd:attribute name = “version” use = “required” type = “xsdrstring”/» </xsd;comptexType>

</xsd:element>

<xsd:element name = “functionRef’>

<xsd;annotation>

<xsd:documentation»By this way the hierarchical view of the device can be describe. There is no limitation in the level number. </xsd:documentation>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “functionRef minOccurs = “0” max Occurs = “unbounded”/» </xsd:sequence»

<xsd:attribute name = “functionName” use = “required” type = “xsd:string7>

<xsd:attribute name = “functionlDREF” use = “required” type = “xsd:string’/>

<xsd:attribute name = “functionURL” type = “xsd;string7>

<xsd:attribute name = “functionDescription” type = “xsd:string7>

</xsd :comptexType>

</xsd:element>

<xsd:element name = “highldmit”»

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attributeGroup ref = “type”/»

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd;element>

<xsd:element name = “inputsList”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “parameterRef” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name = “listOfValues”»

<xsd:complexType>

<xsd:sequence»

<xsd:eiement ref = “value” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:comp*exType>

</xsd:element>

<xsd:element name = “lowLimit”»

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attributeGroup ref = “type”/»

</xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:eiement name = “member*»

<xsd:annotation>

<xsd:documentatton>For dataType = anay, only first member is needed</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:sequence>

<xsd:element ref = “defaultvalue” minOccurs =

<xsd:element ref = “lowLimif minOccurs = “07>

<xsd:element ref = “highLimit” minOccurs = “07>

<xsd:element ref – “unit” minOccurs – “07*

<xsd:element ref = “listOfValues” minOccurs = “07>

<xsd:element ref = “membersList” minOccurs = “07>

<xsd:sequence minOccurs = “0”>

<xsd:group ref = ‘’g_naming7>

</xsd:sequence>

<xsd:element ref = “actualvalue” minOccurs = “07>

</xsd:sequence>

<xsd:attribute name = “name” use = “required” type = “xsd:string7>

<xsd:attribute name = “description’’ type = “xsdistring”/»

<xsd:attribute name = “memberiD” use = “required” type = “xsd:string”/>

<xsd:attributeGroup ref = “dataType”/»

</xsd:comptexType>

</xsd:element>

<xsd:element name = “membersList”»

<xsd:annotation>

<xsd:documentation>membersList is mandatory if dataType = struct or array. </xsd:documenlation> </xsd:annotation>

<xsd;complexType>

<xsd:sequence>

<xsd:element ref = “member” maxOccurs = “unbounded”/»

</xsd: sequence»

<xsd:attribute name = “numberOfMembers” use = “required” type = “xsd:integer7> </xsd;comptexType>

</xsd;element>

<xsd:element name = “outputsList”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “parameterRef” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd:complexType>

*7xsd;©l©menf>

<xsd:element name = “parameter” type = “parameterType”/»

<xsd:element name = “state” type = “stateType”/»

<xsd:element name = “statesTab”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “state” maxOccurs = “unbounded”/»

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name = “stateTransitionDiagram” type = “stateTransitionDiagramType”/»

<xsd;element name = “transition” type = “transitionType”/»

<xsd:element name = “transtionsTab”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “transition’ maxOccurs = ’unbounded”/* </xsd:sequence> </xsd;complexType> </xsd:element>

<xsd:element name » “unit’>

<xsd;complexType>

<xsd:attribute name = “multiplier” use = “required” type = “xsdistring”/* <xsd:attribute name = “unitURI” type = “xsd:anyURI7> </xsd;comptexType>

</xsd:element>

<xsd:element name = “value”*

<xsd:complexType> <xsd:simpleContent> <xsd:extension base = “xsd:string”>

<xsd:attribute name = “meaning” type = “xsd;string”/> </x6d:extene*on>

</xsd:simpleContent> </xsd:comp*exType> </xsd:element>

<xsd:complexType name = “parameterType”* <xsd:sequence>

<xsd:element ref = “defaultvalue” minOccurs = “07* <xsd:element ref = “towLimif minOccurs = “07* <xsd:element ref = “highLimit” minOccurs = “07* <xsd:element ref = “unit” minOccurs = “07*

<xsd:element ref = “listOfValues” minOccurs = “07* <xsd:element ref = “membersList” minOccurs = “07* <xsd:element ref = “actualvalue” minOccurs = “07* <xsd:sequence minOccurs = “0”> <xsd:group ref = “g_naming7>

</xsd:sequence> </xsd:sequence>

<xsd:attribute name = “name” use = “required” type = “xsd:string7> <xsd:attribute name = “denotation” type = “xsdistring”/* <xsd:attribute name = “description” type = “xsd;string7> <xsd:attribute name = “paramID” use = “required” type = “xsd:ID7> <xsd:attributeGroup ref = “accessCategory’7*

<xsd:attribute name = “constraintlDREF” type = “xsd:IDREF7> <xsd:attributeGroup ref = “dataType”/*

<xsd:attributeGroup ref = “persistent”/* <xsd:attributeGroup ref = “use”/*

</xsd:comptexType>

<xsd:complexType name = “stateType”* <xsd;sequence>

<xsd:element ref = “associatedParameter”/*

</xsd:sequence>

«”xsdiattribute name – “description” type = “xsd:etring“/-> <xsd:attribute name = “initialstate” use = “required”* <xsd:simpleType>

<xsd:restriction base = “xsdiNMTOKEN”* <xsd:enumeration value = “false”/* <xsd:enumeration value = “true”/*

</xsd: restriction * </xsd;simpleType> </xsd:attribute>

<x$d:attribute name = “stateName” use = “required” type = “xsd:ID”/> <xsd:attribute name = “stateParent” type = ”xsd:string”/> </xsd:complexType>

<xsd:complexType name = “transitionType”* <xsd:sequence*

<xsd:element ref = “commandparameter” maxOccurs = “unbounded”/* </xsd:sequence>

<xsd:attribute name = “description” type = “xsd;string7>

<xsd;attribute name = “transitionNumber” use = “required”* <xsd:annotation>

<xsd:documentation*Number format = Tx to Txxxxxx</xsd:documentation> </xsd:annotation>

<xsdisimpleType>

<xsd:restriction base = “xsd:ID*>

<xsd:pattem value = “TW{1,6}’/>

</xsd; restriction >

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name = “fromState” use = “required” type = “xsd:IDREF7> <xsd:attribute name = “toState” use – “required” type = “xsd:IDREF7> </xsd xomptexType*

<xsd:complexType пзте – ■etateTraneitionDiagrarnType”.’* <xsd:sequence>

<xsd:element ref = “statesTab”/*

<xsd:element ref = “transtionsTab’T*

</xsd:sequence* </xsdxomptexType> <xsd:element name = “actualvalue” type = “xsdistring”/* <xsd:element name = “CANopenldentity”*

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “CANopenVendorld”*

<xsd:complexType> <xsd:simpleContent> <xsd:extension base = “xsd;unsignedLong“> <xsd:attribute name = “paramld” use = “required” type = “xsd:ID7> </xsd:extension>

</xsd:simpleContent*

</xsd xomptexType*

</xsd:element>

<xsd:element name ® “CANopenProductCode” minOccurs = “0”> <xsd:complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:unsignedLong”>

<xsd:attribute name = “paramld” use = “required” type = “xsd:ID’/> </xsd;extension>

</xsd:simpleContent>

</xsd:comptexType> </xsd:element>

<xsd:element name = “CANopenRevisionNumber” minOccurs = “0”> <xsd:complexType>

<xsd:simpleContent>

^xscfexterigion base = Mxsd;uneignedLong”>

<xsd:attribute name = “paramld” use = “required” type = “xsd:ID”/> </xsd:extension*

</xsd:simpleContent>

</xsdxomptexType> </xsd:element>

<xsd:element name = “CANopenSerialNumber’ minOccurs = “0”> <xsd;complexType>

<xsd:simpleContent>

<x$d:extension base = “xsdiunsignedlong”*

<xsd:attribute name = “paramld” use = “required” type – “xsd:ID”/> </xsd:extension>

</xsd:simpleContent>

</xsd xomptexType*

</xsd:element>

<xsd:element name = “CANopenManufacturerOeviceName” minOccurs = “0”> <xsd:complexType>

<xsdisimpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attribute name = “paramld” use = “required” type = “xsd:ID”/> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “CANopenManufacturertiardwareVersion” minOccurs = “0”> <xsd :complexType>

<xsd:simpleContent>

<xsd:exlension base = “xsd;string”>

<xsd:attribute name = “paramld” use = “required” type = “xsd:ID7> </xsd;extens»on>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “CANopenManufacturerSoftwareVersion” minOccurs = “0“> <xsd;complexType>

<xsd:simpleContent>

<xsd:extension base = “xsd:string”>

<xsd:attribute name = “paramld” use = “required” type = “xsd:ID’/> </xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “CANopenDedicatedCfgCategory“>

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “CANopenGeneralCapabitities’>

<xsd:complexType/>

</xsd:element>

<xsd:element name = “CANopenDeviceCommissioning” minOccurs = “0”> <xsd:complexType/>

</xsd;element>

</xsd:sequence>

</xsd :compiexType>

</xsd:element>

<xsd:element name = “parameterRer>

<xsd:complexType>

<xsd:attribute name = “paramID” use = “required” type = “xsdilDREF*/> </xsd:comptexType>

</xsd:element>

<xsd:element name = “CANopenObjectAccessList”>

<xsd;complexType>

<xsd:sequence>

<xsd:element name = “CANopenObject” maxOccurs = “65536”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “CANopenSubObject” maxOccurs = “255”> <xsd:complexType>

<xsd:attribute name = “subindex” use = “required” type = “xsd:unsignedByte7> <xsd:attribute name = “pdoMapping” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “NotAllowed“/> <xsd:enumerat»on value = “ReceiveOnly7> <xsd;enumeration value = “TransmitOnly7> <xsd:enumeration value = “ReceiveTransmit7> </xsd;restriction> </xsd:simpleType> </xsd:attribute>

<xsd:attribute name = “paramID” type = “xsd:IDREF7>

<xsd:attribute name = “maxSubNumber’ type = ’xsd:unsignedByte7> </xsd;complexType> </xsdielement> </xsd:sequence>

<xsd:attribute name = ’index’ use = ’required’ type = ’xsd:unsignedShort7> <xsd:attribute name = “objectCode” use = “required” type = “xsd:unsignedByte“/> </xsd :complexType> </xed:element>

</xsd:sequence> </xsd:comptexType> </xsd:element> </xsd:schema>

B.1.5.2 FDCMLdt.xsd

<?xml version-‘I.O” encoding=’UTF-8’?>

<xsd:schema targetNamespace=”http://www.FDCML.org” xmlns=”http://www.FDCML.org” xmlns:xsd=“http://www.w3.org/2001/XMLSchema’ xmlns:xlink=*http://www. w3.org/1999/xlink” elementFormDefault=”qualified” atlributeFormDefault=’unqualified’ version=”1.0“>

<xsd:include schemaLocation=’FDCMLdt.xsd7>

<xsd;import namespace=”http;//www.w3.org/1999/xlink” schemal_ocation=”xlinkdef.xsd7> <xsd;element name=”binaryDate” nillable=”true”>

<xsd:annotation>

<xsd:documentation>Binary Date w/ 7 octets</xsd:documentation> </xsd:annotation>

<xsd:simpleType> <xsd:restriction base=”xsd:string”/> </xsd:simpleType> </xsd:element>

<xsd:element name=”binaryDate2000’ nillable=”true“> <xsd:annotation>

<xsd:documentation>Binary Date w/ 8 octets</xsd:documentation> </xsd:annotation>

<xsd:simpleType> <xsd:restriction base=”xsd:string”/> </xsd:simpleType> <‘/x£d:sl©ment’>

<xsd:element name=’binaryTimeO“ nilable=’true”> <xsd:annotation>

<xsd:documentation>binary number w/ 2 octets, unit is 10 us</xsd:documentation> </xsd:annotation> <xsd:simpleType>

<xsd:restriction base=’xsd:unsignedShort”/>

</xsd;simpleType> </xsd:element> <xsd:element name=’binaryTime1″ niHable=”true”> <xsd:annotation>

<xsd:documentation>binary number w/ 2 octets, unit is 100 us</xsd;documentalion> </xsd:annotation> <xsd:simpleType>

<xsd:restriction base=”xsd:unsignedShort7>

</xsd:simpleType>

</xsd:element>

<xsd;element name=’binaryTime2“ nilable=“trueM>

<xsd:annotation>

<xsd:documentation>binary number w/ 2 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<xsdisimpleType>

<xsd:restriction base=”xsd:unsignedShort7>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’binaryTime3″ nilable=”true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 2 octets, unit is 10 ms</xsd:documentation> </xsd:annotation>

<xsd:simpleType>

<xsd:re£triction b3se_‘xed:unsignedShort”/>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’binaryTime4″ nilable=”true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 10 us</xsd:documentation> </xsd:annotation>

<xsd:simpleType>

<xsd restriction base=”xsd:unsignedlnt”/>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’binaryTime5″ niHable=”true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 100 us</xsd:documentation> </xsd:annotation>

<xsd:simpleType>

<xsd restriction base=”xsd;unsignedlnt7>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’’binaryTime6″ nilable=”trueM>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<xsd:simpleType>

<xsdrestriction base=”xsd:unsignedlnt7>

</xsd:simpleType>

</xsd:element>

<xsd:element name=”binaryTime7″ nilable=“true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 6 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<‘xsd:simpl©Typ®’>

<xsd:restriction base=”xsd:unsignedLong”>

<xsd:maxlnckisrve value=”2814749767106557>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name=’binaryTime8″ nilable=”true”>

<xsd;annotation>

<xsd:documentation>binary number w/ 6 octets, unit is 10 us</xsd:documentation> </x$d:annotation>

<xsd:simpleType>

<xsdrestriction base=”xsd:unsignedLong”>

<xsd:maxlndusive value=”2814749767106557>

</xsd: restriction >

</xsd:simpleType>

</xsd:element>

<xsd:element name=”binaryTime9″ ntlable=“true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 6 octets, unit is 100 us</xsd:documentation> </x$d:annotation>

<xsd:simpleType>

<xsd:restriction base=”xsd:unsignedLong”>

<xsdmaxlndusive value=,*2814749767106557>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:simpleType name=,‘t_bitstring“>

<xsdrestricUon base=“xsd:string“>

<xsd:pattem value=e(([0-1]{8})_?r([0-1K8})7>

</xsd:restriction>

</xsd RimpleTypft>

<xsd:element name=”bitstring* nillabte=”true’>

<xsd:annotation>

<xsd:documentation>sting of bits (length in octets)</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd extension base=“t_bitstring”>

<xsd:attribute name=length’ type=”xsd:nonNegativelnteger” use=“required7>

<xsd:attribute name=“IEC61131″ type=*xsd:string” use=“optionar7>

<xsd:attribute name=“WinVT type=“xsd:string“ use=*optional7> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd;element>

<xsd:simpleType name=”t_bitstring16’>

<xsd restriction base““xsd:3tring”>

<xsd:pattem value=w0x([0-9]|[A-F]X4}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name=”t_bitstring32″>

<xsdrestriction base=”xsd:string“>

<xsd:pattem value=”0x([0-9]|[A-F]X8}7>

</xsd:restriction>

</xsd:simpleType>

<xsdisimpleType name=”t_bitstring64“>

<xsdrestriction base=”xsd:string”>

<xsd:pattem value=’0x([0-9]|[A-F]X16}7>

</xsdrestriction>

</xsd:simpleType>

<xsd:simpleType name=”t_bitstring8*>

<xsd restriction base=‘,xsd:string’*>

<xsd:pattem value=”0x([0-9]|[A-F)X2}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name=”boolean” nil!able=”Lrue’>

<xsd:annotation>

<xsd:documentation>one bit representing the values true and false</xsd:documentation> </x$d:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=,,xsd:boolean,’>

<xsd:attribute name=1EC61131’‘ type=“xsd:stringM fixed=”BOOL7>

<xsd:attribute name=”WinVTw type=’xsd:string’ fixed=”VT_BOOL/> </xsd:extension>

</xsd:simpleContent>

</xsd :comp*exType>

</xsd:element>

<xsd:element name=”boor nillable=”true”>

<xsd;annotation>

<xsd:documentation>octet representing the values true and false</xsd:documentation> </xsd:annotation>

<xsd;complexType>

<xsd:simpleContent>

<xsdiextension base=*’xsd:boolean,’>

<xsd:attribute name=TEC61131″ type=”xsd:string” fixed=’BOOL7>

<xsd:attribute name=wWinVT’ type=“xsd:string“ fixed=”VT_BOOL7> </xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name^yte” nillable=”true”>

<x£d:annot3tion>

<xsd:documentation>string of 8 bit (byte)</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=“t_bitstring8“>

<xsd:attribute пате=”1ЕС6113Г type=“xsd:string” fixed=“BYTE7>

<xsd:attribute name=”WinVT’ type=”xsd:string” fixed=”VT_U117>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd;simpleType name=”t_co<npactBooleanArray’,>

<xsd:restriclion base=”xsd:string,,>

<xsd:pattem value=”0x((0-9]|(A-F)X2}7>

</xsd; restriction >

</xsd:simpleType>

<xsd:element name=’compactBooleanArray* nil1able=<true*’>

<xsd:annotalion>

<xsd:documentation>array of 8 bits, length one octet</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=”t_compactBoo1eanArray“>

<xsd:attribute name=”lEC61131“ type=“xsd:string” fixed=”BYTE7>

<xsd:attribute name=”WinVT” type=”xsd:string” fixed=’VT_UI17>

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name=’date_and_time“ nillable=”true”>

<’xsd:annotation’>

<xsd:docufnentation>structured datatype consiting of timeOfDay4 and date2</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotation>

<xsd:documentation>represented by ISO 8601 dateTime</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=,,xsd:dateTime*>

<x$d:attribute name=’IEC61131H type=”xsd string” fixed=’DATE_AND_TlME7>

</x$d:extension>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”date” nillable=*true‘,>

<xsd:annotation>

<xsd:documentation>Date without time indication</xsd:documentation> </xsd:annotation>

<xsd:complexType> <xsd:annotation>

<xsd:documentation>represented by ISO 8601 date</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension bases“xsd:date”>

<xsd:attribute пагпе=”1ЕС6113Г type=”xsd:strir)g’ fixed=’DATE7> </xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’date7″ nillable=”true’>

<x<w1 ’annotation»

<xsd:documentation>Date with time indication</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:annotation>

<xsd:documentation>restricted later ?</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<x$d:extension base=’’xsd:string7>

</xsd;simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”dint” nilable=’true”>

<xsd:annotation>

<xsd;documentation>binary number w/ 4 octet$</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd:int“>

<xsd:attribute name=’IEC61131″ type=”xsd:string” fixed=,,DINT7> <xsd:attribute name=”WinVTw type=”xsd:string“ f(xed=’VT_l4H/> </xsd;extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’dword” nillable=”true”>

<xsd:annotation>

<x$d:documentation>string of 32 bit (dword)</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=”t_bitstring32’’>

<xsd:attrlbute name=’lEC6ll3l“ type=“xsd;strlng’ flxed=‘DWORD7> <xsd:attribute names’WinVT’ type=”xsd:string” fixed=”VT_UI47> </xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name=”fieldbusTimeB niNable=”true”>

<xsd:annotation>

<xsd:documentation>IEC 61158-4 DL-Time</xsd:doctimentation> </xsd:annotation>

<xsd;complexType>

<xsd:annotation>

<xsd;documentalion>restricted later ?</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=”xsd:string7>

</xsd;simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name=”fTime* nillable=”truee>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 1 us</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotation>

<xsd:documentation>4 octets, unit is 1 us</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=”xsd:int“>

<xsd:attribute name=’IEC61131** type=’xsd:stnng” fixed^DINTT»

<xsd attribute name=“WinVT” type=Bxsdstring“ fixed=”VT_l47>

</xsd:extensk>n>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“int” nillable=“true“>

<xsd:annotation>

<xsd:documentation>binary number w/ 2 octets</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd:short“>

<xsd:attribute name=”IEC61131e type^xsd^tring” ftxed=“INT7>

<xsd:attribute name=”WinVT type=”xsd:string” fixed=”VT_l27> </xsd:extension>

</xsd:simpleContent>

</xsd;complexType>

</xsd:element>

<xsd:element name=”IPV4Address” nillabte=“true“>

<xsd:annotation>

<xsd:documentation>IP V4 address in dotted notation</xsd:documentation> </xsd:annotation>

<xsd:simpleType>

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

<xsd:pattem value=B((([0-9])|([1-9][0-9])|(1[0-9](0-9])|(2[CM][0-9])|(25[0-5]))\.X3X((0-91)И[1-9П0-9))|(1[0-9Н0-91)|(2[0-4][0-9])|(25[0-5]))-/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:eiement name=”IPV6Address” nillab!e=”true”>

<xsd:annotation>

<xsd:documentation>IP V6 address in dotted notation</xsd:documentation> </xsd:annotadon>

<xsd:simpleType>

<xsd:restriction base=’xsd:string”>

<xsd:pattem value=e((([0-9]M[1-9HO-9])|(1[0-9KO-9))|(2(0-4HO-9))K25[0-5)»lX5X((^

9])|([1-9][0-9))|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))”/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd;element name=“iTime’ nillable=“true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 2 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotalion>

<xsd:documentation>2 octets, unit is 1 ms</xsd:documentatkxi> </xsd:annotation>

<xsd;simpleContent>

<xsd:extension base=’xsd:short”>

<xsd:attribute name=”IEC61131″ type^xedistring” fixed=“INT7>

<xsd:attribute name=”WinVTw type=”xsd:string” faed=wVT_l2″/> </xsd;extens»on>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”lint” nillable=,,true”>

<xsd;annotation>

<xsd:documentation>binary number w/ 8 octets</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd ftxtAn<iinn hase=exfidlnng“>

<xsd:attribute name=’IEC61131H type=“xsd:string” fixed=“LINT’/>

</xsd;extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element пате=’1геаГ пШаЫе=*1гие”>

<xsd;annotation>

<xsd:documentation>ANSI/IEEE 754 double precision</xsd:documentation> </xsd:annotation>

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd;double’>

<xsd:attribute name=’IEC61131“ type=”xsd:string” fixed=”LREAL’/>

<xsd:attribute name=WinVT’ type=’*xsd:string” fixed=”VT_R87> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element пате=ТПте* nillable=’true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 8 octets, unit is 1 us</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotation>

<xsd:documentation>8 octets, unit is 1 us</xsdidocumentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=”xsd:long“>

<xsd:attribute пате=’1ЕС61131и type=”xsd:stnng” fixed=”LINTV>

</xsd:extension>

</xsd:simpleContent>

</xsd :complexType>

</xsd:element>

<xsd:element name=’lword” nillable=”true”>

<xsd:annotation>

<xsd:documentation>string of 64 bit (tword)</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd;simpleContent>

<xsd:extension base=”t_bitstring64,’>

<xsd:attribute name=*IEC61131* type=*xsd:string* fixed=”LW0RD7> </xsd;extens»on>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:simpleType name=”t_octetString*>

<xsd:reslrictkxi base=’xsd:string”>

<xsdipattem value=’(0x([0-9]|[A-F]X2}.)e0x([0-9]|[A-F]X2}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name=”octetString” nilable=”true”>

<xsd:annotation>

<xsd:documentation>ordered sequence of octets, length in octets</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=“t_octetString“>

<xsd:attribute name=”length” type=Mx$d:nonNegativelnteger* use=,*required7>

<xsd:attribute name=“WinVT’ type=’xsd:string” fixed=,‘VT_BSTR7>

</xsd:extension>

</xsd:simpleContent>

</xRdcomplftxTypfi>

</xsd:element>

<xsd;simpleType name=”l_octetString1*>

<xsd:restrictkxi base=”xsd:string”>

<xsd:pattem value=,,0x((0-9]|[A-F]X2}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name=“octetStnngr пй1аЫе=“1гие”>

<xsd:annotation>

<xsd:documentation>1 octet</xsd:documentation>

</xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=“t_octetString1′,>

<xsd:attribute пате=“1ЕС6113Г type=“xsd:string” fixed=“BYTE7>

<xsd:attribute name=”WinVT’ type=”xsd:string” fixed=”VT_UI1*/>

</xsd; extension >

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:simpleType name=”t_octetString 16″>

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

<xsd:pattem value=”0x([0-9]|[A-F]X32}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name=”octetString16“ nillable=<true”>

<xsd:annotation>

<xsd:documentation>ordered sequence of 16 octets</xsd:documentation>

</xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extens»on base=”t_octetString16″>

<xsd:attrlbute name=“WlnVT” type=”xsd:strlng“ nxed=*VT_BSTR7>

</xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:simpleType name=”t_octetString2“>

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

<xsd:pattem value=“0x((0-9]|[A-F]X4}7>

</xsd:restriction>

</xsd:simpleType>

<xsd;element name=”ocletString2″ nillable=”true”>

<xsd:annotation>

<xsd:documentation>ordered sequence of 2 octets</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=“t_octetString2’>

<xsd:attribute пате=”1ЕС61131и type=’xsd:string” fixed=“WORD’/> <xsd:attribute name=“WinVT“ type=”xsd:string” fixed=*VT_UI27> </xsd:extension>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:simpleType name=“t_octetString4”>

<xsd:restriction base=”xsd:stringw> <xsd;pattemvalue=“0x([0-9]|[A-F]X8}7> </xsd: restriction >

</xsd:simpleType>

<xsd:e1ement name=”octetString4” nillable=”true”>

<xsd:annotation>

<xRddnciimentation>ordered sequence of 4 octetfi</xsd documentation» </xsd:annotation>

<xsd;complexType>

<xsd:simpleContent>

<xsd;extension base=”t_octetString4’*>

<xsd:attribute name=eIEC61131″ type=”xsd.string” fixed=”DWORD’/> <xsd:attribute name=”WinVT” type=”xsd:string” fixed=VT_Ul47> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:simpleType name=,’t_octetString8″>

<xsd:restriction base=Mxsd:string*>

<xsd:pattem value=”Ox([0-9]|[A-F]){16}7>

</xsd:restriction>

</xsd:simpleType>

<xsd:element name““octetString8″ nillable_“true”> <xsd:annotation>

<xsd:documentation>ordered sequence of 8 octets</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=”t_octetString8″>

<xsd:attribute name=”IEC61131″ type=”xsd:string” fixed=‘LW0RD7> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”real” nillable=”true”>

<xsd:annotation>

<xsd:documentation>ANSI/IEEE 754 single precision</xsd:documentat»on> </xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=“xsd:float”>

<xsd:attribute name<“IEC61131* types“xsd:string’’ fixed=”REAL7> <xsd:attribute name=”WinVT” type=”xsd:string’ (ixed=”VT_R47> </xsd:extension>

</xsd:simpleContent>

</xsd :complexType>

</xsd:element>

<xsd:element name=”sint’’ nilable=Mtnje”>

<xsd:annotation>

<xsd:documentation>binary number w/ 1 octet</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extensk>n base=’xsd:byte’>

<xsd:attribute name=4EC61131″ type=“xsd:string” ftxed=”SINT”7>

<xsd:attribute name=”WinVT’ type=”xsd:string” fixed=’VT_l17>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsdielement>

<xsd;element name=’time” nillable=’true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotation>

<xsd:documentation>4 octets, unit is 1 ms</xsd:documentation>

</xsd:annotation>

<xRdRimplftCnntent>

<xsd:extension base=”xsd:int“>

<xsd:attribute пате=7ЕС6113Г type=”xsd:stnng” fixed=TIME7>

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd:element>

<xsd;element name=“timeDifference4“ nillable=“true“>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets, unit is 1 ms</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:annotation>

<xsd:documentation>TimeDrfference without date indication</xsd:documentation> </xsd:annotabon>

<xsd:simpleContent>

<xsd;extens»on base““xsd:unsignedlnt7>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’timeDifference6″ nillable=”true’*>

<xsd:annotation>

<xsd:documentation>time difference with additional difference in days</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotation>

<xsd:documentalion>restricted later ?</xsd:documentation> </x$d:annotation>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”/>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’timeOfDay6″ nillable=”true”>

<xsd:annotation>

<xsd:documentation>time of day with dale indication</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:annotatk>n>

<xsd:documentation>restricted later ?</xsd;documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=’’xsd:string7>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”time_of_day” nilable=”true,‘>

<xsd:annotation>

<xsd:documentation>time of day without date indication</xsdidocumentation> </xsd:annotation>

<xsd:complexType> <xsd:annotatiori> <xsd;documentation>TimeOfDay without date indication</xsd:documenlation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=‘xsd:unsignedlnt”>

<xsd:attribute name=7EC61131w type=’xsd:string” fixed=”TIME_OF_DAY’/> </xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’timeValue” nillabte=”true*>

<x<wTannntatinn>

<xsd:documentation>binary number w/ 8 octets, unit is 1/32 ms</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:annotalion>

<xsd:documentation>unit of time is 1/32 milfisecond</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=“xsd:unsignedLong7>

</xsd:simpleContent>

</xsd :complexType>

</xsd:element>

<xsd:element name=’universalTime” nillable=”true’’>

<xsd:annotation>

<xsd:documentation>12 octet string YYMMDDHHMMSS</xsd:documentation> </xsd:annotation>

<x3d:simpleType>

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

<xsd:pattem value=’((0.9]{2}X(0[1-9])|(1[0-2])X(0[1.9])|((1-2][0.9])|(3[0.1])X((0-1][0-9])|(2I0-3])X([0-5][0-9JX2})7>

</xsdrestriction>

</xsdisimpleType>

</xsd:element>

<xsd:element name=’udint” nHlable=’tnje”>

<xsd:annotation>

<xsd:documentation>binary number w/ 4 octets and sign bit</xsd:documentation> </xsd:annotation>

<xsd;complexType>

<xsd;simpleContent>

<xsd:extension base=‘xsd:unsignedlnt”>

<xsd:attribute name=*IEC61131″ type=*xsd:string* fixed=*UDINT*/>

<xsd:attribute name=”WinVT” type=”xsd:string” fixed=MVT_UI47> «•/xsdiextenslon*

</xsd:simpleContent>

</xsd;comptexType>

</xsd;element>

<xsd;element name=“uint” nilable=etrue”>

<xsd:annotation>

<xsd:documentation>binary number w/ 2 octets and sign bit</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=*xsd:unsignedShort”>

<xsd:attribute name=■’IEC6113T, type=”xsd;string’’ fixed^UINTT»

<xsd:attribute name=*WinVT” type=,,xsd:string” fixed=”VT_UI27> </xsd:extens»on>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’ulinr nilable=”true”>

<xsd:annotation>

<xsd:documentation>binary number w/ 8 octets and sign bit</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=“xsd;unsignedLong”>

<xsd:attribute name=eIEC61131″ type=”xsd:string” fixed=’ULINT”/>

</xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’usint” nillable=’true”>

<xsdannntatinn>

<xsd:documentation>binary number w/ 1 octet and sign bit</xsd:documentation> </xsd:annotation>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension basesHxsd:unsignedByteH>

<xsd:attribute name=’IEC61131″ type=”xsd:string” fixed=”USINT7>

<xsd:attribute name=*WinVT* type=,,xsd:string” fixed=”VT_UI1 7> </xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=“visibleString“ nillable=,,true”>

<xsd:annotation>

<xsd:documentation>VisibleString1. VisibleString2. VisibleString4, VisibleString8. V1sibleString16, UNICODE Char. VisibleString. UNICODEString</xsd:documentation> </xsd:annotation>

<xsd;complexType>

<xsd:annotat»on>

<xsd:documentation>this type resembles the 61158 datatypes visibleStringfn], UNICODE char. VisibleString. UNICODEString. string, stringl. string2. stringn, shortString</xsd:documentation> </xsd:annotation>

<xsd:simpleContent>

<xsd:extension base=”xsd:string”>

<xsd:attribute ref=“xml:lang“ use=”optionar7>

<xsdattribute name=”maxLen” type=”xsd:nonNegativelnteger” use=”optionar7> <xsd:attribute name=’charSef type=“xsd:string“ use=”optionar/>

<x$d:attribute name=*IEC61131* type=“xsd:string” fixed=”STRING’7>

<xsd:attribute name=”WinVT“ type^xsd^tring” fixed=”BSTR7> </xsd:extension>

</xsd:simpleContent>

</xsd;complexType>

</xsd:element>

<xsd:element name=“word“ nillable=“true,,>

<x$d:annotation>

<xsd:documentation>string of 16 bit (word)</xsd;documentation> </xsd:annotation>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=“t_bitstring16<>

<xsd:attribute name=*IEC61131″ type=”xsd:string” fixed=“WORD”/>

<xsd:attribute name=*WinVT* type=,*xsd:string” fixed=”VT_UI27>

</xsd:extension>

</xsd:simpleContent> </xsd:comptexType> </xsd:element>

ГОСТ Р ИС015745-2—2010

<xsd:element name=”array“ nillable=‘true”>

<xsd:complexType>

<xsd:simpleContent>

<xsd;extens*on base=’xsd:slnng”>

<xsd:attribute name=”dim” type=”xsd:nonNegativelnteger” use=”required7> <xsd:attribute name=”maxDimM type=’xsd:nonNegativelnteger” use=Moptionar/> <xsd:attribute name=’embeddedDatatype’’ use=Mrequired”> <xsd:simpleType>

<xsd:restrict»on base=”xsd:string”>

<xsd:enumeration value=’boolean7>

<x$d:enumeration vakje=Mbool7>

<xsd:enumeratton value=“sint7>

<xsd:enumeratk)n value=’,inte/>

*-xsd:enumeration valuo_“dint7>

<xsd:enumeration value=’1int7>

<xsd:enumeration value=“usint7>

<xsd;enumeration value=”uint”>

<xsd:enumeration value=”udint7>

<xsd:enumeration value=“ulict7>

<xsd:enumerat»on value=“rear/>

<xsd:enumeration va1ue=”lreal7>

<xsd:enumeration value=”byte7>

<xsd:enumeration vakje=,’word7>

<xsd:enumeration value=”dword7>

<xsd:enufneratfon values“lword7>

<xsd:enumeration value=”binaryDate7>

<xsd:enumeration value=’binaryDate20007>

<xsd:enumeration value=”date77>

<xsd:enumeration value=’date7>

<xsd:enumeration vakje=”timeOfDay67>

<xsd:enumeration value=,,time_of_day7>

<xsd:enumeralion value=’timeDffference67>

<xsd:enumeration value=etimeDHference47>

<xsd:enumeration value=”timeValue7>

<xsd:enumeraljon vakje=”time7>

<xsd:enumeration value=*tTime7>

<xsd:enumeration vakje=”fTme7>

<xsd:enumeration value=,Tnme7>

<xsd:enumeration value=’universalTime’7>

<xsd:enumeration value=”fieldbusTime7>

<xsd:enumeration value=Mv»sibleString7> <xsd:enumeratk>n value=”octetString“/> <xsd:enumeration value-‘octetstring 17> <xsd:enumeration value=*octetString27>

<xsd:enumeration value=”octetString47>

<xsd:enumeration value=”octetString87> <xsd:enumeration vakie=”octetString167>

<xsd:enumeration value=”binaryTime07>

<xsd:enumeration vahje=’binaiyTime17>

<xsd:enumeration value=’,binaryTime27> <xsd:enumeration value=*binaryTime37>

<xsd:enumeration value-’binaryTime47>

<x$d:enumeration value-‘binaryTime57>

<xsd:enumeration vakie=“binaryTime67>

<xsd:enumeration value=”binaryTime77>

<xsd:enumeration vakje=^inaryTime87>

<xsd:enumeration value-‘binaryTime97> <xsd:enumeration value=”compactBooleanArray7>

<xsd;enumeration vaJue=“date_and_time7>

<xsd:enumeration value=*record7>

<xsd:enumeration value=”array”/>

<xsd:enumeration value=,,IPV4Address7> <xsd:enumeration value=,,IPV6Address7> </xsd;restriction>

</xsd:simpleType> </xsd:attribute> <xsd:attribute name=’embeddedStringLenglh” type=’xsd:nonNegativelnteger” use=”optionar/> </xsd:extension>

</xsd:simpleContent> </xsd :comptexType> </xsd:element> <xsd:element name=”record” nillable=”true”> <xsd:complexType> <xsd:simpleContent>

<xsd;extens»on base=”xsdistring”> <xsd:attribute name=”elements” type=“xsd.nonNegativeinteger” use=“requirede/> <xsd:attribute name=”maxElements’’ type=”xsd:nonNegativelnteger“ u$es“optional*7> <xsd:3ttribute name-’octotLength” type~”xsd:noriNeg3tivelnteger” иее-“орНопзГ/> <xsd:attribute name=”format” types*xsd:string* use=’optional7> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name=“udf’ niHable=,,true”>

<xsd:annotation> <xsd:documentation>user defined simple data type</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:simpleContent>

<xsd:extension base=”xsd:string”> <xsd:attribute name=“name” type=”xsd:string” use=”required“/> <xsd:attribute name=’bitLength” type=,,xsd:integer” use=Mrequired”/> <xsd:attribute name=”interpretation” use-*required”> <xsd:simpleType>

<xsd:restriction base=”xsd:string”> <xsd:enumeration vakje=,,BIT7> <xsd:enumeration value=’UNSIGNED7> <xsd:enumeration value=”INTEGER7> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name=“IEC61131“ type=*xsd:string” use=”optionar/> <xsd:attribute name=”WinVT” type=’xsd:string” use=’optionar/> </xsd:extens»on> </xsd:simpleContent> </xsd:complexType>

</xsd:element>

<xsd:group name=”g_booleanDatatypes”>

<’xsd:annotation’> <xsd:documentation>group of boolean data types</xsd:documentation> </xsd:annotation>

<xsd:choice> <xsd:element ref=Mboolean7> <xsd:element ref=”bool7> <xsd:element ref=”byte7> <xsd;element ref=”word“/> <xsd:element ref=,*dword7> <xsd:element ref=”tword”/> <xsd:element ref=”octetString17> <xsd;element ref=”octetString27> <xsd:element ref=,,octetString47> <xsd:element ref=,,octetString87>

ГОСТ Р ИС015745-2—2010

<xsd:element ref-’octetstring 167>

<xsd:element ref=”compactBooleanArray7>

</xsd:choice>

</xsd:group>

<xsd:group name=“g_signedlntegerDatatypes“>

<xsd:annotation>

<xsd;documentation>group of signed integer data types</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd:element ref=”sint7>

<xsd:element ref=”int7>

<xsd;element ref=“dint7>

<xsd:element ref=H1inf/>

</xsd;choice>

</xsd:group>

<xsd:group name=“g_unsignedlntegerDatatypes”>

<x<wTannntafion>

<xsd:documentation>group of unsigned integer data types</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd;element ref=”usint7>

<xsd:element ref=”uint7>

<xsd:element ref=”udint7>

<xsd:element ref=”uBnt7>

</xsd:choice>

</xsd:group>

<xsd:group name=“g_floatDatatypes’,>

<xsd:annotation>

<xsd:documentation>group of float data types</xsd:documentation> </xsd:annotation>

<xsd;choice>

<xsd:element refs“real7>

<xsd:element ref“”lreal7>

</xsd:choice>

</xsd:group>

<xsd:group name=’gJntegerDatatypes,,>

<xsd:annotation>

<xsd:documentation>group of integer data types</xsd;documentation> </xsd:annotation>

<xsd:choice>

<xsd:group ref-‘g_signedlntegerDatatypes7>

<xsdigroup ref-‘g_unsignedlntegerDatatypes7>

</xsd:choice>

</xsd:group>

<xsd:group name=’g_numericDalalypes”>

<xsd:annotation>

<xsd:documentation>group of numeric data types</xsd:documentation> </xsd:annotation>

<xsd:ctiolce>

<xsd:group ref=”g_integerDatatypes7>

<xsd:group ref=,,g_floatDatatypes7>

</xsd;choice>

</xsd:group>

<xsd:group name=,*g_userDatatypese>

<xsd:annotation>

<xsd:documentation>group of user defined simple data types</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd:element ref=”udt”/>

</xsd:choice>

</xsd:group>

<xsd:group name=”g_dateDatatypes”>

<xsd:annotatk>n>

<xsd:documentation>group of dale data lypes</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd:element ref=”binaryDate7>

<xsd:element ref=’binary0ate20007>

<xsd:element ref=“date77>

<xsd:element ref=”date7>

</xsd:choice>

</xsd:group>

<xsd:group name=”g_dtDatatypes”>

<xsd;annotation>

<xsd:documentation>group of date and time data types</xsd:documentation> <7xsd:annotation>

<xsd:choice>

<xsd:element ref=“timeOfDay67>

<xsd:element ref=HtimeDiffen»nce67>

<xsd:element ref=,*universalTime7>

<xsd:element ref-’date_and_time’7>

<xsd:element ref=TieldbusTime7>

</xsd:choice>

</xsd;group>

<xsd:group name=’g_timeDatatypes”>

<xsd:annotation>

<xsd:documentation>group of time data lypes</xsd:documentation> </xsd;annotation>

<xsd:choice>

<xsd:element ref=”time_of_day7>

<xsd:element ref=MtimeDifference47>

<xsd:element ref=”time7>

<xsd:element ref=”fTime7>

<xsd:element ref=TTime7>

<xsd:domcnt rcf“”binaryTimcO7>

<xsd;element ref=ebinaryTime17>

<xsd:element ref=*binaryTime27>

<xsd:element ref=”binaryTime37>

<xsd:element ref=*binaryTime47>

<xsd:e1ement ref=’binaryTime57>

<x$d:element ref=’binaryTime67>

<xsd:element ref=“binaryTime77>

<xsd;element ref=”binaryTime87>

<xsd:element ref=’binaryTime97>

<xsd:element ref=“iTime’7>

</xsd:choice>

</xsd:group>

<xsd:group name=”g_stringDatatypes’>

<xsd:annotation>

<xsd:documentation>group of string data types</xsd:documentation> </xbd.ar inula Uo<i>

<xsd:choice>

<xsd:element ref=”visibleString7>

<xsd:element ref=”octetString7>

<xsd:element ref=”bitstring7>

<xsd:element ref=”IPV4Address7>

<xsd:element ref=”IPV6Address7>

</xsd:choice>

</xsd:group>

<xsd:group name=*g_complexDatatypes’’>

<xsd:annotation>

<xsd:documentation>group of complex data types</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd:element ref=”array’7>

<xsd:element ref=”record’7>

</xsd;choice>

</xsd:group>

<xsd:group name=”g_datatypes“>

<xsd:annotation>

<xsd:documentation>group of all FDCML data types</xsd:documentation> </xsd:annotation>

<xsd:choice>

<xsd:group ref=”g_numericDatatypes7>

<xsd:group ref=”g_userDatatypes7>

<xsd:group ref=”g_dateDatatypes7>

<xsd:group ref=”g_stringDatatypes”/>

<xsd:group ref=”g_complexDatatypes7>

<xsd:group ref=”g_booleanDatatypes7>

<xsd:group ref=”g_dtDatatypes7>

<xsd:group ref_,g_timeD3t3typee’7>

</xsd:choice>

</xsd:group>

</xsd:schema>

B.1.5.3 FDCMLISO15745DeviceFunction.xsd

<?xml versk>n=”1.0‘ encoding=’UTF-8″?>

<xsd:schema targetNamespace=”http://www.fdcml.org/DeviceFunction”

xmlns:xlink=”http://www. w3.org/1999/xlink” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://www.fdcml.org/DeviceFunction” elementForrnDefault=”qualified’’ attributeFormDefault=’unqua!ified“>

<xsd:import namespace=”http://www.w3.org/XML/1998/namespace” schemaLocation=”xmldef.xsd’7>

<xsd:import namespace=”http://www.w3.org/1999/xlink” schemaLocatjon=”xlinkdef.xsd7> <xsd;complexType name=”parameterType”>

<xsd:sequence>

<xsd:element ref=”defaultValue” minOccurs=”0″/>

<xsd;element ref=“1owLimit” minOccurs=”07>

<xsd;element ref=”highLimit“ minOccurs=”07>

<xsd:element ref=”unit“ minOccurs=”07>

<x$d:element ref=”listOfValues” minOccurs=”07>

<xsd:element ref=”membersList” minOccurs=”07>

<xsd:element ref-’actualValue” minOccurs=”07>

<xsdisequence minOccurs=”0“>

<xsd:group ref=”g_naming7>

</xsd:sequence>

</xsd;sequence>

<xsd:attribute name=”name” type=”xsd:string” use=”required7>

<xsd:attribute name=”denotation” type=”xsd:string7>

<xsd:attribute name=“descnption” type=”xsd:string7>

<xsd:attribute name=”paramlD” type=“xsd;ID” use=”required”/>

<xsd:attributeGroup ref=”accessCategory7>

<xsd:attribute name=”constraintlDREF’ type=’xsd:IDREF7>

«■xsdiattributeGroup ref=edataTyp©,7,>

<xsd:attributeGroup ref=”persistent7>

<xsd:attributeGroup ref=”use7>

</xsd:comptexType>

<xsd:complexType name=“stateTransitionDiagramType”>

<xsd:sequence>

<xsd:element ref=”statesTab7>

<xsd;element ref=“transitionsTab7>

</xsd: sequence*

</xsd:comptexType>

<xsd:complexType name=”stateType”>

<xsd:sequence>

<xsd:element ref=”associatedParameter7>

</xsd:sequence>

<xsd:attribute name=”description” type=Mxsd:string*7>

<xsd:attribute name=”inilialState” use=Mrequired”>

<xsd:simpleType>

<xsd:restriction base=”xsd:NMTOKEN’>

<xsd:enumeration values*felse7>

<xsd:enumeration value=”tnje7>

</xsd;restriction>

</xsdisimpleType>

</xsd:attribute>

<xsd:attribute name=’stateName” type=’xsd:ID“ use=”required7>

<xsd:attribute name=’stateParenf type=”xsd:string7>

</xsd:comptexType>

<xsd:complexType name=HtransitionType’,>

<xsdisequence>

<xsd:element ref=,,commandParameter” maxOccurs=”unbounded7>

</xsd:sequence>

<xsd-attribute name=“rtescriptinn” type=”xRTlstring7>

<xsd:attribute name=’’transitionNumbere use=’required*’>

<xsd:annotation>

<xsd:documentation>Number format = Tx to Txxxxxx</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base=’xsd:ID”>

<xsd:pattem value=’T\d{1,6}7>

</xsd: restriction >

</xsd;simpleType>

</xsd;attribute>

<xsd:attribute name=”fromState” type=”xsd:IDREF” use=”required7>

<xsd:attribute name=’toState” type^xsdJDREF’ use=7equired*/>

</xsd:comptexType>

<xsd;element name=“actualValue” type=‘xsd:slring7>

<xsd:element name=’assodatedParameter”>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=,,xsd:string”>

<xsd:attribute name=’associatedParameterValue” type=,,xsd:string” use=”required7> </xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

</xsd:element>

<xsd:element name=”commandParameter“>

<xsd :complexType>

<xsd:simpleContent>

<xsd:exten$ion base=”xsd:string”>

<xsd:attribute name=commandParameterValue” type=”xsd;string” use=’required7>

</xsd:extens»on>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’configParametersList”>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=HparameterRef’ maxOccurs=’,unbounded7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=’constraint”>

<xsd:annotation>

<xsd:documentation>The elements under Constraints aren’t checked by the parser. The languages, to use to describe the constraints, don’t refer to a schema.

</xsd:documentation>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace=“##any’ processContenls^skip* minOccurs=,’0“ maxOccurs=”unbounded7> </xsd:sequence>

<xsd:attribute names“constraintlD” use=’,required‘,>

<xsd:simpleType>

<xsd:restriction base=”xsd:ID“>

<xsd:pattem value=’C\d{1,6}”/>

</xsd:restriction>

</xsd:simpleType>

</xsd:atlribute>

<x$d:attribute name=”constraintType” use=”required”>

<xsd:simpleType>

<xsd:restriction base=”xsd:NMTOKEN’>

<xsd:enumeration value=”among_parameters7>

<xsd:enumeration vahje=,,display7>

<xsd:enumer3tion vakje_“network’7>

<x$d:enumeration value=*device7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name=“constraintLanguage“ type=”xsd:string“ use=“requtred7> </xsd:comptexType>

</xsd:element>

<xsd:element name=”constraintsLisf>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”constraint” maxOccurs=‘’unbounded’/>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”defaultValue“>

<xsd;complexType>

<xsd:simpleContent>

<xsd:extension base=”xsd:string”>

<xsd:attributeGroup ref=”type7>

</xsd;extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=”functiorT>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”inputsList“ minOccurs=,‘0’7>

<xsd:element ref=”<xjtputsList“ minOcctirs=*07>

<xsd:element ref=”configParametersLisr minOccurs=’07>

<xsd:element ref-’constraintsList” minOccurs=”0’7>

«■xsdielement nam©=“functk)nStat©Tfan£itjonDiagram” minOccurs=”0″>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=,,stateTransitionDiagram7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name=”name” type=Hxsd:string* use=,,required7>

<x$d:attribute name=”descriptiorr type=”xsd:string”/>

<xsd:attribute name=”fuпct»onlD,‘ lype=”xsd:ID* use=“required7>

<xsd:attribute name=’vers»on‘ type=“xsd:slring” use=’required7> </xsd :comptexType>

</xsd:element>

<xsd:element name=’,functionRefw>

<xsd:annotation>

<xsd:documentation>By this way the hierarchical view of the device can be described. There is no limitation in the level number. </xsd;documentation>

</xsd:annotation>

<xsd;complexType>

<xsd:sequence>

<xsd:eiement ref=“functionRef” minOccurs=”0″ maxOccurs=”unbounded7>

</xsd:sequence>

<xsd:attribute name=”functionName’ type=,*xsd:stringe use=’required7>

<xsd:attribute name=”functionlDREF” type=”xsdistring” uses“required7>

<xsd:attribute name=“functionURL“ type-‘xsdistring7>

<xsd:attribute name=”functionDescription” type=”xsd:string7>

</xsd;comptexType>

</xsd:element>

<xsd:element name=7unctionView’’>

<xed:3nnot3t>on>

<xsd:documentation>Network independent description of the intrinsic function of a device, from

a configuration and service (i.e.: tuning, maintenance. diagnostic.AH) perspective</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=”functionList” minOccurs=”0“>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=“function’’ max0ccurs=”unbounded7>

</xsd:sequence>

</xsd:comptexType>

</xsd;element>

<xsd:element name=“parameterList“>

<xsd:complexType>

<xsd:sequence>

<xsd;element ref=”parameter maxOccurs=”unbounded7>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:element name=7unctionAnalysis” minOccurs=“0’>

<xsd :complexType>

<xsd:sequence>

<xsd:element ref=”functionRer maxOccurs=’unbounded7>

</xsd;sequence>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd :comptexType>

</xsd:element>

<xsd:element name=’help’>

*’xsd;comptexTyp©,>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”>

<xsd:attribute ref=“xml:lang“ use=”required7>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd;element>

<xsd:element name=*helpFileRer>

<xsd:complexType>

<xsd:attribute namesTielpFiielD” type=”xsd:string7>

<xsd:attribute name=”he!plD“ type=“xsd:string7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=”helpRer>

<xsd;complexType>

<xsd:attribute name=”dictlD” type=”xsd:string7>

<xsd:attribute name=”textlD’ type=”xsd:string’ use=”required7>

</xsd:comptexType>

</xsd:element>

<xsd:element name=highLimit“>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”>

<xsd:attributeGroup ref=”type7>

</xsd:extension>

</xsd:simpleContent>

</xsd;comptexType>

</xsd:element>

<xsd:element name=’inputsList”>

<xsdrz»mplexTypft>

<xsd:sequence>

<xsd;element ref=“parameterRer’ maxOccurs=“unbounded7>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsdielement пате=”1аЬеГ>

<xsd:complexType>

<xsd:simpleContent>

<xsd:extension base=’xsd:string”>

<xsd:attribute ref=”xml:lang” use=”required’7>

<xsd:attribute ref=”xlink:type7>

<x$d:attribute ref=”xlink:href/>

</xsd;extension>

</xsd:simpleContent>

</xsd:complexType>

</x3d:dcmcnt>

<xsd:element name=’labelRer>

<xsd:complexType>

<xsd:attribute name=*dictlD” type=,’xsd:string7>

<xsd:attribute name=“textlD” type=”xsd:stringe use=”required7>

<xsd:attribute ref=”xlink:type7>

<xsd:attribute ref=”xlink:href7>

</xsd;comptexType>

</xsd:element>

<xsd;element name=1istOfValues“>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”value” maxOccurs=”unbounded7>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

*-xsd.element name=“lowl_imif>

<xsd :complexType>

<xsd:simpleContent>

<xsd:extens»on base=*xsd:string”>

<xsd:attributeGroup ref=”type7>

</xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:element name=‘member”>

<xsd:annotation>

<xsd:documentation>For dataType = array, only first member is needed</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref-‘defaultValue” minOccurs=’07>

<xsd;element ref=nowLimit* minOccurs=’*07>

<xsd;element ref=“highLimit“ minOccurs=”07>

<xsd:element ref=Hunit” minOccurs=”07>

<xsd:element ref=,*IistOfValues” minOccurs=”07>

<xsd:element ref=”membersList” minOccurs=,,07>

<xsdisequence minOccurs=eO”>

<xsd:group ref=”g_naming7>

</xsd:sequence>

<xsd:element ref-’actualValue” minOccurs=”07>

</xsd:sequence>

<xsd:attribute name=’name’ type=”xsd:string” use=”required7>

<xsd:attribute name=”description” type=”xsd:string7>

<xsd:attribute name=’member1D” type=”xsd:string” use=”required7>

<xsd:attributeGroup ref=”dataType’7>

</xed:comptexType>

</xsd:element>

<xsd:element name=”membersList’>

<xsd:annotation>

<xsd:documentation>membersList is mandatory if dataType = struct or array.</xsd:documentation> </xsd:annotation>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref-’member” max0ccurs=’unbounded7>

</xsd:sequence>

<xsd:attribute name=”numberOfMembers” type=”xsd:integer” use=”requred’7>

</xsd:comptexType>

</xsd;element>

<xsd:element name=”outputsList”>

<xsd:complexType>

<xsd:sequence>

<xsd;element ref=”parameterRer maxOccurs=’unbounded7>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”parameterRer>

<xsd :complexType>

<xsd:attribute name=’paramlD” type=”xsd:IDREF” use=’required7>

</xsd;comptexType>

</xsd;element>

<xsd:element name=’parameter‘’ type=”parameterType7>

<xsd:element name=’state’ type=”stateType”/>

<xsd:element name=”statesTab”>

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”state” maxOccurs=’unbounded7>

<7xsd:eequence’>

</xsd:comptexType>

</xsd:element>

<xsd:element name=“stateTransitionDiagram“ type=“stateTransitionDiagramType7>

<xsd:element name=“transit»on” type=“transitionType7>

<xsd:element name^transitionsTab”»

<xsd:complexType>

<xsd:sequence>

<xsd:element ref=”transition* max0ccurs=”unbounded7>

</xsd:sequence>

</xsd;comptexType>

</xsd:element>

<xsd:element name=”unit”>

<xsd:complexType>

<xsd:attribute name=”multiplierH type=”xsd:string* use=*required7> <xsd:attribute name=*unitURr type»”xsd:anyURI7>

</xsd :comptexType>

</xsd:element>

<xsd:element name=“value“>

<xsd:complexType>

<xsd:simpleConlent>

<xsd:extension base=’xsd:string”>

<xsd:attribute name=”meaning” type=”xsd:string7> </xsd:extension>

</xsd:simpleContent>

</xsd:comptexType>

</xsd:element>

<xsd:attributeGroup name=”accessCategory’>

<xsd:attribute name=”accessCategory“ use=”required”> <xsd:simpleType>

<xsd restriction hase=“xR<1NMTOKFN“>

<xsd:enumeration value=’’read7>

<xsd:enumeration value=”write7>

<xsd:enumeration value=,,readWrite7>

<xsd;enumeration value=”noAccess7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<xsd:attributeGroup name=’’dataType’> <xsd:attribute name=“dataType” use=“required*> <xsd:simpleType>

<xsd: restriction base=“xsd:NMTOKEN“>

<xsd:enumeration vahje=”bool7>

<xsd:enumeration value=”byte7>

<xsd:enumeration value=“char*’/>

<xsd:enumeration vakje“”word*7>

<xsd:enumeration value=“dWord7>

<xsd:enumeration value=,,IWord7>

<xsd:enumeration value=“slnr/>

<xsd:enumeration vakie=“uslnt7>

<xsd:enumeration value=“int”/>

<xsd:enumeration value=”ulnt7>

<xsd:enumeration vakje=”dlnt7>

<xsd:enumeration v^ue=**udlnt7>

<xsd:enumeration vakje=”llnt7>

<xsd:enumeration value=“ullnt7>

<xsd:enumeration vakje=”rear/>

<xsd:enumeration value=”IReal7>

<xsd:enumeration value=’string7>

<xsd:enumeration value=”unicode7>

<xsd:enumeration value=’*stnjcl’7>

<xsd:enumeratlon value=’pnysical7>

<xsd:enumeration value=“array7>

</xsd: restriction >

</xsd;simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<xsd:attributeGroup name=*persistent“> <xsd:attribute name=”persistent“ use=”required’> <xsd;simpleType>

<xsd:restriction base^xsd^MTOKEN*»

<xsd:enumeration value=“false7>

<xsd:enumeration value=”true7>

<xsd:enumeration vaiue=”n.a7>

</xsd: restriction >

</xsd:simpleType>

</xsd;atlribute>

</xsd:attributeGroup>

<xsd:attributeGroup name=”type”>

<xsd:attribute name=”type” use=”required”>

<xsd:simpleType>

<xsd: restriction base=“xsd;NMTOKEN“>

<xsd:enumeratk)n value-‘fixedValue7>

<xsd:enumeration value=”vendorSpecific7>

</xsd;restriction>

</xsd;simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<xsd:attributeGroup name=“use*’>

<xsd:attribute name=“use” use=”required”>

<xsd:simpleType>

<xsd:rostriction base~”xed:NMTOKEN”>

<xsd:enumeration value=”required7>

<xsd:enumeration value=”optional7>

</xsd: restriction >

</xsd;simpleType>

</xsd:attribute>

</xsd:attributeGroup>

<xsd:group name=”g_naming’>

<xsd:sequence>

<xsd:choice>

<xsd:sequence>

<xsd;element ге(=ПаЬеГ maxOccurs=”unbounded7>

<xsd;element ref=‘help” mtnOccurs=“0″ maxOccurs=”unbounded’7>

</xsd:sequence>

<xsd:sequence>

<xsd;element ref=”labelRef7>

<xsd:element ref=”helpRef” minOccurs=“07>

</xsd:sequence>

</xsd:choice>

<xsd:element ref=”hetpFileReF minOccurs=”0’/>

</xsd;sequence>

</xsd:group>

</xsd:schema>

B.1.5.4 FDCMLTextResourcejcsd

<?xml version=”1.0″ encoding=’UTF-8″?>

<xsd:schema targetNamespace=”http://www.fdcml.org/TextResource” xmlns=”http://www.fdcml.org/TextResource”

xmlns:xsd=”http://www.w3.org/2001/XMLSchema” elementForrnDefault^qualified” attritnjteFormDefautt=’unqualified” version=”1.0″>

<xsd:import namespace=”http://www. w3.org/XML/1998/namespace” schemaLocation=”xmldef.xsd7>

<xsd:element name=’FDCMLTextResource”>

<xsd:annotation>

«■xsdidocumentation^text resource for FDCML*7xsd:documontation’>

</xsd:annotation>

<xsd;complexType>

<xsd:sequence>

<xsd:element name=7extEntry* type=“t_textEntry” maxOccurs=*unbounded7>

</xsd:sequence>

<xsd:attribute ref=“xml:lang“ use=”required7>

</xsd:comptexType>

</xsd:element>

<xsd:complexType name=’t_textEnlry”>

<xsd:annotation>

<xsdidocumentation>single text</xsd:documentation>

</xsd:annotation>

<xsd:simpleContent>

ГОСТ Р ИС015745-2—2010

<xsd:extension base=’xsd:string”>

<xsd:attribute name=”textlD” type=”xsd:ID” use=”required7>

</xsd:extension>

</xsd:simpleContent>

</xsd :comptexType>

</xsd:schema>

B.1.5.5 xmldef.xsd

<?xml version=”1.0″?>

<xsd:schema targetNamespace-‘http://www.w3.Org/XML/1998/namespace” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”

elemenlFormDefault=”unqualified” attnbuteFormDefault=”unqualified” version=”1.0″>

<xsd:attribute name=”lang” type=’xsd:language”/>

<xsd:attribute name=’space” default=“preserve‘>

<xsd:simpleType>

<xed:reetriction b3se-“xed:NCName”>

<xsd:enumeration vaiues“default7>

<xsd:enumeration value=”preserve7>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

</xsd:schema>

B.1.5.6 xlinkdef.xsd

<?xml version=”1.0’?>

<xsd:schema targetNamespace-‘httpi//www.w3.org/1999/xlink” xmlns:xsd=”http://www.w3.org/2001/XMLSchema*

xmlns:xlink=’http://www.w3.oгg/1999/xlink,

elemenLFormDelault=’unqualified” attributeFormDefault=’unqua!ified“ version=”1.0″>

<xsd:attribute name=”type”>

<xsd:simpleType>

<xsd:restrictkxi base=”xsd:string”>

<xsd:enumeration value=”simple7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name=”hrer type=’xsd:anyURI7>

</xsd:schema>

B.2 Описание шаблонов профилей коммуникационных сетей

XML файлы коммуникационных профилей должны соответствовать XML схеме профилей коммуникационных сетей, как установлено ниже.

<?xml version = -1.0е encoding = “UTF-16”?»

<xsd:schema xmlns = “httpJ/www.can-da.org/xml/canopen/commnetworkprofiler

targetNamespace = “http://www.can-da.org/xml/canopen/commnetworkprofile/”

xmlns:xlink = ’http://www.w3.org/1999/xlink”

xmlnsixsd = ■http://www.w3.ofg/2001/XMLScherYja’’

version = “1.0”

elementFormDefault = “qualified”

attributeFormDefault = “unqualified”»

<xsd:import namespace = “http://www.w3.org/1999/xlink” schemaLocation = “xlinkdef.xsd”/»

<xsd:attributeGroup name = “use”»

<xsd:attribute name = “use” use = “required”»

<xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKEN”>

<xsd:enumeration value = “required”/»

<xsd:enumeration value = “optional”/»

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:attributeGroup> <xsd:attributeGroup name = “type”» <xsd:attribute name = “type” use = “required”» <xsd;simpleType>

<xsd:restrictron base = “xsd:NMTOKEN”> <xsd:enumeration value = “fixedValue”/» <xsd:enumeration value = “vendorspecific”/» </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name = “persistent”» <xsd:attribute name = “persistent” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd;NMTOKEN“> <xsd:enumeration value = “false”/» <xed:enumer3tion value – “true”/» <xsd:enumeration value = “n.a7> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name = “dataType”» <xsd:attribute name = “dataType” use = “required”» <xsd:simpleType» <xsd:restricUon base = “xsd:NMTOKEN“> <xsd:enumeration value = “bool”/» <xsd:enumeration value = “byte”/» <xsd:enumeration value = “char”/» <xsd:enumeration value = “word”/» <xsd:enumeration value = “dWord’T» <xsd:enumeration value = IWord’7» <xsd:enumeration value = “slnt”/> <xsd:enumeration value = “uslnt”/» <xsd:enumeration value = “int”/> <xsd:enumeration value = “ulnt”/> <xsd:enumeration value = “dint”/» <xsd;enumeration value = “udlnf/> <xsd:enumeration value – “lint”/» <xsd:enumeration value ® “ullnt”/» <xsd:enumeration value = “real”/» <xsd:enumeration value = ’IReal’7» <xsd:enumeration value = “string”/» <xsd:enumeration value = “unicode”/» <xsd:enumeration value = “struct”/» <xsd:enumeration value = “physical”/» <xsd:enumeration value = “array”/» *7xsd: restriction » </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name = “accesscategory”» <xsd:attribute name = “accessCategory” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKEN“> <xsd:enumeration value = “read”/» <xsd:enumeration value = “write”/» <xsd:enumerat»on value = “readWrite”/» <xsd:enumeration value = “noAccess”/» </xsd:restriction> </xsd:simpleType>

ГОСТ Р ИС015745-2—2010

</xsd:attribute>

</xsd:attributeGroup> <xsd:attributeGroup name = “ag_FDCML”> <xsd:attribute name = “formatName” fixed « ‘FDCML’ form « ‘unqualified” type = “xsd:string”/> <xsd:attribute name = “formatversion” fixed = “2.0” form = “unqualified” type = “xsdistring”/» <xsd:attribute name = “fileName” use = “required” form = “unqualified” type = “xsd:string7> <xsd:attribute name = “fileCreator” use = “required” form =”unqualified” type = “xsdistring”/» <xsd:attribute name = “fileCreationDate” use = “required” form = “unqualified” type = “xsd:date’7> <xsd:attribute name = “fileModificattonDate” use = “required” form = “unqualified” type = “xsd:date”/>

<xsd:attribute name = “fileVersion” use ® “required” form = “unqualified” type = “xsd:slring”/> </xsd :attributeGroup>

<xsd:group name = “g_naming’>

<xsd:sequence> <xsd:choice> <xsd:sequence> <xsd:element ref = “label” maxOccurs – “unbounded”/* <xsd:element ref = “help” minOccurs = “0” maxOccurs = “unbounded”/» </xsd:sequence> <xsd:sequence> <xsd:element ref = “labelRef7>

<xsd:element ref « “helpRef minOccurs = “07»

</xsd:sequence> </xsd:choice> <xsd:element ref = “helpFileRef” minOccurs = “07> </xsd:sequence> </xsd:group>

<!- -xmlns:xml=”http://www. w3.org/XML/1998/namespace”- ->

<!–

################ global elements

. ->

<xsd:element name « “ISO15745Profile’>

<xsd:annotation> <xsd:documentation»Document Element</xsd:documentation> </xsd:annotation>

<xsd;complexType> <xsd:sequence> <xsd:element ref = “ProfileHeader”/» <xsd:e1ement ref = “ProfileBody7> </xsd:sequence> </xsd:complexType> </xsd:element>

<!–

ДППППППHQQ

– ->

<xsd:element name = “help” type = “xsd:string”/>

<xsd:element name = “helpFileRef”» «■xsdiComplexTypa*

<xsd:attribute name = “helpFitelD” type = “xsd:string7> <xsd:attribute name = “helpID” type = “xsdistring”/» </xsd:comptexType> </xsd:element>

<xsd:element name = “helpRef» <xsd:complexType>

<xsd:attribute name = “dictlD” type « “xsd:string”/>

<xsd:attribute name = “textIO” use = “required” type = “xsd:string7> </xsd:comptexType> </xsd:element>

<xsd;simpleType name = “IASInterface_DataType”> <xsd:union memberTypes = ’ “> <xsd:simpleType>

<xsd:restriction base = “xsd:string”> <xsd:enumeration value = “CSI7* <xsd:enumeration value = “HCI7* <xsd:enumeration value = “ISI7* <xsd:enumeration value = “АРГ/> <xsd:enumeration value «”CMI7* <xsd:enumeration value = “ESI7* <xsd:enumeration value = “FSI”/> <xsd:enumeration value = “MTI7* <xsd:enumeration value = “SEI7* <xsd:enumeration value = “USI”/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType>

<xsd:restriction base = “xsd:string”>

<xsd:length value = “47*

</x8d: restriction > </xsd:simpleType> </xsd:union> </xsd:simpleType> <xsd:simpleType name = “ProfileClasslD_DataType”> <xsd:restriction base = “xsd:string“>

<xsd:enumeration value = “AIP7*

<xsd:enumeration value = “Process”/*

<xsd:enumeration value = “InformationExchange”/* <xsd:enumeration value = “Resource”/*

<xsd:enumeration value = “Device”/*

<xsd:enumeration value = “CommunicationNetwork”/* <xsd:enumeration value = “Equipment”/*

<xsd:enumeration value = “Human”/* <xsd:enumeration value = “Material”/* </xsd; restriction >

</xsd:simpleType>

<xsd:element name = “ISO15745Edition” type = “xsd:positivelnteger7> <xsd:element name = “ISO15745Part” type = “xsd;positrvelnteger7> <xsd:complexType name = “ISO15745Reference_DataType”> <xsd:sequence>

<xsd:element name = “ISO15745Part” type = “xsd:positivelnteger”/> <x$d:element name = “ISO15745Edition” type = “xsd:positivelnteger7> <xsd:element name = “ProfileTechnology” type = “xsdistring”/* </xsd;sequence>

</xsd:complexType>

<xsd:element name = “label”*

<xsd:complexType> <xsd;simpleContent> <xsd:extension base = “xsd:string”> <xsd:attribute ref = “xlink:type7> «■xsdiattribute ref = “xiink;href7′>

</xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name = “labelReT* <xsd:complexType>

<xsd:attribute name = “dictID” type « “xsd:string”/*

<xsd:attribute name = “textID” use = “required” type = “xsd:string7> <x$d:attribute ref = “xlink:type7> <xsd:attribute ref = “xlink:href7>

</xsd;complexType>

</xsd:element>

<xsd:element name = “ProfileBody”*

ГОСТ Р ИС0 1 5745-2—2010

<xsd:complexType>

<xsd:sequence>

<xsd:element ref = “TransportLayers”/*

<xsd:element ref»”ApplicationLayers”/*

<xsd:element ref = “NetworkManagement” minOccurs = “07*

</xsd:sequence> <xsd:attributeGroup ref = “ag_FDCML“/> <xsd:attribute name = “supportedLanguages” type = “xsd;NMTOKENS”/> <xsd:attribute name = “uniquelD” type = “xsdJDT*

</xsd;comptexType>

</xsd:element>

<xsd:element name = “ProfileHeader”*

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “Profileldentification” type = “xsd:string”/> <xsd:element name = “ProfileRevision” type = “xsd:string7> <xsd:element name – “ProfileName” type – “xed:etring7> <xsd:element name = “Profilesource” type = “xsd:string*7>

<xsd:element name = “ProfileClassID” type = “ProfileClasslD_DataType7> <xsd:element name = “ProfileDate» type = “xsd:date” minOccurs = “07> <xsd:element name = “Additionallnformation” type = “xsd:anyURI” minOccurs = “0”/> <xsd:element name ~ ‘ISO15745Reference* type = “ISO15745Reference_DataType7> <xsd:element name = “lASInterfaceType” type = “IASInterface_DataType“ minOccurs = “0” maxOccurs = «unbounded»/*

</xsd:sequence> </xsd:comptexType> </xsd:element>

<!–

################ groups

. ->

<!–

– ->

<xsd:element name = “communicationprofile” type = “xsd:string”/*

<xsd:element name = “TransportLayers”* <xsd;complexType> <xsd:sequence>

<xsd:element name = “cfgltemList”*

<xsd:complexType> <xsd:sequence> <xsd:sequence minOccurs = “0”* <xsd:group ref = ”g_naming”/> </xsd:sequence>

<xsd:element name = “CANopenDedicatedCfgCategory”*

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “CANopenBaudRate”*

*’xsd;complexType,>

<xsd:sequence*

<xsd:element name = “BaudRatelO”*

<xsd:complexType> <xsd:attribute name = “Supported” use = “required”* <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd;enumeration value = “No”/* <xsd:enumeration value = “Yes”/* </xsd: restriction >

</xsd:simpleType>

</xsd;attribute>

</xsd :complexType>

</xsd:element>

<xsd:element name = “BaudRate20″> <xsd:complexType>

<xsd:attribute name = “Supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd;NMTOKENS”> <xsd:enumeration value = “No”/» <xsd.«iiunieralioii value – “Yes“/> </xsd:restriction> </xsd:simpleType> </xsd:attribute>

</xsd:complexType> </xsd:element> <xsd:element name = “BaudRate50”> <xsd:complexType>

<xsd:attribute name = “Supported” use = “required’» <xsd:simpleType»

<xsd:restnction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value = “Yes”/» </xsd:restnction>

</xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name = “BaudRate125”> <xsd:complexType>

<xsd:attribule name = “Supported” use = “required”» <xsd:simpleType>

<xsd:restrictKXi base = “xsd:NMTOKENS”> <xsd:enumeration value «”No”/» <x$d:enumeration value = “Yes”/» </xsd:restr»ction» </xsd:slmpleType>

</xsd:attribute» </xsd;complexType> </xsd:element> <xsd:element name = “BaudRate250″> <xsd:complexType>

<xsd:attribute name = “Supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = *No’/> <xsd;enumerat>on value = “Yes”/» </xsd:restriction> </xsd;simpleType> </xsd;attribute»

</xsd:complexType> </xsd:element> <xsd:element name = “BaudRate500”> <xsd:complexType> <xsd:attribute name = “Supported” use = “required”» <xsd:simpleType»

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value – “Yes”/> </xsd;restriction> </xsd:simpleType>

</xsd:attribute» </xsd:compiexType> </xsd:element>

ГОСТ Р ИС015745-2—2010

<xsd:element name = “BaudRate800”> <xsd:complexType>

<xsd:attribute name = ’’supported” use = “required”» <xsd;simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumerat»on value = “Yes”/» </xsd:restriction> </xsd:simpleType>

</xsd:attribute> </xsd;complexType> </xsdielement> <xsd:element name = “BaudRate1000”> <xsd;complexType>

<xsd:attribute name = “Supported” use = “required”» <xsd:simpleType>

<xsd:reetriction base = “xed:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value = “Yes”/» </xsd: restriction >

</xsd:simpleType> </xsd:attribute> </xsd:comptexType> </xsd:element> </xsd:sequence» </xsd:comptexType> </xsd:element> <xsd:element name = “CANopenGeneralCapabilities”» <xsd;complexType>

<xsd:sequence> <xsd:element name = “GroupMessaging”» <xsd;complexType>

<xsd:attribute name = “supported” use = “required”» <xsdisimpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value = “Yes”/» </xsd:restriction>

</xsd:simpleType> </xsd:attribute> </xsd :complexType> </xsd:element> <xsd:element name – “Dynamicchannels”» <xsd:complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> «■xsdienumeration value = “No”/» <xsd:enumeration value = “Yes”/» </xsd:restriction»

</xsd:simpleType> </xsd:attribute> </xsd:comptexType> </xsd:element> <xsd;element name = “SDORequestingDevice”» <xsd:complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No7> <xsd:enumeration value = “Yes”/»

</xsd: restriction > </xsd:simpleType> </xsd;attribule> </xsd;comptexType> </xsd:element> </xsd:sequence> </xsd;comptexType> </xsdielement> <xsd:element name = “CANopenDeviceCommissioning” minOccurs = “0”> <xsd;complexType> <xsd:sequence>

<xsd:element name = “BaudRate“> <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = *BaudRate107> <xsd:enumeration value = “BaudRate20’7> <xsd:enumer3tk>n value – “BaudRate507> <xsd:enumeration value = “BaudRate1257> <xsd:enumeration value = “BaudRate2507> <xsd:enumeration value = “BaudRate5007> <xsd:enumeration value = “BaudRate800″/> <xsd:enumeration value = ,‘BaudRate10007> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:comptexType> </xsd:element> </xsd:sequence> </xsd;comptexType> </xsd:element> </xsd:sequence> </xsd;comptexType>

</xsd:element> <xsd:element name = “ApplicationLayers”» <xsd:complexType> <xsd:sequence> <xsd:element name = “cfgltemList”> <xsd:complexType> <xsd:sequence>

<xsd:sequence minOccurs = “0”> <xsd:group ref = ”g_naming7> </xsd:sequence> <xsd:element name = “CANopenDedicatedCfgCategory”> *’xsd;comptexType,> <xsd:sequence>

<xsd:element name = “CANopenDummyMappingDataTypes”> <xsd:complexType> <xsd:sequence>

<xsd:element name = “dmBoolean,*>

<xsd:complexType> <xsd:attribute name = “supported* use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No7> <xsd:enumeration value » “Yes7> </xsd:restriction> </xsd:simpleType>

ГОСТ Р ИС015745-2—2010

</xsd:attribute> </xsd:comptexType> </xsd:element> <xsd:element name = “dmlnteger8″> <xsd:complexType> <xsd:attribute name = “supported” use = “required”» <xsd:simpleType> <xsd:restriction base = “xsd:NMTOKENS”» <xsd:enumerabon value = “No”/» <xsd:enumeration value = “Yes“/> </xsd: restriction > </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element» <xsd;element name = “dmlnteger16“> <xsd:complexType> <xsd:attribute name = “supported” use = “required”» <xsd:simpleType> <xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value » “Yes”/» </xsd;restriction> </xsd:simpleType> </xsd;atlribute> </xsd:complexType> </xsd:element> <xsd:element name = “dmlnteger32“> <xsd:complexType> <xsd:attribute name = “supported” use = “required”» <xsd:simpleType> <xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value = “No”/» <xsd:enumeration value = “Yes”/» </xsd: restriction» </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element» <xsd:element name = “dmUnsigned8”> <xsd:complexType» <xsd:attribute name = “supported” use = “required”» <xsd:simpleType> <xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value »“No”/» <xsd:enumeration value = “Yes”/» </xsd:restriction> </xsd:simpleType> </xsd:attribute» </xsd:complexType> </xsd:element> <xsd:element name = “dmUnsigned16”> <xsd:complexType> <xsd:attrrbute name = “supported” use = “required”» <xsd:simpleType> <xsd:restriction base = “xsd:NMTOKENS”> <xsd:enumeration value »”No”/» <xsd:enumeration value = “Yes”/» </xsd:reslriction> </xsd:slmpleType» </xsd:attribute>

</xsd :comptexType>

</xsd:element>

<xsd:element name = “dmUnsigned32”>

<xsd;complexType>

<xsd:attribute name = “supported* use = “requred”* <xsd:simpleType>

<xsd:restriction base « “xsd:NMTOKENS”>

<xsd:enumeration value = “No”/>

<xsd:enumeration value = *Yes7>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd :comptexType>

</xed:element>

<xsd;element name = “CANopenGeneralCapabi!ities’>

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “Granularity”*

<xsd:complexType>

<xsd:attribute name = “value” type = “xsd:unsignedShort7> </xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd;element name = “CANopenDeviceCommissioning” minOccurs = “0”> <xsd:complexType>

<xsd:sequence/>

</xsd;complexType>

</xsd:element>

</xsd:sequence>

</xsd;complexType>

</xsd:element>

</xsd;sequence>

</xsd :complexType>

</xsd:element>

</xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name = “NetworkManagement”>

<xsd:complexType>

<xsd;sequence>

<xsd:element name = “cfgltemList”>

<xsd:complexType>

«’xsdisequence’*

<xsd:sequence minOccurs = “0”>

<xsd:group ref = “g_naming7>

</xsd:sequence>

<xsd:element name = “CANopenDed»catedCfgCategory“>

<xsd:complexType>

<xsd:sequence>

<xsd;element name = “CANopenGeneralCapabitities*>

<xsd:complexType>

<xsd:sequence>

<xsd:element name = “LayerSettingServiceSlave”>

<xsd;complexType>

<xsd:attribute name = “supported* use = “requred”* <xsd:simpleType>

ГОСТ Р ИС0 1 5745-2—2010

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No7>

<xsd:enumerat»on value = “Yes”/»

</xsd:restriclion>

</xsd:simpleType>

</xsd:attribute>

</xsd;complexType>

</xsd:element>

<xsd:element name = “SelfStartingDevice”»

<xsd;complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No”/»

<xsd:enumeration value = “Yes”/»

</xsd;restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd:comp*exType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element name = “CANopenManagerCapabilities” minOccurs = “0”> <xsd:complexType> <xsd:sequence>

<xsd:element name = “MasterSwitchable”>

<xsd:complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumerat»on value = “No”/»

<xsd:enumerat»on value = “Yes”/»

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

</xsd :comptexType>

</xsdielement>

<xsd:element name = “FlyingMaster”»

<xsd;complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No”/»

<xsd:enumeration value = “Yes”/»

</xsd:restriction»

</xsd:simpleType>

*7xsd;attribute»

</xsd:comptexType»

</xsd:element>

<xsd:element name = “SDOManager”»

<xsd:complexType>

<xsd:attribute name = “supported” use = “required”» <xsd:simpleType>

<xsd:restricUon base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No7>

<xsd:enumeration value = “Yes”/»

</xsd:restriclion>

</xsd;simpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

<xsd:element name – “ConfigurationManager”*

<xsd:complexType>

<xsd:attribute name = “supported” use = “required”* <xsd:simpleType>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No”/*

<xsd:enumeration value = “Yes7>

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

<xsd:element name – “LayerSettingServiceMaster”*

<xsd:complexType>

<xsd:attribute name = “suppoerted” use = “required”*

<x<w1 RimpleTypA>

<xsd:restriction base = “xsd:NMTOKENS”>

<xsd:enumeration value = “No*/*

<xsd:enumeration value = “Yes”/*

</xsd: restriction >

</xsd:simpleType>

</xsd:attribute>

</xsd:comptexType>

</xsd:element>

</xsd:sequence>

</xsd :complexType>

</xsd:element>

<xsd:element name – “CANopenDeviceCommissioning” minOccurs = “0”> <xsd:complexType>

<xsd:sequence*

<xsd:element name = “Nodeld” type = “xsd:unsignedShort7>

<xsd.element name – “NodeName” type – “sd.string” minOccurs –

“07*

<xsd:element name = “NetNumber” type = “xsd:unsignedLong”

minOccurs = “07*

<xsd:element name = “NetworkName” type = “xsd:string” minOccurs =

“07*

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:comptexType>

</xsd:element>

<xsd:element ref = “communicationprofile’’ minOccurs = “0” maxOccurs = “unbounded”/* </xsd:sequence>

</xsd;comptexType>

</xsdielement>

</xsd:schema>

ГОСТ Р ИС0 1 5745-2—2010

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

Сведения о соответствии ссылочных международных и европейского регионального стандартов ссылочным национальным стандартам Российской Федерации

Таблица ДА.1

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

Степень соответствия

Обозначение и наименование соответствующего национального стандарта

ИСО 639-1:2002

ИСО 639-2:1998

«

ИСО 3166-1:199/

ИСО/МЭК 10646-1:2000

*

ИСО 11898:1993

«

ИСО 15745-1:2003

*

МЭК 61158 (все части)

«

МЭК 61784-1:2003

*

МЭК 62026-3:2000

ЕН 50325-4:2002

*

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

Библиография

(Я МЭК 61131-3:2003 (?) МЭК/PAS 614W

(все части)

Контроллеры программируемые. Часть 3. Языки программирования

Алоки функциональные для систем измерения и управления R производственных процессах

  • [3]

  • [4]

  • [5]

  • [6]

МЭК ТС 61915:2003

ЕН 50325-1:2000

ЕН 50325-2:2000

Комплектные распределительные устройства низковольтные. Принципы разработки приборных профилей для сетевых промышленных устройств

Подсистема промышленной коммуникации на основе ИСО 11898 (CAN) для интерфейсов с управляемым устройством. Часть 1. Общие требования

Подсистема промышленной коммуникации на основе ИСО 11898 (CAN) для интерфейсов с управляемым устройством. Часть 2. DeviceNet

IEEE OUI and Company_id Assignments

[cm. htto://standards.ieee.ora/reoauth/oui/index.shtml1

  • [7] XML Linking Language (XLink) Version 1.0, W3C Recommendation. 27 June 2001

  • [8] XML Path Language (XPath) Version 1.0. W3C Recommendation, 16 November 1999

    УДК 658.52.011.56

    ОКС 25.040.40

    Т58

Ключевые слова: автоматизированные промышленные системы, интеграция, жизненный цикл систем, управление производством

Редактор А. Д. Чайка Технический редактор В. Н. Прусакова Корректор Л. Я. Митрофанова Компьютерная верстка В. Н. Романовой

Сдано в набор 18.09.2013. Подписано в печать 21.11.2013. Формат 60 x 841/*. Бумага офсетная. Гарнитура Ариал. Печать офсетная. Усл. печ. л. 20.00. Уч.-изд л. 18.85. Тираж 58 экз Зак. 1358.

, 123995 Москва. Гранатный пер.. 4.

www.gostirrfb.ru

Набрано и отпечатано в Калужской типографии стандартов. 248021 Калуга, ул. Московская. 256.

1

> DeviceNet™ — торговая марка Open DeviceNet Vendor Association Inc. Эта информация приведена для удобства пользователей ИСО 15745 и не означает одобрения со стороны ИСО владельца торговой марки или любых его продуктов. Соответствие настоящему стандарту не требует использования торговой марки DeviceNet™. Использование торговой марки DeviceNet™ требует разрешения Open DeviceNet Vendor Association Inc.

2

* CANopen — торговая марка, используемая для описания ЕН 50325-4. Эта информация приведена для удобства пользователей ИСО 15745 и не означает одобрения со стороны ИСО владельца торговой марки или любых его продуктов. Соответствие настоящему стандарту не требует использования торговой марки CANopen.

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

3

) CIP™ — торговая марка ControlNet International. Ltd., и Open DeviceNet Vendor Association. Inc. Эта информация приведена для удобства использования комплекса стандартов ИСО 15745 и не означает одобрения со стороны ИСО владельца торговой марки или любых его продуктов. Соответствие настоящему стандарту не требует использования торговой марки DeviceNet™. Использование торговой марки CIP™ требует разрешения либо ControlNet International, Ltd., либо Open DeviceNet Vendor Association, Inc.

Николай Иванов

Эксперт по стандартизации и метрологии! Разрешительная и нормативная документация.

Оцените автора
Все-ГОСТЫ РУ
Добавить комментарий