7.6.1 Configuración de la interface de comunicación
Tal como se ha descrito en el capítulo anterior, el protocolo EtherCAT utiliza dos tipos de transferencia diferentes para transmitir los protocolos de equipo y de usuario, p. ej., el protocolo CANopen over EtherCAT (CoE) utilizado por el CMMP-AS-...-M3. Los tipos de transferencia son: el protocolo de telegra- mas para datos acíclicos y el protocolo de telegramas de datos de proceso para transmitir datos cícli- cos.
En el protocolo CoE, estos dos tipos se utilizan para diferentes tipos de transferencia CANopen como se indica a continuación:
Protocolo de telegramas Descripción Remisión Mailbox Este tipo de transferencia sirve para transmitir los
objetos de datos de servicio (SDO) definidos en CANopen. En EtherCAT, éstos se transmiten en tramas de SDO.
Capítulo 7.8 “Trama SDO”
Datos de proceso Este tipo de transferencia sirve para transmitir Process Data Objects (PDO) definidos en CANopen y utilizados para intercambiar datos cíclicos. En EtherCAT, éstos se transmiten en tramas de PDO.
Capítulo 7.9 “Trama PDO”
Tab. 7.16 Protocolo de telegramas: descripción
Básicamente, estos dos tipos de transmisión permiten utilizar todos los PDO y SDO de la misma mane- ra definida para el protocolo CANopen para CMMP-AS-...-M3.
La parametrización de los objetos de datos de proceso y de los objetos de datos de servicio se diferen- cia en los ajustes que son necesarios realizar en CANopen para enviar los objetos a través de EtherCAT. Para integrar los objetos CANopen que deben intercambiarse a través de transmisiones de PDO y de SDO entre el master y el slave en el protocolo EtherCAT, se ha implementado un Sync Manager con EtherCAT.
El Sync Manager sirve para integrar los datos de los objetos de datos de proceso y objetos de datos de servicio que deben enviarse en los telegramas EtherCAT. Con este fin, el Sync Manager proporciona varios canales de sincronización que pueden convertir un canal de datos CANopen (SDO de recepción, SDO de transmisión, PDO de recepción o PDO de transmisión) al telegrama EtherCAT.
En la figura se muestra la integración del Sync Manager en el sistema:
Bus EtherCAT Canal SYNC 0 Canal SYNC 1 Canal SYNC 2 Canal SYNC 3 Receive SDO Transmit SDO Receive PDO (1/2/3/4) Transmit PDO (1/2/3/4)
Todos los objetos se envían a través de los denominados canales de sincronización. Los datos de estos canales se integran y transmiten automáticamente al flujo de datos EtherCAT. La implementación EtherCAT en el controlador de motor CMMP-AS-...-M3 es compatible con cuatro canales Sync de esas características.
Por esta razón, es necesario realizar un asignación adicional de los objetos de datos de servicio y de los objetos de datos de proceso en los canales de sincronización para CANopen. Esto se efectúa mediante lo que se conoce como objetos de Sync Manager (objetos 1C00hy 1C10h… 1C13h capítulo 7.6.2).
Estos objetos se describen con más detalle a continuación.
La asignación de dichos canales a los tipos de transferencia es fija y el usuario no puede cambiarla. Asignación:
– Canal Sync 0: protocolo de telegramas de correo electrónico para SDO entrantes (master => slave) – Canal Sync 1: protocolo de telegramas de correo electrónico para SDO salientes (master <= slave) – Canal Sync 2: protocolo de telegramas de datos de proceso para PDO entrantes (master => slave).
En este caso se debe tener en cuenta el objeto 1C12h.
– Canal Sync 3: protocolo de telegramas de datos de proceso para PDO salientes (master <= slave). En este caso se debe tener en cuenta el objeto 1C13h.
La parametrización de los PDO individuales se ajusta mediante los objetos 1600ha 1603h(Receive
PDO) y 1A00ha 1A03h(Transmit PDO). La parametrización de los PDO se lleva a cabo de la manera
descrita en el capítulo 2.6 “Método de acceso”.
En principio, el ajuste de los canales Sync y la configuración de los PDO únicamente se puede efectuar en estado “Pre-Operational”.
EtherCAT no contempla la parametrización del slave. Los archivos de descripción de eq- uipos sirven para este fin. En ellos está predeterminada la parametrización completa, incluyendo la parametrización de objetos de datos de proceso, y el master la utiliza durante la inicialización.
Por lo tanto, la parametrización no debe modificarse manualmente, sino en los archivos de descripción del equipo. En la sección 7.5 se describen con más detalle los puntos más importantes para el usuario de los archivos de descripción del equipo.
Los canales de sincronización descritos aquí NO se corresponden con los telegramas de sincronización conocidos por CANopen. Los telegramas de sincronización CANopen pueden seguir transmitiéndose como objetos de datos de servicio a través de la interface SDO implementada con CoE pero no afectan directamente en los canales de sin- cronización descritos más arriba.
7.6.2 Objetos nuevos y modificados en CoE
En la tabla siguiente se muestran los índices y los subíndices utilizados para los objetos de
comunicación compatibles con CANopen que se han añadido al sistema de bus de campo EtherCAT en el rango de 1000ha 1FFFh. Éstos reemplazan principalmente los parámetros de comunicación confor-
me a CiA 301.
Objeto Significado Permitido en
1000h Device Type Identificador del mando del equipo
1018h Identity Object ID del vendedor, código del producto, revisión,
número de serie
1100h EtherCAT fixed station address Dirección fija que el master asigna al slave durante la
inicialización
1600h 1. RxPDO Mapping Identificador del primer Receive PDO
1601h 2. RxPDO Mapping Identificador del segundo Receive PDO
1602h 3. RxPDO Mapping Identificador del tercer Receive PDO
1603h 4. RxPDO Mapping Identificador del cuarto Receive PDO
1A00h Primer TxPDO Mapping Identificador del primer Transmit PDO
1A01h Segundo TxPDO Mapping Identificador del segundo Transmit PDO
1A02h Tercer TxPDO Mapping Identificador del tercer Transmit PDO
1A03h Cuarto TxPDO Mapping Identificador del cuarto Transmit PDO
1C00h Sync Manager Communication
Type
Objeto para configurar los canales individuales de sincronización (transferencia de SDO o PDO) 1C10h Sync Manager PDO Mapping
for Syncchannel 0
Asignación del canal Sync 0 a un PDO/SDO (el canal 0 siempre está reservado para el Mailbox Send SDO Transfer)
1C11h Sync Manager PDO Mapping
for Syncchannel 1
Asignación del canal de sincronización 1 a un PDO/SDO (el canal 1 está siempre reservado para Mailbox Send SDO Transfer)
1C12h Sync Manager PDO Mapping
for Syncchannel 2
Asignación del canal Sync 2 a un PDO (el canal 2 está reservado para Receive PDO) 1C13h Sync Manager PDO Mapping
for Syncchannel 3
Asignación del canal Sync 3 a un PDO (el canal 3 está reservado para Transmit PDO) Tab. 7.17 Objetos de comunicación nuevos y modificados
En los capítulos siguientes se describen con más precisión los objetos 1C00hy 1C10h…1C13hya que
únicamente están definidos e implementados en el protocolo CoE EtherCAT y, por tanto, no están documentados en el manual de CANopen para el controlador de motor CMMP-AS-...-M3.
Objeto 1100h- EtherCAT fixed station address
A través de este objeto se asigna una dirección inequívoca al slave durante la fase de inicialización. A continuación se explica el significado del objeto:
Index 1100h
Name EtherCAT fixed station address Object Code Var
Data Type uint16
Access ro
Mapping PDO no Value Range 0 … FFFFh
Default Value 0
Objeto 1C00h- Sync Manager Communication Type
A través de este objeto puede leerse el tipo de transferencia de los diferentes canales del Sync Manager EtherCAT. Dado que el CMMP-AS-...-M3 con protocolo CoE EtherCAT únicamente es compatible con los cuatro primeros canales Sync, los objetos siguientes solo son de lectura (del tipo “read only”). Con ello, la configuración del Sync Manager para el CMMP-AS-...-M3 es fija. A continuación se explica el significado de los objetos:
Index 1C00h
Name Sync Manager Communication Type Object Code Array
Data Type uint8
Sub-Index 00h
Description Number of used Sync Manager Channels
Access ro
Mapping PDO no Value Range 4 Default Value 4 Sub-Index 01h
Description Communication Type Sync Channel 0
Access ro
Mapping PDO no
Value Range 2: Mailbox Transmit (Master => Slave) Default Value 2: Mailbox Transmit (Master => Slave)
Sub-Index 02h
Description Communication Type Sync Channel 1
Access ro
Mapping PDO no
Value Range 2: Mailbox Transmit (Master <= Slave) Default Value 2: Mailbox Transmit (Master <= Slave)
Index 03h
Description Communication Type Sync Channel 2
Access ro
Mapping PDO no Value Range 0: unused
3: Process Data Output (RxPDO / Master => Slave) Default Value 3
Sub-Index 04h
Description Communication Type Sync Channel 3
Access ro
Mapping PDO no Value Range 0: unused
4: Process Data Input (TxPDO/Master <= Slave) Default Value 4
Objeto 1C10h- Sync Manager Channel 0 (Mailbox Receive)
A través de este objeto puede configurarse un objeto de datos de proceso para el canal de sin- cronización 0. El usuario no puede cambiar el objeto porque el canal de sincronización 0 está siempre asignado al protocolo de telegramas de correo electrónico. Por lo tanto, el objeto tiene siempre los valores siguientes:
Index 1C10h
Name Sync Manager Channel 0 (Mailbox Receive) Object Code Array
Data Type uint8 Sub-Index 00h
El nombre fijado para el subíndice 0 de estos objetos por la especificación EtherCAT “Number of assigned PDOs” puede resultar confuso, porque los canales 0 y 1 del Sync Manager están siempre ocupados con el telegrama de correo electrónico. En este tipo de telegrama se transmiten siempre objetos de datos de servicio con CoE EtherCAT. En con- secuencia, el subíndice 0 de ambos objetos no se utiliza.
Objeto 1C11h- Sync Manager Channel 1 (Mailbox Send)
A través de este objeto puede configurarse un objeto de datos de proceso para el canal de sin- cronización 1. El usuario no puede cambiar el objeto porque el canal de sincronización 1 está siempre asignado al protocolo de telegramas de correo electrónico. Por lo tanto, el objeto tiene siempre los valores siguientes:
Index 1C11h
Name Sync Manager Channel 1 (Mailbox Send) Object Code Array
Data Type uint8
Sub-Index 00h
Description Number of assigned PDOs
Access ro
Mapping PDO no
Value Range 0 (no PDO assigned to this channel) Default Value 0 (no PDO assigned to this channel)
Objeto 1C12h- Sync Manager Channel 2 (Process Data Output)
A través de este objeto puede configurarse un objeto de datos de proceso para el canal de sin- cronización 2. El canal Sync 2 está dedicado de forma fija a la recepción de Receive PDO (master => slave). En este objeto debe ajustarse el número de objetos de datos de proceso asignados a dicho canal de sincronización bajo el subíndice 0.
A continuación, en los subíndices 1 a 4 se registra el número de objeto del PDO que debe asignarse al canal. Solo se pueden utilizar los números de objeto de los Receive PDO previamente configurados (objetos 1600h… 1603h).
En la implementación actual, el firmware del controlador del motor no efectúa ninguna evaluación adicional de los datos, p. ej., de objetos.
En su lugar se utiliza la configuración CANopen de los objetos de datos de proceso para evaluarlos con EtherCAT.
Index 1C12h
Sub-Index 00h
Description Number of assigned PDOs
Access rw
Mapping PDO no
Value Range 0: no PDO assigned to this channel 1: one PDO assigned to this channel 2: two PDOs assigned to this channel 3: three PDOs assigned to this channel 4: four PDOs assigned to this channel Default Value 0 :no PDO assigned to this channel
Sub-Index 01h
Description PDO Mapping object Number of assigned RxPDO
Access rw
Mapping PDO no
Value Range 1600h: first Receive PDO
Default Value 1600h: first Receive PDO
Sub-Index 02h
Description PDO Mapping object Number of assigned RxPDO
Access rw
Mapping PDO no
Value Range 1601h: second Receive PDO
Default Value 1601h: second Receive PDO
Sub-Index 03h
Description PDO Mapping object Number of assigned RxPDO
Access rw
Mapping PDO no
Value Range 1602h: third Receive PDO
Default Value 1602h: third Receive PDO
Sub-Index 04h
Objeto 1C13h- Sync Manager Channel 3 (Process Data Input)
A través de este objeto puede configurarse un objeto de datos de proceso para el canal de sin- cronización 3. El canal Sync 3 está dedicado de forma fija al envío de Transmit PDO (master <= slave). En este objeto debe ajustarse el número de objetos de datos de proceso asignados a dicho canal de sincronización bajo el subíndice 0.
A continuación, en los subíndices 1 a 4 se registra el número de objeto del PDO que debe asignarse al canal. Solo se pueden utilizar los números de objeto de los Transmit PDO previamente configurados (objetos 1A00hhasta 1A03h).
Index 1C13h
Name Sync Manager Channel 3 (Process Data Input) Object Code Array
Data Type uint8
Sub-Index 00h
Description Number of assigned PDOs
Access rw
Mapping PDO no
Value Range 0: no PDO assigned to this channel 1: one PDO assigned to this channel 2: two PDOs assigned to this channel 3: three PDOs assigned to this channel 4: four PDOs assigned to this channel Default Value 0: no PDO assigned to this channel
Sub-Index 01h
Description PDO Mapping object Number of assigned TxPDO
Access rw
Mapping PDO no
Value Range 1A00h: first Transmit PDO
Default Value 1A00h: first Transmit PDO
Sub-Index 02h
Description PDO Mapping object Number of assigned TxPDO
Access rw
Mapping PDO no
Value Range 1A01h: second Transmit PDO
Sub-Index 03h
Description PDO Mapping object Number of assigned TxPDO
Access rw
Mapping PDO no
Value Range 1A02h: third Transmit PDO
Default Value 1A02h: third Transmit PDO
Sub-Index 04h
Description PDO Mapping object Number of assigned TxPDO
Access rw
Mapping PDO no
Value Range 1A03h: fourth Transmit PDO
7.6.3 Objetos no compatibles en CoE
La conexión del CMMP-AS-...-M3 con “CANopen over EtherCAT” es incompatible con algunos objetos CANopen que sí se encuentran disponibles en caso de conexión del CMMP-AS-...-M3 a través de CiA 402. En la tabla siguiente se muestran dichos objetos:
Identifier Name Significado
1008h Manufacturer Device Name (String) Nombre del equipo (no hay objeto)
1009h Manufacturer Hardware Version (String) Versión de hardware (no hay objeto)
100Ah Manufacturer Software Version (String) Versión de software (no hay objeto)
6089h position_notation_index Indica el número de puestos decimales
utilizados para visualizar los valores de posición en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional.
608Ah position_dimension_index Indica la unidad utilizada para visualizar los
valores de posición en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional.
608Bh velocity_notation_index Indica el número de puestos decimales
utilizados para visualizar los valores de velocidad en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional. 608Ch velocity_dimension_index Indica la unidad utilizada para visualizar los
valores de velocidad en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional.
608Dh acceleration_notation_index Indica el número de puestos decimales
utilizados para visualizar los valores de aceleración en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional. 608Eh acceleration_dimension_index Indica la unidad utilizada para visualizar los
valores de aceleración en el controlador. El objeto solo sirve como contenedor de datos. El firmware no realiza una evaluación adicional.