Структура специфического для технологии профиля сети коммуникаций и коммуникационные аспекты структуры профиля устройства, основанные на технологиях Ethernet, описаны в разделе 6. Рассматриваемые технологии включают в себя:
- ADS-net (см. 6.1);
- FL-net (см. 6.2);
- EtherNet/IP (см. 6.3);
- PROFINET (см. 6.4).
Соответствующие определения шаблона профиля приведены в Приложениях A - D.
в системах управления, основанных на Ethernet
6.1.1.1. Общие положения
На рисунке 1 показана диаграмма класса профилей устройства ADS-net.
???????????????????
? DeviceProfile ?
???????????????????
<>
? 0..* ??????????????????????
?????????? ApplicationProcess ?
???????????????????? 1 ? ??????????????????????
? DeviceIdentity ????????????????
???????????????????? ?
???????????????????? 0..1 ?
? DeviceManager ????????????????
???????????????????? ?
???????????????????? 1..* ?
? DeviceFunction ????????????????
????????????????????
Имеющиеся форматы профилей устройств ADS-net описаны в A.2 (Приложение A).
XML схема, представляющая шаблон профиля устройства ADS-net, определена в A.2.3 (Приложение A). Имя файла этой XML схемы должно быть "ADS-net_Device_Profile.xsd".
Примечание. Диаграмма класса профиль устройства ADS-net, показанная на рисунке 1, определяет основные классы. Эти классы далее развертываются; подробности приведены в Приложении A.
XML схема, представляющая шаблон профиля устройства ADS-net, определена в A.2 (Приложение A).
6.1.1.2. DeviceIdentity (идентификация устройства)
Класс DeviceIdentity содержит атрибуты, которые уникальным образом идентифицируют устройство, и поддерживает сервисы, позволяющие извлечь эту информацию из устройства.
Эти атрибуты предоставляют следующие данные:
- идентификация продавца (VendorName);
- идентификация устройства (код продукта, версия продукта, имя устройства).
6.1.1.3. DeviceManager (менеджер устройства)
Класс менеджер устройства содержит атрибуты и поддерживает сервисы, используемые для контроля и конфигурирования устройства.
Эти атрибуты предоставляют следующую информацию:
- DeviceState (статус устройства).
6.1.1.4. DeviceFunction (функция устройства)
Класс DeviceFunction содержит атрибуты и поддерживает сервисы, позволяющие управлять функциями устройства, например его конфигурацией.
Эти атрибуты предоставляют следующую информацию:
- номер поля данных (DFNO):
- номер логического узла (LNODENO);
- режим (MODE).
6.1.1.5. ApplicationProcess (прикладной процесс)
Класс ApplicationProcess содержит атрибуты и поддерживает сервисы, позволяющие осуществлять контроль коммуникаций между программами приложений, выполняемых в ADS-net.
Эти атрибуты предоставляют следующую информацию:
- список TCD производителей (Producer-TCD-List);
- список TCD потребителей (Consumer-TCD-List);
- приоритет (Priority).
6.1.2.1. Общие положения
На рисунке 2 показана диаграмма класса профилей коммуникационной сети ADS-net.
????????????????????????
? CommNetworkProfile ?
????????????????????????
<>
? 1 ???????????????????????
???????? ApplicationLayers ?
? ???????????????????????
? <> 1..* ???????????????????
? ???????? DataField ?
? ? ???????????????????
? ? <> 1 ????????????????????????
? ? ??????? AliveNotification ?
? ? ? ????????????????????????
? ? ?0..1 ????????????????????????
? ? ??????? ErrorNotification ?
? ? ????????????????????????
? ? 1..* ?????????????????????
? ???????? MessageSelection ?
? ?????????????????????
? 1 ??????????????????????
???????? TransportLayers ?
? ??????????????????????
? <> 1..* ?????????????????????
? ????????? UDP-IPObject ?
? ? ?????????????????????
? ? 1..* ?????????????????????
? ????????? EthernetObject ?
? ?????????????????????
? 0..1 ??????????????????????
???????? NetworkManagement ?
??????????????????????
<> 1..* ?????????????????????
????????? Nm-Configuration ?
? ?????????????????????
? 1..* ?????????????????????
?????????Nm-MessageSelection?
? ?????????????????????
? 1..* ?????????????????????
????????? Nm-Performance ?
? ?????????????????????
? 1..* ?????????????????????
????????? Nm-Fault ?
?????????????????????
сети коммуникаций ADS-net
Существующие форматы профилей сети коммуникаций ADS-net описаны в A.3 (Приложение A).
XML схема, представляющая шаблон профиля сети коммуникаций ADS-net, определена в A.3.3 (Приложение A). Имя файла этой XML схемы должно быть "ADS-net_CommNet_Profile.xsd".
6.1.2.2. ApplicationLayers (прикладные уровни)
6.1.2.2.1. Общие положения
Класс ApplicationLayers ADS-net представляет комбинированные профили трех верхних уровней OSI модели интеграции сети коммуникаций ADS-net. Он устанавливает поддерживаемые элементы сервиса приложения и их ассоциированные сервисы.
На рисунке 3 показано определение класса ApplicationLayers ADS-net.
???????????????????????
? ApplicationLayers ?
???????????????????????
<>
???????????????????? 1..* ? 1..* ??????????????????????
? DataField ????????????????????????????? MessageSelection ?
???????????????????? ??????????????????????
? DFNO ? ?Producer-TCD-List ?
? NETADDR ? ?Consumer-TCD-List ?
? BCADDR ? ?Producer-MCG-List ?
? NETMASK ? ?Consumer-MCG-List ?
? MCG-Table ? ? ?
???????????????????? ??????????????????????
<>
?
???????????????????????????????????????????????????
1 ? 0..1 ?
?????????????????????? ??????????????????????
? AliveNotification ? ? ErrorNotification ?
?????????????????????? ??????????????????????
? ND-Name ? ? CNT-Mode-Alive ?
? OS-Name ? ? Mode-Alive-List ?
? TM-Out ? ? CNT-Error ?
? Chg-Time ? ? ERR-Name ?
? IRADDR ? ? ERR-List ?
? ? ? Mod-NO ?
? ? ? ERR-NO ?
? ? ? CNT-Option ?
? ? ? Option-List ?
?????????????????????? ??????????????????????
Рисунок 3. Диаграмма класса ApplicationLayers ADS-net
6.1.2.2.2. DataField (поле данных)
6.1.2.2.2.1. Общие положения
ADS-net определяет домен под именем "Data Field", в котором подсистемы разделяют информацию при пересылке сообщений между равноправными узлами. Каждый узловой компьютер передает сообщения на многоадресной основе в поле данных, к которому он относится, и другие узловые компьютеры, принадлежащие к тому же полю данных, могут получать эти данные автономно. Многие компьютеры, относящиеся к некоторому полю данных, посылают или принимают данные. Многоадресная группа (MCG), т.е. группа узловых компьютеров, относящихся к определенному полю данных, также вводится в целях локализации многоадресной передачи.
DataField определяет характеристики, используемые для контроля поля данных. Атрибуты DataField предоставляют, в частности, следующую информацию:
- номер поля данных (DFNO);
- таблицу многоадресной группы (MCG-Table).
6.1.2.2.2.2. AliveNotification (уведомление о рабочем состоянии)
На поле данных периодически передается сообщение "keep alive" ("в рабочем состоянии") для уведомления других узловых компьютеров о статусе узлового компьютера-отправителя.
AliveNotification определяет параметры, используемые для проверки статуса узловых компьютеров. Атрибуты AliveNotification предоставляют, в частности, следующую информацию:
- имя узла (ND-Name);
- перерыв работы (TM-Out).
6.1.2.2.2.3. ErrorNotification (уведомление об ошибке)
Когда на узловом компьютере произошел отказ, информация об отказе включается в сообщение "keep alive", передаваемое на поле данных во время цикла передачи сообщения "keep alive". Любой узловой компьютер, относящийся к тому же полю данных, может обнаружить состояние отказа (ошибки).
ErrorNotification определяет параметры, описывающие информацию об отказе. Атрибуты ErrorNotification предоставляют, в частности, следующую информацию:
- имя ошибки (ERR-Name);
- список ошибок (ERR-List).
6.1.2.2.3. MessageSelection (выбор сообщения)
Код транзакции TCD представляет собой идентификатор сообщения, определенный уникальным образом в поле данных. Передающее устройство посылает сообщение с присвоенным TCD на указанное поле данных на многоадресной основе, а каждый узловой компьютер, относящийся к этому полю данных, автономно выбирает только подходящие сообщения на основе TCD.
MessageSelection определяет параметры, используемые для обмена сообщениями. Атрибуты MessageSelection предоставляют, в частности, следующую информацию:
- список TCD производителей (Producer-TCD-List);
- список TCD потребителей (Consumer-TCD-List);
- список MCG производителей (Producer-MCG-List);
- список MCG потребителей (Consumer-MCG-List).
6.1.2.3. TransportLayers (транспортные уровни)
6.1.2.3.1. Общие положения
Класс ADS-net TransportLayers представляет комбинированные профили для низших четырех уровней OSI модели интеграции сети коммуникаций. Класс TransportLayers подразделяется на один или более основанных на Ethernet объектов и объект UDP/IP.
6.1.2.3.2. EthernetObject (объект Ethernet)
EthernetObject определяет параметры Ethernet, используемые для реализации ADS-net. Атрибуты EthernetObject предоставляют следующую информацию:
- тип носителя информации (MediaType);
- скорость коммуникаций (CommRate);
- индикаторы (Indicators);
- адрес MAC (MACAddress);
- журнал ошибок (ErrorLog).
6.1.2.3.3. Объект UDP-IP (UDP-IPObject)
UDP-IPObject определяет параметры UDP/IP, используемые для реализации ADS-net. Атрибуты UDP-IPObject предоставляют следующую информацию:
- адрес IP (IPADDR);
- информацию о многоадресной группе (UDP-IP-MCGs);
- имя хоста (HostName);
- журнал ошибок (ErrorLog).
6.1.2.4. NetworkManagement (управление сетью)
6.1.2.4.1. Общие положения
Класс ADS-net NetworkManagement представляет конфигурацию сети и возможности регулировки характеристик модели интеграции коммуникационной сети ADS-net.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 2.
6.1.2.4.2. Nm-Configuration (Nm-Конфигурация)
6.1.2.4.2.1. Общие положения
Nm-Configuration определяет параметры конфигурации сети, относящейся к ADS-net. Атрибуты Nm-Configuration предоставляют, в частности, следующую информацию:
- список номеров активных полей данных (ActiveDataFieldNoList);
- список номеров активных узлов (ActiveNodeNoList);
- список номеров активных многоадресных групп (ActiveMulticastGroupNoList).
6.1.2.4.2.2. Nm-MessageSelection (Выбор Nm-сообщения)
Nm-MessageSelection определяет параметры, используемые для управления выбором сообщений. Атрибуты Nm-MessageSelection предоставляют, в частности, следующую информацию:
- поддерживаемый список TCD активных производителей (ActiveProducerTCDSupportedList);
- поддерживаемый список TCD активных потребителей (ActiveConsumerTCDSupportedList).
6.1.2.4.2.3. Nm-Performance (Nm-Характеристики)
Nm-Performance определяет параметры, используемые для мониторинга характеристик. Атрибуты Nm-Performance предоставляют следующую информацию:
- число сообщений в процессе обмена (MessageTransaction).
6.1.2.4.3. Nm-Fault (Nm-Отказ)
Nm-Fault определяет параметры, используемые для мониторинга отказов. Атрибуты Nm-Fault предоставляют, в частности, следующую информацию:
- список аварийных узлов (FaultNodeList).
6.2.1.1. Общие положения
На рисунке 4 показана диаграмма класса профилей устройства FL-net.
???????????????????
? DeviceProfile ?
???????????????????
<>
????????????????????? 1 ? 0..* ??????????????????????
? DeviceIdentity ?????????????????????? ApplicationProcess ?
????????????????????? ? ??????????????????????
????????????????????? 1 ?
? DeviceManager ????????????
????????????????????? ?
????????????????????? 1..* ?
? DeviceFunction ????????????
?????????????????????
Существующие форматы профилей устройства FL-net описаны в B.1 (Приложение B).
XML схема, представляющая шаблон профиля устройства FL-net, определена в B.1.5 (Приложение B). Имя файла этой XML схемы должно быть "FL-net_Device_Profile.xsd".
Примечание 1. Диаграмма класса профиля устройства FL-net, показанная на рисунке 4, определяет основные классы. Некоторые классы далее развертываются; подробности приведены в Приложении B.
Примечание 2. Все эти классы отображены в одной XML схеме, определенной в B.1.5 (Приложение B).
6.2.1.2. DeviceIdentity (идентификация устройства)
Класс DeviceIdentity определен на рисунке 5, а подклассы описаны в таблице 2.
????????????????????
? DeviceIdentity ?
????????????????????
<>
?
???????????????? 1 ?
? VendorCode ???????? 1 ??????????????????
???????????????? ???????? ProductName ?
???????????????? 0..1 ? ??????????????????
? DeviceType ???????? 1 ??????????????????
???????????????? ???????? ProductCode ?
? ??????????????????
? 1 ??????????????????
???????? ProductRevision?
??????????????????
Рисунок 5. Диаграмма класса FL-net DeviceIdentity
Таблица 2
6.2.1.3. DeviceManager (менеджер устройства)
6.2.1.3.1. Общие положения
На рисунке 6 показана структура класса объекта DeviceManager.
???????????????????
? DeviceManager ?
???????????????????
<>
? 1 ?????????????????????
????????????????????? 1 ???????CommuServiceManager?
? DeviceIDSpecRev ??????? ?????????????????????
????????????????????? ?
????????????????????? 0..1?
? DeviceState ???????
?????????????????????
Рисунок 6. Диаграмма класса FL-net DeviceManager
Объект DeviceIDSpecRev должен описывать версию объекта идентификатора FL-net.
Объект CommuServiceManager должен описывать сервис коммуникаций, который несет ответственность за мониторинг и конфигурацию.
Объект DeviceState должен описывать состояния устройства.
6.2.1.4. DeviceFunction (функция устройства)
Объект DeviceFunction содержит атрибуты и поддерживает сервисы, обеспечивающие менеджмент (например, конфигурацию) функций устройства.
Примечание. Класс функций устройства в ИСО 15745-4 не определен.
Объект ApplicationProcess содержит атрибуты и поддерживает сервисы, соответствующие требованиям приложения.
Эти атрибуты предоставляют, в частности, следующую информацию:
- название завода (PlantName).
Для создания конкретного представления процесса приложения могут быть определены дополнительные подклассы и дополнительные атрибуты, описывающие процесс приложения.
6.2.2.1. Общие положения
На рисунке 7 показана диаграмма профилей коммуникации сети FL-net.
????????????????????????
? CommNetworkProfile ?
????????????????????????
<>
?
???????????????????????? 1 ? 1 ????????????????????????
? ApplicationLayers ??????????? NetworkManagement ?
???????????????????????? ? ????????????????????????
<> ? <>
??????????????????????1..*? ? ? 1..* ?????????????????????
? ComMemoryInterface ?????? ? ???????? Configuration ?
?????????????????????? ? ? ? ?????????????????????
??????????????????????1..*? ? ? 1..* ?????????????????????
? MessageService ?????? ? ???????? ServiceSelection ?
?????????????????????? ? ? ? ?????????????????????
??????????????????????0..1? ? ? 1..* ?????????????????????
? ErrorNotification ?????? ? ????????PerformanceManager ?
?????????????????????? ? ? ?????????????????????
???????????????????? 1 ? ? 1..* ?????????????????????
? TransportLayers ????? ???????? FaultManager ?
???????????????????? ?????????????????????
<>
?????????????????????1..* ?
?UDP-IPObject ???????
????????????????????? ?
?????????????????????1..* ?
?EthernetBasedObject???????
?????????????????????
коммуникационной сети FL-net
Существующие форматы профилей коммуникационной сети FL-net описаны в B.2 (Приложение B).
XML схема, представляющая шаблон профилей коммуникационной сети FL-net, определена в B.2.4.5 (Приложение B). Имя файла этой XML схемы должно быть "FL-net_CommNet_Profile.xsd".
6.2.2.2. ApplicationLayers (прикладные уровни)
6.2.2.2.1. Общие положения
Класс FL-net ApplicationLayers представляет комбинированные профили верхних трех уровней OSI модели интеграции сети коммуникаций FL-net. Он устанавливает поддерживаемые элементы сервиса приложения и ассоциированные с ними сервисы.
Далее этот класс делится на несколько классов, как показано на рисунке 7.
Примечание. Объект ApplicationLayers полностью определен в JEM 1479:2002.
Объект ComMemoryInterface определяет характеристики, связанные с общим интерфейсом памяти. Элементы объекта ComMemoryInterface определены в B.2.2.1 (Приложение B).
Объект MessageService определяет характеристики, ассоциированные с сервисами сообщений устройства. Элементы объекта MessageService определены в B.2.2.2 (Приложение B).
Объект ErrorNotification определяет характеристики, ассоциированные с видами ошибок, относящимися к сети и устройству. Элементы объекта ErrorNotification определены в B.2.2.3 (Приложение B).
6.2.2.3. TransportLayers (транспортные уровни)
6.2.2.3.1. Общие положения
Класс FL-net TransportLayers представляет комбинированные профили четырех нижних уровней OSI модели интеграции сети коммуникаций FL-net.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 7.
Объект EthernetBasedObject определяет характеристики, связанные с физическим уровнем FL-net. Элементы объекта EthernetBasedObject определены в B.2.3.1 (Приложение B).
Объект UDP-IPObject определяет характеристики, связанные с конфигурацией и мониторингом канала передачи данных. Элементы объекта UDP-IPObject определены в B.2.3.2 (Приложение B).
6.2.2.4. NetworkManagement (управление сетью)
6.2.2.4.1. Общие положения
Класс FL-net NetworkManagement представляет средства наладки характеристик и конфигурации сети в модели интеграции сети коммуникаций FL-net.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 7.
Примечание. Объект NetworkManagement полностью определен в JEM 1479:2002.
Объект Configuration определяет характеристики, связанные с первоначальной установкой и модификацией конфигурации. Элементы объекта Configuration определены в B.2.4.1 (Приложение B).
Объект ServiceSelection определяет характеристики, связанные с сервисами сети коммуникаций. Элементы объекта ServiceSelection определены в B.2.4.2 (Приложение B).
Объект PerformanceManager определяет параметры, связанные с характеристиками обмена данными в сети. Элементы объекта PerformanceManager определены в B.2.4.3 (Приложение B).
Объект FaultManager определяет характеристики, связанные с возможностями отказов в FL-net. Элементы объекта FaultManager определены в B.2.4.4 (Приложение B).
6.3.1.1. Общие положения
На рисунке 8 показана диаграмма класса профиль устройства EtherNet/IP.
???????????????????
? DeviceProfile ?
???????????????????
<>
???????????????????? ?
? DeviceIdentity ?????????????
???????????????????? 1 ? ??????????????????????
??????? ApplicationProcess ?
???????????????????? ?0..* ??????????????????????
? DeviceManager ????????????? <>
???????????????????? 0..1 ? ? ?????????????????
? ?????? Assembly ?
???????????????????? ? ?0..*?????????????????
? DeviceFunction ????????????? ?
???????????????????? 1..* ? ?????????????????
?????? Parameter ?
?0..*?????????????????
? ?????????????????
??????ParameterGroup ?
0..*?????????????????
Существующие форматы профиля устройства EtherNet/IP описаны в C.1 (Приложение C).
XML схема, представляющая шаблон профиля устройства EtherNet/IP, определена в C.2.1.3.3 (Приложение C). Имя файла этой схемы XML должно быть "2CIP_Device_Profile.xsd".
Примечание. Диаграмма класса профиля устройства EtherNet/IP, показанная на рисунке 8, определяет основные классы. Некоторые классы далее развертываются; подробности приведены в Приложении C.
XML схема, представляющая инкапсуляцию ранее принятого EtherNet/IP EDS в шаблон профиля устройства ИСО 15745, определена в C.2.2.2 (Приложение C). Имя файла этой XML схемы должно быть "EDS_Device_Profile_wrapper.xsd". Синтаксис ASCII ранее принятого EDS описан в C.4 (Приложение C).
6.3.1.2. Device identity (идентификация устройства)
Класс DeviceIdentity содержит атрибуты, которые уникальным образом идентифицируют устройство, и поддерживает сервисы, которые позволяют извлекать эту информацию из устройства.
Эти атрибуты предоставляют, в частности, следующую информацию:
- идентификация изготовителя (имя и код идентификации);
- идентификация устройства (тип устройства, имя продукта, версия, серийный номер);
- классификация устройства.
Сервисы позволяют выполнять:
- перезагрузку устройства;
- получение атрибутов DeviceManager.
6.3.1.3. Device manager (менеджер устройства)
Класс DeviceManager содержит атрибуты и поддерживает сервисы, используемые для мониторинга и конфигурации устройства.
Эти атрибуты предоставляют, в частности, следующую информацию:
- версию объекта идентичности EtherNet/IP;
- информацию о структуре устройства (для устройств, интегрированных в модульную систему).
Сервисы позволяют выполнять:
- перезагрузку устройства;
- извлечение атрибутов DeviceManager.
6.3.1.4. Device function (функция устройства)
Класс DeviceFunction содержит атрибуты и поддерживает сервисы, позволяющие осуществлять управление функциями устройства (например, конфигурацией).
Пример - Примерами объектов DeviceFunction являются Overload (перегрузка), Presence Sensing (обнаружение присутствия), Analogue Input (аналоговый ввод), Discrete Output (дискретный вывод).
Примечание. Класс DeviceFunction не определен в ИСО 15745-4.
6.3.1.5. Application process (прикладной процесс)
На рисунке 9 показана структура класса ApplicationProcess.
????????????????????????
? ApplicationProcess ?
????????????????????????
<>
? 0..1
0..1 ??????????????????????????????????????????????????? 0..1
?????????????????? ????????????????? ?????????????????
? Assembly ? ? Parameter ? ?ParameterGroup ?
?????????????????? ????????????????? ?????????????????
<> <> <>
? ? ?
???????????????????? ? ??????????????????? ?????????
?? AssemblyClass ? ?????? ParameterClass ? ??Group ?
0..1 ???????????????????? 0..1? ??????????????????? 0..*????????
???????????????????? ? ???????????????????
??AssemblyInstance ? ??????ParameterInstance?
0..1 ???????????????????? 0..1? ???????????????????
???????????????????? ? ???????????????????
?? Assem ? ?????? Param ?
0..* ??????????????????? 0..* ???????????????????
Рисунок 9. Диаграмма класса EtherNet/IP ApplicationProcess
Класс Assembly объединяет несколько элементов данных процесса приложения в один блок в целях оптимизации коммуникаций. Класс Parameter предоставляет стандартный интерфейс для доступа к отдельным элементам данных процесса приложения. Класс ParameterGroup определяет группы связанных параметров для специальных целей (например, конфигурации, мониторинга).
Класс Assembly и класс Parameter поддерживают атрибуты и сервисы на уровнях как класса, так и варианта.
Классы Assem, Param и Group определяют отдельные варианты основных классов.
Примечание. Класс Assembly и класс Parameter соответствуют объекту EtherNet/IP Assembly и объектам Parameter. Объект Assembly полностью определен в МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2).
6.3.2.1. Общие положения
На рисунке 10 показана диаграмма класса профилей сети коммуникаций EtherNet/IP.
??????????????????????
? CommNetworkProfile ?
??????????????????????
<>
?
?????????????????????????????????????????????????
?1 ?1 ?0..1
????????????????????? ???????????????????? ?????????????????????
? ApplicationLayers ? ? TransportLayers ? ? NetworkManagement ?
????????????????????? ???????????????????? ?????????????????????
<> <> <>
??????????????????? 1? ??????????????????????0..1? ?0..1?????????????????????????
?ConnectionManager???? ? ENPhysicalLayer ?????? ??????NM-EtherNetIPLinkObject?
??????????????????? ? ?????????????????????? ? ? ?????????????????????????
??????????????????? 1? ??????????????????????0..1? ?0..1?????????????????????????
? MessageRouter ???? ?EtherNetIPLinkObject?????? ??????NM-TCPIPInterfaceObject?
??????????????????? ?????????????????????? ? ? ?????????????????????????
??????????????????????0..1? ?0..1?????????????????????????
?TCPIPInterfaceObject?????? ?????? NM-ConnectionManager ?
?????????????????????? ? ? ?????????????????????????
???????????????????????0..1? ?0..1?????????????????????????
?EncapsulationProtocol?????? ?????? NM-MessageRouter ?
??????????????????????? ? ?????????????????????????
??????????????????????0..1?
? Ports ??????
??????????????????????
коммуникационной сети EtherNet/IP
Существующие форматы профилей коммуникационной сети EtherNet/IP описаны в C.3 (Приложение C).
XML схема, представляющая шаблон профиля коммуникационной сети EtherNet/IP, определена в C.3.1.3 (Приложение C). Имя файла этой XML схемы должно быть "ENet_CommNet_Profile.xsd".
XML схема, представляющая инкапсуляцию ранее принятого EtherNet/IP EDS в шаблон профиля коммуникационной сети ИСО 15745, определена в C.3.2.2 (Приложение C). Имя файла этой XML схемы должно быть "EDS_CommNet_Profile_wrapper.xsd". Синтаксис ASCII ранее принятого EDS описан в C.4 (Приложение C).
6.3.2.2. Application Layers (прикладные уровни)
Класс EtherNet/IP ApplicationLayers представляет комбинированные профили трех верхних уровней OSI модели интеграции сети коммуникаций EtherNet/IP.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 10:
- ConnectionManager (менеджер связи) определяет характеристики, относящиеся к соединениям и управлению соединениями;
- MessageRouter (маршрутизатор сообщений) определяет характеристики, связанные с маршрутизацией внутренних сообщений в устройстве.
Примечание. Соответствующий объект Connection Manager и объект Message Router полностью определены в МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2).
6.3.2.3. Transport Layers (транспортные уровни)
Класс EtherNet/IP TransportLayers представляет комбинированные профили для низших четырех уровней OSI модели интеграции сети коммуникаций EtherNet/IP.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 10:
- ENPhysicalLayer (физический уровень EN) определяет характеристики физического уровня;
- EtherNetIPLinkObject определяет характеристики, связанные с конфигурацией и мониторингом канала передачи данных;
- TCPIPInterfaceObject определяет характеристики, связанные с конфигурацией и мониторингом TCP/IP;
- EncapsulationProtocol (протокол инкапсуляции) определяет характеристики, связанные с инкапсуляцией сообщений приложения в TCP/IP;
- порты определяют порты устройства, которые могут направлять сообщения из одной связи на другую связь.
Примечание. Соответствующий EtherNet Link объект связи и TCP/IP объект интерфейса полностью описаны в МЭК 61158-4:2003 (тип 2), опции Encapsulation Protocol (протокол инкапсуляции) подробно изложены в МЭК 61158-6:2003 (тип 2).
6.3.2.4. Network management (управление сетью)
Класс EtherNet/IP NetworkManagement представляет средства наладки конфигурации и характеристик сети в модели интеграции сети коммуникаций EtherNet/IP.
Этот класс далее подразделяется на несколько классов, как показано на рисунке 10:
- NM-EtherNetIPLinkObject, NM-TCPIPInterfaceObject, NM-ConnectionManager и NM-MessageRouter определяют характеристики, связанные с менеджментом класса соответствующих объектов.
Примечание. Дополнительно к терминологии и нотации UML в ИСО 15745-1:2003 (приложение A) используют нотацию кратности (UML V1.4). Кратность атрибута выражается в квадратных скобках.
6.4.2.1. Общие положения
На рисунке 11 показана диаграмма класса профилей устройства GSDML.
???????????????????
? DeviceProfile ?
???????????????????
<>
?
? ????????????????????
??????? DeviceIdentity ?
? 1 ????????????????????
? ????????????????????
??????? DeviceFunction ?
? 1..*????????????????????
? ????????????????????
???????ApplicationProcess?
0..*????????????????????
Рисунок 11. Диаграмма класса профилей устройства GSDML
XML схема, представляющая шаблон профиля устройства GSDML, определена в D.5.2 (Приложение D). Заголовок профиля для профиля устройства GSDML должен иметь следующее содержание:
<ProfileHeader>
<ProfileIdentification>PROFINET Device Profile</ProfileIdentification>
<ProfileRevision>1.00</ProfileRevision>
<ProfileName>Device Profile for PROFINET Devices</ProfileName>
<ProfileSource>PROFIBUS Nutzerorganisation e. V. (PNO)</ProfileSource>
<ProfileClassID>Device</ProfileClassID>
<ISO15745Reference>
<ISO15745Part>4</ISO15745Part>
<ISO15745Edition>1</ISO15745Edition>
<ProfileTechnology>GSDML</ProfileTechnology>
</ISO15745Reference>
</ProfileHeader>
6.4.2.2. Device Identity (идентификация устройства)
На рисунке 12 показана диаграмма класса DeviceIdentity (идентификация устройства).
????????????????????
? DeviceIdentity ?
????????????????????
?VendorID ?
?DeviceID ?
????????????????????
<>
?
???????????????????
1 ? 1 ?
????????????? ?????????????
? InfoText ? ? VendorName?
????????????? ?????????????
?TextId[1] ? ?Value[1] ?
????????????? ?????????????
Рисунок 12. Диаграмма класса DeviceIdentity
Атрибуты и семантика классов определены в D.4.2 (Приложение D).
6.4.2.3. Device Function (функция устройства)
На рисунке 13 показана диаграмма класса DeviceFunction (функция устройства).
???????????????????????
? Device Function ?
???????????????????????
<>
1?
???????????????????????
? Family ?
???????????????????????
? MainFamily[1] ?
? ProductFamily[0..1] ?
???????????????????????
Рисунок 13. Диаграмма класса DeviceFunction
Атрибуты и семантика классов определены в D.4.3.
6.4.2.4. Application Process (прикладной процесс)
6.4.2.4.1. Общие положения
На рисунке 14 приведено описание структуры элемента ApplicationProcess. Классы UML без поля атрибутов подробно определены на отдельной диаграмме. Атрибуты и семантика классов определены в D.4.4 (Приложение D).
![]() <A> Подробные сведения см. в субдиаграммах.
Рисунок 14. Диаграмма класса ApplicationProcess PROFINET
6.4.2.4.2. DeviceAccessPointItem (точечный элемент доступа к устройству)
На рисунке 15 приведено описание структуры элемента DeviceAccessPointItem. Классы UML без поля атрибута подробно поясняются на отдельной диаграмме. Атрибуты и семантика классов определены в D.4.5 (Приложение D).
???????????????????????????????????????????
? DeviceAccessPointItem ? <A>
??????????????????????????????????????????? ?????????????
?ID[1] ?<>??????ModuleInfo ?
?PhysicalSlots[1] ? ? 1 ?????????????
?ModuleIdentNumber[1] ? ? ?????????????????????
?MinDeviceInterval[1] ? ? ?IOConfigData ?
?DNS_CompatibleName[1] ? ? ?????????????????????
?AllowedInSlots[0..1] ? ?????MaxInputLength[1] ?
?FixedInSlots[1] ? ? 1 ?MaxOutputLength[1] ?
?ObjectUUID_LocalIndex[1] ? ? ?MaxDataLength[0..1]?
?ImplementationType[0..1] ? ? ?????????????????????
?ExtendedAddressAssignmentSupported[0..1] ? ? ???????????????? ??????????????????????
??????????????????????????????????????????? ? ?UseableModules? ?ModuleItemRef ?
????????????????????<>??????????????????????????
? 1 ? ? 1..*?ModuleItemTarget[1] ?
? ???????????????? ?AllowedInSlots[0..1]?
? ?UsedInSlots[0..1] ?
? ?FixedInSlots[0..1] ?
? ??????????????????????
? ?????????????????????? <A>
? ?VirtualSubmoduleList? ??????????????????????
??????????????????????????<>???VirtualSubmoduleItem?
? 1 ? ? 1 ??????????????????????
? ??????????????????????
? ???????????? ??????????????????????
? ? Graphics ? ? GraphicItemRef ?
????????????????<>???????????????????????????
? ? ? ?Type[1] ?
? ???????????? ?GraphicItemTarget[1]?
?0..1 1..* ??????????????????????
? ??????????????????????????????
? ? ApplicationRelations ? ??????????????????????
? ?????????????????????????????? ?TimingProperties ?
?????AR_BlockVersion[1] ?<>??????????????????????????
0..1 ?IOCR_BlockVersion[1] ? 0..1?SendClock[0..1] ?
?AlarmCR_BlockVersion[1] ? ?ReductionRatio[0..1]?
?SubmoduleDataBlockVersion[1]? ??????????????????????
??????????????????????????????
Рисунок 15. Диаграмма класса DeviceAccessPointItem
6.4.2.4.3. VirtualSubmoduleItem (виртуальный элемент подмодуля)
На рисунке 16 приведено описание элемента VirtualSubmoduleItem. Классы UML без поля атрибута подробно поясняются на отдельной диаграмме. Атрибуты и семантика этих классов определены в D.4.6 (Приложение D).
?????????????????
? DataItem ?
????????????????????????? ??????????????????? ??????????????????? ?????????????????
? VirtualSubmoduleItem ? ? IOData ? ? Input ? ?DataType[1] ?
?????????????????????????<>?????????????????????????<>?????????????????????????<>?????Length[0..1] ?
?ID[1] ? ? 1 ?IOPS_Length[0..1]? ?0..1?Consistency[0..1]? 1..*?UseAsBits[0..1]?
?SubmoduleIdentNumber[1]? ? ?IOCS_Length[0..1]? ? ??????????????????? ?TextId[1] ?
????????????????????????? ? ??????????????????? ? ?????????????????
? ? ?????????????????
? ? ? DataItem ?
? ? ??????????????????? ?????????????????
? ? ? Output ? ?DataType[1] ?
? ???????????????????????<>?????Length[0..1] ?
? 0..1?Consistency[0..1]? 1..*?UseAsBits[0..1]?
? <A> ??????????????????? ?TextId[1] ?
? ??????????????????? ?????????????????
?????? RecordDataList ?
?0..1???????????????????
? <A>
? ???????????????????
?????? ModuleInfo ? ??????????????????????
?0..1??????????????????? ? GraphicItemRef ?
? ??????????????????? ??????????????????????
? ? Graphics ? ?Type[1] ?
????????????????????????<>?????GraphicItemTarget[1]?
0..1? ? 1..*??????????????????????
???????????????????
Рисунок 16. Диаграмма класса PROFINET VirtualSubmoduleItem
6.4.2.4.4. RecordDataList (список записи данных)
На рисунке 17 дано описание диаграммы элемента RecordDataList. Атрибуты и семантика классов определены в D.4.7 (Приложение D).
?????????????????? ?????????????
? RecordDataList ? ? Name ?
?????????????????? ??????????????????????
? ? ? 1 ? TextId[1] ?
?????????????????? ? ?????????????
<> ? ??????????????????
0..* ? ? ? Const ?
????????????????????????? ???????????????????????????
?ParameterRecordDataItem? ? 0..*?ByteOffset[0..1]?
????????????????????????? ? ?Data[1] ?
?Index[1] ?<>?????????? ??????????????????
?Length[1] ? ? ????????????????????????
?TransferSequence[0..1] ? ? ? Ref ?
????????????????????????? ? ????????????????????????
? ?ValueItemTarget[0..1] ?
? ?ByteOffset[1] ?
? ?BitOffset[0..1] ?
??????????BitLength[0..1] ?
0..*?DataType[1] ?
?DefaultValue[1] ?
?AllowedValues[0..1] ?
?Changeable[0..1] ?
?Visible[0..1] ?
?TextId[1] ?
????????????????????????
Рисунок 17. Диаграмма класса PROFINET RecordDataList
6.4.2.4.5. ModuleInfo (информационный модуль)
На рисунке 18 дано описание диаграммы элемента ModuleInfo. Атрибуты и семантика этих классов определены в D.4.8 (Приложение D).
???????????????????????
? ModuleInfo ?
???????????????????????
?CategoryRef[0..1] ?
?SubCategory1Ref[0..1]?
???????????????????????
<>
? ????????????????????
? ? Name ?
??????????????????????????
? 1 ?TextId[1] ?
? ????????????????????
? ????????????????????
? ? InfoText ?
??????????????????????????
? 1 ?TextId[1] ?
? ????????????????????
? ????????????????????
? ? VendorName ?
??????????????????????????
?0..1 ?Value[1] ?
? ????????????????????
? ????????????????????
? ? OrderNumber ?
??????????????????????????
?0..1 ?Value[1] ?
? ????????????????????
? ????????????????????
? ? HardwareRelease ?
??????????????????????????
?0..1 ?Value[1] ?
? ????????????????????
? ????????????????????
? ? SoftwareRelease ?
??????????????????????????
?0..1 ?Value[1] ?
? ????????????????????
? ?????????????????????
? ? Family ?
???????????????????????????
0..1 ?MainFamily[1] ?
?ProductFamily[0..1]?
?????????????????????
Рисунок 18. Диаграмма класса PROFINET ModuleInfo
На рисунке 19 показана диаграмма класса профилей коммуникационной сети GSDML.
????????????????????
?CommNetworkProfile?
????????????????????
<>
?
? ???????????????????
? ?ApplicationLayers?
?????????????????????????
? 1 ? ?
? ???????????????????
?
? ???????????????????
? ? TransportLayers ?
?????????????????????????
1 ? ?
???????????????????
Рисунок 19. Диаграмма класса профилей
коммуникационной сети PROFINET
Примечание. В GSDML классы профилей коммуникационной сети пустые. Причина этого состоит в том, что варианты характеристик коммуникаций устройства PROFINET не предоставлены.
XML схема, представляющая шаблон профиля коммуникационной сети GSDML, определена в D.5.3 (Приложение D).
(обязательное)
Верхние уровни ADS-net основаны на сети Автономной децентрализованной системы (ADS-net). Этот протокол моделирует все коммуникации и обмен сообщениями, имеющими место при взаимосвязях производитель-потребитель.
ADS-net предоставляет доступ ко всем данным конфигурации, информации о статусе и параметрам рабочего цикла узла и/или системы.
Файлы XML профиля устройства должны соответствовать XML схеме профиля устройства, установленной в A.2.3.
Содержание этой XML схемы выведено исходя из диаграмм класса профиля устройства, показанных в 6.1.1, и расширено дополнительными элементами, позволяющими дать полное описание требований и возможностей сети коммуникаций.
A.2.2.1. DeviceIdentity (идентичность устройства)
Семантика элемента DeviceIdentity определена в таблице A.1. Эти элементы используются в среде рабочего цикла ADS-net в целях предоставления информации для полной идентификации устройства.
Таблица A.1
Элементы DeviceIdentity
Более подробные данные о семантике каждого атрибута содержатся в [4].
A.2.2.2. DeviceManager (менеджер устройства)
Семантика субэлементов DeviceManager-Attributes элемента DeviceManager определена в таблице A.2. Эти субэлементы используются в среде рабочего цикла ADS-net.
Таблица A.2
Элементы DeviceManager-Attributes
A.2.2.3. DeviceFunction (функция устройства)
Семантика субэлементов DeviceFunction-Attributes элемента DeviceFunction определена в таблице A.3. Эти субэлементы используются в среде рабочего цикла ADS-net.
Таблица A.3
Элементы DeviceFunction-Attributes
Более подробные сведения о семантике каждого атрибута см. в [4].
A.2.2.4. ApplicationProcess (прикладной процесс)
Семантика субэлементов DeviceProcess-Attributes элемента DeviceProcess определена в таблице A.4.
Таблица A.4
Элементы DeviceProcess-Attributes
Более подробные сведения о семантике каждого атрибута см. в [4].
Файлы XML профиля коммуникационной сети должны соответствовать XML схеме профиля коммуникационной сети, установленной в A.3.3.
Содержание XML схемы выводится из диаграмм класса профиля сети коммуникаций, показанных в 6.1.2, расширенного дополнительными элементами, позволяющими дать полное описание требований или возможностей коммуникационной сети.
A.3.2.1. ApplicationLayers (прикладные уровни)
A.3.2.1.1. DataField (поле данных)
A.3.2.1.1.1. Общие положения
Данный элемент устанавливает поддерживаемые атрибуты варианта, используемые для контроля поля данных.
DataField соответствует домену, где подсистемы (т.е. узловые компьютеры или программы приложения) совместно используют информацию путем обмена сообщениями между равноправными устройствами. Эти сообщения имеют уникальную идентификацию в поле данных. Узловые компьютеры могут совместно использовать информацию с помощью указания номера поля данных в виде части идентификатора сообщения. Одно поле данных создается для адреса сети или подсети для коммуникаций между узловыми компьютерами или создается в памяти для коммуникаций между программами приложения в узловом компьютере.
Поле данных имеет уникальную идентификацию с помощью относящегося к нему Номера Поля Данных (Data Field Number - DFNO). Уникальное значение DFNO присвоено всем полям данных в системе в диапазоне от 1 до 255. DFNO, равное 0, зарезервировано для коммуникаций внутри текущего узла.
Семантика субэлементов DataField-Attributes элемента DataField определена в таблице A.5.
Таблица A.5
Элементы DataField-Attributes
Более подробные сведения о семантике каждого атрибута см. в [4].
A.3.2.1.1.2. AliveNotification (уведомление о существовании)
Данный элемент устанавливает атрибуты, используемые для проверки нормального состояния узлового компьютера.
Семантика элемента AliveNotification определена в таблице A.6.
Таблица A.6
Элементы AliveNotification
Более подробные сведения о семантике каждого атрибута см. в [4].
A.3.2.1.1.3. ErrorNotification (уведомление об ошибке)
Данный элемент устанавливает атрибуты, используемые для проверки ошибок узлового компьютера.
Семантика элемента ErrorNotification определена в таблице A.7.
Таблица A.7
Элементы ErrorNotification
Более подробные сведения о семантике каждого атрибута см. в [4].
A.3.2.1.2. MessageSelection (выбор сообщений)
Данный элемент устанавливает атрибуты, используемые при обмене сообщениями в ADS-net.
Сообщение идентифицируется уникальным образом Кодом Транзакции (TCD). Передатчик посылает сообщение, ассоциированное с некоторым TCD, используя многоадресную передачу на группу, принимающую передачу и имеющую установленное поле данных. Узлы в указанной группе приема широковещательной передачи принимают только сообщения, имеющие определенный TCD.
Семантика субэлементов MessageSelection-Attributes элемента MessageSelection определена в таблице A.8.
Таблица A.8
Элементы MessageSelection-Attributes
Более подробные сведения о семантике каждого описания см. в [4].
A.3.2.2. TransportLayers (транспортные уровни)
A.3.2.2.1. EthernetObject (объект Ethernet)
Данный элемент устанавливает атрибуты Ethernet, используемые в ADS-net.
EthernetObject определяет атрибуты, связанные с конфигурацией и мониторингом канала передачи данных.
Семантика субэлементов EthernetObject-Attributes элемента EthernetObject определена в таблице A.9.
Таблица A.9
Элементы EthernetObject-Attributes
A.3.2.2.2. UDP-IPObject
Данный элемент устанавливает атрибуты UDP/IP, используемые в ADS-net.
Семантика субэлементов UDP-IPObject-Attributes элемента UDP-IPObject определена в таблице A.10.
Таблица A.10
Элементы UDP-IPObject-Attributes
Таблица A.11
Более подробные сведения о семантике каждого атрибута см. в [4].
A.3.2.3. NetworkManagement (управление сетью)
A.3.2.3.1. Nm-Configuration (конфигурация)
Данный элемент устанавливает атрибуты, используемые для конфигурации сети.
Семантика субэлементов Nm-Configuration-Attributes элемента Nm-Configuration определена в таблице A.12.
Таблица A.12
Элементы Nm-Configuration-Attributes
Более подробные сведения о семантике каждого описания см. в [4].
A.3.2.3.2. Nm-MessageSelection (выбор Nm-Сообщений)
Данный элемент устанавливает атрибуты, используемые при выборе сообщений.
Семантика субэлементов Nm-MessageSelection-Attributes элемента Nm-MessageSelection определена в таблице A.13.
Таблица A.13
Элементы Nm-MessageSelection-Attributes
Более подробные сведения о семантике каждого описания см. в [4].
A.3.2.3.3. Nm-Performance (Nm-исполнение)
Данный элемент устанавливает атрибуты, используемые для мониторинга характеристик.
Семантика субэлементов Nm-Performance-Attributes элемента Nm-Performance определена в таблице A.14.
Таблица A.14
Элементы Nm-Performance-Attributes
A.3.2.3.4. Nm-Fault
Данный элемент определяет атрибуты, используемые для мониторинга отказов.
Семантика субэлементов Nm-Fault-Attributes элемента Nm-Fault определена в таблице A.15.
Таблица A.15
Элементы Nm-Fault-Attributes
Более подробные сведения о семантике каждого описания см. в [4].
(обязательное)
XML схема шаблона профиля устройства, определенная в B.1.5, содержит отображение диаграмм класса профиля устройства, показанных в 6.2.1. Помимо отображенных классов и атрибутов эта схема включает в себя дополнительные элементы, позволяющие дать более полное описание требований и возможностей устройств.
Данный элемент определяет атрибуты и операции объекта DeviceIdentity совместно с дополнительной информацией для полной идентификации устройства.
В таблице B.1 дано описание элементов объекта DeviceType (устройство тип).
Таблица B.1
B.1.3.1. Общие положения
Данный элемент определяет атрибуты и операции объекта DeviceManager совместно с дополнительной информацией по управлению устройством.
B.1.3.2. Объект DeviceIDSpecRev (версия спецификации идентификатора устройства)
В таблице B.2 дано описание элементов объекта DeviceIDSpecRev согласно определению в 6.2.1.3.2.
Таблица B.2
Элементы объекта DeviceIDSpecRev
B.1.3.3. Объект CommuServiceManager (менеджер коммуникационного сервиса)
В таблице B.3 дано описание элементов объекта CommuServiceManager согласно определению в 6.2.1.3.3.
Таблица B.3
Элементы объекта CommuServiceManager
B.1.3.4. Объект DeviceState (состояние устройства)
В таблице B.4 дано описание элементов объекта DeviceState согласно определению в 6.2.1.3.4.
Таблица B.4
Элементы объекта DeviceState
Данный элемент устанавливает атрибуты и операции объекта ApplicationProcess совместно с дополнительными элементами.
В таблице B.5 дано описание элементов объекта PlantName согласно определению в 6.2.1.5.
Таблица B.5
Элементы объекта PlantName
XML схема шаблона профиля коммуникационной сети, определенная в B.2.4.5, содержит отображение диаграмм класса профиля коммуникационной сети, показанных на рисунке 7. Помимо отображенных классов и атрибутов она содержит дополнительные элементы, позволяющие дать полное описание требований и возможностей коммуникационной сети.
В таблице B.6 дано описание элементов объекта ComMemoryInterface согласно определениям в 6.2.2.2.2. Субэлементы ComMemory1AllocationList и ComMemory2AllocationList предоставляют информацию о распределении памяти. Их атрибуты описаны в таблице B.7.
Таблица B.6
Элементы ComMemoryInterface
Таблица B.7
В таблице B.8 дано описание элементов объекта MessageService согласно определению в 6.2.2.2.3.
Таблица B.8
Элементы объекта MessageService
В таблице B.9 дано описание элементов объекта ErrorNotification согласно определению в 6.2.2.2.4.
Таблица B.9
Элементы объекта ErrorNotification
В таблице B.10 дано описание элементов объекта EthernetBasedObject согласно определению в 6.2.2.3.2.
Таблица B.10
Элементы объекта EthernetBasedObject
В таблице B.11 дано описание элементов объекта UDP-IPObject согласно определению в 6.2.2.3.3.
Таблица B.11
Элементы объекта UDP-IPObject
В таблице B.12 дано описание элементов объекта Configuration согласно определению в 6.2.2.4.2.
Таблица B.12
Элементы объекта Configuration
В таблице B.13 дано описание элементов объекта ServiceSelection согласно определению в 6.2.2.4.3.
Таблица B.13
Элементы объекта ServiceSelection
В таблице B.14 дано описание элементов объекта PerformanceManager согласно определению в 6.2.2.4.4.
Таблица B.14
Элементы объекта PerformanceManager
В таблице B.15 дано описание элементов объекта FaultManager согласно определению в 6.2.2.4.5.
Таблица B.15
Элементы объекта FaultManager
(обязательное)
Верхние уровни сети EtherNet/IP основаны на общем промышленном протоколе CIP. Этот протокол моделирует все сущности коммуникаций и приложений в виде объектов. Специальные сервисы CIP по запросу сообщений должны выполняться на соответствующих экземплярах объектов (или их атрибутах). Эта схема предоставляет явный доступ ко всем данным параметров конфигурации, состояния и рабочего цикла в узле. В то же время соединения ввода/вывода допускают прямой обмен с базой данных ввода/вывода без промежуточной обработки. В обоих случаях все ссылки на данные внутри устройства указываются с помощью путей CIP, т.е. потока октетной строки, которая определяет экземпляр объекта приложения, атрибут и/или конечную точку соединения.
Для дистанционной конфигурации устройства доступны многие опции с помощью интерфейса коммуникаций CIP, включая следующее:
- сохраненную информацию об устройстве в печатном или электронном формате;
- выделенные объекты параметров (Parameter Objects), которые предоставляют известный общедоступный интерфейс для индивидуальных значений данных конфигурации/параметров и могут также вводить дополнительную информацию о конфигурации, например дескриптивный текст, тип данных, предельные значения данных и значения по умолчанию;
- выделенное объединение конфигураций (Configuration Assembly), что допускает групповое сохранение и загрузку данных конфигурации путем объединения в группы отдельных значений данных по конфигурации/параметрам;
- комбинации указанных выше методов.
Инструменты конфигурации, имеющиеся в настоящее время в основанных на CIP устройствах, используют специально форматированный файл ASCII, называемый электронным бланком данных (EDS), который предоставляет следующее:
- информацию, необходимую для идентификации присоединенного устройства;
- описание данных устройства, которые могут быть доступны через сеть (например, конфигурируемые параметры);
- описание возможностей коммуникации, поддерживаемых устройством (например, соединения);
- дополнительную информацию поставщика.
EDS допускает применение инструмента конфигурации, автоматически выполняющего процесс конфигурации устройства. Требования EDS обеспечивают открытый, последовательный и совместимый подход к выполнению конфигурации устройства в среде CIP.
Информация EDS в высокой степени аналогична информации, требующейся в профилях как устройств, так и сетей коммуникаций, в связи с чем в следующих подразделах определяется формат для:
- шаблонов профиля сети коммуникаций и устройства согласно определению в ИСО 15745-1;
- инкапсуляции ранее принятых файлов EDS в шаблоны комплекса стандартов ИСО 15745 ("оболочки");
- ранее принятого EDS, включая общую семантическую информацию.
Примечание. EtherNet/IP EDS некоторого устройства может быть получен из содержания соответствующих файлов XML профиля устройства и коммуникационной сети путем использования бланков подходящего стиля.
C.2.1.1. Общие положения
Файлы XML профиля устройства должны соответствовать XML схеме профиля устройства, установленной в C.2.1.3.3.
Содержание этой XML схемы выводится из диаграмм класса профиля устройства, показанных в 6.3.1, расширенного с помощью дополнительных элементов, что позволяет дать полное описание требований и возможностей устройства.
C.2.1.2. Семантика элементов XML схемы
C.2.1.2.1. ProfileBody (тело профиля)
Этот основной элемент ассоциируется с набором атрибутов, которые предоставляют дополнительную информацию относительно файла профиля.
Семантика этих атрибутов установлена в C.4.1.4.2.
C.2.1.2.2. DeviceIdentity (идентичность устройства)
Этот элемент устанавливает поддерживаемые атрибуты и операции сущности Identity Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)] совместно с дополнительной информацией для полной идентификации устройства. Когда это целесообразно, он также показывает фактические значения атрибутов сущности.
Семантика субэлементов DeviceIdentity_InstanceAttributes элемента DeviceIdentity определена в таблице C.1.
Таблица C.1
Элементы DeviceIdentity_InstanceAttributes
C.2.1.2.3. DeviceManager (менеджер устройства)
Данный элемент определяет поддерживаемые атрибуты и операции класса объекта Identity Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)] совместно с дополнительной информацией по управлению устройством. Когда это целесообразно, он также показывает фактические значения атрибутов сущности.
Семантика Модульного (Modular) субэлемента элемента DeviceManager установлена в C.4.1.5.2.
C.2.1.2.4. DeviceFunction (функция устройства)
Содержание этого элемента в данном документе подробно не рассматривается.
C.2.1.2.5. Application Process (прикладной процесс)
C.2.1.2.5.1. Assembly (Сборка)
Данный элемент определяет поддерживаемые атрибуты и операции класса и варианта объекта Assembly Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)] совместно с описанием отдельных вариантов.
Семантика субэлементов Assem, ProxyAssem и ProxiedAssem элемента Assembly определена в C.4.1.4.8 и C.4.1.5.3.2.
C.2.1.2.5.2. Parameter (параметр)
Данный элемент устанавливает поддерживаемые атрибуты и операции класса и варианта объекта Parameter Object совместно с описанием отдельных вариантов.
Семантика субэлемента Parameter_ClassAttributes элемента Parameter определена в C.4.1.4.5.
Семантика субэлементов Param, ProxyParam и ProxiedParam элемента Parameter определена в C.4.1.4.6 и C.4.1.5.3.1.
C.2.1.2.5.3. ParameterGroup (группа параметров)
Данный элемент устанавливает группы связанных параметров для специальных целей.
Семантика субэлемента Group элемента ParameterGroup определена в C.4.1.4.7.
C.2.1.3. Схемы XML
Примечание. Данная XML схема содержит все стили, определенные как часть шаблона ведущего устройства в ИСО 15745-1:2003.
Примечание. Данная XML схема определяет пункты XML схемы (например, типы данных, типы элементов, группы атрибутов), используемые в других XML схемах.
Примечание. Данная XML схема включает файлы "MasterTemplateTypes.xsd" (см. C.2.1.3.1) и "CIPDataTypes.xsd" (см. C.2.1.3.2).
C.2.2.1. Общие положения
Файлы XML профиля устройства, используемые для инкапсуляции файлов EDS, должны соответствовать XML схеме профиля устройства, определенной в C.2.2.2.
Семантика субэлементов элемента ExternalProfileHandle, использованных для ссылки на существующий файл EDS, определена в таблице C.2. В зависимости от значения атрибута WrapperReference ссылка на файл EDS будет осуществляться с использованием элементов идентификации либо в самом файле EDS, либо в продукте, описанном этим EDS.
Примечание 1. Выбор необходимых элементов идентификации будет зависеть от ожидаемого использования файла оболочки.
Таблица C.2
Если они присутствуют, элементы DeviceIdentity, DeviceManager, DeviceFunction и ApplicationProcess должны быть совместимы с форматами, определенными в C.2.1.3.3.
Примечание 2. Это может быть использовано на этапе перехода от ранее принятого формата EDS к полному формату XML.
Примечание. Эта XML схема включает в себя файл "MasterTemplateTypes.xsd" (см. C.2.1.3.1).
C.3.1.1. Общие положения
Файлы XML профиля коммуникационной сети должны соответствовать XML схеме профиля коммуникационной сети, установленной в C.3.1.2.
Содержание этой XML схемы выводится из диаграмм класса профилей коммуникационной сети, показанных в 6.3.2, расширенного с помощью дополнительных элементов, что позволяет дать полное описание требований и возможностей сети коммуникаций.
C.3.1.2.1. ProfileBody (тело профиля)
Этот основной элемент ассоциируется с набором атрибутов, которые предоставляют дополнительную информацию относительно файла профиля.
Семантика этих атрибутов установлена в C.4.1.4.2.
C.3.1.2.2. ApplicationLayers (прикладные уровни)
C.3.1.2.2.1. ConnectionManager (менеджер соединений)
Данный элемент устанавливает поддерживаемые атрибуты и операции сущности объекта Connection Manager Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)] совместно с описанием отдельных вариантов соединения.
Семантика субэлементов Connection, ProxyConnect и ProxiedConnect элемента ConnectionDescriptions определена в C.4.1.4.9 и C.4.1.5.3.3.
C.3.1.2.2.2. MessageRouter (маршрутизатор сообщений)
Данный элемент устанавливает поддерживаемые атрибуты и операции сущности объекта Message Router Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)].
C.3.1.2.3. TransportLayers (транспортные уровни)
C.3.1.2.3.1. ENPhysicalLayer (EN физический уровень)
Данный элемент идентифицирует физический уровень. Содержание этого элемента в настоящем стандарте подробно не рассмотрено.
C.3.1.2.3.2. EtherNetIPLinkObject
Данный элемент определяет поддерживаемые атрибуты и операции сущности объекта EtherNet/IP Link Object [см. МЭК 61158-4:2003 (тип 2)].
C.3.1.2.3.3. TCPIPInterfaceObject
Данный элемент определяет поддерживаемые атрибуты и операции сущности объекта TCP/IP Interface Object [см. МЭК 61158-4:2003 (тип 2)].
C.3.1.2.3.4. EncapsulationProtocol (протокол инкапсуляции)
Данный элемент определяет поддерживаемые атрибуты и операции, ассоциированные с инкапсуляцией сообщений приложения в TCP/IP [см. МЭК 61158-6:2003 (тип 2)].
C.3.1.2.3.5. Ports (порты)
Данный элемент идентифицирует порты устройства, позволяющие направлять сообщения из одного канала связи в другой канал связи.
Семантика субэлемента Port элемента Ports определена в C.4.1.4.10 и C.4.2.2.2.
C.3.1.2.4. NetworkManagement (управление сетью)
C.3.1.2.4.1. NM-EtherNetIPLinkObject
Данный элемент определяет поддерживаемые атрибуты и операции класса объекта EtherNet/IP Link Object [см. МЭК 61158-4:2003 (тип 2)].
C.3.1.2.4.2. NM-TCPIPInterfaceObject
Данный элемент определяет поддерживаемые атрибуты и операции класса объекта TCP/IP Interface Object [см. МЭК 61158-4:2003 (тип 2)].
C.3.1.2.4.3. NM-ConnectionManager (NM-Менеджер соединений)
Данный элемент определяет поддерживаемые атрибуты и операции класса объекта Connection Manager Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)].
C.3.1.2.4.4. NM-MessageRouter (NM-Маршрутизатор сообщений)
Данный элемент определяет поддерживаемые атрибуты и операции класса объекта Message Router Object [см. МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2)].
Примечание. Данная XML схема включает в себя файлы "MasterTemplateTypes.xsd" (см. C.2.1.3.1) и "CIPDataTypes.xsd" (см. C.2.1.3.2).
C.3.2.1. Общие положения
Файлы XML профиля коммуникационной сети, используемые для инкапсуляции файлов EDS, должны соответствовать XML схеме профиля коммуникационной сети, определенной в C.3.2.2.
Семантика субэлементов элемента ExternalProfileHandle, используемых для ссылки на существующий файл EDS, определена в таблице C.2. В зависимости от значения атрибута WrapperReference ссылка на файл EDS будет осуществляться с использованием элементов идентификации либо в самом файле EDS, либо в продукте, описанном этим EDS.
Примечание. Выбор необходимых элементов идентификации будет зависеть от ожидаемого использования файла оболочки.
Примечание. Эта XML схема включает в себя файл "MasterTemplateTypes.xsd" (см. C.2.1.3.1).
Настоящий подраздел устанавливает требования к кодировке файла EDS, которые являются общими для всех сетей, основанных на CIP. Требования к кодировке EDS определяют стандартный формат кодировки файла для применения в продуктах CIP независимо от платформы хоста инструмента конфигурации или файловой системы.
В настоящем подразделе термин "файл" относится ко всем распознаваемым форматам файлов, ассоциированным с файловой системой инструмента конфигурации, независимо от среды хранения файлов.
Файл EDS определяется как файл ASCII, который включает в себя представление ASCII объектов в устройстве, к которым имеется доступ из сети (например, Parameter и Assembly), и некоторую дополнительную информацию, требующуюся для поддержки адресации объекта.
C.4.1.2.1. Структура EDS
Один файл должен содержать полный EDS. EDS должен состоять из секций. В таблице C.3 представлена сводка данных о структуре секций, которые являются общими для нескольких основанных на CIP сетей, соответствующие принятые разграничители секций и порядок этих секций в EDS.
Таблица C.3
Содержание EDS должно быть организовано следующим образом:
- все файлы EDS должны включать в себя раздел "Описание файла", который должен быть первой секцией файла EDS и должен использовать принятый разграничитель [File];
- все файлы EDS должны включать в себя секцию Описание Устройства, которая должна быть расположена после секции Описание Файла и должна использовать принятый разграничитель [Device];
- опциональные секции, описанные в данной спецификации, могут быть представлены в любом порядке при условии, что в файле EDS отсутствуют ссылки вперед;
- опциональная(ые) секция(и), определяемая(ые) продавцом, должна(ы) использовать принятые разграничители [VendorID_vendorspecifickeyword (ключевое слово поставщика)] согласно C.4.1.2.2.11 и должна(ы) быть помещена(ы) после всех секций, определенных в данной спецификации.
C.4.1.2.2. Правила форматирования EDS
C.4.1.2.2.1. Общие положения
Файл EDS должен состоять из секций, входов, полей, комментариев и пустых пробелов. Настоящий подраздел определяет правила, которые должны выполняться при определении EDS.
C.4.1.2.2.2. Пустой пробел в EDS
Пустой пробел может быть использован в файле EDS, но должен быть проигнорирован всеми интерпретаторами EDS, когда он располагается вне полей и наборов символов в двойных кавычках.
Интерпретатор EDS должен рассматривать указанные ниже символы как символы пустых пробелов. Эти символы, прочитанные интерпретатором, но не кодированные как читаемые человеком символы, означают присутствие в файле пустых пробелов:
- символ пробела;
- новая строка;
- возврат каретки;
- переход на новую строку;
- табуляция, вертикальная или горизонтальная;
- подача страницы;
- маркер конца файла;
- комментарии.
Все ключевые слова в файле EDS должны состоять из символов ASCII, входящих в следующий список:
- прописные буквы от A до Z;
- строчные буквы от a до z;
- цифры от 0 до 9;
- специальный символ подчеркивания "_";
- символ пробела.
Пробел должен использоваться только в ключевых словах секций. Пробел может располагаться только внутри имени секции, а множественные пробелы являются ошибкой.
C.4.1.2.2.4. Секции
Файл EDS должен быть разделен на требуемые и опциональные секции.
C.4.1.2.2.5. Разграничители секций
Каждая секция EDS должна быть правильно ограничена ключевыми словами в квадратных скобках (принятыми ограничителями). Правильные принятые разграничители должны соответствовать указанным в таблице C.3.
C.4.1.2.2.6. Ключевые слова секций
Ключевое слово секции определяется как текст между начальным ограничителем ключевого слова "[" и конечным ограничителем "]". Символы, предназначенные для использования в ключевых словах секций, определены в C.4.1.2.2.3. Существуют два типа ключевых слов секций - общие и специальные для поставщиков.
C.4.1.2.2.7. Порядок секций
Каждая требуемая секция должна быть помещена в требуемом порядке согласно условиям в C.4.1.2. Опциональные секции могут быть пропущены или включены в виде символа-заполнителя без данных. Кроме относящихся к поставщику секций, опциональные секции могут быть помещены в любом порядке. Относящиеся к поставщику секции должны быть в файле EDS на последнем месте.
C.4.1.2.2.8. Вход
Каждая секция EDS должна включать в себя один или более входов, начинающихся с ключевого слова входа, за которым следует знак равенства. Значение ключевого слова входа должно иметь общее значение, допуская использование ключевых слов, определенных в одних секциях, в других секциях. Каждый вход должен быть ограничен точкой с запятой. Вход может распространяться на несколько строк, если поля правильно разграничены запятыми.
C.4.1.2.2.9. Ключевые слова входа
Ключевое слово входа должно состоять из уникальной последовательности символов ключевого слова согласно определениям в C.4.1.2.2.3. Существуют два типа ключевых слов входа - общие и относящиеся к поставщику.
C.4.1.2.2.10. Общее ключевое слово
Общее ключевое слово должно быть всегда определено в спецификации CIP ответственными ассоциациями поставщиков. Общее ключевое слово никогда не должно начинаться с цифрового разряда.
Ключевые слова могут относиться к поставщику. Эти ключевые слова должны начинаться с идентификатора поставщика (Vendor ID) компании с последующим дополнением после символа подчеркивания (VendorID_VendorSpecificKeyword). VendorID должен быть представлен в виде десятичных цифр, без нулей на первых позициях. Каждый поставщик несет ответственность за поддержание и документальное оформление относящихся к поставщику ключевых слов.
C.4.1.2.2.12. Поля входа
Каждый вход должен включать в себя одно или более полей. Все поля должны быть разграничены запятыми. Значение поля (полей) должно зависеть от контекста секции. Поля входа либо обязательны, либо опциональны в соответствии с определениями в данной спецификации. Пустой пробел или отсутствие символа между запятыми должны использоваться для непредоставленных опциональных полей. Точка с запятой может быть использована для указания отсутствия последующих опциональных полей. Элемент "Номер Поля" должен указывать положение поля во входе. Поля должны быть пронумерованы слева направо (или сверху вниз), начиная с номера 1.
C.4.1.2.2.13. Ключевые слова поля
Ключевое слово поля должно состоять из уникальной последовательности символов ключевого слова согласно определениям в C.4.1.2.2.3. Существуют два типа ключевых слов поля - общие и относящиеся к поставщику.
C.4.1.2.2.14. Составные поля данных
Некоторые поля входа должны быть определены с помощью данных, которые не могут быть установлены одним значением между разграничителями в виде запятых. Возможность дальнейшего разграничения поля входа определяется путем использования одного или более набора соответствующих символов скобок "{" и "}". Содержание между символами скобок должно рассматриваться как один объект или вход. Содержание может быть сгруппировано с помощью нескольких скобок.
C.4.1.2.2.15. Комментарии
Комментарии должны быть разграничены с помощью символа доллара ($) и символа новой строки. Интерпретатор EDS должен рассматривать все символы между разграничителями комментария как пустой пробел. Разграничитель комментария $, появляющийся внутри поля или набора символов в двойных кавычках, не должен рассматриваться как разграничитель комментария.
Пример - Некоторые примеры комментариев приведены ниже:
$ Это правильная строка комментария <NL>
1, 2, 3; $ Это правильный комментарий <NL>
$ Комментарий не может распространяться <NL>
более чем на одну строку <NL> <= Это ошибка - нет $
C.4.1.2.2.16. Пример структуры форматирования EDS
На рисунке C.1 приведен пример, поясняющий структуру EDS.
???????????????????????????????????????????????????????????????????????????
?[имя секции] ? ?
?$ Комментарий - распространяется ? ?
?до конца строки ? ?
?Entry1=Field1, Field2, Field3; ?$ Весь вход на одной строке ?
?Entry2=Field1, Field2, Field3, ?$ Весь вход на одной строке ?
?Field4; ? ?
? ? ?
?Entry3= ?$ Вход на нескольких строках ?
?Field1, ?$ Поле 1 ?
?Field2, ?$ Поле 2 ?
?Field3; ?$ Поле 3 ?
? ? ?
?Entry4= ?$ Комбинация ?
?Field1, Field2, ?$ Поля 1 и 2 на одной строке ?
?Field3, ?$ Поле 3 ?
?Field4; ?$ Поле 4 ?
? ? ?
?Entry5= 1, ?$ Поле 1 устанавливает значение 1 ?
?{1,2,3}; ?$ Поле 2 устанавливает набор или ?
? ?$ структуру с тремя значениями ?
? ? ?
?Entry6= {44, {22,33,11}}; ?$ Вход 6 устанавливает одно поле ?
? ?$ Поле содержит два набора данных ?
? ?$ Первый набор соответствует одному ?
? ?значению 44 ?
? ?$ Второй набор содержит три значения ?
? ? ?
?65535_Entry= ?$ Относящийся к поставщику вход для ?
? Field1, Field2; ?$ Vendor_ID 65535 с двумя полями ?
???????????????????????????????????????????????????????????????????????????
Рисунок C.1. Пример структуры
форматирования EDS (информативный)
C.4.1.2.3. Требования к наименованию файлов
Никаких соглашений по наименованию файлов EDS на дисках не существует, за исключением файлов в среде DOS/Windows: эти файлы должны иметь суффикс ".EDS", добавляемый к имени файла.
C.4.1.3.1. Общие положения
Настоящий подраздел устанавливает требования по кодировке данных в файлах EDS.
Информация, содержащаяся в файле EDS, может представлять собой атрибуты сущностей объектов в подлежащем конфигурации устройстве. Все данные в файле EDS должны быть текстом ASCII, тогда как класс объекта и атрибуты экземпляров объекта необязательно должны быть в виде ASCII (существующие типы данных определены в спецификации CIP). В связи с этим может быть необходимо преобразование данных в файле EDS и атрибутах объекта, это преобразование установлено в следующих подразделах.
Простейшие типы данных, установленные в спецификации CIP, используются также для других элементов EDS, однако значение преобразуется согласно описанию в следующих разделах (см. C.4.1.3.3 - C.4.1.3.10).
Некоторые типы данных используются только в файлах EDS (см. C.4.1.3.11 - C.4.1.3.14).
C.4.1.3.2. Соглашение о файлах с символами ASCII
Все данные в EDS должны быть кодированы с использованием 8-битных символов ASCII, где все ссылки на "символы ASCII" означают 8-битный формат символов ASCII (согласно определению в таблицах 1 и 2, ряд 00, ИСО/МЭК 10646-1:2000). Символы, которые не могут быть представлены на терминале ANSI, не должны использоваться в именах идентификаторов или в представлении данных. Действующие значения символов ASCII должны включать в себя новую строку, табуляцию и десятичные цифры от 32 до 126.
C.4.1.3.3.1. Общие положения
Все строковые данные в файле EDS должны быть строками символов фиксированной длины, без символов конца строки, и должны быть заключены в двойные кавычки (тип данных EDS_Char_Array).
Существуют две формы преобразования строковых данных. Символы, содержащиеся между двойными кавычками, должны преобразовываться в 8-битные символы ASCII. Символы, содержащиеся между двойными кавычками, которым предшествует прописная буква L, должны преобразовываться в символы UNICODE (16-битные).
Пример 1 - "Эти результаты в строке составлены из 8-битных символов".
Пример 2 - L "Строка символов UNICODE, включая греческий символ Pi\u03C0".
Примечание. Текст \u03C0 определяет единичный 16-битный символ, значение которого - 03C0. В наборе символов UNICODE он расположен в таблице 9, ряд 3, основной греческий - символ для строчного "Pi". Описание последовательностей переключения кода символов дано в C.4.1.3.3.5.
C.4.1.3.3.2. Обработка недостаточных символов в поле строки
Интерпретатор EDS должен использовать выравнивание по правому знаку или разряду символов в поле и заполнять все неуказанные символы начальными пробелами (ASCII 0x20) на всю оставшуюся длину строки.
Пример - Если параметр имеет максимальную длину строки 8 и получает строку "123AB", эта строка интерпретируется как "~~~123AB", где символы тильды (~) представляют пробелы.
C.4.1.3.3.3. Обработка избыточных символов в поле строки
Если данное поле строки содержит слишком много символов, интерпретатор EDS должен обрезать символы слева направо.
Пример - Если параметр имеет максимальную длину строки 8 и получает строку "123ABCDEFG", строка обрезается и интерпретируется как "123ABCDE".
C.4.1.3.3.4. Сцепление строк
Множественные строки, не содержащие запятых, должны быть сцеплены (соединены).
Пример 1 -
Строка: "ABC" "123" "XYZ"
интерпретируется как: "ABC123XYZ"
Строки могут также быть представлены в виде отдельных строк.
Пример 2 -
Следующие строки:
"ABC" $ это комментарий
"123"
"XYZ"
Интерпретируются как: "ABC123XYZ"
В случае строки UNICODE (длинная строка) только перед первым знаком двойных кавычек должна быть прописная буква L.
Пример 3 - L "ABC" "123" "XYZ" то же самое, что и L "ABC123XYZ".
Интерпретатор EDS должен распознавать все управляющие последовательности, перечисленные в таблице C.4. Интерпретация зависит от приложения.
Таблица C.4
Если встречаются последовательности, не перечисленные выше, интерпретирующее устройство должно отбраковать всю строку и показать ошибку. Файлы EDS должны содержать только управляющие последовательности, определенные в таблице C.4.
C.4.1.3.4. Соглашение о строке ASCII (STRING, SHORT_STRING, STRING2)
Все типы строковых данных (STRING, SHORT_STRING, STRING2), используемые в атрибутах объектов, должны быть преобразованы в EDS_Char_Array в файле EDS.
C.4.1.3.5. STRINGI
Тип данных CIP International String (STRINGI) кодируется в файле EDS как сложное представление данных. Полное содержание входа STRINGI должно быть заключено в две скобки. За рядом элементов языка, определенных как USINT, должны следовать определения элементов языка, каждое из которых заключено в пару скобок и отделено запятой. Каждый элемент языка входа STRINGI должен быть задан в виде четырех полей. Первое поле (выбор языка) должно быть выражено в виде строки фиксированной длины из точно трех символов, заключенных в маркеры двойных кавычек - код языка согласно определению в ИСО 639-2/Т. Тип строковых данных должен быть выражен с использованием кода типа данных согласно определению в спецификации CIP для STRING, STRING2, STRINGN или SHORT_STRING. Выбор набора символов должен быть выражен в виде UINT согласно определению в IANA MIB Принтерных Кодах (RFC 1759). Часть содержания строки, относящаяся к элементу языка, должна быть выражена в виде строки или длинной строки.
Пример -
Далее представлен вход STRINGI с тремя языками:
Field1={3,
{"eng", 0xD0, 4, "Это строка ASCII на английском языке"},
{"spa", 0xD5, 1000, L "
palabras"}, $ "Испанские слова"
$ использующие
UNICODE
{"deu", 0xD0, 4, "Spanische
auf Deutsch"} $ "Испанские слова
на немецком"
};
Тип данных CIP EPATH, используемый, в частности, для определения строк путей CIP, должен быть кодирован в файлах EDS с использованием базового формата, определенного в ИСО 15745-4 для EDS_Char_Array. Кроме того, содержание строк для путей CIP или других данных EPATH должно состоять из групп, состоящих из двух прилегающих шестнадцатеричных символов, разделенных пробелами. Могут быть использованы символы как верхнего, так и нижнего регистра.
Пример 1 - "20 04 24 01"
Пример 2 - "20 05 24 02 30 04"
C.4.1.3.7. Соглашение о беззнаковых целых числах ASCII (USINT, UINT, UDINT, ULINT)
Типы данных беззнаковых целых чисел представляют значения положительных целых чисел. Данные беззнаковых целых чисел должны вводиться либо в десятичной, либо в шестнадцатеричной нотации при отсутствии пробелов или запятых между символами. Если шестнадцатеричная нотация используется для представления символов беззнаковых целых чисел, перед символами беззнаковых целых чисел должна быть поставлена последовательность из двух символов 0x без пустых пробелов.
Диапазон принятых данных USINT указан ниже:
Десятичная нотация: 0 до 255
Шестнадцатеричная нотация: 0x0 до 0xFF
Диапазон принятых данных UINT указан ниже:
Десятичная нотация: 0 до 65535
Шестнадцатеричная нотация: 0x0 до 0xFFFF
Диапазон принятых данных UDINT указан ниже:
Десятичная нотация: 0 до 4294967295
Шестнадцатеричная нотация: 0x0 до 0xFFFFFFFF
Диапазон принятых данных ULINT указан ниже:
Десятичная нотация: 0 до 18446744073709551615
Шестнадцатеричная нотация: 0x0 до 0xFFFFFFFFFFFFFFFF
Ведущие нули использовать в десятичной нотации нельзя, но их можно использовать в шестнадцатеричной нотации. В шестнадцатеричной нотации допускается использование как прописных, так и строчных символов, и полное число символов должно быть ограничено 10 (0x плюс 8) или 18 (0x плюс 16) в случае типа ULINT.
Пример - Десятичное значение UINT 254 может быть представлено как 254 (десятичное), или как 0xFE (шестнадцатеричное) или как 0x000000FE (шестнадцатеричное), но 0254 (десятичное) и 0x0000000FE (шестнадцатеричное) являются неправильными.
C.4.1.3.8. Соглашение о целых числах ASCII со знаком (SINT, INT, DINT, LINT)
Типы данных SINT, INT, DINT и LINT представляют значения целых чисел со знаком. Данные целых чисел со знаком должны вводиться либо в десятичной, либо в шестнадцатеричной нотации при отсутствии пустых пробелов или запятых между символами. Если шестнадцатеричная нотация используется для представления символов целых чисел со знаком, перед символами целых значений должна быть поставлена последовательность двух символов 0x при отсутствии пустых пробелов.
Диапазон принятых данных SINT указан ниже:
Десятичная нотация: -128 до 127
Шестнадцатеричная нотация: 0x80 до 0x7F
Диапазон принятых данных INT указан ниже:
Десятичная нотация: -32768 до 32767
Шестнадцатеричная нотация: 0x80 до 0x7FFF
Диапазон принятых данных DINT указан ниже:
Десятичная нотация: -2147483648 до 2147483647
Шестнадцатеричная нотация: 0x80000000 до 0x7FFFFFFF
Диапазон принятых данных LINT указан ниже:
Десятичная нотация: -9223372036854775808 до
9223372036854775807
Шестнадцатеричная нотация: 0x8000000000000000 до
0x7FFFFFFFFFFFFFFF
Ведущие нули использовать в десятичной нотации нельзя, но их можно использовать в шестнадцатеричной нотации. В шестнадцатеричной нотации допускается использование как прописных, так и строчных символов, и полное число символов должно быть ограничено 10 (0x плюс 8) или 18 (0x плюс 16) в случае типа LINT.
Пример - Десятичное значение INT 254 может быть представлено как 254 (десятичное), или как 0xFE (шестнадцатеричное), или как 0x000000FE (шестнадцатеричное), но 0254 (десятичное) и 0x0000000FE (шестнадцатеричное) являются неправильными.
C.4.1.3.9. Соглашение о словах ASCII (BYTE, WORD, DWORD, LWORD)
Типы данных BYTE, WORD, DWORD и LWORD представляют величины с побитовой адресацией. Эти величины считаются дискретными значениями позиции двоичного разряда и не предназначены для представления целых величин со знаком или без знака. Однако эти величины должны для удобства вводиться либо в десятичной, либо в шестнадцатеричной, либо в двоичной нотации без пустых пробелов или запятых между символами. Если для представления символов величин используется шестнадцатеричная (соответственно двоичная) нотация, перед символами значения должна быть поставлена последовательность из двух символов 0x (соответственно 0b) при отсутствии пробелов.
Диапазон принятых данных BYTE указан ниже:
Десятичная нотация: 0 до 255
Шестнадцатеричная нотация: 0x0 до 0xFF
Двоичная нотация: 0b00000000 до 0b11111111
Диапазон принятых данных WORD указан ниже:
Десятичная нотация: 0 до 65535
Шестнадцатеричная нотация: 0x0 до 0xFFFF
Двоичная нотация: 0b0000000000000000 до 0b1111111111111111
Диапазон принятых данных DWORD указан ниже:
Десятичная нотация: 0 до 4294967295
Шестнадцатеричная нотация: 0x0 до 0xFFFFFFFF
Двоичная нотация: 0b00000000000000000000000000000000 до
0b11111111111111111111111111111111
Диапазон принятых данных LWORD указан ниже:
Десятичная нотация: 0 до 18446744073709551615
Шестнадцатеричная нотация: 0x0 до 0xFFFFFFFFFFFFFFFF
Двоичная нотация:
0b0000000000000000000000000000000000000000000000000000000000000000 до
0b1111111111111111111111111111111111111111111111111111111111111111
Ведущие нули использовать в десятичной нотации нельзя, но их можно использовать в шестнадцатеричной и двоичной нотации. В шестнадцатеричной нотации допускается использование как прописных, так и строчных символов, и полное число символов должно быть ограничено 10 (0x плюс 8) или 18 (0x плюс 16) в случае типа LWORD.
Пример - Десятичное значение WORD 254 может быть представлено как 254 (десятичное), или как 0xFE (шестнадцатеричное), или как 0x000000FE (шестнадцатеричное), но 0254 (десятичное) и 0x0000000FE (шестнадцатеричное) являются неправильными.
Типы данных REAL и LREAL представляют двоичные величины с плавающей точкой. Внутреннее представление этих форматов данных описано в стандарте IEEE 754. Этот стандарт описывает как числовые величины, так и двоичные последовательности, которые интерпретируются как "нечисловые" (NaN) символьные величины и положительная и отрицательная бесконечность. Величины с плавающей запятой могут вводиться либо как значения целых чисел, либо как величины, основанные на десятичном представлении с плавающей точкой, или величины, вводимые в "научной" нотации с использованием базовой величины и сдвига в экспоненциальной форме. Значения целых чисел те же самые, что и в типах данных INT, DINT или LINT. Эти значения не могут быть использованы для представления дробных величин. Десятичные с плавающей точкой величины те же, что и величины, включающие в себя целую и дробную компоненту. Целочисленная величина и дробные компоненты разделяются десятичной точкой "." или знаком точкой-разделителем. Экспоненциальная (научная) форма нотации величины - то же самое, что и представление дробной величины, но с добавлением экспоненциальной компоненты. Экспонента всегда представляет собой целую со знаком десять в степени, умноженную на базовую величину.
Примечание. Максимальная точность величины с плавающей точкой определяется возможностями внутреннего двоичного формата, т.е. числом двоичных разрядов, применяемых для кодирования мантиссы. Следовательно, использование большого числа десятичных разрядов в десятичной нотации (или составляющей мантиссу части научной нотации) величины с плавающей точкой предназначено больше для удобства, чем для повышения точности. EDS определяет произвольные пределы числа десятичных разрядов.
Диапазон принятых данных REAL (единый IEEE, 32-битный формат) основан на формуле
,где s - значение бита знака;
e - 8-битная экспонента. Эта экспонента допускает диапазон экспоненты от минус 126 до плюс 127;
m - нормализованная 24-битная мантисса (23 внутренних для хранения плюс один скрытый бит). Это допускает диапазон значений мантиссы от 0 до 16777215.
Комбинация e и m допускает приближенный абсолютный диапазон значений от 0 до
.EDS использует для данных REAL следующие нотации величин с плавающей точкой:
целочисленная (фиксированная) нотация: -16777215 до 16777215
десятичная (с плавающей точкой) нотация: 0.0 до +/- 9999999999999999
Полное число разрядов не должно превышать 16 дополнительно к символам десятичной точки и знака. Как символ десятичной точки, так и символ знака могут быть пропущены (подразумевается знак "+", если символ знака пропущен).
Научная нотация: 0.0 до +/- nn.nnnnnnnnnE +/- xxxx:
Полное число разрядов мантиссы не превышает 11 (дополнительно к символу десятичной точки и символу знака), а число разрядов экспоненты не должно превышать 4 (дополнительно к символу "E" и символу знака). Десятичная точка может быть помещена в мантиссе где угодно. Как символ десятичной точки, так и символ знака могут быть опущены в мантиссе (знак "+" подразумевается, если символ знака опущен).
Диапазон допустимых данных LREAL (двойной IEEE, 64-битный формат) основан на формуле
,где s - значение бита знака;
e - 11-битная экспонента. Эта экспонента допускает диапазон между -1022 и +1023;
m - нормализованная 53-битная мантисса (52 внутренних в памяти плюс один скрытый бит). Это допускает диапазон значений мантиссы между 0 и 9007199254740991.
Комбинация e и m допускает приближенную абсолютную величину диапазона от 0 до
.EDS использует для данных LREAL следующие нотации величин с плавающей точкой:
- целая (фиксированная) нотация: -9007199254740991 до 9007199254740991,
- десятичная (с плавающей точкой) нотация: 0.0 до +/- 9999999999999999.
Полное число разрядов не превышает 16 в дополнение к символам десятичной точки и знака. Как символ десятичной точки, так и символ знака могут быть опущены (знак "+" подразумевается, если символ знака опущен).
Научная нотация: 0.0 до +/- nnnn.nnnnnnnnnnnnE +/- xxxx.
Полное число разрядов мантиссы не превышает 16 (дополнительно к символу десятичной точки и символу знака), а число разрядов экспоненты не должно превышать 4 (дополнительно к символу "E" и символу знака). Десятичная точка может быть помещена в мантиссе где угодно. Как символ десятичной точки, так и символ знака могут быть опущены в мантиссе (знак "+" подразумевается, если символ знака опущен).
Дополнительно к указанным выше величинам ввода представление с плавающей запятой допускает два вида "нечислового" или NaN символического ввода и две формы бесконечности. Существуют два типа NaN: сигнальный (Signaling) NaN и тихий (Quiet) NaN. Формат также допускает представление величин положительной и отрицательной бесконечности. Для этих случаев зарезервированы специальные указанные ниже слова, которые должны использоваться для представления ввода соответствующих символов с плавающей запятой:
- тихий нечисловой: QUIET-NAN
- сигнальный нечисловой: SIGNAL-NAN
- положительная бесконечность: INFINITY (или +INFINITY)
- отрицательная бесконечность: -INFINITY
Тип данных EDS_Date должен иметь формат mm-dd-yyyy, где mm - месяц, dd - день месяца и yyyy - год. Правильные значения частей месяц, день и год в mm-dd-yyyy должны быть следующими:
- mm - от 01 до 12;
- dd - от 01 до 31 (в зависимости от месяца и года);
- yyyy - от 1996 до 9999.
Может быть использовано двузначное представление года, в этом случае тип данных EDS_Date должен иметь формат mm-dd-yy, где mm - месяц, dd - день месяца и yy - год. Две цифры года подразумевают впереди 19, так что yy = 96 будет соответствовать 1996 году. Правильные значения месяца, дня и года в mm-dd-yy должны быть следующими:
- mm - от 01 до 12;
- dd - от 01 до 31 (в зависимости от месяца и года);
- yy - от 96 до 99 (подразумевается 19 впереди).
Примечание. Использование двузначного представления года не рекомендуется.
C.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.
C.4.1.3.13. EDS_Revision
Тип данных EDS_Revision должен иметь формат Major_Revision. Minor_Revision со следующими правильными значениями:
- Major_Revision - от 0 до 9;
- Minor_Revision - от 0 до 9.
EDS_Revision со значением 0.0 неправильна.
Пример - EDS_Revision со значением 1.4 соответствует большой проверке со значением 1 и малой проверке со значением 4.
Все ссылки на EDS_URL в рамках требований EDS предназначены для получения формализованной информации, необходимой для поиска и получения ресурсов путем использования Интернета. EDS_URL должен быть закодирован в файлах EDS с использованием базового формата, определенного в ИСО 15745-4 для EDS_Char_Array. Кроме того, содержание строки для EDS_URL должно быть в формате, определенном Рабочей Группой по сети Интернет RFC 1738 "Унифицированный указатель информационного ресурса (URL)". В спецификациях файла EDS EDS_URL должно быть ограничено одной из следующих форм:
- http;
- ftp;
- file.
C.4.1.4.1. Обзор
В настоящем подразделе описаны основные секции EDS, которые являются общими для ряда основанных на CIP сетей, и установлены соответствующие требования при использовании.
В таблице C.5 приведено расположение подразделов, содержащих определения этих секций.
Таблица C.5
Определение основных секций
Секция описания файлов должна содержать административную информацию о файле EDS. Инструмент конфигурации должен считывать эту информацию, форматировать ее и показывать пользователю. Пользователь может также получить доступ в эту секцию для просмотра текста файла и показа неформатированной информации. Эта секция не требует выполнения модификации, если только пользователь не выполняет модификацию файла вручную. Секция описания файла должна содержать входы, показанные в таблице C.6.
Таблица C.6
Формат описания файла
Входы в секции описания файла должны предоставлять информацию, указанную в таблице C.7.
Таблица C.7
Входы описания файлов
На рисунке C.2 приведен пример, показывающий типичную секцию [File].
[File]
DescText = "Smart Widget EDS File";
CreateDate = 04-03-94; $ создан
CreateTime = 17:51:44;
ModDate = 04-06-94; $ последнее изменение
ModTime = 22:07:30;
Revision = 2.1; $ Проверка EDS
HomeURL = /template/go.php?url=https://www.odva.org/EDS/example.eds;
Рисунок C.2. Пример секции [File - Файл] (информативный)
Секция описания устройства должна содержать информацию изготовителя относительно устройства, включая некоторые из таких величин, как Identity Object устройства. Секция описания устройства должна включать входы, указанные в таблице C.8.
Таблица C.8
Формат описания устройства
Имя входа для поля описания устройства описывает уникальный номер строки ввода данных.
Инструмент конфигурации должен использовать требуемые входы в секции описания устройства для согласования EDS с конфигурируемым устройством. Входы секции описания устройства должны предоставлять информацию, показанную в таблице C.9.
Таблица C.9
Входы описания устройства
На рисунке C.3 приведен пример типичной Секции Устройства.
[Device - Устройство]
VendCode = 65535;
VendName = "Widget-Works, Inc.";
ProdType = 0;
ProdTypeStr = "Generic";
ProdCode = 42;
MajRev = 1; $ Большая проверка устройства
MinRev = 1; $ Малая проверка устройства
ProdName = "Smart-Widget";
Catalog = "1499-DVG";
Icon = "example.ico".
Рисунок C.3. Пример секции
[Device - Устройство] (информативный)
Секция классификации устройств должна производить классификацию устройств, описанных в EDS, по одной или более категориям устройств. Ключевое слово всех классов должно состоять из набора символов "Class" ("класс"), скомбинированных с десятичным числом. Числа должны начинаться с 1 для первого класса и увеличиваться для каждого следующего класса.
Число полей каждого входа классификации должно быть переменным для создания возможности древовидной структуры классификации, аналогичной структуре файловой системы каталога. Должны быть зарезервированы подклассы общей классификации. Классификация поставщика может иметь подклассы по его выбору. Первое поле должно представлять наиболее высокий уровень в древовидной структуре и должно быть одним из следующих ключевых слов поля:
- ControlNet;
- DeviceNet;
- EtherNetIP;
- ключевое слово поля поставщика.
Ключевое слово поля поставщика должно начинаться с идентификатора поставщика Vendor ID компании с дополнением через черту снизу специального поля поставщика VendorID_VendorSpecificField. Идентификатор поставщика VendorID должен быть выражен в виде десятичной цифры, не содержащей нулей на передних разрядах. Каждый поставщик несет ответственность за поддержание и документальное оформление ключевого слова для поля поставщика.
Секция Класс Параметров должна определить общие атрибуты параметров конфигурации, описанных в EDS, соответствующие подмножеству атрибутов класса Parameter Object согласно описанию в библиотеке объектов CIP.
Секция Класс Параметров должна содержать входы, указанные в таблице C.10.
Таблица C.10
Формат класса параметров
Входы секции Класс Параметров должны предоставлять информацию, указанную в таблице C.11.
Таблица C.11
Входы класса параметров
Вход Parameter Class Descriptor должен содержать биты, предназначенные для описания характеристик параметров, согласно определению в таблице C.12. Биты, не определенные в таблице C.12, не должны использоваться и должны быть установлены на нуль (0).
Таблица C.12
Значения битов дескриптора класса параметров
На рисунке C.4 приведен пример типичной секции Класс Параметра
Рисунок C.4. Пример секции Класса
Параметров ParamClass (информативный)
Секция параметров должна определять параметры конфигурации в устройстве. Ключевое слово входа должно быть одним из следующих наборов символов "Param", "ProxyParam", "ProxiedParam", скомбинированных с номером сущности параметра (десятичным) для устройства, например "Param1". Сущность объекта параметр может, но необязательно должна применяться в устройстве, но все сущности объекта параметр имеют соответствующий вход "ParamN" в EDS. Однако если сущность объекта параметр существует внутри узла и параметр описан в EDS, то значение "N" в "ParamN" должно быть равно сущности объекта параметр.
Каждый вход должен содержать форматированные поля, показанные в таблице C.13. Ключевые слова "ProxyParam" и "ProxiedParam" определены в C.4.1.5.3.1 в качестве части требований модульного EDS.
Таблица C.13
Формат параметров
Входы в секции параметров должны предоставлять информацию, указанную в таблицах C.14 и C.18.
Поля параметров, перечисленные в таблице C.14, являются общими для всех параметров.
Таблица C.14
Биты поля Дескриптор должны соответствовать определениям в таблице C.15.
Таблица C.15
Старые версии файлов EDS могут использовать идентификаторы типа данных, указанные в таблице C.16.
Таблица C.16
В таблице C.17 установлены смысл и специальные требования для входов с минимальными и максимальными значениями на основании типов данных параметров.
Таблица C.17
Поля параметра, перечисленные в таблице C.18, являются необязательными и значащими, только когда они используются со следующими типами данных: SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT, REAL и LREAL. Спецификация этих полей с любым другим типом данных запрещена.
Таблица C.18
для типов числовых данных
Масштабирование должно выполняться не устройством, содержащим параметр, а средствами дисплея. Если масштабирование поддерживается, средства дисплея должны использовать уравнение, показанное на рисунке C.5, для определения технического значения параметра (т.е. величины на дисплее) исходя из реального значения параметра. Если масштабирование не поддерживается, то значение параметра должно быть представлено на дисплее без изменений.
![]()
--------------------------------
<a> Если расширенное масштабирование не поддерживается, эта формула должна применяться при десятичной точности = 0.
Рисунок C.5. Формула масштабирования параметра
В секции [Params] возможно также наличие второго ключевого слова. Это ключевое слово должно быть использовано для предоставления списка нумерации вариантов параметра пользователю. Ключевое слово входа для всех пронумерованных параметров должно состоять из набора символов, "Enum", объединенного с десятичным числом из соответствующего входа Param. Каждый вход Enum должен состоять из пар целых чисел и строк.
Пример на рисунке C.6 показывает типичную секцию Parameter (Параметр).
[Params]
Param1 = 0, 1,"20 02", 0x0E94, 1, 1,"Preset","V","User Manual p33",
0, 5, 1, 1, 1, 1, 0, 0, 0, 0, 0, 2;
Param2 = $ parameter instance
0, $ First field shall equal 0
6, "20 04 24 01 30 03 ", $ path size, path
0x0A94, $ descriptor - in hex format
1, $ data type
1, $ data size
"Trigger", $ name
"Hz", $ units
"User Manual p49", $ help string
0, 2, 0, $ min, max, default data values
1, 1, 1, 0, $ mult, div, base, offset scaling
,,,, $ mult, div, base, offset links not used
2; $ decimal places
Param3 = $ not addressable from link
0,,, 0x0082, 8, 1, "speed control", " ", " ", 3, 12, 3, ,,,,,,,,;
Enum3 = 3, "stop", 8, "slow", 12, "fast";
Рисунок C.6. Пример секции [Params]
Секция группы параметров должна определять все группы параметров в устройстве. Каждая группа параметров должна содержать список параметров в группе. Ключевое слово входа каждой группы должно состоять из комбинации набора символов, "Group" и номера группы параметров (десятичного), например "Group1". Десятичные номера должны начинаться с единицы и увеличиваться на единицу.
Фактический вариант объекта Parameter Group может, но необязательно, применяться в устройстве. Напротив, не требуется, чтобы все варианты объекта Parameter Group имели соответствующий вход "GroupN" в EDS. Однако если вариант объекта Parameter Group существует в узле и если эта Группа Параметров описана также в EDS, то значение "N" в "GroupN" должно быть равно варианту объекта Parameter Group.
Поля каждого входа должны содержать имя группы, число членов группы, а также номера вариантов параметров в этой группе. Секция группы параметров должна содержать поля, указанные в таблице C.19.
Таблица C.19
Формат группы параметров
На рисунке C.7 приведен пример типичной секции Parameter Group.
[Groups]
Group1 = "Setup ", 2, 1, 2; $ group 1
Group2 = "Monitor", 2, 2, 3; $ group 2
Group3 = "Maintenance ", 2, 1, 3; $ group 3
Рисунок C.7. Пример секции [Groups]
Секция Assembly описывает структуру блока данных. Часто этот блок представляет собой атрибут данных объекта Assembly; однако эта секция EDS может быть использована для описания любых сложных структур. Описание этого блока данных является параллельным механизму, который объект Assembly использует для описания списка своих членов.
Ключевое слово входа "Revision" должно иметь одно 16-битное поле целого числа, которое должно соответствовать версии (атрибут класса 1) объекта Assembly внутри устройства. Если этот опциональный вход пропущен, версия объекта Assembly должна быть 2.
Ключевое слово для всех объединений должно состоять из одного из следующих наборов символов: "Assem", "ProxyAssem", "ProxiedAssem", скомбинированных с номером варианта объекта Assembly (десятичным) для данного устройства, например "Assem1". Если конкретный вариант объекта Assembly адресуем из связи, то должна быть парность один к одному между номером Assem в файле EDS и номером варианта Assembly в устройстве. Ключевые слова "ProxyAssem" и "ProxiedAssem" определяются в C.4.1.5.3.2 как часть требований модульного EDS.
Каждый вход должен содержать форматированные поля, показанные в таблице C.20.
Таблица C.20
Формат ключевого слова AssemN
Первое поле "Name", должно быть строкой, придающей имя блоку данных. Это опциональное поле может быть использовано через интерфейс пользователя.
Второе поле "Path" должно быть строкой, определяющей логический путь. Этот путь должен указывать адрес блока данных в устройстве. Если блок, описанный этим входом AssemN, не адресуем прямо из связи, это поле должно быть пустым. Если это поле - нулевая строка, " ", блок данных должен быть адресуемым как атрибут данных (атрибут варианта 3) N-го варианта объекта Assembly.
Третье поле "Size" должно представлять собой размер блока данных в байтах. Если ни это поле, ни поля "Member Size" / "Member Reference" не присутствуют, размер блока данных должен быть равен 0. Оба этих поля могут присутствовать, однако поскольку они оба устанавливают размер блока, установленные обоими способами размеры должны быть согласованы.
Четвертое поле "Descriptor" должно быть битовым полем, которое описывает некоторые характеристики Assembly. Биты этого поля следует интерпретировать согласно таблице C.21.
Таблица C.21
Определение бита поля дескриптора Assembly
Поля 5 и 6 должны быть зарезервированными и пустыми.
Остальные поля должны быть парными (например, поле "Member Size" составляет пару с полем "Member Reference"), что требует четное полное число полей. Число пар полей на каждом входе должно быть переменным. Эти пары должны соответствовать списку членов объекта Assembly.
Допустимые значения поля "Ссылка Элемента" должны быть одним из следующих:
- ссылка ParamN или ProxyParamN из секции [Params];
- ссылка AssemN или ProxyAssemN из секции [Assembly];
- строка, представляющая путь (EPATH);
- константа UDINT;
- пустое поле;
- дополнительные значения согласно определению для модульного EDS в C.4.1.5.3.2.
Если поле "Member Reference" пустое, число битов, установленное в поле "Member Size", должно быть использовано в качестве заполнителя незначащей информацией в Assembly. Поле "Member Reference", содержащее нулевую строку, должно рассматриваться как пустое поле. Поле "Member Reference" и ему соответствующее поле "Member Size" не должны быть оба пустыми. Если поле "Member Reference" указывает EPATH, этот путь должен состоять либо из логических сегментов (путь к объекту внутри устройства), либо из сегментов данных.
Поле "Member Size" должно иметь единицы битов. Если поле "Member Size" пустое, следует использовать заданный размер, соответствующий полю "Member Reference". Заданный размер входа "Param" должен быть приведен в его 6-м поле (размер). Заданный размер входа "Assem" должен быть приведен в его 3-м поле (размер).
Элементы должны быть помещены в блок данных, начиная с младшего бита, как это делается в объекте Assembly. Если поле "Member Size" меньше, чем заданный размер соответствующего поля "Member Reference", должны быть использованы младшие биты соответствующего поля "Member Reference". Если поле "Member Size" больше, чем заданный размер соответствующего поля "Member Reference", за полным элементом должно следовать заполнение нулями до расширения элемента на весь "Member Size". Представленный блок данных должен быть целым числом байтов. Сумма размеров всех элементов должна быть равна полю Размер AssemN (при выражении в битах).
На рисунке C.8 приведен пример, показывающий типичную секцию Assembly. В этом примере Assem5 имеет длину 1 байт и имеет значение по умолчанию 0x21.
[Params]
Param1 =
0, $ first field shall equal 0
6, "20 OF 24 01 30 01", $ path size, path
0x0000, $ descriptor
2, $ data type: 16-bit WORD
2, $ data size in bytes
"Idle state", $ name
" ", $ units
"User Manual p48", $ help string
0, 2, 1, $ min, max, default data values
0, 0, 0, 0, $ mult, dev, base, offset scaling not used
0, 0, 0, 0, $ mult, dev, base, offset link not used
0; $ decimal places not used
Param2 =
0, 6, "20 OF 24 02 30 01", $ path size, path
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, Param1,
3, Param2,
1,;
Рисунок C.8. Пример секции [Assembly]
Примечание. Ключевое слово "Variant", скомбинированное с десятичным числом (например, "Variant1"), зарезервировано для будущего определения новых типов входов в секции Assembly.
C.4.1.4.9.1. Содержание
Раздел менеджера соединений Connection Manager должен содержать информацию, касающуюся числа типов соединений приложений, которые поддерживают устройство. Этот раздел моделируется как Connection Manager Object. Многие использованные здесь термины описаны в МЭК 61158-5:2003 и МЭК 61158-6:2003 (тип 2). Ключевое слово каждого входа должно быть одним из следующего набора символов: "Connection", "ProxyConnect", "ProxiedConnect", объединенных с числом (десятичным), например "Connection1", "ProxyConnect1" или "ProxiedConnect1". Десятичные числа должны начинаться с 1 и увеличиваться для каждого дополнительного входа "ProxyConnect", "ProxiedConnect". Ключевые слова "ProxyConnect" и "ProxiedConnect" определены в C.4.1.5.3.3 в качестве части требований к модульному EDS.
Каждый вход должен содержать форматированные поля, указанные в таблице C.22.
Таблица C.22
Формат Connection Manager
C.4.1.4.9.2. Маска переключения и транспорта
Присвоение битов в маске переключения и транспорта должно соответствовать показанному в таблице C.23. Бит должен быть установлен на 1 (включено) для каждого режима переключения, который поддерживает соединение. Все другие биты должны быть установлены на 0 (выключено). Для бита клиент/сервер: 0=клиент, 1=сервер. Только один из типов транспорта должен быть установлен на 1 (включено).
Таблица C.23
Присвоение битов в маске переключения и транспорта
C.4.1.4.9.3. Параметры соединения
Присваивание битов для типа соединения и маски приоритетов должно соответствовать указанному в таблице C.24. Бит должен быть установлен на 1 (включено) для каждого типа соединения и приоритета, поддерживаемых соединением. Все другие биты должны быть установлены на 0 (выключено).
Таблица C.24
Присвоение битов параметров соединения
C.4.1.4.9.4. O=>T RPI (Requested Packet Interval)
O=>T RPI должно быть числом микросекунд интервала запрашиваемого пакета. O=>T RPI должно быть UDINT, или Param, или ProxyParam входом из секции [Params], который определяется в UDINT. Если это поле пустое, никакие ограничения не накладываются на O=>T RPI.
C.4.1.4.9.5. O=>T размер
O=>T размер должен быть числом байтов, предоставляемых для целевого транспорта. Он не должен включать счет последовательности транспорта. O=>T размер должен быть UINT, или Param, или ProxyParam входом из секции [Params], который определяется в UINT. Если это поле пустое, заданный размер формата O=>T должен использоваться после добавления опционального размера заголовка прогона/холостого хода.
C.4.1.4.9.6. O=>T формат
Формат входа O=>T должен определять структуру буфера потребителя для этого соединения. Правильные дескрипторы формата должны быть идентификаторами в файле EDS, включая следующее:
- Param или ProxyParam вход из секции [Params];
- Assem или ProxyAssem вход из секции [Assembly].
Это поле может быть пустым, показывая, что формат потребителя не установлен. Это поле не должно быть пустым, если поле O=>T размер пустое. Формат O=>T не должен включать в себя 32-битный заголовок, если он присутствует.
C.4.1.4.9.7. T=>O RPI
T=>O RPI должно быть числом микросекунд интервала запрашиваемого пакета. T=>O RPI должно быть UDINT, или Param, или ProxyParam входом из секции [Params], который определяется в UDINT. Если это поле пустое, никакие ограничения не накладываются на T=>O RPI.
C.4.1.4.9.8. T=>O размер
T=>O размер должен быть числом байтов, предоставляемых для целевого транспорта. Он не должен включать в себя счет последовательности транспорта. T=>O размер должен быть UINT, или Param, или ProxyParam входом из секции [Params], который определяется в UINT. Если это поле пустое, заданный размер формата T=>O должен использоваться после добавления опционального заголовка прогона/холостого хода.
C.4.1.4.9.9. T=>O формат
Формат входа T=>O должен определять структуру буфера потребителя для этого соединения. Правильные дескрипторы формата должны быть идентификаторами в файле EDS, включая следующее:
- Param или ProxyParam вход из секции [Params];
- Assem или ProxyAssem вход из секции [Assembly].
Это поле может быть пустым, показывая, что создаваемый формат не установлен. Это поле не должно быть пустым, если поле T=>O размер пустое. Формат должен включать в себя заголовок статуса, если он присутствует.
C.4.1.4.9.10. Конфигурация
Размеры Config #1 и Config #2 должны устанавливать размер сегмента опциональных данных, которые присоединяются к пути ForwardOpen. Сегмент данных должен быть конкатенацией двух буферов в соответствии с форматами Config #1 и Config #2. Размеры должны измеряться определенным числом байтов и принадлежать входам UINT, или Param, или ProxyParam секции [Params], которые определяются в UINT. Если одно из полей Config пустое, должен быть использован по умолчанию размер формата соответствующего поля Config.
Действительные поля, устанавливающие формат конфигурации Config, должны иметь идентификаторами в файле EDS:
- Param или ProxyParam вход из секции [Params];
- Assem или ProxyAssem вход из секции [Assembly].
Эти поля могут быть пустыми, показывая, что формат конфигурации не установлен. Если оба поля конфигурации размера и конфигурации формата пустые, никакие сегменты данных не добавляются к пути Forward_Open.
C.4.1.4.9.11. Строка имени соединения
Инструмент может показывать строку имени соединения (набор символов). Строка имени соединения должна быть уникальной среди всех входов Соединения (Connection) в рамках EDS.
C.4.1.4.9.12. Вспомогательная строка
Инструмент может показывать текстовый вспомогательный набор символов. Если вспомогательная строка не должна быть предоставлена, необходимо использовать нулевую строку, определяемую парой двойных кавычек " " при отсутствии символов между метками.
C.4.1.4.9.13. Путь
Путь содержит ссылку на целевой объект. Путь должен вводиться как Путь CIP (EPATH) с использованием заполняющей путь нотации, описанной в МЭК 61158-6:2003 (тип 2), и в формате, установленном в C.4.1.3.6. Дополнительно к формату, установленному в C.4.1.3.6, поле пути может также содержать другие приведенные ниже ссылки:
- Param или ProxyParam входы из секции [Params];
- ключевое слово SLOT;
- ключевое слово SYMBOL_ANSI;
- ключевое слово SLOT_MINUS_ONE.
Входы Param/ProxyParam должны обозначаться согласно USINT, UINT или UDINT. Значение Param/ProxyParam должно использоваться с обратным порядком байтов для вставки в путь. Ссылки Param/ProxyParam в пути могут быть заключены в скобки, как показано на рисунке C.9. Если значение Param/ProxyParam заключено в скобки, оно используется локально для пути - тот же самый вход Param/ProxyParam может иметь другое значение где-либо в EDS. Если Param/ProxyParam не заключено в скобки, значение должно быть одинаковым в EDS везде.
Ключевое слово SLOT должно всегда определяться в USINT. Значения, подставляемые в ключевое слово SLOT, должны соответствовать позиции модуля в панели.
Ключевое слово SLOT_MINUS_ONE должно всегда определяться в USINT. Значения, подставляемые в ключевое слово SLOT_MINUS_ONE, должны соответствовать позиции модуля в панели минус 1.
Ключевое слово SYMBOL_ANSI должно определяться согласно расширенному символьному сегменту [см. МЭК 61158-6:2003 (тип 2)], введенному через интерфейс пользователя. Расширенный символьный сегмент должен быть расширенным символом ANSI (тип пути CIP = 0x91). Например, строка "CAB" должна определяться следующим расширенным символьным сегментом (заполненным): 0x91 0x03 0x43 0x41 0x42 0x00.
C.4.1.4.9.14. Пример секции Connection Manager (информативный)
На рисунке C.9 приведен пример, показывающий типичную секцию Connection Manager (Менеджер Соединения).
[Params]
Param 1 = $ specifies read buffer
0,,, $ no path means not directly accessible
0x0004, $ descriptor : support scaling
8, 1, $ USINT, 1 byte
"Read", $ name
" ", " ", $ units & help string
64, 95, 64, $ min, max, default data values
1, 1, 1, -63, $ mult, div, base, offset scaling
0, 0, 0, 0, 0; $ mult, div, base, offset link & decimal
$ (not used)
Param2 = $ specifies write buffer
0,,, $ no path means not directly accessible
0x0004, $ descriptor : support scaling
8, 1, $ USINT, 1 byte
"Write", $ name
" ", " ", $ units & help string
160, 191, 160, $ min, max, default data values
1, 1, 1, -159, $ mult, div, base, offset scaling
0, 0, 0, 0, 0; $ mult, div, base, offset link & decimal
$ (not used)
[Connection Manager]
Connection1 =
0x04010002, $ trigger & transport
$ class 1, cyclic, exclusive-owner
0x44244401, $ point/multicast & priority & realtime format
$ fixed, 32-bit headers, scheduled,
$ O=>T point-to-point, T=>O multicast
,16,, $ O=>T RPI, size, format
,12,, $ T=>O RPI, size, format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"read/write", $ connection name
" ", $ Help string
"20 04 24 01 2C [Param2] 2C [Param1]";
Секция Port должна описывать порты, имеющие маршруты CIP и доступные внутри устройства. Каждый имеющий CIP маршрутизацию порт должен иметь соответствующий вход в этой секции. Ключевое слово входа для всех портов должно состоять из набора символов "Port", скомбинированного с десятичным числом, соответствующим сущности объекта порт. Например, Port1 является сущностью 1 Port Object.
Примечание. Маршрутизируемый согласно CIP порт - это порт, способный обмениваться сообщениями CIP с другим портом CIP, соединенным с другой связью CIP.
Каждый вход должен содержать форматированные поля, показанные в таблице C.25.
Таблица C.25
Формат входа в порт
Первое поле, называемое "Port Type Name", должно быть одним из следующих ключевых слов поля:
- ControlNet;
- ControlNet_Redundant;
- TCP (для указания имеющего возможности EtherNet/IP TCP порта);
- DeviceNet;
- зависящее от поставщика ключевое слово поля, начинающееся с идентификатора поставщика Vendor ID устройства и символа подчеркивания ('65535_').
Опциональное поле "Port Name" должно быть строкой, содержащей имя порта, и может быть использовано в интерфейсе пользователя. Поле "Port Object" должно быть путем EPATH, который указывает на определенный объект связи сети, ассоциированный с портом.
Порт номер 1 должен соответствовать порту объединительной панели. Устройства с объединительной панелью, которые не могут определять маршрут сообщений CIP, не должны иметь порт номер 1.
На рисунке C.10 приведен пример, показывающий типичную секцию Port.
[Port]
Port1 = DeviceNet,
"Port A", $ name of port
"20 03 24 01", $ instance one of the DeviceNet object
2; $ port number 2
Port2 = 65535_Chassis,
"Chassis", $ name of port
"20 9A 24 01", $ vendor specific backplane object
1; $ port number 1
Рисунок C.10. Пример секции [Port]
C.4.1.5.1. Общие положения
В настоящем подразделе дано описание концепции и содержания модульного EDS и установлены требования по применению.
C.4.1.5.2.1. Содержание
[Modular] секция должна описывать систему на основе стойки. Должны существовать два типа модульных устройств:
- стойки;
- модуль.
C.4.1.5.2.2. Устройство стойки
Секция [Modular], описывающая стойку, должна содержать требуемое ключевое слово "DefineSlotsInRack". Единственное поле этого входа должно быть 16-битным беззнаковым целым числом (UINT), указывающим число слотов в стойке. Даже если электронный ключ определен для этой стойки, она необязательно будет адресуемой из связи. Ключевое слово SLOT, использованное в определениях пути в секции [Connection Manager], должно иметь диапазон от 0 до числа слотов минус 1.
Ключевое слово "SlotDisplayRule" необязательно. Единственное поле этого входа должно быть параметром из секции [Params] (только ParamN), которое определяет преобразование между внутренним и внешним номером слота.
На рисунке C.11 приведен пример, показывающий EDS для устройства стойки, включая секцию Modular.
![]() Рисунок C.11. Модульная секция [Modular],
описывающая стойки
C.4.1.5.2.3. Модульное устройство (основные входы)
[Modular] секция, описывающая модуль, должна содержать входы "Width (ширина)" и "Rack (блок)".
Требуемый вход с ключевым словом "Width" должен иметь одно поле, показывающее, сколько слотов стойки используется модулем. Это поле должно быть 16-битным беззнаковым целым числом (UINT).
Ключевое слово входа для всех стоек, в которые модуль может быть установлен, должно состоять из набора символов, "Rack", скомбинированного с десятичным числом. Числа должны начинаться с 1 для первой стойки и должны повышаться для каждой дополнительной стойки. Поля для входов "Rack" должны быть такими, как показано в таблице C.26.
Таблица C.26
Формат входа Rack
Поля "Vendor ID", "Product Type", "Product Code", "Major Revision" и "Minor Revision" должны идентифицировать электронный ключ стойки, в которые может быть установлен модуль. Резервное поле должно быть пустым. Поля "Legal Slot" должны указывать слоты, в которые может быть установлен модуль. EDS для модуля должен содержать один вход "Rack" для каждой стойки, в которые данный модуль может быть установлен.
На рисунке C.12 приведен пример, показывающий типичную модульную секцию [Modular].
[Modular]
Width = 1;
Rack1 = $ this module can plug into
65535, 101, 1, 1, 1,,,, $ slots 1, 2, 3 and 4 of
1, 2, 3, 4; $ this five slot chassis
Рисунок C.12. Пример [Modular] секции
C.4.1.5.2.4. Модульное устройство (дополнительные входы)
Обзор
В EDS определены дополнительные входы для создания возможности идентификации устройства и проверки ключа устройства в случае модулей в системе на основе стоек, не поддерживающих CIP.
Для этой цели модульные устройства обычно подразделяются на две категории:
- модули, имеющие соединение связи CIP, соответствующий адресуемый из связи объект идентификации, и помещаемые в слот 0 (например, связные адаптеры);
- модули, которые не имеют соединения связи CIP или адресуемого объекта идентификации и, следовательно, не могут быть помещены в слот 0 (например, модули ввода/вывода).
Примечание. CIP предоставляет другие механизмы идентификации устройства и коммутации устройства в случае модулей, поддерживающих объект идентичности, адресуемый в связи CIP.
Входы для модуля, не имеющего адресуемого из связи объекта идентичности
Секция [Modular], описывающая модуль, не имеющий адресуемого из связи объекта идентичности, может содержать ключевое слово "ExternalID (Внешняя идентичность)". Ключевое слово должно иметь одно поле. Это поле должно быть байтовой строкой, идентифицирующей модуль. Эта байтовая строка должна иметь кодировку с использованием такого же формата, который установлен для EPATH.
На рисунке C.13 приведен пример, показывающий типичную Модульную секцию [Modular], описывающую модуль, не имеющий адресуемый из связи объект идентичности.
[Modular]
Width = 1;
Rack1 = $ this module can plug into
65535, 101, 1, 1, 1,,,, $ slots 1, 2, 3 and 4 of
1, 2, 3, 4; $ this five slot chassis
Rack2 =
65535, 101, 2, 1, 1,,,,
1, 2, 3, 4, 5, 6, 7;
ExternalID = "12 34";
Рисунок C.13. Пример модульной секции [Modular] (модуль,
не имеющий адресуемый из связи объект идентичности)
Входы для модулей, имеющих соединение связи и помещаемых в слот 0
Модульная секция, описывающая модуль, имеющий соединение связи и помещаемый в слот 0, может содержать любое из указанных ниже ключевых слов входа или их комбинацию.
Ключевое слово "GenericID" должно иметь одно поле. Это поле должно быть байтовой строкой, которая должна быть включена в сегмент данных для соединения модуля вместо ExternalID, когда кодирование нежелательно. Эта байтовая строка должна иметь кодировку с использованием такого же формата, который установлен для EPATH.
Ключевое слово "ExternIDExactMatch" должно иметь одно поле со значением "Да" или "Нет". "Да" должно показывать, что ExternalID устанавливает одно конкретное устройство, "Нет" должно показывать, что ExternalID устанавливает одно из набора совместимых устройств. Если ключевое слово "ExternIDExactMatch" пропущено, то условие по умолчанию должно быть такое, что ExternalID устанавливает одно конкретное устройство.
Ключевое слово "Query" должно иметь четыре поля. Первое поле должно быть путем, указывающим адресуемый связью атрибут, содержащий набор внешних идентификаторов, по одному для каждого слота стойки, за исключением слота 0. Второе поле должно быть сервисом для использования путем запроса (т.е. 1 - получить все атрибуты или 14 - получить один атрибут). Третье поле должно быть целым числом, которое определяет число байтов, используемых для идентификации каждого модуля, и должно быть в диапазоне 1 - 16. Если модуль с двойными слотами имеется в стойке, внешний идентификатор для этого модуля должен появляться дважды в наборе, возвращаемом в ответе на запрос. Запрос должен адресоваться только на модуль в слоте 0. Четвертое поле должно быть ExternalID, возвращаемое, когда существует пустой слот, с кодировкой такого же формата, который установлен для EPATH.
На рисунке C.14 приведен пример, показывающий типичную [Modular] секцию, описывающую модуль, имеющий соединение связи, помещенный в слот 0.
[Modular]
Width = 1;
Rack1 = $ 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";
ExternalIDExactMatch = No;
Рисунок C.14. Пример модульной секции [Modular]
(модуль с соединением связи в слоте 0)
C.4.1.5.3. Модульные дополнения к основным секциям EDS
Для описания параметров, которые ретранслируются адаптерным устройством EtherNet/IP на другое устройство, которое не поддерживает протокол CIP, необходимо использовать ключевые слова "ProxyParam" и "ProxiedParam". Примером этого является адаптерный модуль EtherNet/IP (устройство, выполняющее функции доступа к соединению) в блоке с многими слотами ввода/вывода для модуля с аналоговыми вводом/выводом (устройство для которого реализуются функции proxy).
"ProxyParam" должен существовать в EDS для устройства, которое выполняет функции proxy.
Ключевое слово "ProxiedParam" должно существовать в EDS для устройства, для которого выполняются функции proxy.
Информация в модульной секции [Modular] должна быть использована для создания ассоциации файлов EDS, содержащих ключевые слова "ProxyParam", с файлами EDS, содержащими ключевые слова "ProxiedParam". Эта ассоциация должна существовать, когда оба файла EDS указывают соответствующие входы Rack.
Десятичное число, комбинируемое с "ProxyParam" и "ProxiedParam", должно быть использовано для указания соответствия между "ProxyParam" и "ProxiedParam". Значения поля соответствующих пар "ProxyParam" и "ProxiedParam" должны быть скомбинированы для составления такой же информации значения поля, которая существует в одном входе "Param". Эта комбинация должна быть выполнена путем использования значения поля из "ProxyParam", если только это значение поля не является ключевым словом "Module". Когда значение поля, указанное в "ProxyParam", - "Module", следует использовать значение поля, указанное в "ProxiedParam". Необходимо также указывать значения поля для входов "ProxiedParam" в том случае, если поле в "ProxyParam" не принимает значения "Module", однако эти значения не должны использоваться, их следует отмечать только для документации.
В секции [Params] может также существовать другое ключевое слово. Это ключевое слово должно быть использовано для предоставления минимального, максимального и по умолчанию значений, которые следует добавлять к минимальным, максимальным и по умолчанию значениям "ProxyParam". Это ключевое слово входа должно быть "ProxyParamSizeAdder", скомбинированное с десятичным числом из соответствующего входа "ProxyParam". Каждый вход "ProxyParam" должен состоять из полей Minimum Value, Maximum Value Default Value (по умолчанию). Определение этих полей соответствует определениям "Param". Ключевое слово "ProxyParamSizeAdder" предоставляет средства для адаптера соединения модуля (например, "ProxyConnect"), позволяющие добавлять данные адаптера к данным модуля и возвращать комбинированные данные по соединению.
В секции [Param] может также существовать другое ключевое слово, которое соответствует "ProxyParam", "ProxyEnum". "ProxyEnum" имеет такое же определение, как "Enum", за исключением того, что оно ассоциировано с "ProxyParam" вместо "Param". В секции [Param] может также существовать второе ключевое слово, которое соответствует "ProxiedParam", "ProxiedEnum". "ProxiedEnum" имеет такое же определение, как "Enum", за исключением того, что оно ассоциировано с "ProxiedParam" вместо "Param".
Дополнительные ключевые слова входа
Ключевые слова "ProxyAssem" и "ProxiedAssem" должны быть использованы для описания функциональных блоков, которые выполняют функцию proxy с помощью адаптерного устройства CIP для другого устройства, которое не поддерживает протокол CIP. Примером этого является адаптерный модуль EtherNet/IP (устройство для осуществления proxying соединения) в блоке с множественными слотами входа/выхода, соединяющий его с аналоговым модулем входа/выхода (устройство, на соединении с которым выполняется функция proxy).
Ключевое слово "ProxyAssem" должно существовать в EDS для устройства, выполняющего функцию proxy; ключевое слово "ProxiedAssem" должно существовать в EDS для устройства, для которого выполняется функция proxy.
Информация в Модульной секции [Modular] должна использоваться для создания ассоциации содержащих ключевые слова "ProxyAssem" файлов EDS с файлами EDS, содержащими ключевые слова "ProxiedAssem". Такая ассоциация должна существовать, когда оба файла EDS указывают соответствующий вход Rack.
Десятичное число (которое комбинируется с "ProxyAssem" и "ProxiedAssem") должно быть использовано для указания соответствия между "ProxyAssem" и "ProxiedAssem". Значения поля соответствующих пар "ProxyAssem" и "ProxiedAssem" должны быть скомбинированы для составления такой же информации значения поля, которая существует в одном входе "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" в секции Assembly, которые указывают специальные цели, предусмотренные при использовании данных, определенных элементом объединения:
- ExternalID;
- InputSlotMask0 или InputSlotMask1;
- OutputSlotMask0 или OutputSlotMask1;
- ConfigSlotMask0 или ConfigSlotMask1.
Ключевое слово "ExternalID" указывает, что этот член объединения должен содержать либо значение "ExternalID" модульного устройства, если желательно наличие ключа устройства, либо значение "GenericID", определенное в EDS адаптера, если ключ нежелателен.
Ключевое слово "ExternalID", скомбинированное с десятичным числом (например ExternalID2), должно использоваться для разрешения применения ключа отдельного устройства для соединений с адаптерным блоком. Десятичное (положительное) число N в "ExternalIDN" указывает слот N в блоке. Ключевое слово "ExternalIDN" указывает, что этот элемент объединения должен содержать либо значение "ExternalID" модульного устройства для слота N, если желательно применение ключа устройства на данном слоте, либо значение "GenericID", определенное в EDS адаптера, если применение ключа модуля на данном слоте нежелательно.
Примечание. Ключ для слота 0 отсутствует.
Ключевые слова "InputSlotMask0" или "InputSlotMask1" должны показывать расположение входной маски слота в объединении. Входная маска слота представляет собой набор битов, представляющих включение или исключение целевых данных создателем модуля в соединении адаптерного блока. Если используется ключевое слово "InputSlotMask0", бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т.д. Если используется ключевое слово "InputSlotMask1", бит 0 в этом наборе представляет слот 1, бит 1 представляет слот 2 и т.д. "InputSlotMask0" и "InputSlotMask1" не должны быть использованы оба в одном и том же объединении. Должно требоваться предшествующее поле "Member size".
Ключевые слова "OutputSlotMask0" или "OutputSlotMask1" должны указывать расположение маски слота вывода в объединении. Выходная маска слота представляет собой набор битов, представляющих включение или исключение целевых данных создателем модуля в соединении адаптерного блока. Если используется ключевое слово "OutputSlotMask0", бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т.д. Если используется ключевое слово "OutputSlotMask1", бит 0 в этом наборе представляет слот 1, бит 1 представляет слот 2 и т.д. "OutputSlotMask0" и "OutputSlotMask1" не должны быть использованы оба в одном и том же объединении. Должно требоваться предшествующее поле "Member size".
Ключевые слова "ConfigSlotMask0" или "ConfigSlotMask1" должны указывать расположение маски слота конфигурации в объединении. Маска слота конфигурации представляет собой набор битов, представляющих включение или исключение данных конфигурации модуля при определении сервиса соединения с помощью адаптерного блока. Если используется ключевое слово "ConfigSlotMask0", бит 0 в этом наборе представляет слот 0, бит 1 представляет слот 1 и т.д. Если используется ключевое слово "ConfigSlotMask1", бит 0 в этом наборе представляет слот 1, бит 1 представляет слот 2 и т.д. "ConfigSlotMask0" и "ConfigSlotMask1" не должны быть использованы оба в одном и том же объединении. Должно требоваться предшествующее поле "Member size (Размер элемента)".
Ключевые слова "ProxyConnect" и "ProxiedConnect" должны быть использованы для описания соединений, на которых выполняется функция proxy с помощью адаптерного устройства CIP, с другим устройством, которое не поддерживает протокол CIP. Примером этого является адаптерный модуль EtherNet/IP (устройство для осуществления proxy соединения) в блоке с множественными слотами входа/выхода, соединяющий его с аналоговым модулем входа/выхода (устройство, на соединении с которым выполняется функция proxy).
Ключевое слово "ProxyConnect" должно существовать в EDS для устройства, выполняющего функцию proxy. В примере выше этим устройством будет адаптерный модуль EtherNet/IP.
Ключевое слово "ProxiedConnect" должно существовать в EDS для устройства, для которого выполняется функция proxy. В примере выше этим устройством будет аналоговый модуль входа/выхода.
Информация в секции [Modular] должна использоваться для создания ассоциации содержащих ключевые слова "ProxyConnect" файлов EDS с файлами EDS, содержащими ключевые слова "ProxiedConnect". Такая ассоциация должна существовать, когда оба файла EDS указывают соответствующий вход Rack.
Десятичное число (которое комбинируется с "ProxyConnect" и "ProxiedConnect") должно быть использовано для указания соответствия между "ProxyConnect" и "ProxiedConnect". Значения поля соответствующих пар "ProxyConnect" и "ProxiedConnect" должны быть скомбинированы для составления такой же информации значения поля, которая существует в одном входе "Connection". Эта комбинация должна быть выполнена путем использования значений поля из "ProxyConnect", за исключением тех полей, где значение равно ключевому слову "Module". В этих случаях должно быть использовано значение поля, установленное в ассоциированном "ProxiedConnect". Следует обычно указывать значения поля для входов "ProxiedConnect", соответствующие которым значения поля в "ProxyConnect" не "Module", однако эти значения поля не должны использоваться, их следует отмечать только для документации. Значение поля для поля "ProxyConnect" "строка имени соединения" не должно быть "Module", "ProxyConnect" должен всегда указывать "строку имени соединения".
C.4.1.5.3.4. Примеры расширенной секции EDS (информативные)
На рисунках C.15 и C.16 приведены примеры, показывающие использование модульных расширений EDS для секций Parameter, Assembly и Connection Manager.
![]() Рисунок C.15. Пример входов ProxiedParam и ProxiedAssem
![]() входов ProxiedParam и ProxiedAssem
Данный подраздел устанавливает требования к кодировке в Электронном бланке данных (EDS) в сетях EtherNet/IP.
В таблице C.27 приведена в обобщенном виде структура секций, которые могут быть представлены в EtherNet/IP EDS, соответствующие принятые разграничители секций и порядок этих секций в EDS. Некоторые из этих секций являются общими для ряда основанных на CIP сетей, и их специальное применение в EtherNet/IP указано в C.4.2.2, если это необходимо. Другие секции, специфические для EtherNet/IP, рассмотрены в C.4.2.4.
Таблица C.27
Содержание EtherNet/IP EDS должно быть далее организовано следующим образом:
- все файлы EtherNet/IP EDS должны включать в себя секцию Device Classification, в которой должен использоваться принятый разграничитель [Device Classification] и которая может быть помещена где-либо после секции File Description;
- опциональные и условные секции, описанные в данной спецификации, могут быть представлены в любом порядке при условии, что опережающие ссылки в файле EDS отсутствуют.
В случае любого соответствующего EtherNet/IP устройства секция классификации устройства в относящемся к нему файле EDS должна включать в себя хотя бы один вход с ключевым словом ClassN, где первое поле установлено на EtherNet/IP. Дальнейшая подклассификация классификации EtherNet/IP должна быть зарезервирована.
В секции Port файла EDS вход PortN, соответствующий применяемому в EtherNet/IP порту, должен быть установлен следующим образом:
- поле "Port Type Name" должно иметь значение "TCP";
- опциональное поле "Port Object" должно быть установлено на путь объекта интерфейс TCP/IP для этого порта;
- никакие дополнительные требования, кроме указанных в общем подразделе CIP (см. C.4.1.4.10), не помещаются в поля "Port Name" и "Port Number".
Примечание. EDS для устройства EtherNet/IP не должно содержать прямую ссылку на объект связи для порта EtherNet/IP (например, объект Link EtherNet/IP), поскольку ссылка может осуществляться через объект TCP/IP Interface для этого порта.
Никакие дополнительные требования к кодировке данных файлов EtherNet/IP EDS не существуют.
Никаких дополнительных требований к файлам для файлов EtherNet/IP EDS не существует.
(справочное)
PROFINET представляет собой основанную на Ethernet сеть, соответствующую МЭК 61784-1 (издание 1) СР 3/3.
Сеть PROFINET использует описание профиля, основанное на ИСО 15745-1. Имя технологии профиля - GSDML (Generic Station Description Markup Language - Язык разметки для общего описания станции).
В цели формата GSDML не входит описание технологических функций или графического интерфейса пользователя в устройстве. Для этой цели уже установлены рекомендуемые концепции [например, Язык описания электронных устройств - Electronic Device Description Language (EDDL) в соответствии с МЭК 61804-2].
Путем использования GSDML создается файл GSD (Generic Station Description - Общее описание станции). В целях указания отличий от формата PROFIBUS <2> GSD, описанного в ИСО 15745-3:2003 (приложение В), в настоящем стандарте использован термин "основанный на GSDML файл".
--------------------------------
<2> PROFIBUS - торговая марка PROFIBUS International (PI). Эта информация предоставлена для удобства пользователей комплекса стандартов ИСО 15745 и не означает подтверждения со стороны ИСО торговой марки или какой-либо продукции. Для соответствия настоящему профилю не требуется использование торговой марки PROFIBUS. Применение торговой марки PROFIBUS требует разрешения PROFIBUS International.
Основанный на GSDML файл может содержать более чем одну точку доступа в устройство - Device Access Points (DAP). DAP представляет собой специальный модуль, соединяющий устройство с сетью. Это позволяет построить один файл для семейства устройств, совместно использующих одни и те же модули (см. D.4.4.1 и D.4.5).
В таблице D.1 дано описание типов данных, используемых в GSDML. Используемые регулярные выражения определены в REC-xml-20001006.
Таблица D.1
Типы данных
D.3.1. Контроль версии
Если файл на основе GSDML уже выпущен, важно сохранять неизменной идентификацию объектов. Следовательно, содержание атрибутов, соответствующих указанным ниже выражениям для XPath (см. REC-xpath-19991116), нельзя изменять в новой версии основанного на GSDML файла:
//DeviceAccessPointItem/@ID
//ModuleList/ModuleItem/@ID
//VirtualSubmoduleItem/@ID//ValueItem/@ID
//GraphicItem/@ID
//CategoryItem/@ID
Имя основанного на GSDML файла должно быть составлено из шести указанных ниже полей в следующем порядке:
-"GSDML";
- ID версии в формате Vx.y, где x и y - беззнаковые целые числа. ID версии относится к ID использованной схемы GSDML;
- имя поставщика;
- имя семейства устройств;
- дата выпуска основанного на GSDML файла в формате yyyymmdd;
- ".xml" (расширение файла).
В качестве разграничителей между полями должен использоваться символ тире "-"(ASCII 45 десятичное).
Пример - "GSDML-V1.0-Lieferant-ET200X-20030818.xml"
Уже выпущенные файлы нельзя изменять без изменения имени файла. При построении новой версии основанного на GSDML файла дата выпуска должна быть изменена.
В случае установки более чем одной версии основанного на GSDML файла техническая система может использовать дату выпуска для определения последней версии.
D.3.3. Расположение схемы в основанном на GSDML файле
Для системы проверки допустимости XML схемы необходима информация о расположении выбранного файла схемы. Следовательно, должен быть указан атрибут xsi:schemaLocation корневого элемента профиля ИСО 15745.
Для использования одного и того же расположения для всех основанных на GSDML файлов необходимо использовать для файлов схемы относительный путь "..\xsd".
D.3.4. Идентификация объектов
Некоторые элементы GSDML схемы могут быть адресованы с помощью идентификатора. Этот идентификатор является атрибутом с именем "ID". По вопросу правильного диапазона этого атрибута см. D.3.2.
Идентификация объектов должна поддерживаться уникальной для всех элементов одной и той же категории согласно описанию в приведенной ниже таблице (например, вся идентификация объектов для объектов типа "ModuleItem" должна быть уникальной).
Уникальность идентификаторов ID по всему документу необязательна.
В таблице D.2 показаны адресуемые элементы. В правой графе указаны все те объекты, на которые ссылаются элементы в левой графе. Эти ссылки используют соответствующие идентификаторы ID в качестве средства адресации.
Таблица D.2
Идентификация объекта
D.3.5. Поддержка языка
Поддержка языка основана на концепциях XML. Зависящие от языка строки могут поддерживаться в основанных на GSDML файлах или выбранных строках в других файлах. Обе стратегии могут комбинироваться.
Другие строки помещаются внутри GSDML в виде словарей. Каждый зависящий от языка текст должен иметь атрибут "TextId", имеющий ссылку на вход в словаре.
Пример 1 -
<ChannelDiagItem ErrorType="19">
<Text TextId="ID_COMM_ERROR"/>
</ChannelDiagItem>
<ExternalTextList>
<PrimaryLanguage>
< Text TextId="ID_COMM_ERROR" Value = "Communication error"/>
</PrimaryLanguage>
<Language xml:lang="de">
< Text TextId="ID_COMM_ERROR" Value = "Kommunikationsfehler"/>
</Language>
<Language xml:lang="fr">
<Text TextId="ID_COMM_ERROR" Value = "Erreur de communication"/>
</Language>
</ExternalTextList>
ExternalTextList должен иметь элемент PrimaryLanguage. Используются текстовые строки, определенные в элементе PrimaryLanguage, если текстовая строка в выбранном словаре утеряна. В основанных на GSDML файлах первичный язык должен быть английским.
Элементы Language в ExternalTextList должны иметь атрибут "xml:lang" для идентификации выбранного языка. Код для представления имени языка должен соответствовать ИСО 639-1:2002.
Кроме того, строки могут присутствовать во внешних файлах - никакие изменения не являются необходимыми в самих основанных на GSDML файлах для поддержки нового языка. Имя внешнего файла должно быть построено по имени соответствующего основанного на GSDML файла путем присоединения строки "-Text-" и соответствующего ИСО 639-1:2002 двухбуквенного кода.
Пример 2 - "GSDML-V1.0-Lieferant-ET200X-20030818-Text-fr.xml"
Внешние файлы должны располагаться по отношению к основанному на GSDML файлу в подкаталоге. Имя подкаталога должно быть построено из двухбуквенного кода языка внешнего файла (ИСО 639-1:2002).
Кодировка XML файла (например, windows-1251) не определяется в GSDML. Допускается любая кодировка, соответствующая правилам спецификации XML.
D.3.6. Нотация элементов и атрибутов для расширений схемы
В расширениях GSDML схемы имена элементов и атрибутов должны быть составлены следующим образом:
- первый символ должен быть либо десятичным числом ("0" - "9"), либо прописной буквой в диапазоне от "A" до "Z";
- последующие символы должны быть из диапазонов от "0" до "9" или от "a" до "z". Прописные буквы в диапазоне от "A" до "Z" также могут быть использованы для улучшения читаемости;
- аббревиатуры должны использоваться в виде прописных букв, за которыми следует символ "_", когда следом идут один или несколько символов;
- первый символ после символа "_" должен быть или десятичным числом ("0" - "9"), или прописной буквой в диапазоне от "A" до "Z".
Примечание. В GSD до версии 5 символ "_" часто использовался для разделения частей ключевых слов в целях приведения ключевых слов к более удобному для чтения виду. Иногда для той же цели использовались буквы верхнего и нижнего регистров.
Используются регулярные выражения согласно определению REC-xml-20001006.
D.4.2.1. DeviceIdentity
Содержит общую информацию об устройстве.
Каждый элемент должен включать в себя атрибуты согласно таблице D.3.
Таблица D.3
Атрибуты элемента DeviceIdentity
D.4.2.2. DeviceIdentity/InfoText
Содержит читаемую человеком дополнительную текстовую информацию об устройстве.
Применение: требуется.
Каждый элемент должен включать в себя не менее чем один атрибут согласно таблице D.4.
Таблица D.4
Атрибуты элемента InfoText
D.4.2.3. DeviceIdentity/VendorName
Содержит имя поставщика устройства.
Применение: требуется.
Каждый элемент должен содержать атрибут согласно таблице D.5.
Таблица D.5
Атрибут элемента VendorName
D.4.3.1. DeviceFunction
Элемент DeviceFunction должен содержать элемент "Family".
Применение: требуется.
Атрибуты: нет.
Устройству должен быть присвоен класс функции. Помимо основного семейства устройству может быть присвоено зависящее от поставщика семейство продуктов.
Каждый элемент должен включать в себя не менее чем один атрибут согласно таблице D.6.
Таблица D.6
Атрибуты элемента Family
GSDML должен содержать информацию относительно одной или более различных точек доступа в одном семействе. Этот элемент содержит список установленных DAP.
Применение: требуется.
Атрибуты: нет.
D.4.4.2. ModuleList
Данный список содержит все модули, описанные в основанном на GSDML файле.
Применение: требуется.
Атрибуты: нет.
Данный элемент содержит субэлементы для описания характеристик модуля.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.7.
Таблица D.7
Атрибуты элемента ModuleItem
D.4.4.4. ModuleList/ModuleItem/ModuleInfo
См. D.4.7.
D.4.4.5. ModuleList/ModuleItem/VirtualSubmoduleList
См. D.4.6.
D.4.4.6. ModuleList/ModuleItem/Graphics
См. D.4.7.
D.4.4.7. ValueList
Элемент ValueList содержит элементы для присваивания значений текстовым строкам.
Пример: ValueList см. в D.4.7.4.
Применение: опциональное.
Атрибуты: нет.
D.4.4.8. ValueList/ValueItem
Элемент ValueItem группирует все объекты значений, и на него может производиться ссылка из элемента "UserDataItem/Data".
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.8.
Таблица D.8
Атрибуты элемента ValueItem
D.4.4.9. ValueList/ValueItem/Help
Элемент Help содержит дополнительную вспомогательную информацию о параметре ValueItem.
Применение: опциональное.
Каждый элемент должен содержать не менее одного атрибута согласно таблице D.9.
Таблица D.9
Атрибут элемента Help
D.4.4.10. ValueList/ValueItem/Assignments
Данный элемент содержит неограниченное число элементов "Assign".
Применение: опциональное.
Атрибуты: нет.
D.4.4.11. ValueList/ValueItem/Assignments/Assign
Элемент Assign содержит присваивание от содержания параметра до текстового представления.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.10.
Таблица D.10
Атрибуты элемента Assign
D.4.4.12. ChannelDiagList
Устанавливает список специфических для канала - текстов ошибок.
Примечание. Используется для вспомогательной информации.
Применение: опциональное.
Атрибуты: нет.
D.4.4.13. ChannelDiagList/ChannelDiagItem
ChannelDiagItem содержит атрибуты для определения типа ошибок конкретного канала.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.11.
Таблица D.11
Атрибуты элемента ChannelDiagItem
D.4.4.14. ChannelDiagList/ChannelDiagItem/Name
Содержит зависящую от языка текстовую информацию.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.12.
Таблица D.12
Атрибуты элемента Name
D.4.4.15. ChannelDiagList/ChannelDiagItem/Help
Содержит зависящую от языка вспомогательную информацию.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.13.
Таблица D.13
Атрибуты элемента Help
UnitDiagTypeList присваивает диагностические значения специальным сообщениям изготовителя о статусе и ошибках.
Применение: опциональное.
Атрибуты: нет.
D.4.4.17. UnitDiagTypeList/UnitDiagTypeItem
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.14.
Таблица D.14
Атрибуты элемента UnitDiagTypeItem
D.4.4.18. UnitDiagTypeList/UnitDiagTypeItem/Ref
Элемент Ref содержит информацию об элементе диагностических данных в объекте данные тревоги.
Этот элемент должен иметь такие же атрибуты, как определенные в D.4.7.4.
Атрибут "ByteOffset" этого элемента ссылается на блок "additional alarm info" в PDU запроса тревоги - информация заголовка не включена.
D.4.4.19. GraphicsList
Данный элемент содержит список GraphicItems (см. D.4.4.20).
Применение: опциональное.
Атрибуты: нет.
GraphicItem содержит информацию по символическому представлению Устройства, Модуля или Субмодуля.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.15.
Таблица D.15
Атрибуты элемента GraphicItem
D.4.4.21. GraphicsList/GraphicItem/Embedded
Данный элемент используется для описания графической информации внутри основанного на GSDML файла в формате SVG (см. REC-svg-20030114).
Примечание. Масштабируемая векторная графика (SVG) представляет собой язык для описания двумерной векторной и смешанной векторно/растровой графики в XML.
Применение: опциональное.
Атрибуты: нет.
D.4.4.22. CategoryList
Данный элемент содержит список элементов CategoryItem (см. D.4.4.23).
Примечание 1. GSDML допускает построение категорий модулей и субмодулей. Эти категории могут быть использованы для группировки модулей и субмодулей внутри каталога инженерного инструмента. Например, все модули аналогового ввода могут быть помещены в одну секцию каталога. Это упрощает поиск требуемых модулей пользователем или инженерным инструментом.
Примечание 2. Присвоение категории модуля не влияет на характеристики времени выполнения модуля или субмодуля.
Применение: опциональное.
Атрибуты: нет.
CategoryItem определяет информацию внутри одной категории.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.16.
Таблица D.16
Атрибуты элемента CategoryItem
ExternalTextList содержит зависящие от языка текстовые строки.
Применение: требуемое.
Атрибуты: нет.
D.4.4.25. ExternalTextList/PrimaryLanguage
Элемент PrimaryLanguage содержит текстовые определения первичного языка, который должен использоваться, если текст на выбранном языке недоступен. В случае GSDML первичным языком является английский.
Применение: требуемое.
Атрибуты: нет.
D.4.4.26. ExternalTextList/PrimaryLanguage/Text
Элемент PrimaryLanguage.
Применение: требуемое.
Атрибуты: см. таблицу D.17.
Таблица D.17
D.4.4.27. ExternalTextList/Language
Элемент Language содержит текстовое определение указанного языка.
Применение: один для каждого языка.
Атрибуты: см. таблицу D.18.
Таблица D.18
Атрибуты элемента Language
D.4.4.28. ExternalTextList/Language/Text
Элемент Language.
Применение: требуемое.
Атрибуты: см. таблицу D.17.
D.4.5.1. DeviceAccessPointItem
Данный элемент описывает характеристики DAP.
Применение: один для каждого DAP.
Каждый элемент должен содержать атрибуты согласно таблице D.19.
Таблица D.19
Атрибуты элемента DeviceAccessPointItem
D.4.5.2. ModuleInfo
См. D.4.8.1.
D.4.5.3. IOConfigData
Данный элемент содержит информацию о количестве данных IO.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.20.
Таблица D.20
Атрибуты элемента IOConfigData
D.4.5.4. UseableModules
Элемент UseableModules содержит список модульных ссылок, ссылающихся на модули элемента ModuleList. Только модули из этого списка совместимы с DAP.
Инженерный инструмент не должен производить конфигурацию других модулей для данного DAP.
Применение: требуемое.
Атрибуты: нет.
Данный элемент ссылается на модуль в ModuleList, совместимый с DAP.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.21.
Таблица D.21
Атрибуты элемента ModuleItemRef
D.4.5.6. VirtualSubmoduleList
Данный элемент содержит список элементов VirtualSubmoduleItem (см. D.4.6.1).
Применение: требуемое.
Атрибуты: нет.
D.4.5.7. VirtualSubmoduleList/VirtualSubmoduleItem
См. D.4.6.1.
D.4.5.8. Graphics
См. D.4.7.
D.4.5.9. Graphics/GraphicItemRef
См. D.4.7.
D.4.5.10. ApplicationRelations
Данный элемент содержит информацию относительно отношений приложений, выполняемых с помощью Устройства IO.
Атрибуты VersionInformation необходимы для проверки, соответствует или нет структура соединения PDU (iPNIO_D_Connect-REQ-PDU) функциональным характеристикам Устройства IO. Инженерный инструмент должен заполнить информацию о версии по соединению PDU с помощью этого атрибута.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.22.
Таблица D.22
Атрибуты элемента ApplicationRelations
D.4.5.11. ApplicationRelations/TimingProperties
Данный элемент описывает временное поведение при посылке циклических данных IO.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.23.
Таблица D.23
Атрибуты элементов TimingProperties
Данный элемент описывает характеристики подмодуля в качестве части модуля.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.24.
Таблица D.24
Атрибуты элемента VirtualSubmoduleItem
D.4.6.2. VirtualSubmoduleItem/IOData
Данный элемент определяет характеристики данных IO субмодуля.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.25.
Таблица D.25
Атрибуты элемента IOData
Определяет входные характеристики субмодуля. Если входные данные имеются, этот элемент имеет элементы DataItem (см. D.4.6.4).
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.26.
Таблица D.26
Атрибуты элемента Input
Элемент DataItem содержит информацию относительно одного DataItem.
Применение: один для каждого DataItem.
Каждый элемент должен содержать атрибуты согласно таблице D.27.
Таблица D.27
Атрибуты элемента DataItem
D.4.6.5. VirtualSubmoduleItem/IOData/Output
Элемент вывода устанавливают характеристики вывода подмодуля. Если данные вывода имеются, этот элемент содержит элементы DataItem (см. D.4.6.6).
Применение: опциональное.
Атрибуты: см. D.4.6.3.
Элемент DataItem содержит информацию относительно одного DataItem.
Применение: один для каждого DataItem.
Атрибуты: см. D.4.6.4.
D.4.6.7. VirtualSubmoduleItem/RecordDataList
Данный элемент содержит список ParameterRecordDataItem (см. D.4.7.1).
Атрибуты: нет.
D.4.6.8. VirtualSubmoduleItem/ModuleInfo
См. D.4.8.1.
D.4.6.9. VirtualSubmoduleItem/Graphics
См. D.4.8.9.
Элемент ParameterRecordDataItem описывает структуру данных объекта данных регистрации параметра.
Примечание. Все параметры в ParameterRecordDataItems будут переданы в субмодуль в ходе процедуры запуска устройства IO.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.28.
Таблица D.28
Атрибуты элемента ParameterRecordDataItem
D.4.7.2. RecordDataItem/Name
Элемент Name дает объекту регистрации данных читаемое человеком имя.
Примечание. Это дает возможность инженерному инструменту выполнить группировку объектов данных объекта регистрации данных таким образом, чтобы, например, при диалоге можно было использовать это имя в качестве названия диалога.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.29.
Таблица D.29
Атрибуты элемента Name
D.4.7.3. RecordDataItem/Const
Элемент Const используется для инициализации содержания объекта данных регистрации. Если определение Const не описывает полное содержание объекта данных регистрации, неопределенные поля должны быть установлены на нуль.
Если элемент Const пропущен, объект данных регистрации инициализируется с помощью октетов, установленных на нуль.
Если определен более чем один элемент Const, перекрытие между определениями не допускается.
Применение: нуль или более.
Каждый элемент должен содержать атрибуты согласно таблице D.30.
Таблица D.30
Атрибуты элемента Const
Данный элемент ссылается на объект данных в блоке данные регистрации.
Так как этот элемент может описывать тот же самый объект, как элемент "const", может возникнуть перекрытие. В этом случае необходимо использовать определение "Ref".
Применение: нуль или более.
Каждый элемент должен содержать атрибуты согласно таблице D.31.
Таблица D.31
Атрибуты элемента Ref
В следующем примере показано применение различных списков для описания модуля с объектом регистрации данных одного параметра и двух параметров:
![]() Данный элемент содержит общую информацию о модуле или субмодуле.
Каждый элемент должен содержать атрибуты согласно таблице D.32.
Таблица D.32
Атрибуты элемента ModuleInfo
D.4.8.2. ModuleInfo/Name
Элемент Name содержит зависящее от языка имя модуля или субмодуля.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.33.
Таблица D.33
Атрибуты элемента Name
D.4.8.3. ModuleInfo/InfoText
Элемент InfoText содержит читаемую человеком текстовую информацию о модуле или субмодуле.
Применение: требуемое.
Каждый элемент должен содержать атрибуты согласно таблице D.34.
Таблица D.34
Атрибуты элемента InfoText
D.4.8.4. ModuleInfo/VendorName
Элемент VendorName содержит имя продавца устройства. Если этот элемент отсутствует, следует использовать имя поставщика в элементе "DeviceInfo/Vendorname".
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.35.
Таблица D.35
Атрибуты элемента VendorName
D.4.8.5. ModuleInfo/OrderNumber
Элемент OrderNumber содержит номер заказа модуля или субмодуля.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.36.
Таблица D.36
Атрибуты элемента OrderNumber (Номер Заказа)
D.4.8.6. ModuleInfo/HardwareRelease
Элемент HardwareRelease содержит выпуск аппаратуры модуля или субмодуля.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.37.
Таблица D.37
Атрибуты элемента HardwareRelease
D.4.8.7. ModuleInfo/SoftwareRelease
Содержит выпуск программного обеспечения модуля/субмодуля.
Применение: опциональное.
Каждый элемент должен содержать атрибуты согласно таблице D.38.
Таблица D.38
Атрибуты элемента SoftwareRelease
D.4.8.8. ModuleInfo/Family
См. D.4.3.2.
Элемент Graphics содержит список GraphicItemRef (см. D.4.8.10).
Применение: опциональное.
Атрибуты: нет.
Элемент GraphicItemRef дает ссылку на графическую информацию о модуле или субмодуле устройства.
Применение: один или более.
Каждый элемент должен содержать атрибуты согласно таблице D.39.
Таблица D.39
Атрибуты элемента GraphicItemRef
D.5.1. Общие положения
Примечание. Приведенные ниже определения схемы используют xml.xsd. Этот файл схемы предоставлен World Wide Web Consortium. W3C предлагает загрузить этот файл, используя идентификатор пространства имен в качестве URL.
D.5.4. Схема GSDML примитивов (GSDML-Primitives-v1.0.xsd)
(справочное)
ССЫЛОЧНЫМ НАЦИОНАЛЬНЫМ СТАНДАРТАМ РОССИЙСКОЙ ФЕДЕРАЦИИ
Таблица ДА.1
[1] МЭК/ТО 13283:1998 Промышленная автоматизация. Критичные
по времени архитектуры сообщений.
Требования потребителей и сетевое
управление для систем сообщений,
критичных по времени
(ISO/TR 13283:1998) (Industrial automation. Time-critical
communications architectures. User
requirements and network management for
time-critical communications systems)
[2] МЭК/PAS 61499-1:2000 Блоки функциональные для систем измерения
и управления производственными
процессами. Часть 1. Архитектура
(IEC/PAS 61499-1:2000) (Function blocks for industrial-process
measurement and control systems. Part 1:
Architecture)
[3] МЭК/ТС 61915:2003 Комплектные распределительные устройства
низковольтные. Принципы разработки
приборных профилей для сетевых
промышленных устройств
(IEC/TS 61915:2003) (Function blocks for industrial-process
measurement and control systems. Part 1:
Architecture)
Protocol R3.0
[5] ODVA/CI EtherNet/IP:2001 EtherNet/IP Specification (Release 1/0)
[6] МЭК 61131-8:2003 Контроллеры программируемые. Часть 8.
Руководящие указания по применению
и реализации языков программирования
(IEC 61131-8:2003) (Programmable controllers - Part 8:
Guidelines for the application and
implementation of programming languages)
[7] МЭК/PAS 61804-2:2002 Блоки функциональные (FB) для управления
процессом. Часть 2. Спецификация
концепции FB и языка описания
электронного устройства (EDDL)
(IEC/PAS 61804-2:2002) [Function blocks (FB) for process control
- Part 2: Specification
of FB concept and Electronic Device
Description Language (EDDL)]
[8] ИСО 2382 (все части) Информационные технологии - Словарь
(ISO 2382 (all parts) (Information technology - Vocabulary)
[9] ISO/AFNOR Dictionary of Computer Science (1997).
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/50/gost_69790.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||