PROTOCOLO CANopen

Anuncio
FAGOR AUTOMATION S.COOP.
MCP/MCPi
~ Protocolo CANopen ~
Ref.0612
Título
Tipo de documentación
Denominación
Referencia
Software
WinDDSSetup
Documento electrónico
Headquarters
MCP/MCPi. Protocolo CANopen.
Arquitectura, topología y comunicación en redes CANopen.
MAN_ MCP/MCPi_CANopen (cas.).
Ref.0612
V01.05 (MCP), V01.01 (MCPi)
A partir de la versión V0612
MAN_MCP&MCPi_CANopen.pdf
FAGOR AUTOMATION S.COOP.
Bº San Andrés 19, Apdo. 144
20500 ARRASATE- MONDRAGÓN
www.fagorautomation.com
[email protected]
Teléfono: 34-943-719200
Fax:
34-943-771118 (Servicio de Asistencia Técnica)
La información descrita en este manual puede estar sujeta a variaciones motivadas
por modificaciones técnicas. FAGOR AUTOMATION, S. Coop. se reserva el
derecho de modificar el contenido del manual, no estando obligada a notificar las
variaciones.
Se han contrastado los contenidos de este manual y sus coincidencias con el
producto descrito. Aún así, es posible el deslíz de algún error introducido de manera
involuntaria y, es por ello que, no se garantiza una coincidencia absoluta. No
obstante, es comprobada regularmente la información contenida en el documento,
procediéndose a realizar las correcciones oportunas que quedarán incluídas en
una posterior edición.
Todos los derechos reservados. No puede reproducirse ninguna parte de esta
documentación, transmitirse, transcribirse, almacenarse en un sistema de
recuperación de datos o traducirse a ningún idioma sin premiso expreso de Fagor
Automation S. Coop.
2/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
GARANTÍA
GARANTÍA INICIAL:
Todo producto fabricado o comercializado por FAGOR tiene una garantía de 12 meses para
el usuario final.
Para que el tiempo que transcurre entre la salida de un producto desde nuestros almacenes
hasta la llegada al usuario final no juegue en contra de estos 12 meses de garantía, el fabricante
o intermediario debe comunicar a FAGOR el destino, identificación y fecha de instalación de
la máquina a través de la Hoja de Garantía que acompaña a cada producto.
La fecha de comienzo de la garantía para el usuario será la que figura como fecha de
instalación de la máquina en la Hoja de Garantía.
Este sistema nos permite asegurar los 12 meses de garantía al usuario.
FAGOR da un plazo de 12 meses al fabricante o intermediario para la instalación y venta del
producto, de forma que la fecha de comienzo de garantía puede ser hasta un año posterior
a la salida del producto de nuestros almacenes, siempre y cuando se nos haya remitido la hoja
de garantía. Esto supone en la práctica la extensión de la garantía a dos años desde la salida
del producto de los almacenes de Fagor. En caso de que no se haya enviado la citada hoja,
el período de garantía finalizará a los 15 meses desde la salida del producto de nuestros
almacenes.
FAGOR se compromete a la reparación o sustitución de un producto desde su lanzamiento,
y hasta 8 años después de la fecha de su desaparición de catálogo.
Compete exclusivamente a FAGOR determinar si la reparación entra dentro del marco definido
como garantía.
CLÁUSULAS EXCLUYENTES:
La reparación se realizará en nuestras dependencias. Por tanto, quedan fuera de garantía
todos los gastos de transporte o los ocasionados en el desplazamiento de su personal técnico
para realizar la reparación de un equipo, aún estando éste dentro del período de garantía antes
citado.
La citada garantía se aplicará siempre que los equipos hayan sido desinstalados de acuedo
con las instrucciones, no hayan sido maltratados o sufrido desperfectos por accidente o
negligencia y no hayan sido intervenidos por personal no autorizado por FAGOR.
Si, una vez realizada la asistencia o reparación, la causa de la avería no es imputable a nuestro
producto, el cliente está obligado a cubrir todos los gastos ocasionados ateniéndose a las
tarifas vigentes.
No están cubiertas otras garantías implícitas o explícitas y FAGOR AUTOMATION no se hace
responsable bajo ninguna circunstancia de otros daños o perjuicios que pudieran ocasionarse.
CONTRATOS DE ASISTENCIA:
Están a disposición del cliente Contratos de Asistencia y Mantenimiento tanto para el período
de garantía como fuera de él.
MCP/MCPi - Ref.0612
Protocolo CANopen - 3/40
DECLARACIÓN DE CONFORMIDAD
Fabricante:
Fagor Automation, S. Coop.
Bº San Andrés 19, C.P. 20500, Mondragón - Guipúzcoa - (SPAIN)
Declaramos bajo nuestra exclusiva responsabilidad la conformidad del producto:
Sistema de regulación AC Brushless Fagor
compuesto por los siguientes módulos y motores:
Módulos reguladores:
Series MCP y MCPi
Motores AC:
Series FXM, FKM, FSA y FSP
al que se refiere esta declaración,
con los requisitos básicos de las Directivas Europeas 73/23/CE de Baja Tensión
(Norma Básica de Seguridad; Equipo Eléctrico de las Máquinas EN60204-1:95) y
92/31/CE de Compatibilidad Electromagnética (EN 61800-3:1996, Norma
específica de Compatibilidad Electromagnética para Sistemas de Regulación).
En Mondragón a 15 de Septiembre de 2006
PRESENTACIÓN
Este manual ofrece una información descriptiva y detallada del protocolo CANopen
sobre la placa CAN de los reguladores MCP y MCPi, de la arquitectura, topología y
comunicación CANopen en la red y la puesta en marcha del equipo.
Si es la primera vez que se realiza la instalación, conviene leer este documento
completo.
Ante cualquier duda o necesidad no dude en consultar con nuestros técnicos en
cualquiera de las oficinas subsidiarias.
Gracias por elegir Fagor.
4/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
ÍNDICE GENERAL
PROTOCOLO CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Arquitectura de la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Topología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Cable de conexión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Longitud máxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Comunicación en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Trama CAN estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Conexión predefinida CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
NMT, Network Management. Proceso de arranque y control de red . . . . . . . . . .11
PDO, Objeto de Datos de Proceso. Canal rápido . . . . . . . . . . . . . . . . . . . . . . . . .14
SDO, Objeto de Datos de Servicio. Canal lento . . . . . . . . . . . . . . . . . . . . . . . . . .17
Objeto de emergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Descripción del diccionario de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Descripción de los PDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
Puesta en marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Descripción de la tarjeta CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Selección de la velocidad de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Determinación del nº de nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Indicadores de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
MCP/MCPi - Ref.0612
Protocolo CANopen - 5/40
PÁGINA EN BLANCO
6/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
PROTOCOLO CANopen
Introducción
CANopen es un protocolo de comunicación de red basado en el sistema de Bus
CAN (desarrollado por BOSCH a mediados de los 80 y orientado al mundo de la
automoción). CANopen está definido como una capa de aplicación uniforme en la
especificación DS301 editada por la entidad que regula la especificación CIA (Can
In Automation).
CAN es un sistema de Bus Multimaster que contrasta con otros sistemas de Bus
en que los módulos conectados a él no son direccionados por los identificadores
de los mensajes. Así, los nodos podrán ir dejando mensajes en el Bus siempre que
éste se encuentre libre de tráfico. Los conflictos en el bus son resueltos en base a
cierta prioridad asignada a los mensajes, establecida en el propio COB ID
(Communication Object Identifier) y claramente asignada a los objetos de
comunicación. El COB ID que contenga el menor valor identifica el mensaje de
mayor prioridad. Esta característica proporciona una autorregulación de
prioridades en el Bus sin la gestión de ningún elemento maestro (master).
Arquitectura de la red
‡ Topología
Para construir una red CAN simple, donde la comunicación va a ser establecida con
protocolo CANopen, será necesario mínimamente un elemento esclavo, un
elemento maestro (p. ej. un PC con tarjeta de bus de campo CAN) y un cable de
conexión como el que se muestra en la FIGURA 1.
Podrán disponerse de hasta 127 elementos esclavos independientes. Éstos,
podrán adoptar números de nodo comprendidos entre 1 y 127.
Recuérdese que el nodo 0 no existe como tal y queda reservado para ciertos
mensajes genéricos utilizados por el elemento maestro.
En la red deberán ser conectadas entre sí todas las líneas CAN_H, CAN_L y
CAN_SHLD.
MAESTRO
CANopen
Conector
CANopen
del PC
DRIVE 1
DRIVE 2
DRIVE 3
Conector
CANopen
Conector
CANopen
Conector
CANopen
CAN_L
2
5
120 Ω
5
CAN_H
7
CAN_SHLD
4 Blanco
4 CAN_H
3 Malla
3 CAN_SHLD
2 Marrón
2 CAN_L
4
120 Ω
3
2
1
Nota: Una resistencia terminadora de 120 Ω será instalada por el instalador de la red en cada
módulo extremo del bus CANopen. En la red de la figura han sido instaladas en el PC y en el
DRIVE3 que son los módulos extremos del bus. Si p.ej. en lugar del PC se hubiese ubicado un
DRIVE en esa posición éste sería entonces un extremo del bus y habría que instalar la resistencia terminadora de 120 Ω en ese DRIVE y no en el PC. El resto de los módulos que forman
parte del bus no estarán ubicados en los extremos del mismo y, por tanto, no se instalará en
ellos ninguna resistencia. Véase figura.
FIGURA 1.
Topología de una red CAN.
MCP/MCPi - Ref.0612
Protocolo CANopen - 7/40
‡ Cable de conexión
Para realizar la conexión de la tarjeta CAN, dispuesta en un regulador, a una red
CANopen, será necesario disponer de un cable CAN formado por una manguera de
dos hilos con pantalla exterior. En uno de los extremos de la manguera se incorpora
un conector “Open Style” enchufable de 5 vías y paso 5 mm. La malla irá conectada
al pin 3 de este conector. Para más detalles, véase FIGURA 2.
Pin
Señal
Color del hilo
5
N.C.
----
4
CAN_H
Blanco
3
CAN_SHLD
Malla
2
CAN_L
Marrón
1
N.C.
----
CANopen
Cable CAN entre
PC y DRIVE1
Pin
2
7
4
5
Cable CAN entre
DRIVE2 y DRIVE3
Cable CAN entre
DRIVE1 y DRIVE2
5
2
1
3
Pin
Pin
5
5
5
SHIELD
4
4
4
CAN H
3
3
3
SHIELD
2
2
2
CAN L
1
1
1
ISO GND
Vista frontal del conector Sub-D, F9 del extremo
del cable CAN
FIGURA 2.
Cables de conexión entre módulos conectados a una red CAN.
Todas las líneas CAN_H, CAN_L y malla de cada uno de los módulos que conforman
la red deberán ser conectadas entre sí.
En los dos módulos extremos del bus de CAN (y sólo en éstos) deberán ser
instaladas externamente por el usuario (entre los pines 2 y 4 del conector Open
Style si el módulo extremo es un regulador ó 2 y 7 del conector Sub-D, M9 si es el
módulo extremo es el PC) una resistencia terminadora de línea de 120 Ω en cada
uno con la finalidad de evitar reflexiones (rebotes), es decir, problemas de
transmisión.
‡ Longitud máxima
En la siguiente tabla quedan reflejadas las longitudes máximas de la red en función
de las diferentes velocidades de transmisión:
TABLA 1.
Longitud máxima de una red CAN según la velocidad de transmisión
Velocidad de
transmisión
Longitud de red
Velocidad de
transmisión
Longitud de red
1000 kbit/s
30 metros
250 kbit/s
250 metros
800 kbit/s
50 metros
125 kbit/s
500 metros
500 kbit/s
100 metros
≤ 50 kbit/s
1000 metros
8/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Comunicación en la red
‡ Trama CAN estándar
Las tramas estándar de CAN contienen entre 44 y 108 bits útiles. Además, en función
de los datos enviados, pueden ser insertados en la trama por los drivers de CAN
hasta 23 bits “de relleno” de manera que el máximo nº de bits que se llega a alcanzar
en el envío de una trama es de 131.
La identificación de los campos de bits en la trama CAN es:
‡ <Start bit>: Inicio de la trama.
‡ <Arbitration>: Campo de arbitraje que contiene el identificador y el tipo de mensaje que va a ser enviado.
‡ <Control bits>: Campo de control que contiene el nº de bytes de datos.
‡ <Data field>: Bytes de datos (de 0 a 8 bytes).
‡ <CRC>: Caracteres de chequeo de redundancia cíclica según el algoritmo CRC16.
‡ <Acknowledge>: Reconocimiento de trama.
‡ <End>: Bits de final de trama.
Bit Length
1
12
6
0-8 bytes
16
2
7
Start bit
Arbitration
Control bits
Data field
CRC
Acknowledge
End
FIGURA 3.
Trama CAN estándar.
‡ Conexión predefinida CANopen
Con CANopen, la transmisión de datos, el disparo de eventos, la señalización de
estados de error, ... es realizada mediante objetos de comunicación. Con esta
finalidad, cada objeto de comunicación lleva asignado un COB ID en la red.
Los objetos más importantes en CANopen son:
‡ <NMT>: Objetos de tratamiento de la red.
‡ <SYNC>: Objetos de sincronización.
‡ <EMCY>: Objetos de mensajes de error.
‡ <PDO>: Objetos de proceso.
‡ <SDO>: Objetos de servicio.
Con el objetivo de facilitar la configuración de redes CAN simples, existe un set de
COB IDs ya predefinidos.
MCP/MCPi - Ref.0612
Protocolo CANopen - 9/40
COB ID
Identificador del mensaje puesto en la red implementado en los 11 bits del
identificador en la trama de CAN. Su estructura es:
10 9
8
7
6
código de función
5
4
3
2
1
0
nº de nodo: 0 - 127
FIGURA 4.
Estructura del COB ID.
Con el código de función 1 (objeto de emergencia) pueden generarse hasta 128
objetos diferentes dependiendo del nº de nodo dispuesto en el mensaje. Los objetos
con identificador desde 0x81 hasta 0xFF son objetos de emergencia emitidos por
el nodo cuyo número va implícito en el identificador. El 0x80 es un objeto diferente
emitido por el elemento maestro (sin nº de nodo asignado) de mayor prioridad que
los mensajes de emergencia y que sirve de sincronismo para el bus de
comunicaciones.
Dependiendo de que el nº de nodo aparezca o no en la cabecera del mensaje se
establecen los objetos Broadcast (nodo 0) y Per to Per (nodo>0). Los objetos
“Broadcast” son interpretados por todos los nodos del bus y los objetos “Per to Per”
permiten establecer conversaciones entre dos elementos de la red.
- Objetos “Broadcast”
TABLA 2.
Objetos Broadcast.
Objeto
Bits de código
de función
COB ID
Parámetros de
comunicación
NMT Module Control
0000
000h
---------
SYNC
0001
080h
1005h, 1006h, 1007h
TIME STAMP
0010
100h
1012h, 1013h
El COB ID de los objetos Broadcast es único al no llevar asignado ningún número
de nodo. Será interpretado por todos los nodos presentes en la red CANopen.
10/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
- Objetos “Per to Per”
TABLA 3.
Objetos Per to Per.
Objeto
Bits de código COB ID
de función
Parámetros de
Parámetros de
mapeado del PDO comunicación
EMERGENCY
0001
081h-0FFh
1024h, 1015h
PDO1 tx
0011
181h-1FFh
1A00h
1800h
PDO1 rx
0100
201h-27Fh
1600h
1400h
PDO2 tx
0101
281h-2FFh
1A01h
1801h
PDO2 rx
0110
301h-37Fh
1601h
1401h
PDO3 tx
0111
381h-3FFh
1A02h
1802h
PDO3 rx
1000
401h-47Fh
1602h
1402h
PDO4 tx
1001
481h-4FFh
1A03h
1803h
PDO4 rx
1010
501h-57Fh
1603h
1403h
SDO tx
1011
581h-5FFh
1200h
SDO rx
1100
601h-67Fh
1200h
NMT Error Control
1110
701h-77Fh
1016h-1017h
Nota. Entiéndase el concepto de los términos rx y tx desde un punto de vista del bus.
Los objetos Per to Per implican establecer una comunicación entre dos nodos
concretos. Esto obliga a los COB ID a incluir (según el objeto del que se trate) el nº
de nodo al que son dirigidos o el nº de nodo desde el que son emitidos (0-127 en
ambos casos). De ahí el rango especificado en la TABLA 3.
En “parámetros de comunicación” se encuentra el objeto de comunicaciones en
el que son configurados diferentes aspectos relativos a tal objeto.
En “parámetros de mapeado del PDO” se encuentra el objeto de mapeo en el que
son configurados los diferentes objetos mapeados para el correspondiente PDO.
‡ NMT, Network Management. Proceso de arranque y control de red
Una vez aplicada la tensión a un nodo CANopen se establece el proceso de
arranque (start-up) inicializando sus variables, realizando su auto-chequeo, ...
Realizada esta labor, cada nodo envía un mensaje de “Boot-Up” (arranque) a
través del bus para hacer saber al elemento maestro que un nuevo nodo ha
pasado a formar parte de la red CANopen.
(Boot-Up)
NMT - maestro Í NMT - esclavos.
COB ID
Byte 0
0x700 + ID de nodo
0
Tras haber sido realizada correctamente esta tarea, el nodo pasa automáticamente
a un estado preoperacional manteniéndose en él hasta que el elemento maestro,
mediante un mensaje de control de red (NMT), le solicita el paso a un estado
operacional:
MCP/MCPi - Ref.0612
Protocolo CANopen - 11/40
(Control del módulo)
NMT- maestro Î NMT- esclavos.
COB ID
Byte 0
Byte 1
0x000
CS
ID de nodo
Esta acción puede o no establecerse como “Broadcast” dependiendo del valor
indicado en el byte 1 del campo de datos. Así, si el valor del byte 1 es cero, la
acción se establece como “Broadcast”. Si es distinto de cero y menor de 128, su
valor indicará el nodo al que va dirigida la orden.
El valor indicado en el byte 0 del campo de datos del mensaje CAN establece la orden
a realizar. Véase la siguiente tabla.
CS.
TABLA 4.
Byte 0 del campo de datos del mensaje CAN. Orden a llevar a cabo.
Especificador de
comando (byte 0)
Servicio de NTM
(control del módulo)
1
Arrancar el nodo remoto - paso a operacional -
2
Detener el nodo remoto - paso a stop -
128
Introducir el estado preoperacional - paso a preoperacional -
129
Inicializar el nodo - reset del ó de los nodos seleccionados -
130
Inicializar la comunicación - reset del proceso de comunicación en
el nodo o los nodos indicados -
Dependiendo del valor especificado en estos bytes del campo de datos puede
modificarse el estado en el que se encuentran uno o todos los nodos presentes en
la red.
Tras un arranque satisfactorio de la red, el elemento maestro tiene la opción de
comprobar cíclicamente que todos los nodos permanecen activos dentro de ella.
Con - Node Guarding - el elemento maestro envía cíclicamente (bajo unos tiempos
previamente preestablecidos y comprobados) un mensaje “broadcast” sin dato
alguno y al cual responden todos los nodos y donde se incluye el estado en el que
se encuentra cada uno de ellos. Estos mensajes son:
(Node Guarding)
NMT- maestro Î NMT- esclavos.
COB ID
0x700 + ID de nodo
NMT- maestro Í NMT- esclavos.
COB ID
Byte 0
0x700 + ID de nodo
Bit 7 - Toggle bit -
12/40 - Protocolo CANopen
Bits 6-0 - Estado
MCP/MCPi - Ref.0612
Estado.
TABLA 5.
Node Guarding. Estados.
Valor
Estado
0
Inicializando
1
Desconectando *
2
Conectando *
3
Preparando *
4
Parado
5
En funcionamiento
127
En fase previa al funcionamiento normal
* Estos estados existen únicamente si el dispositivo soporta “extended boot-up”
Atención: La tarjeta CAN de los reguladores MCP y MCPi no soporta esta
característica.
Objetos relacionados.
100Ch
Guard Time
100Dh
Life Time
100Eh
Node Guarding Identifier ( por defecto: 700 + ID de nodo )
Alternativamente, un nodo puede ser configurado con el fin de generar un mensaje
periódico denominado “Heartbeat”.
(Heartbeat)
Productor Î Consumidor / es.
COB ID
Byte 0
0x700 + ID de nodo
Estado
Estado.
TABLA 6.
Heartbeat. Estados.
Estado
Significado
0
Boot-up
4
Parado
5
En funcionamiento
127
En fase previa al funcionamiento normal
El consumidor del “Heartbeat” normalmente es el elemento maestro que verifica el
envío por parte de cada uno de los nodos del mensaje de “Heartbeat” con una
periodicidad establecida dentro de unos determinados márgenes y que actuará en
consecuencia siempre que ésto no se cumpla en alguno de los nodos.
Atención: Un nodo no puede soportar “Heartbeat” y “Node Guarding” simultáneamente.
MCP/MCPi - Ref.0612
Protocolo CANopen - 13/40
(Sync)
Productor Î Consumidor / es.
COB ID
0x080
Objeto encargado de sincronizar el bus. Es cíclico, “Broadcast” y tiene máxima
prioridad en el bus después del NMT. Está directamente relacionado con el
tratamiento de PDOs.
Objetos relacionados.
1005 h
COB-ID del mensaje de sincronismo
1006 h
Período del ciclo de comunicación
1007 h
Longitud de la ventana síncrona
‡ PDO, Objeto de Datos de Proceso. Canal rápido
Los objetos de datos de procesos (PDOs) permiten llevar a cabo la transmisión de
datos en tiempo real y con identificadores de alta prioridad. Los telegramas de datos
pueden disponer de un máximo de 8 Bytes. El intercambio de datos puede realizarse
mediante eventos o de modo síncrono, según se requiera. El intercambio de
mensajes mediante eventos permite reducir drásticamente la carga en el bus con
respecto al modo síncrono.
Protocolo PDO
Este protocolo se utiliza para transmitir los datos al/desde el bus evitando sobrecargarlo con información redundante.
En los mensajes PDO (en los bytes de datos) se transmiten única y exclusivamente los valores de variables de distintos nodos eliminándose el envío de sus
identificadores. Para que esto pueda llevarse a cabo sin ningún tipo de error, los
elementos maestro y esclavo han concertado previamente qué variables van a ser
enviadas dentro de cada PDO (mapeo). Esta asignación se establece mediante los
objetos “PDO Mapping Parameter”. El tipo de comunicación que se establece
para cada PDO (sincronizada o por evento) será determinado por los objetos
“Communication Parameter”.
En función de quién emite el mensaje PDO se hablará de PDO de transmisión (del
elemento esclavo al maestro) ó de PDO de recepción (del elemento maestro al
esclavo).
Nota. El Standard DS301 establece cuatro PDOs de transmisión y otros 4 de
recepción por cada elemento esclavo. No es obligatorio implementar todos para
el cumplimiento de la norma.
14/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Mapeo y tipo de comunicaciones
Supóngase que en el objeto de mapeo del segundo PDO de transmisión se dispone de los siguientes valores:.
TABLA 7.
Mapeo y tipo de comunicaciones
Objeto 0x1A01
Subíndice
Valor
Significado
0
2
Se mapean dos objetos en este PDO
1
0x60000208
Objeto: 0x6000 (*)
Subíndice: 0x02
Dato: 8 bits
2
0x64010110
Objeto: 0x6401 (*)
Subíndice: 0x01
Dato: 16 bits
* Su descripción viene dada en la siguiente tabla.
Valor Dword (32 bits)
TABLA 8.
Descripción.
Bits 31-16
Bits 15-8
Bits 14-0
Indice
Subíndice
Nº de bits de datos del objeto
Supóngase que en el objeto de comunicaciones del segundo PDO de transmisión
se dispone de los siguientes valores:
TABLA 9.
Ej. de objeto del segundo PDO.
Objeto 0x1801
Subíndice
Valor
Significado
0
5
El objeto 0x1801 consta de 5 subíndices
1
0x00000280
PDO existe, RTR no permitido, 11 bits ID, COB ID=280h.
2
0xBC
La transmisión del PDO será cíclica y a través del bus tras
haber recibido 188 mensajes de sincronismo.
3
0x000A
El tiempo de “inhibit time” entre PDOs es de:
10 x 100 µs = 1 ms.
4
----------
Reservado.
5
0x0000
Intervalo del “event timer” 0.
Valor del subíndice 1 (COB ID)
TABLA 10. Valor del subíndice 1 (COB ID)
Bit 31
Bit 30
Bit 29
Bits 28-11
0ÎPDO existe
0ÎRTR permitido
0ÎCAN ID 11 bits Parte alta
1ÎPDO no existe 1ÎRTR no permitido 1ÎCAN ID 29 bits del COB ID
Bits 10-0
Parte baja
del COB ID
(si CAN ID
(si CAN ID
es de 29 bits). es de 29 bits).
COB ID
(si CAN ID es
de 11 bits).
MCP/MCPi - Ref.0612
Protocolo CANopen - 15/40
Valor del subíndice 2 ( Tipo de transmisión )
TABLA 11. Valor del subíndice 2 (tipo de transmisión).
Tipo de
transmisión
Condición de disparo del PDO
Transmisión del
( B = se necesitan ambos, O = uno o ambos ) PDO
SYNC
RTR
Evento
Objeto
SYNC
recibido
Recibida
solicitud de
transmisión
remota
Cambio de valor
de la interrupción
del temporizador
0
B
1-240
O
B
Síncrona (SYNC), cíclica
241-251
252
Síncrona (SYNC), acíclica
Reservado
B
B
Síncrona (SYNC) tras RTR
253
O
Asíncrona (ASYNC) tras RTR
254
O
O
Asíncrona (ASYNC), evento
específico de fabricante
255
O
O
Asíncrona (ASYNC), evento
específico del perfil de dispositivo.
donde:
‡ <SYNC> significa que la transmisión del PDO está relacionada con la recepción
del mensaje de sincronismo.
‡ <ASYNC> significa que la transmisión del PDO no tiene ninguna relación con
la recepción del mensaje de sincronismo.
Tipo de transmisión = 0. Síncrona y acíclica. Los mensajes son enviados únicamente si se produce un evento, y en este caso, el mensaje es enviado sincrónicamente con el siguiente mensaje de sincronismo.
Se entiende por evento a un cambio en el valor de la variable ó (si es soportado
por el equipo, objetos de comunicaciones con subíndice 5) un determinado tiempo
transcurrido.
Tipo de transmisión = 1 a 240. El PDO es transmitido tras haber recibido el nº de
mensajes de sincronismo especificados en el tipo de transmisión.
Tipo de transmisión = 252 a 253. Valores únicamente posibles en los PDOs de
transmisión. En ambos casos, el PDO es enviado como respuesta a una trama
RTR del elemento maestro. La diferencia radica en que el tipo de transmisión =
252 actualiza las variables con la llegada de los sincronismos y el tipo de transmisión = 253 actualiza las variables y las envía con la recepción de la trama RTR.
Tipo de transmisión = 254. El PDO se transmite cuando se produce algún evento
específico de fabricante.
Tipo de transmisión = 255. El PDO se transmite cuando se produce algún evento
específico del perfil de dispositivo.
16/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Valor del subíndice 3 (tiempo de inhibición ó deshabilitación)
Especifica el mínimo intervalo de tiempo (en incrementos de 100 µs) que transcurre
entre PDOs. Este intervalo de tiempo no puede ser modificado mientras el valor del
bit 31 del subíndice 1 (COB ID) sea 0 (el PDO existe).
Valor del subíndice 5 (temporizador de eventos)
Especifica el valor del temporizador de eventos (en incrementos de 1ms) cuando
el tipo de transmisión es 254 ó 255.
Ejemplo explicativo del sentido del “tiempo de inhibición” y del “temporizador de
eventos”.
Cuando se programa un PDO de transmisión de tipo 254 en el que se incluye una
variable de posición se presentan dos situaciones distintas. En tanto que el elemento
a emitir el PDO esté parado (sin variación en su posición) no será necesario ningún
envío. Si se programa un temporizador de eventos (event timer) de 10 ms, aunque
el elemento no varíe su posición (no se mueva) enviará PDOs cada 10 ms indicando
su posición. Al iniciar el movimiento tratará de enviar PDOs constantemente, ocupando así todo el bus con esta información. Con la finalidad de evitar esta situación
puede programarse un tiempo de inhibición (inhibit time) de 2 de manera que mientras se encuentre en movimiento únicamente envía PDOs cada 2 ms.
El mensaje
Atendiendo a la configuración expuesta en las tablas anteriormente señaladas, el
mensaje PDO (con los bytes que lo conforman) queda de la siguiente forma:
TABLA 12. Mensaje PDO.
COB ID
Byte 0
Byte 1
Byte 2
0x280
8 bits de datos del Parte baja de los 16 bits de Parte alta de los 16 bits de
+ ID del nodo objeto 0x6000
datos del objeto 0x6000
datos del objeto 0x6401
La transmisión del PDO será cíclica y es suministrada al bus tras haber recibido 188
mensajes de sincronismo.
Objetos relacionados
1004 h
Nº de PDOs soportados
‡ SDO, Objeto de Datos de Servicio. Canal lento
Los objetos de datos de servicio (SDOs) permiten llevar a cabo la lectura y escritura
de las entradas del diccionario de objetos (parámetros, variables, comandos, ...). Así,
haciendo uso de SDOs, cualquier nodo puede ser configurado por el elemento
maestro. El mensaje SDO, por defecto, lleva previamente asignado un identificador
de baja prioridad. Los datos transmitidos mayores de 4 Bytes pueden ser
fragmentados y debido a esto aparecen dos mecanismos de transferencia de un
SDO:
<Transferencia expeditada> utilizados para establecer una transferencia de
objetos de no más de 4 Bytes.
<Transferencia segmentada> utilizados para establecer una transferencia de
objetos de más de 4 Bytes.
MCP/MCPi - Ref.0612
Protocolo CANopen - 17/40
Estructuras básicas de un SDO
Las estructuras básicas de un SDO son:
Cliente
Servidor / Servidor Î Cliente
Î
TABLA 13. Estructura SDO. Cliente Î Servidor / Servidor Î Cliente
Byte 0
Byte 1
Indicador del
comando
SDO
Índice
de
objetos
ó también Cliente
Î
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Subíndice
de
objetos
Hasta 4 Bytes de datos en transferencia
expeditada ó 4 Bytes del contador en
transferencia segmentada
Servidor / Servidor Î Cliente
TABLA 14. Estructura SDO. Cliente Î Servidor / Servidor Î Cliente
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Indicador del
comando SDO
Hasta 7 Bytes de datos en transferencia
segmentada
Byte 6
Byte 7
Existen cinco protocolos de solicitud / respuesta implementados en los SDOs. Éstos
son:
‡ Comenzar la descarga de dominio (Initiate Domain Download)
‡ Descargar el segmento de dominio (Download Domain Segment)
‡ Comenzar la carga de dominio (Initiate Domain Upload)
‡ Cargar el segmento de dominio (Upload Domain Segment)
‡ Abortar la transferencia de dominio (Abort Domain Transfer)
Se entiende por descargar (download) a escribir en el diccionario de objetos y
cargar (upload) a leer del diccionario de objetos.
Indicadores de comando de SDO para los diferentes protocolos
TABLA 15. Inicio de la descarga de dominio.
Comenzar la descarga de dominio
bit
Cliente
Î
Servidor
Í
7
6
5
4
3
0
0
1
-
n
0
1
1
-
-
2
-
1
0
e
s
-
-
donde:
n Î Indicador del nº de bytes que no contienen datos y es válido si e=1 y s=1.
e Î Indicador de transferencia normal (e=0) ó transferencia expeditada (e=1).
s Î Indicación o no del tamaño de los datos. Si se indica (s=0) y si no se indica (s=1).
e = 0 y s = 0 Î Bytes de datos reservados por CiA para un futuro.
e = 0 y s = 1 Î El contador de Bytes se encuentra en los Bytes de datos (byte 4 LSB
a byte 7 MSB).
e = 1 Î Los Bytes de datos contienen los datos para descargar (download).
18/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
TABLA 16. Descarga del segmento de dominio.
Descargar el segmento de dominio
bit
Cliente
Î
Servidor
Í
7
6
5
4
3
0
0
0
t
n
0
0
0
t
-
2
1
0
c
-
-
-
donde:
n Î Indicador del nº de bytes que no contienen datos y es cero si el tamaño del
segmento no se indica.
c Î Indicador de segmentos para descargar. Si hay más segmentos para descargar
(c=0) y si es el último segmento (c=1).
t Î Bit de toggle que debe alternar con cada segmento consecutivo. La primera vez
es (t=0).
TABLA 17. Comienzo de la carga de dominio.
Comenzar la carga de dominio
bit
Cliente
Î
Servidor
Í
7
6
5
4
3
2
1
0
0
1
0
-
-
-
-
-
0
1
0
-
n
e
s
TABLA 18. Carga del segmento de dominio.
Cargar el segmento de dominio
bit
Cliente
Î
Servidor
Í
7
6
5
4
3
2
1
0
0
1
1
t
-
-
-
-
0
0
0
t
n
c
Un mensaje puede ser abortado tanto por el cliente como por el servidor. Debe
indicarse con el siguiente indicador de comando:
TABLA 19. Abortado de la transferencia de dominio.
Abortar la transferencia de dominio
bit
Cliente
Î / Í Servidor
7
6
5
4
3
2
1
0
1
0
0
-
-
-
-
-
Al abortar la transferencia de dominio los bytes de datos 0 y 1 contienen el índice
del objeto, el byte 2, el subíndice del objeto y los bytes 4-7 contienen el código de
abortar (abort) que describe la causa.
MCP/MCPi - Ref.0612
Protocolo CANopen - 19/40
Códigos que describen la posible razón de abortar SDO
TABLA 20. Descripción de los posibles códigos de abortado del SDO.
Código de abortar
Descripción
byte 7 byte 6 byte 5 byte 4
05
05
03
04
00
00
00
00
05
04
00
01
05
05
05
05
06
06
06
06
06
04
04
04
04
01
01
01
02
04
00
00
00
00
00
00
00
00
00
02
03
04
05
00
01
02
00
41
06
04
00
42
06
06
06
04
04
06
00
00
00
43
47
00
06
07
00
10
06
07
00
12
06
07
00
13
06
06
06
06
06
08
08
09
09
09
09
09
00
00
00
00
00
00
00
00
00
11
30
31
32
36
00
20
08
00
00
21
08
00
00
22
08
00
00
23
El bit basculante no es basculante
TimeOut para el protocolo SDO
Comando Cliente/Servidor inválido o identificador
desconocido
Tamaño no reconocido de bloque (sólo modo bloque)
Número no reconocido de bloque (sólo modo bloque)
Error CRC (sólo modo bloque)
Memoria insuficiente
Acceso no soportado a este objeto
Se ha intentado leer un objeto de sólo escritura
Se ha intentado escribir un objeto de sólo lectura
El objeto no existe en el diccionario de objetos
El objeto no puede ser mapeado a un PDO
El tamaño y número de objetos mapeados sobrepasan la
longitud del PDO
Incompatibilidad general de parámetros
Incompatibilidad general de dispositivos
Acceso infringido causado por error de hardware
Tipo de dato incompatible, la longitud del parámetro de
servicio es incompatible
Tipo de dato incompatible, el parámetro de servicio es
demasiado largo
Tipo de dato incompatible, el parámetro de servicio es
demasiado corto
No existe el subíndice
Rango de valores externo (sólo para acceso de escritura)
Valor de parámetro demasiado alto
Valor de parámetro demasiado bajo
El valor máximo es inferior al valor mínimo
Error / fallo general
Los datos no pueden ser transmitidos ni guardados
Los datos no pueden ser transmitidos ni guardados porque
el dispositivo está bajo control local
Los datos no pueden ser transmitidos ni guardados debido
al estado del dispositivo
No es posible generar dinámicamente el diccionario de
objetos
‡ Objeto de emergencia
Un mensaje de emergencia se compone de 8 bytes y dispone del siguiente formato:
TABLA 21. Mensaje de emergencia.
COB ID
Byte 0 -1
Byte 2
0x080
Código de error de Registro de error
+ ID del nodo emergencia
(objeto 0x1001)
20/40 - Protocolo CANopen
Byte 3 -7
Campo de error especificado
por el fabricante
MCP/MCPi - Ref.0612
Códigos de error de emergencia
TABLA 22. Códigos de error de emergencia.
Código de error de emergencia
Significado
00xx
10xx
20xx
21xx
22xx
23xx
30xx
31xx
32xx
33xx
40xx
41xx
42xx
50xx
60xx
61xx
62xx
63xx
70xx
80xx
81xx
8110
8120
8130
8140
82xx
8210
8220
90xx
F0xx
FFxx
Error reset o no error
Error genérico
Corriente
Corriente, lado de entrada del dispositivo
Corriente dentro del dispositivo
Corriente, lado de salida del dispositivo
Tensión
Tensión de red
Tensión dentro del dispositivo
Tensión de salida
Temperatura
Temperatura ambiente
Temperatura del dispositivo
Hardware del dispositivo
Software del dispositivo
Software interno
Software de usuario
Dato W
Módulos adicionales
Monitorización
Comunicación
CAN sobrepasado
Error pasivo
Error “ life guard” ó error “Heartbeat”
Restaurado desde el bus-off
Error de protocolo
PDO no procesado por error de longitud
Longitud superada
Error externo
Funciones adicionales
Específico de dispositivo
Códigos de error de emergencia in hexadecimal. Nótese que “xx” es una parte que
depende del perfil de dispositivo.
MCP/MCPi - Ref.0612
Protocolo CANopen - 21/40
Registro de error (objeto 0x1001)
TABLA 23. Registro de error (OBJETO 0x1001).
Bit
0
1
2
3
4
5
6
7
Tipo de error
Genérico
Corriente
Tensión
Temperatura
Comunicación
Específico del perfil de dispositivo
Reservado (=0)
Específico del fabricante
Objetos relacionados
1001 h
Registro de errores
1003 h
Campo de errores predefinidos
1014 h
COB ID para el mensaje de emergencia
‡ Descripción del diccionario de objetos
Objetos de comunicaciones (DS301)
TABLA 24. Objetos de comunicaciones (DS301).
Índice
Descripción
1000h
1001h
1003h
1005h
1006h
1007h
1008h
1009h
100Ah
100Ch
100Dh
1014h
1015h
1018h
1400h
1600h
1800h
1A00h
Tipo de dispositivo
Registro de errores
Campo de errores predefinidos
COB ID de mensaje SYNC
Período de ciclo de comunicación
Longitud de la ventana de sincronismo
Nombre de dispositivo del fabricante
Versión de hardware del fabricante
Versión de software del fabricante
Tiempo de vigilancia
Factor de tiempo de vida
COB ID para mensaje de emergencia
Tiempo de inhibición para mensaje de emergencia
Objeto de identidad
Parámetro de comunicación de PDO recepción
Parámetro de mapeo de PDO recepción
Parámetro de comunicación de PDO transmisión
Parámetro de mapeo de PDO transmisión
Objetos de fabricante MCP/MCPi CANopen
Descripción de las cabeceras de las diferentes columnas que componen la tabla de
los objetos de fabricante.
Fn Î Nombre Fagor del objeto.
Índice Î Índice hexadecimal del objeto CANopen de fabricante.
IdA Î Identificador de la variable dentro de la estructura “Assembly” en los mensajes
rápidos PDO.
22/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Variable Î Parámetro, variable o comando asignable al objeto.
Acc Î Acceso del objeto. Sólo lectura (R), lectura y escritura (R/W).
Tipo Î Tipo de datos del objeto. Entero sin signo (UINT), entero con signo (INT),
texto (string).
Rango Î Rango de valores (mínimo ó máximo) aceptado por el objeto.
TABLA 25. Objetos de fabricante MCP/MCPi CANopen.
Nombre Índice
IdA
Descripción
Acc
Tipo
Rango
AP1
5020h
41h
PrimaryOperationMode
R/W
UINT 2 a 5
BV14
40CCh
181h
NotProgrammableIOs
R
UINT 0 a 65535
CP1
506Ah
241h
CurrentProportionalGain
R/W
UINT 0 a 999
CP2
506Bh
242h
CurrentIntegralTime
R/W
UINT 0 a 999
CP10
413Bh
243h
VoltageAmpVolt
R/W
UINT 1000 a 9999
CP11
413Ch
244h
AmpAmpVolt
R/W
UINT 100 a 5000
CP20
4133h
245h
CurrentLimit
R/W
UINT 0 a 5000
CP30
4134h
246h
CurrentCommandFilter1Type
R/W
UINT 0 a 1
CP31
4138h
247h
CurrentCommandFilter1Frequency
R/W
UINT 0 a 4000
CP32
4139h
248h
CurrentCommandFilter1Dumping
R/W
UINT 0 a 1000
CP45
413Ah
249h
CurrentCommandSelector
R/W
UINT 0 a 3
CV1
4135h
281h
Current1Feedback
R
INT
-5000 a 5000
CV2
4136h
282h
Current2Feedback
R
INT
-5000 a 5000
CV3
4137h
283h
CurrentFeedback
R
INT
-5000 a 5000
CV10
4131h
284h
Current1Offset
R
INT
-2000 a 2000
CV11
4132h
285h
Current2Offset
R
INT
-2000 a 2000
CV15
413Dh
286h
DigitalCurrentCommand
R/W
INT
-5000 a 5000
DC1
5063h
301h
ResetClass1Diagnostics
R/W
UINT 0 a 15
DC2
4192h
302h
ClearHistoricOfErrorsCommand
R/W
UINT 0 a 15
DV17
419Ah
381h
HistoricOfErrors
R
String 0 a 999
DV31
5087h
382h
DriverStatusWord
R
UINT 0 a 65535
DV32
5086h
383h
MasterControlWord
R/W
UINT 0 a 65535
DV50
5FF8h
384h
ErrorBitArea
R
UINT
DV51
5FFDh
385h
WarningBitArea
R
UINT 0 a 65535
DV60
41CDh
386h
FastControlIn
R/W
UINT sin rango
DV61
41CEh
387h
FastControlOut
R
UINT sin rango
EP1
41F4h
441h
EncoderSimulatorPulsesPerTurn
R/W
UINT 1 a 4096
EP3
41F6h
442h
EncoderSimulatorDirection
R/W
UINT 0 a 1
GC1
5108h
601h
BackupWorkingMemoryCommand
R/W
UINT 0 a 15
GC3
42DAh
602h
AutophasingCommand
R/W
UINT 0 a 15
GC10
5106h
603h
LoadDefaultsCommand
R/W
UINT 0 a 15
GP3
42BEh
641h
StoppingTimeout
R/W
UINT 0 a 9999
GP5
42C0h
642h
ParameterVersion
R
UINT 0 a 9999
MCP/MCPi - Ref.0612
0x80000000 a
0x7fffffff
Protocolo CANopen - 23/40
Nombre Índice
IdA
Descripción
Acc
GP9
50CFh
643h
DriveOfDelayTime
R/W UINT 0 a 9999
Tipo
Rango
GP11
42D6h
645h
IOFunctionsTime
R/W UINT 0 a 9999
GP15
42D5h
646h
AutomaticInitialization
R/W UINT 0 a 1
GP16
42D7h
647h
MonoPhaseSelector
R/W UINT 0 a 1
GV2
501Eh
681h
ManufacturerVersion
R
string 0 a 9999
GV5
42C2h
682h
CodeChecksum
R
INT
-32768 a 32767
GV7
510Bh
683h
Password
R/W UINT 0 a 9999
GV9
508Ch
684h
DriveType
R
GV11
42C4h
685h
SoftReset
R/W UINT 0 a 16
GV16
42CCh
686h
MotorTableVersion
R
GV50
4725h
688h
SerialNumber
R
UINT -32768 a 32767
GV75
5177h
687h
ErrorList
R
string -32768 a 32767
HV5
4127h
781h
PLDVersion
R
UINT 0 a 65535
IP6
438Eh
841h
DigitalInputPolarity
R/W UINT 0 a 1
IP14
438Fh
842h
DigitalInputFunctionSelector
R/W UINT 0 a 4
IP17
4390h
843h
AnalogFunctionSelector
R/W UINT 0 a 2
IV1
4389h
881h
AnalogInput1
R
IV2
438Ah
882h
AnalogInput2
R
INT
-1200 a 1200
IV3
4391h
883h
CurrentCommandAfterScaling
R
INT
-9999 a 9999
IV10
438Bh
884h
DigitalInputs
R
UINT 0 a 1
IV11
438Ch
885h
DigitalInputsCh2
R
UINT -32768 a 32767
UINT -32768 a 32767
string -32768 a 32767
UINT 0 a 32767
INT
-12000 a 12000
ID5
49C4h
1B85h
BusCodeChecksum
R
KP3
445Ah
A41h
ExtBallastPower
R/W UINT 200 a 2000
KP4
445Ch
A42h
ExtBallastEnergyPulse
R/W UINT 200 a 2000
KV6
517Fh
A81h
MotorTemperature
R
UINT 0 a 200
KV10
444Eh
A82h
CoolingTemperature
R
UINT 0 a 200
KV32
4455h
A83h
I2tDrive
R
UINT 0 a 100
KV36
4457h
A84h
I2tMotor
R
UINT 0 a 100
KV40
445Bh
A85h
I2tCrowbar
R
UINT 0 a 100
KV41
445Dh
A86h
BallastSelect
R/W UINT 0 a 1
LP22
4912h
B41h
JogVelocity
R/W UINT 0 a 500000
LP23
4913h
B42h
JogIncrementalPosition
R/W UINT 0 a 0x7fffffff
LP48
4934h
B43h
PositionActionsSelect
R/W UINT -32768 a 32767
LP49
4935h
B44h
InBandPosition
R/W UINT 0 a 0x7fffffff
LP143
5189h
B45h
ModuleCommandMode
R/W UINT 0 a 2
LV13
4909h
B81h
KernelOperationMode
R/W UINT 0 a 1
LV14
490Ah
B82h
KernelAutoMode
R/W UINT 0 a 1
LV15
490Bh
B83h
KernelStartSignal
R/W UINT 0 a 1
LV16
490Ch
B84h
KernelStopSignal
R/W UINT 0 a 1
LV17
490Dh
B85h
KernelResetSignal
R/W UINT 0 a 1
LV19
490Fh
B86h
KernelManMode
R/W UINT 0 a 1
LV20
4910h
B87h
JogPositiveSignal
R/W UINT 0 a 1
LV21
4911h
B88h
JogNegativeSignal
LV35
491Fh
B89h
BlockTravelDistance
LV36
4920h
B8Ah
BlockCoveredDistance
LV158
5102h
B8Bh
TargetPosition
R/W UINT 0 a 1
0x8000000
R
INT
a 0x7fffffff
0x8000000
R
INT
a 0x7fffffff
0x8000000
R
INT
a 0x7fffffff
24/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Nombre Índice
IdA
LV159
B8Ch PositioningVelocity
5103h
Descripción
Acc
Tipo
R
UINT 0 a 0x7fffffff
Rango
LV160
5104h
B8Dh PositioningAcceleration
R/W
UINT 0 a 0x7fffffff
LV161
5105h
B8Eh PositioningAcceleration2
R/W
UINT 0 a 0x7fffffff
LV242
5156h
B8Fh TargetPositionAttained
R
UINT 0 a 1
MP1
508Dh
C41h MotorType
R/W
string -32768 a 32767
MP2
44B0h
C42h MotorTorqueConstant
R/W
UINT 0 a 1000
MP3
506Fh
C43h MotorContinuousStallCurrent
R/W
UINT 0 a 5000
NP117
5075h
D42h ResolutionOfFeedback2
R/W
UINT 0 a 65535
NP118
5076h
D43h ResolutionOfLinearFeedback
R/W
UINT 0 a 65535
NP121
5079h
D44h InputRevolutions
R/W
UINT 1 a 65535
NP122
507Ah
D45h OutputRevolutions
R/W
UINT 1 a 65535
NP123
507Bh
D46h FeedConstant
R/W
UINT 0 a 0x7fffffff
NP131
4082h
D47h InputRevolutions2
R/W
UINT 1 a 65535
NP132
4083h
D48h OutputRevolutions2
R/W
UINT 1 a 65535
NP133
4084h
D49h FeedConstant2
R/W
UINT 0 a 0x7fffffff
OP1
4578h
E41h DA1IDN
R/W
UINT 0 a 13
OP2
4579h
E42h DA2IDN
R/W
UINT 0 a 13
OP3
457Ah
E43h DA1ValuePer10Volt
R/W
UINT 0 a 9999
OP4
457Bh
E44h DA2ValuePer10Volt
R/W
UINT 0 a 9999
OP6
4588h
E45h DigitalOutputPolarity
R/W
UINT 0 a 1
OP14
4586h
E46h DigitalOutputFunctionSelector
R/W
UINT 0 a 7
OP15
4587h
E47h DigitalOutputWarningSelector
R/W
UINT 0 a 2
OV10
4582h
E81h DigitalOutputs
R
UINT 0 a 1
OV11
4585h
E82h DigitalOutputsCh2
R/W
UINT -32768 a 32767
PC148
5094h
F02h
DriveControlledHoming
R/W
UINT 0 a 15
PC150
4517h
F03h
ChangePosFB12
R/W
UINT 0 a 16
PP1
5028h
F41h
HomingVelocitySlow
R/W
UINT 0 a 1200
PP41
5029h
F42h
HomingVelocityFast
R/W
UINT 0 a 6000
PP42
502Ah
F43h
HomingAcceleration
R/W
PP49
5031h
F44h
PositivePositionLimit
R/W
PP50
5032h
F45h
NegativePositionLimit
R/W
PP52
5034h
F46h
ReferenceDistance1
R/W
PP54
5036h
F47h
ReferenceDistance2
R/W
PP55
5037h
F48h
PositionPolarityParameters
R/W
PP57
5039h
F49h
PositionWindow
R/W
PP76
504Ch
F4Ah PositionDataScalingType
R/W
UINT 0 a 0x7fffffff
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
UINT 0 a 65535
0x8000000
INT
a 0x7fffffff
UINT 1 a 65535
PP103
5067h
F4Bh ModuleValue
R/W
UINT 0 a 0x7fffffff
PP104
5068h
F4Ch PositionKvGain
R/W
UINT 0 a 65535
PP105
5069h
F4Dh PositionKvGain2
R/W
UINT 0 a 65535
PP115
5073h
F4Eh PositionFeedback2Type
R/W
UINT 0 a 32
PP147
5093h
F4Fh HomingParameter
R/W
UINT 0 a 65535
PP159
509Fh
F50h
MonitoringWindow
R/W
UINT 0 a 0x7fffffff
PP216
5128h
F51h
VelocityFeedforwardPercentage
R/W
UINT 0 a 120
PP218
4526h
F52h
VelocityFeedforwardPercentage2
R/W
UINT 0 a 120
MCP/MCPi - Ref.0612
Protocolo CANopen - 25/40
Nombre Índice
IdA
Descripción
Acc
Tipo
PV51
5033h
F81h
PositionFeedback1
R
PV53
5035h
F82h
PositionFeedback2
R
PV173
50ADh F83h
MarkerPositionA
R
PV189
50BDh F84h
FollowingError
R
PV200
5190h
F85h
HomeSwitch
R
Rango
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
0x8000000
INT
a 0x7fffffff
UINT 0 a 1
PV208
5198h
F86h
ReferenceMarkerPulseRegistered
R
UINT 0 a 1
QP11
47D0h
1043h
CanBusSpeed
R/W
UINT 0 a 20
QP14
47DAh 1044h
ProtocolTypeSelector
R/W
UINT 2 a 4
QP16
47DCh 1045h
SerialSettings
R/W
UINT 0 a 65535
QV22
5016h
1081h
IDNListOfInvalidOperationData
R
string 0 a 65535
QV96
5060h
1083h
SlaveArrangement
R/W
UINT 0 a 127
RC1
45E9h
1101h
EncoderParameterStoreCommand
R/W
UINT 0 a 15
RG1
3801h
11C1h
PiecesCount
R/W
UINT 0 a 65535
RG2
3802h
11C2h
ActualPiecesCount
R/W
UINT 0 a 65535
RG3
3803h
11C3h
RunningBlock
R/W
UINT 0 a 127
RG4
3804h
11C4h
PositionBlockIni
R/W
UINT 0 a 127
RP1
45DCh 1141h
FeedbackSineGain
R/W
UINT 0 a 8192
RP2
45DDh 1142h
FeedbackCosineGain
R/W
UINT 0 a 8192
RP3
45DEh 1143h
FeedbackSineOffset
R/W
INT
-2000 a 2000
RP4
45DFh 1144h
FeedbackCosineOffset
R/W
INT
-2000 a 2000
RV1
45E2h
1181h
FeedbackSine
R
INT
-512 a 511
RV2
45E3h
1182h
FeedbackCosine
R
INT
-512 a 511
RV3
45E4h
1183h
FeedbackRhoCorrection
R
UINT 0 a 65535
SP1
5064h
1241h
VelocityProportionalGain
R/W
UINT 0 a 9999
SP2
5065h
1242h
VelocityIntegralTime
R/W
UINT 0 a 9999
SP3
5066h
1243h
VelocityDerivativeGain
R/W
UINT 0 a 9999
SP10
505Bh
1244h
VelocityLimit
R/W
UINT 0 a 9999
SP19
4653h
1245h
SymmetryCorrection
R/W
INT
SP20
4654h
1246h
VoltageRpmVolt
R/W
UINT 1000 a 9999
SP21
4655h
1247h
RpmRpmVolt
R/W
UINT 10 a 9999
SP30
4643h
1248h
VelocityOffset
R/W
INT
SP40
507Dh
1249h
VelocityThresholdNx
R/W
UINT 0 a 9999
SP41
509Dh
124Ah
VelocityWindow
R/W
UINT 0 a 9999
SP42
507Ch
124Bh
StandStillWindow
R/W
UINT 0 a 9999
SP43
502Bh
124Ch
VelocityPolarityParameters
R/W
UINT 0 a 1
SP45
4651h
124Dh
VelocityCommandSelector
R/W
UINT 0 a 2
SP60
508Ah
124Eh
AccelerationLimit
R/W
UINT 0 a 4000
-500 a 500
-2000 a 2000
SP65
4649h
124Fh
EmergencyAcceleration
R/W
UINT 0 a 4000
SP66
4652h
1250h
VelocityDecelerationTime
R/W
UINT 0 a 4000
SV1
5024h
1281h
VelocityCommand
R/W
INT
-6·107 a 6·107
SV2
5028h
1282h
VelocityFeedback
R
INT
-6·107 a 6·107
SV6
4656h
1283h
VelocityCommandAfterFilters
R
INT
-6·107 a 6·107
SV7
464Ch
1284h
VelocityCommandFinal
R
INT
-6·107 a 6·107
26/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Nombre Índice
IdA
Descripción
Acc
Tipo
Rango
SV15
4657h
1285h
DigitalVelocityCommand
R/W
INT
-6·107 a 6·107
TP1
507Eh
1341h
TorqueThresholdTx
R/W
UINT 0 a 100
TV1
5050h
1381h
TorqueCommand
R
INT
-9999 a 9999
TV2
5054h
1382h
TorqueFeedback
R
INT
-9999 a 9999
‡ Descripción de los PDOs
La tarjeta CAN de comunicaciones de los reguladores MCP y MCPi dispone de un
PDO de recepción y un PDO de transmisión (pudiendo incrementarse este número
en futuras versiones). El mapeo de los PDOs viene establecido desde fábrica y no
puede ser modificado por el usuario. Los parámetros de comunicación de los PDOs
quedan accesibles al usuario pudiendo éste seleccionar tanto el tipo de
comunicación a llevar a cabo como su habilitación.
El fin último de los PDOs es establecer el control de los módulos esclavos en tiempo
real por parte del módulo maestro. En los reguladores existen dos estructuras de
datos (directamente mapeadas a estos mensajes PDO) denominadas Assembly
pensadas para poder gobernar los accionamientos en tiempo real. Constan, cada
una de ellas, de 8 bytes y su objetivo es, entre otros, establecer el control sobre el
regulador desde el módulo maestro pudiendo modificar sus variables y parámetros
(AssemblyIn) y además poder informar desde el regulador, de su estado y al mismo
tiempo devolver las variables solicitadas por el módulo maestro (AssemblyOut).
AssemblyIn - Control
TABLA 26. AssemblyIn.
B7
B6
Byte 0
I_Fast
Starting_Block
Byte 1
Drive_
Enable
Speed_
Enable
Byte 2
Dir_Var Bits 0 -7
Byte 3
Command_
Toggle_Bit
Byte 4
Data_Byte 0
Byte 5
Data_Byte 1
Byte 6
Data_Byte 2
Byte 7
Data_Byte 3
Command
B5
Home_
Switch
B4
B3
B2
B1
B0
Lim -
Lim +
Reset *
Jog- **
Stop
Start *
Jog+ **
Dir_Var Bits 8-12
* KernelOperationMode Î LV13 = 0, es decir, en modo automático.
** KernelOperationMode Î LV13 = 1, es decir, en modo manual.
I_Fast: Bit que permite activar la entrada rápida (como evento de paso de bloque)
a través del bus de comunicaciones.
Starting_Block (7 bits): Especifica el nº de bloque a partir del cual será iniciada la
ejecución en la tabla de movimientos.
Drive_Enable: Bit que permite activar a través del bus de comunicaciones el Drive
Enable del equipo siempre y cuando la entrada hardware correspondiente esté
activada. La señal final interpretada por el equipo viene dada por un “AND” lógico
entre el valor de la entrada física Drive_Enable y el bit Drive_Enable del AssemblyIn.
Speed _Enable: Bit que permite activar a través del bus de comunicaciones el Speed
Enable del equipo siempre y cuando la entrada hardware correspondiente esté
activada.
MCP/MCPi - Ref.0612
Protocolo CANopen - 27/40
La señal final interpretada por el equipo viene dada por un “AND” lógico entre el valor
de la entrada física Speed_Enable y el bit del Speed_Enable del AssemblyIn.
Home_Switch: Bit que permite activar a través del bus de comunicaciones el final
de carrera del Home_Switch (micro de búsqueda de cero o referencia).
Lim + : Bit que permite activar a través del bus de comunicaciones el final de carrera
del límite positivo del recorrido.
Lim - : Bit que permite activar a través del bus de comunicaciones el final de carrera
del límite negativo del recorrido.
Reset : Control digital de la señal Reset. Si el regulador está en modo manual
(LV13 = 0), la activación de este bit implica actuar sobre la señal Jog-. Si está en
modo automático, la activación de esta señal efectúa un Reset en el secuenciador
de movimientos.
Stop : Bit que permite detener el movimiento en curso.
Start : Control digital de la señal Start. Si el regulador está en modo manual (LV13
= 0), la activación de este bit implica actuar sobre la señal Jog+. Si está en modo
automático, pueden establecerse dos posibles situaciones:
‡ Si se activa Start por primera vez o tras realizar un Reset de movimientos, el
secuenciador de posición comenzará la ejecución del bloque indicado en los bits
de Starting_Block.
‡ Si durante la ejecución de un bloque se activa una señal Stop, el equipo se
detiene. Si ahora se activa una señal de Start, el equipo continua con la ejecución
del bloque justamente donde se detuvo cuando fue activada la señal de Stop.
Command: Campo del AssemblyIn donde es indicada la acción a llevar a cabo por
el elemento maestro. Véanse los ejemplos prácticos documentados más adelante.
0
1
2
3
Leer un parámetro / una variable.
Escribir un parámetro / una variable
Leer en la tabla de movimientos
Escribir en la tabla de movimientos
Dir_Var: Campo de la estructura AssemblyIn que en función del comando solicitado
por el elemento maestro podrá indicar tanto el identificador IdA de una variable como
el bloque de posición a leer/escribir por el elemento maestro (véanse los ejemplos
prácticos documentados más adelante).
Command Toggle Bit: Bit cuyo fin es hacer efectivo por parte del módulo maestro
el comando solicitado en los bits Command del AssemblyIn. Esto se consigue
negando el estado actual de este bit.
28/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
AssemblyOut - Estado
TABLA 27. AssemblyOut.
B7
B6
B5
Byte 0
Ref_Done
Reg_Status Warning
Byte 1
-------------
Active_Block
Byte 2
Command_
Command_ Command_
Toggle_Bit_Resp Resp
ok
Operation_
Status
Byte 3
-------------
------
Byte 4
Data_Byte_Resp 0
Byte 5
Data_Byte_Resp 1
Byte 6
Data_Byte_Resp 2
Byte 7
Data_Byte_Resp 3
------ ------
B4
------
B3
B2
Error
In_Position ---- Speed_Enable
------
B1 B0
---- ------
(----) Bits reservados.
Ref_Done: Bit indicador (al módulo maestro) de que la acción de “búsqueda de
cero” ha sido realizada satisfactoriamente.
Reg_Status: Bits indicadores del estado en el que se encuentra el regulador.
0
1
2
3
Realizando el test interno de Start-Up.
Control establecido. A la espera de recibir potencia.
Power On. Potencia y control establecidos pero, sin par en el motor.
Torque On. Motor con par (habilitado).
Warning: Bit indicador de que el regulador se encuentra en un estado de warning
(aviso).
Error: Bit indicador de que se ha producido algún error en el regulador.
In_Position: Bit indicador de que ha sido alcanzada la posición de destino de un
bloque. Es activado cuando el posicionador se encuentra dentro de la banda
especificada en el parámetro PP57 - Position Window -.
Speed_Enable: Bit que refleja el estado interno de la señal Speed_Enable del
regulador. Se tiene en cuenta tanto la entrada física como el bit del AssemblyIn.
Active_Block: Bits indicadores del nº de bloque de la tabla de posicionamiento
actualmente en ejecución.
Command_Toggle_Bit_Resp: Tras recibir un nuevo comando mediante el cambio
de valor de Command_Toggle_Bit, el regulador inicia su ejecución. Finalizada la
ejecución, se hace una copia de l valor de Command_Toggle Bit en
Command_Toggle_Bit_Resp. Así, el módulo maestro queda informado de que el
comando se ha completado.
Command_Resp: Reflejo del comando especificado en los bits “Command” del
AssemblyIn.
Command_OK: Tras recibir un nuevo comando mediante el cambio de valor de
Command_Toggle_Bit, el bit “Command_OK” será activado cuando el comando
solicitado ha sido ejecutado satisfactoriamente. Se pondrá a cero siempre que se
generen errores en la ejecución del comando.
MCP/MCPi - Ref.0612
Protocolo CANopen - 29/40
Operation_Status: Bits que reflejan el “modo” y el “estado” en el que se encuentra
el secuenciador de movimientos del equipo.
STOP
5
KernelStopSignal
KernelResetSignal
KernelStopSignal
0
KernelOperationMode
desde
& KernelResetSignal
10-11-12
3
KernelStopSignal
PAUSA DE
BLOQUE
En espera de la
señal START
MODO
MANUAL
4
& JogNegativeSignal
& KernelManMode
(CONTINUO)
OR KernelResetSignal
OR KernelStopSignal
Modo JOG en
funcionamiento
JogPositiveSignal
OR JogNegativeSignal
& KernelResetSignal
& KernelStopSignal
11
Desde todos
los estados
KernelManMode
(INCREMENTAL)
& FIN DE
MOVIMIENTO
10
JogPositiveSignal
& JogNegativeSignal
A la espera de
desactivar el
modo JOG
12
Alarma
2
Cambio a
KernelOperationMode
1
JogPositiveSignal
KernelStartSignal & KernelStopSignal
En espera de que
la señal START
no esté activa
KernelStopSignal
KernelStartSignal
& KernelStopSignal
BLOQUE EN EJECUCIÓN
desde
0-1-2-3-4-5
Cambio a
KernelStartSignal
BlockEnd
KernelResetSignal
6
Reset
MODO
AUTOMÁTICO
Alarma
15
Mnemónicos y símbolos
A (A negada)
A
Señal A no activa
Ejemplo:
Señal A activa
KernelStopSignal = KernelStopSignal no activa
KernelStopSignal = KernelStopSignal activa
Transiciones entre estados
X
Estado
Modo de operación
FIGURA 5.
Modo de operación del regulador.
Data_Byte_Resp 0-3: Bytes de datos que contienen la información solicitada (valor
de variable, parámetro o valores de la tabla de posicionamiento) por el módulo
maestro. El Data_Byte_Resp 0 contiene el byte de menor peso de la variable
solicitada mientras que el Data_Byte_Resp 3 contiene el byte de mayor peso.
Estructura del Assembly. Ejemplos prácticos.
La estructura del Assembly facilita la labor a un elemento maestro externo a la hora
de realizar diferentes operaciones con el regulador utilizando un único tipo de
mensaje de comunicaciones. Un ejemplo de ello lo constituyen los PLC que realizan
cíclicamente, operaciones con los diferentes elementos esclavos, utilizando el
mismo tipo de mensaje rápido.
Véanse seguidamente algunos ejemplos prácticos en los que se detalla cómo debe
configurar el módulo maestro cada uno de los bits del AssemblyIn para llevar a cabo
las operaciones requeridas.
Se entenderá (en todos los ejemplos) que el bit de “Command_Toggle_Bit_Resp”
que devuelve el módulo esclavo antes de que el módulo maestro envíe el
AssemblyIn está a cero.
30/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Lectura de parámetro/variable
Para leer un parámetro ó una variable del regulador, asignar necesariamente al
campo “Command” un 0.
Seguidamente, introducir en los 13 bits del campo “Dir_Var” el identificador Id
Assembly correspondiente al parámetro o variable a leer. Este identificador es
suministrado en la tercera columna de las tablas de descripción de los objetos
CANopen específicos de fabricante. Así, p. ej. si se desea leer la variable SV2
(realimentación de velocidad), introducir el valor Id Assembly de SV2 en hexadecimal
Î1282h. Véase TABLA 25.
Finalmente, asignar al bit “Command_Toggle_Bit” un 1 cuando desee ejecutarse la
orden.
Escritura de parámetro/variable
Para escribir en un parámetro ó en una variable del regulador, asignar
necesariamente al campo “Command” un 1.
Seguidamente, introducir en los 13 bits del campo “Dir_Var” el identificador Id
Assembly correspondiente al parámetro o variable a leer. Este identificador es
suministrado en la tercera columna de las tablas de descripción de los objetos
CANopen específicos de fabricante. Así, p. ej. si se desea escribir en el parámetro
CP20 (límite de corriente), introducir el valor Id Assembly de CP20 en hexadecimal
Î245h. Véase TABLA 25.
El valor a escribir en el parámetro ó variable se introducirá en los cuatro primeros
bytes de datos (destinados al respecto) y en las unidades requeridas. Véanse las
unidades en el apartado de parámetros, variables y comandos del manual del
regulador MCP ó MCPi, según corresponda.
Así, p.ej. si se establece un límite de la corriente (según parámetro CP20) de 5 A,
se escribirá en los 4 bytes “Data_Byte” el valor de 500 cA (centiAmperios).
Finalmente, asignar al bit “Command_Toggle_Bit” un 1 cuando desee ejecutarse la
orden.
Una vez que el mensaje ha sido recibido por el módulo esclavo, éste comprueba la
existencia del parámetro y trata de escribir en él. Si tiene éxito se activa el bit
“Command_OK” del mensaje AssemblyOut.
Tabla de movimientos
Los equipos MCP/MCPi integran lazo de posición y posicionador. La secuencia de
movimientos a llevar a cabo por el posicionador es programada mediante una tabla
de 127 bloques. Cada bloque establece una posición y en él pueden programarse
diferentes parámetros (posición absoluta o incremental, velocidad máxima de
posicionamiento, activación de salidas tras la ejecución del bloque, ...) a los que el
posicionador obedece durante la ejecución del bloque.
Existe la posibilidad de lectura/escritura de todos los elementos que componen la
tabla de movimientos a través de los mensajes Assembly. La estructura del bloque
de posicionamiento que ofrece la TABLA 28. detalla los 16 words que componen el
bloque. El word más significativo (de mayor peso) es el situado más a la izquierda
(word 15) y el menos significativo (de menor peso) el situado más a la derecha (word
0).
MCP/MCPi - Ref.0612
Protocolo CANopen - 31/40
TABLA 28. Estructura del bloque de posicionamiento.
Descripción
Reserv.
del campo
LOOP
NEXT
PROGOUT
0001h a 0080h
Valor
“ OR ”
Cnt piezas
SC00h
0000h
a
FFFFh
0000h
00000000h
a
000000FFh
Descripción
del campo
Valor
Nº WORD
15-12
11
10
VELPOS
9-8
5-4
TIEMPO
0001h
InTpos (teórico)
0002h
InBand
0003h
ActSpeedReached
0004h
NextSpeedReached
0005h
FastInput (2
0100h
0000h
a
FFFFh
7
6
POSDEST
VALOR
00000000h
a
FFFFFFFFh
TIPO
InRpos (real)
“OR”
END=xxFEh (1
Nº WORD
EVENTO
00000000h
a
FFFFFFFFh
3-2
MODO
Absoluto
0000 0001 h
Incremental
0000 0002 h
+ Infinito
0000 0003 h
- Infinito
0000 0004 h
Stop
0000 0005 h
1-0
(1
El word nº10, < siguiente bloque > consta de dos bytes con diferentes funcionalidades.
Byte bajo: indica el nº del siguiente bloque a ejecutar (valores válidos entre 1 y 127 y además el 254).
Byte alto: SC (Salto Condicional). Si se desea que al final del bloque aumente el contador de piezas realizadas
(REG2), este byte deberá tomar un valor distinto de cero. Cuando el contador de piezas coincida con el nº de piezas
deseadas (REG1) el siguiente bloque a ejecutar será el indicado en este byte.
END (xxFEh): indistintamente del valor que posea el byte alto (xxh), si se introduce (FEh) en el byte bajo, supondrá
el bloque final del programa.
(2 Si se desea que la condición de paso de bloque sea "posición teórica alcanzada" o activación de la entrada rápida
"fast input", el valor a introducir será 0102h.
Lectura de la tabla de movimientos
Para la lectura de datos en la tabla de movimientos del regulador, asignar el valor
2 al campo “Command” del AssemblyIn. La selección de un elemento de la tabla
se establece desde el campo “Dir_Var”. En sus 8 bits menos significativos (de menor
peso) se indicará el número de bloque de posicionamiento y en los 5 bits más
significativos (de mayor peso) el número de “word” a leer dentro del bloque.
Los accesos a la tabla de parámetros son llevados a cabo de 4 en 4 bytes siendo
muy conveniente (imprescindible) acceder a números de “word” pares para evitar
así equívocos en la interpretación de datos.
Ejemplo.
Para leer el valor de la posición de destino (words 2 y 3, siendo el origen el más bajo,
es decir, 2) del número de bloque 19 se introduce el valor hexadecimal 213h en el
campo “Dir_Var” del AssemblyIn. Ahora, cuando vaya a ser ejecutada la orden,
poner a 1 el bit “Command_Toggle_Bit”.
Recibido el mensaje por el módulo esclavo, éste comprueba la existencia de la
información solicitada y en caso afirmativo activa el comando “Command_Ok” y
devuelve la posición de destino a través de los mensajes AssemblyOut hasta que
cambie nuevamente el bit “ Command_Toggle_Bit ” (cambio de comando o de dato
solicitado de la tabla).
32/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Escritura de la tabla de movimientos
Para la escritura de datos en la tabla de movimientos del regulador, asignar el valor
3 al campo “Command” del AssemblyIn. La selección de un elemento de la tabla se
establece desde el campo “Dir_Var”. En sus 8 bits menos significativos (de menor
peso) se indicará el número de bloque de posicionamiento y en los 5 bits más
significativos (de mayor peso) el número de “word” a escribir dentro del bloque.
Los accesos a la tabla de parámetros son llevados a cabo de 4 en 4 bytes siendo
muy conveniente (imprescindible) acceder a números de “word” pares para evitar
así equívocos en la interpretación de datos.
Ejemplo.
Para cambiar el tipo de evento (condición de paso de bloque del posicionador, word
7) hay que escribir simultáneamente los words 6 y 7. Así, si se pretende un cambio
de bloque del posicionador cuando el lazo de posición alcanza la posición teórica
final (evento del tipo 2), se escribirá el valor hexadecimal 20000h en los bytes de
datos “Data_Byte”. Ahora, cuando vaya a ser ejecutada la orden, poner a 1 el bit
“Command_Toggle_Bit”.
Recibido el mensaje por el módulo esclavo, éste comprueba la existencia de los
datos que van a ser escritos y, si consigue escribirlos con éxito, entonces activa el
comando “Command_Ok” del mensaje AssemblyOut.
MCP/MCPi - Ref.0612
Protocolo CANopen - 33/40
Puesta en marcha
‡ Descripción de la tarjeta CAN
FIGURA 6.
Descripción de la tarjeta CAN® de un módulo MCP ó MCPi. Protocolo CANopen.
‡ MS Led Î Module Status Led. Diodo emisor de luz bicolor (colores rojo y verde)
indicativo del estado del regulador.
‡ NS Led Î Network Status Led. Diodo emisor de luz bicolor (colores rojo y verde)
indicativo de los diferentes estados en los que el equipo puede encontrarse dentro del bus CAN de comunicaciones.
‡ Conmutadores “x1” y “x10” Î Conmutadores rotativos que permiten seleccionar un dígito entre 0 y 9 en cada uno de ellos y de cuya combinación se obtiene
un número que estará comprendido entre 0 (ambos señalan 0) y 99 (ambos
señalan 9). Cada nodo del bus se diferencia del resto de ellos en el nº de nodo
que le ha sido asignado desde estos conmutadores rotativos. Cualquier valor
entre 01 y 98 podrá ser asumido como nº de nodo por un equipo.
Nota: Únicamente serán utilizados los valores 0 y 99 para ciertos casos
especiales documentados más adelante.
‡ Selección de la velocidad de comunicación
La primera labor que debe realizarse siempre que se incorpora un nuevo equipo en
la red CANopen es adecuar su velocidad de comunicación a la velocidad de la red.
Se dispone de dos selectores rotativos (x10, x1) y dos indicadores MS (Module
Status) y NS (Network Status) que permiten llevar a cabo este proceso.
Las velocidades de transmisión que pueden ser seleccionadas en CANopen son 10,
20, 50, 100, 125, 250, 500, 800 y 1000 (en kbit/s) .
Proceso de selección
En el arranque de un equipo y siempre que los selectores rotativos estén
seleccionando 99 (es decir, cada uno señalando al 9), estará habilitado el modo
de selección de la velocidad de transmisión. Los leds MS y NS parpadearán
simultáneamente, en verde, con una periodicidad de 500 ms aprox., indicando que
34/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
el modo de selección de la velocidad de comunicación está habilitado. Desde este
estado pueden llevarse a cabo las siguientes operaciones:
Verificar la velocidad de transmisión seleccionada
Para conocer cual es la velocidad de transmisión a la que se está realizando la
comunicación en la red, en ese mismo instante, se actuará sobre el selector rotativo
“x1” situándolo en la posición ”0”. El indicador MS realizará un nº de parapadeos (led
rojo parpadeante) y seguidamente permanecerá en estado no iluminado aprox.
durante 1 segundo. Tras ese tiempo inicia nuevamente esta misma secuencia.
El nº de parpadeos (en rojo) efectuados entre cada dos intervalos en los que el led
deja de estar iluminado indica la velocidad de comunicación (almacenada en
memoria) con la que el equipo tratará de conectarse a la red.
La tabla asociativa entre el nº de parpadeos del led MS en rojo y la velocidad de
transmisión de la red es:
TABLA 29. Verificación de la velocidad de transmisión.
nº de parpadeos
del led MS
Velocidad de
transmisión
nº de parpadeos
del led MS
Velocidad de
transmisión
1
2
3
4
5
1000 kbit/s
800 kbit/s
500 kbit/s
250 kbit/s
125 kbit/s
6
7
8
9
100 kbit/s
50 kbit/s
20 kbit/s
10 kbit/s
Ejemplo.
Si el nº de parpadeos en rojo del led MS es de 3 (entre cada dos períodos en los
que no se ilumina) estará indicando según esta tabla que la velocidad de transmisión
de la red es 500 kbit/s.
Seleccionar la velocidad de transmisión
Para establecer una velocidad de transmisión igual a la de comunicación en la red
en el nuevo equipo que se incorpora, se actuará sobre su selector rotativo “x1”
situándolo entre las posiciones 1 y 9 para seleccionar alguna de las velocidades.
TABLA 30. Selección de la velocidad de transmisión.
Posición del switch
rotativo “x1”
1
2
3
4
5
Velocidad de
transmisión
1000 kbit/s
800 kbit/s
500 kbit/s
250 kbit/s
125 kbit/s
Posición del switch
rotativo “x1”
6
7
8
9
Velocidad de
transmisión
100 kbit/s
50 kbit/s
20 kbit/s
10 kbit/s
Ejemplo.
Si la velocidad de comunicación en la red es 500 kBd, el equipo que se incorpora
también deberá transmitir a esa velocidad, es decir, habrá que situar su switch
rotativo “x1” en la posición 3.
MCP/MCPi - Ref.0612
Protocolo CANopen - 35/40
Simultáneamente y con las mismas secuencias ya comentadas en párrafos
anteriores, el led MS parpadeará (en verde) identificando así la velocidad
seleccionada.
Seleccionada la posición en el switch “x1”, será necesario confirmar la selección.
Para ello, actúese sobre el switch “x10” ubicándolo en la posición 0. El led MS, ahora
destelleando en rojo, es indicativo de la velocidad seleccionada. Tras esta operación,
esta velocidad será almacenada permanentemente en la memoria no volátil del
equipo. Tras realizar un reset en el equipo, éste asumirá ya como velocidad de
transmisión la almacenada en memoria.
‡ Determinación del nº de nodo
Determinada la velocidad de transmisión del equipo en la red, será ahora necesario
identificarlo dentro de la misma. Habrá que asignar al nuevo equipo incorporado un
nº identificador único que le permita diferenciarse de cualquier otro equipo que
forme parte de la red y evitar así colisiones. Este nº identificador ID se conocerá como
nº de nodo y debe ser único para cada equipo.
IMPORTANTE: Queda bajo la responsabilidad del usuario evitar que dos
equipos distintos dispongan del mismo nº de nodo.
La determinación del nº de nodo del equipo se lleva a cabo mediante los dos
conmutadores rotativos x1 y x10.
Ejemplo.
Para asignar a un equipo el nº de nodo 57, habrá que situar
la flecha del conmutador rotativo “ x10 ” señalando la posición
5 y la del rotativo “ x1” la posición 7. Véase figura.
Se comprueba que 10 x 5 + 1 x 7 = 57.
Tras realizar un reset del regulador, éste será identificado en la red con el nº de nodo
que le ha sido asignado.
El rango de selección del nº de nodo en una red CANopen está comprendido entre 01 y 127. Ahora bien, cuando se trata de equipos MCP ó MCPi sólo será
posible una selección de nodo entre 01 y 98. Recuérdese que el nº de nodo 99
queda reservado en su uso al proceso de selección de velocidad y el 00 se trata
inmediatamente como 01 ya que el nodo 00 no existe en CANopen.
En cada arranque del equipo, éste asume como nº de nodo, el asignado en los
selectores rotativos “x1” y “x10”.
‡ Indicadores de estado
La tarjeta CAN del regulador dispondrá de dos indicadores o leds “bicolor”. Éstos
son, MS (Module Status) y NS (Network Status). El indicador MS visualiza el estado
del equipo y NS informa del estado del equipo dentro de la red CANopen.
36/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
En un proceso inicial del equipo estos leds alcanzan los siguientes estados con el
fin de verificar el correcto estado del regulador.
on
MS
(red)
250 ms
off
on
MS
(green)
250 ms
off
on
NS
(red)
250 ms
off
on
250 ms
NS
(green)
off
Nota. MS y NS se iluminan de acuerdo al estado en el que se encuentran tanto
el bus como el equipo.
MS (Module Status)
Este indicador informa del estado del equipo, propiamente dicho. Los estados que
pueden alcanzarse, actualmente, son:
Operativo. El regulador se encuentra libre de errores. El led indicador se iluminará
en verde en modo intermitente con una cadencia de intermitencia de 200 ms (on/off).
En error. El regulador se encuentra en estado de error. El led indicador se iluminará
en modo intermitente más rápido que en el estado anterior y en rojo con una cadencia
de intermitencia de 50 ms (on/off).
NS (Network Status)
Este indicador informa del estado del equipo dentro de la red CANopen, es decir,
del estado del Bus CANopen. Véanse las tablas y la figura siguientes donde se
establecen los tiempos de intermitencia del led rojo y del verde así como su
denominación.
‡ Led rojo. Led indicador de error
TABLA 31. Led indicador de error. Color rojo.
Led de error (rojo)
Estado
Descripción
No iluminado
Sin error
Funcionamiento satisfactorio del equipo
Un único parpadeo
Alcanzado el
límite de
aviso
Al menos uno de los contadores de error del driver
de CAN ha alcanzado o excedido el nivel de aviso
(warning). Demasiadas tramas de error ó error
frames.
Doble parpadeo
Evento de
control de
error NMT
Se ha producido un evento de “guarding” (NMT
esclavo ó NMT maestro) o un evento de
“heartbeat” (consumidor de heartbeat).
Triple parpadeo
Bus off
El control de CAN se encuentra en “bus off”
MCP/MCPi - Ref.0612
Protocolo CANopen - 37/40
‡ Led verde. Led indicador de estado
TABLA 32. Led indicador de error. Color rojo.
Led de marcha (verde)
Estado
Descripción
Iluminado
Operacional El equipo se encuentra en estado operacional
Intermitente
Preoperacional
El equipo se encuentra en estado
pre-operacional
Un único parpadeo
Detenido
El equipo se encuentra en estado de parada.
50 ms
on
flickering
(red)
off
on
flickering
(green)
off
on
blincking
(red)
off
on
blincking
(green)
off
on
single flash
(red)
off
on
single flash
(green)
off
on
doble flash
(red)
off
on
triple flash
(red)
off
on
triple flash
(green)
off
200 ms
6 x 200 ms
1000 ms
FIGURA 7.
Denominación y tiempos de parpadeo del led indicador NS (Network Status).
38/40 - Protocolo CANopen
MCP/MCPi - Ref.0612
Notas de usuario.
MCP/MCPi - Ref.0612
Protocolo CANopen - 39/40
Oficinas subsidiarias de FAGOR:
SPAIN
Sede Central:
FAGOR AUTOMATION S.COOP.
Bº San Andrés 19, Apdo. 144
E-20500 ARRASATE-MONDRAGON
www.fagorautomation.com
E-mail: [email protected]
Tel:
34-943-719200 / 34-943-039800
Fax: 34-943-791712
34-943-771118 (Service Dept.)
Usurbil:
FAGOR AUTOMATION S.COOP.
Planta de Usurbil
San Esteban s/n Txoko-Alde
E-20170 USURBIL
Tel:
34-943-000690
Fax: 34-943-360527
E-mail: [email protected]
Eskoriatza:
FAGOR AUTOMATION S.COOP.
Planta de Eskoriatza
Torrebaso Pasealekua, 4, Apdo. 50
E-20540 ESKORIATZA
Tel:
34-943-719200
Fax: 34-943-039783
Barcelona:
FAGOR AUTOMATION, Catalunya
Parc Tecnològic del Vallès,
Tecnoparc II
Edificio I Módulo Ab
C/Argenters, 5
08290 Cerdanyola del Vallès
Tel.: 34-93-4744375
Fax: 34-93-4744327
E-mail: [email protected]
FRANCE
FAGOR AUTOMATION FRANCE Sàrl
Parc Technologique de La Pardieu
16 Rue Patrick Depailler
63000 CLERMONT FERRAND
Tel.:
33-473277916
Fax: 33-473150289
[email protected]
GERMANY
FAGOR AUTOMATION GmbH
Postfach 604 D-73006 GÖPPINGEN
Nördliche Ringstrasse, 100
Tel.:
49-7161 15685-0
Fax: 49-7161 1568579
E-mail: [email protected]
PORTUGAL
Nanjing:
FAGOR AUTOMATION LTDA.
Sucursal Portuguesa
Rua Gonçalves Zarco nº 1129-B-2º
Salas 210/212
4450 LEÇA DA PALMEIRA
Tel:
351 22 996 88 65
Fax: 351 22 996 07 19
E-mail: [email protected]
FAGOR AUTOMATION EQUIPMENT LTD.
NANJING OFFICE
Room 803, Holiday Inn (Nanjing)
45 Zhongshan Beilu, Nanjing 210008
Jiangsu Provence
Tel: 86-25-3328259
Fax: 86-25-3328260
E-mail: [email protected]
USA
Chicago:
CHINA
Guangzhou:
FAGOR AUTOMATION CORP.
2250 Estes Avenue
ELK GROVE VILLAGE, IL 60007
Tel: 1-847-9811500
1-847-9811595 (Service)
Fax:1-847-9811311
E-mail: [email protected]
Beijin FAGOR AUTOMATION Equipment
Co.Ltd., Guangzhou Rep.Office
Room 915 Lihao Plaza No. 18 Jichanglu
Baiyun District - GUANGZHOU 510405
Tel: 86-20-86553124
Fax: 86-20-86553125
E-mail: [email protected]
California:
Shanghai:
FAGOR AUTOMATION West Coast
3176 Pullman Ave., Unit 110
COSTA MESA, CA 92626
Tel: 1-714-9579885
Fax: 1-714-9579891
E-mail: [email protected]
New Jersey:
FAGOR AUTOMATION East Coast
Tel:
1-973-7733525
Fax: 1-973-7733526
E-mail: [email protected]
South East:
FAGOR AUTOMATION SOUTH EAST
4234 Amber Ridge Ln- VALRICO, FL 33594
Tel:
813 654 4599
E-mail: [email protected]
Ohio:
FAGOR AUTOMATION OHIO BRANCH
Westerville OH 43081
Tel:
1 614-855-5720
Fax: 1 614-855-5928
E-mail: [email protected]
CANADA
Ontario:
FAGOR AUTOMATION ONTARIO
Unit 3, 6380 Tomken Road
MISSISSAUGA L5T 1Y4
Tel:
1-905-6707448
Fax: 1-905-6707449
E-mail: [email protected]
Montreal:
FAGOR AUTOMATION QUEBEC
Tel.:
1-450-2270588
Fax: 1-450-2276132
E-mail: [email protected]
Windsor:
FAGOR AUTOMATION WINDSOR
Tel.:
1-519 944-5674
Fax: 1-519 944-2369
BRAZIL
ITALY
FAGOR ITALIA S.R.L.
Pal. CD3 P.T. - Via Roma, 108
20060 CASSINA DE PECCHI (MI)
Tel.:
39-0295301290
Fax: 39-0295301298
E-mail: [email protected]
UNITED KINGDOM
FAGOR AUTOMATION UK Ltd.
2 A Brunel Close
Drayton Field Industrial Estate
Daventry Northamptonshire
NN11 5RB
Tel:
44-1327 300067
Fax: 44-1327 300880
E-mail: [email protected]
40/40 - Protocolo CANopen
FAGOR AUTOMATION DO BRASIL
COM.IMP. E EXPORTAÇAO LTDA.
Rua Homero Baz do Amaral, 331
CEP 04774-030 SAO PAULO-SP
Tel.:
55-11-56940822
Fax: 55-11-56816271
E-mail: [email protected]
CHINA, P.R.
Beijing:
BEIJIN FAGOR AUTOMATION EQUIPMENT
Co.,LTD.
C-1 Yandong Building,
No.2 Wanhong Xijie, Xibajianfang
Chaoyang District
BEIJING, Zip Code: 100015
Tel: 86-10-84505858
Fax: 86-10-84505860
E-mail: [email protected]
Beijing FAGOR AUTOMATION equipment
Co., Ltd - SHANGHAI Representative Office
Room No.1906
LianTong International Building
No. 547 Tianmu Xilu
SHANGHAI, P.C. 20070
Tel: 86-21-63539007
Fax: 86-21-63538840
E-mail: [email protected]
HONG KONG
FAGOR AUTOMATION (ASIA) LTD.
Room 628. Tower II, Grand Central Plaza
138 Shatin Rural Committee Road
Shatin, HONG KONG
Tel: 852-23891663
Fax: 852-23895086
E-mail: [email protected]
KOREA, Republic of
FAGOR AUTOMATION KOREA, LTD.
Room No. 707 Byucksan Digital Valley 2nd
481-10 Gasan-dong. Geumcheon-gu
Seoul 153-803, Korea
Tel: 82 2 2113 0341
Fax: 82 2 2113 0343
E-mail: [email protected]
TAIWAN, R.C.O.
FAGOR AUTOMATION TAIWAN CO., LTD.
Nº 24 Ta-Kuang St. Nan-Tun Dist. 408
Taichung, TAIWAN R.O.C.
Tel: 886-4-2 3271282
Fax: 886-4-2 3271283
SINGAPORE
FAGOR AUTOMATION (S) PTE.LTD.
240 MacPherson Road
06-05 Pines Industrial Building
SINGAPORE 348574
Tel: 65-68417345 / 68417346
Fax: 65-86417348
E-mail: [email protected]
MALAYSIA
FAGOR AUTOMATION (M) SDN.BHD.
(638038-H)
No.39, Jalan Utama 1/7
Taman Perindustrian Puchong Utama
47100 Puchong, Selangor Darul Ehsan
Tel: +60 3 8062 2858
Fax: +60 3 8062 3858
E-mail: [email protected]
MCP/MCPi - Ref.0612
Descargar