Обмен данных процесса
Передача данных процесса между устройствами распределенной системы - цель системы на основе CAN протокола. Поэтому передача прикладных данных (данные процесса, данные ввода - вывода) системы должена быть выполнена наиболее эффективным путем. CANopen и DeviceNet обеспечивают весьма схожие механизмы связи для передачи данных обслуживания / конфигурации процесса. У CANopen передача данных процесса происходит посредством так называемых "Объектов Данных Процесса (PDOs)", у DeviceNet посредством " I/O-сообщений ".
В таблице 3.2.1 приведены основные характеристики для протоколов CANopen, DeviceNet and SDS. Одним из главных различий является обеспечение протоколами DeviceNet and SDS фрагментации пакетов без подтверждения, что делает возможным передачу данных длиной более 8 байт. Также поддерживаются 3 различных протокола (рис 3.2.2) по отношению к подтверждению приема данных ("Transport Classes") . Например, классы 2 и 3 могут быть использованы для эффективного опроса(polling) устройств. Для той цели master устройство имеет коммуникационные объекты (connection objects), связанные с каждой командой опроса как клиентский транспортный класс 2 или 3. Каждое slave устройство имеет коммуникационные объекты серверного транспортного класса 2 или 3 для получения комманд опроса и передачи соответствующих ответных данных.
CANopen | DeviceNet | SDS (V2.0) | |||
Name of Communication Object | Process Data Object | I/O-Message | Multicast Channel APDU | ||
Maximal Number of Communication Objects per Device | 512 Transmit PDOs 512 Receive PDOs |
27 I/O- Transmit Messages 1701 I/O Receive Messages per device |
32 Multicast Channels for each of up to 32 Embedded Objects per device | ||
Maximal length of Data Field | 8 bytes | 8 bytes fragmented: | 6 bytes
fragmented: | ||
Protocol | Unfragmented:
No overhead, Notify/Read "Stored-Event"-protocol (CAL/CMS) | Unfragmented:
No overhead, three "Transport Classes" supported:
|
Unfragmented: 2 byte protocol overhead, Unacknowledged | ||
Fragmented:
Unacknowledged 1 byte protocol overhead per frame | Fragmented:
Acknowledged fragmented protocol with Acknowledge after reception of complete block 4 bytes protocol overhead per fragment | ||||
Message Production Triggering Modes |
|
|
Specified by object model | ||
Mapping of Application Objects | Maximum number of mappable application objects/PDO dependent on data size of objects (1-bit objects: 64 application objects mappable) | Arbitrary number of Application objects
mappable with fragmented protocol | Network Data Descriptor defines size, granularity and data type of I/O data of Embedded Object (V1.8) | ||
Definition of Application objects by means of "Mapping Parameter Record" (configurable)
Dynamic mapping supported | Definition of Application objects by means of Assembly Object (several Assembly Objects possible)
Dynamic mapping supported |
Таблица 3.2.1: Exchange of Process Data in CANopen, DeviceNet and SDS (Multicasting)
Рис 3.2.2.: Device Net Transport Classes