Подробности представления типов данных детально описаны в гл.9.1. Каждому
устройству не обязательно поддерживать все определённые типы. Устройство должно
поддерживать только те типы данных, которые используются в обьектах с индексами
1000h-9fffh. Предопределённые комплексные типы данных размещаются после
стандартных типов. На данный момент определены 4 таких (т.е. составных) типа: запись
Параметра связи PDO(PDO_COMMUNICATION_PARAMETER), запись PDO
отображения(PDO_MAPPING), запись SDO параметра(SDO_PARAMETER), запись
идентификатора(IDENTITY). Эти типы помещены в словарь под индексами 20h, 21h, 22h,
23h.
Для устройств или профилей устройств которые являются
многофункциональными, т.е. как несколько независимых контроллеров, расширен
механизм определения статических и составных типов, и для каждого виртуального
устройства(всего до 8ми устройств) отведён диапазон в 40h элементов(040h-25fh).
Устройство может, дополнительно,
предоставлять размер стандартных типов
данных по чтению индексов элементов их определяющих, размер представляется как
величина типа UNSIGNED32. Например, по индексу 000ch(TIME_OF_DAY) содержится
значение 30h=48дес, так как данное типа TIME_OF_DAY представляется как битовая
последовательность длиной 48 бит. Если длина обьекта переменная, как например, 000fh-
DOMAIN, то элемент содержит 0.
Для поддерживаемых составных типов данных
устройство дополнительно может
сообщать их структуру, путём чтения индексов соответствующих этим типам элементов.
Элемент с подиндексом 0 содержит количество полей в этом типе, подиндексы с 1 по 254
представляются как UNSIGNED8 и адресуют типы в соответствии с таблицей 39.
Например элемент с индексом 20h, описывающий структуру параметра связи PDO,
выглядит как(см так же обьекты c индексами 1400h-15ffh):
Подиндекс Значение Описние
0h 04h
4 подэлемента, описываемых следующими подиндексами
1h 07h UNSIGNED32
2h 05h UNSIGNED8
3h 06h UNSIGNED16
4h 05h UNSIGNED8
Таблица 40. Пример описания комплексного типа данных.
9.5.3.1. Состав структурных элементов Обьектного Словаря.
Если элемент(индекс) Словаря содержит несколько подэлементов(подиндексов), то
подиндекс 0 содержит количество следующих за ним подиндексов, остальные(за
исключением подиндекса 255) описывают подэлементы и представляются как
UNSIGNED8. Подиндекс ffh, описывает тип данных и тип элемента в обьекте. Он
представляется как
UNSIGNED32, и имеет структуру описанную ниже.
Биты 31-16 15-8 7-0
Значение Зарезервировано всегда 0 Тип данных
(таблица 39)
Обьект
(таблица 37)
Представление -
UNSIGNED8 UNSIGNED8
Рисунок 51:). Структура подиндекса ffh.
Поддержка подиндекса 0xff необязательна. Если такая поддержка имеет место без
исключений, и известна структура составных типов, то это позволяет скачать полную
структуру обьектного словаря.