octubre de 2013 - universidad de sevillabibing.us.es/proyectos/abreproy/5301/fichero/pfc.pdf · -...
Post on 21-Apr-2020
7 Views
Preview:
TRANSCRIPT
Octubre de 2013
Álvaro Rodríguez del Nozal | Tutor: Daniel Rodríguez Ramírez
PROYECTO
FIN DE
CARRERA
APLICACIÓN DE REDES DE COMUNICACIONES
CAN PARA ENTORNOS DISTRIBUIDOS
1 Introducción
ÍndiceÍndiceÍndiceÍndice
1 Introducción ................................................................................................................. 4
2 Modelo OSI y similitud con las redes CAN ..................................................................... 6
3 Introducción a CANopen ............................................................................................ 10
3.1 Estructura de los mensajes ..................................................................................... 10
3.1.1 Arbitration Field ............................................................................................. 12
3.2 Mensajes NMT ....................................................................................................... 13
3.2.1 Constitución de una red CAN ........................................................................ 14
3.2.2 Boot-up ......................................................................................................... 16
3.3 NMT error control .................................................................................................. 16
3.3.1 Node Guarding .............................................................................................. 18
3.3.2 Life Guarding ................................................................................................ 18
3.4 Mensajes SYNC ..................................................................................................... 18
3.5 Mensajes de emergencia ........................................................................................ 19
3.6 Time Stamp ........................................................................................................... 19
3.7 Service Data Objects .............................................................................................. 20
3.7.1 Expedited SDO messages ............................................................................... 22
3.7.2 Segmented SDO messages ............................................................................ 22
3.7.3 SDO abort transfer messages ......................................................................... 23
3.8 Mensajes PDO ....................................................................................................... 24
4 Modelos de comunicaciones ....................................................................................... 25
5 Introducción a la alta concentración fotovoltaica ......................................................... 27
6 Particularización del protocolo a nuestro proyecto ....................................................... 30
6.1 Particularización del protocolo de mensajes ............................................................ 31
6.2 Diccionarios de objetos .......................................................................................... 32
2 Introducción
6.3 Directorio del calibrador ......................................................................................... 35
6.3.1 Comandos de estado ..................................................................................... 35
6.3.2 Comandos de datos. ..................................................................................... 37
6.3.3 Comandos de configuración .......................................................................... 38
6.3.4 Otros comandos ............................................................................................ 40
7 Implementación de las comunicaciones en el PLC ........................................................ 42
7.1 Descripción del entorno de desarrollo ..................................................................... 43
7.2 Programa implementado ........................................................................................ 45
8 Validación de las comunicaciones ............................................................................... 52
8.1 Plan de validación .................................................................................................. 52
8.2 Comandos de datos, configuración y otros comandos ............................................ 53
8.3 Comando de estado .............................................................................................. 55
8.4 Validaciones .......................................................................................................... 56
8.4.1 Validación de lectura de datos unidimensionales ............................................ 57
8.4.2 Validación de lectura de la curva I-V ............................................................... 57
8.4.3 Consulta de corriente y tensión nominal ........................................................ 58
8.4.4 Validación de otros comandos ....................................................................... 59
8.4.5 Validación comando de estado ...................................................................... 59
9 Monitorización ........................................................................................................... 61
10 Caso práctico ............................................................................................................. 65
11 Estrategias de calibración ............................................................................................ 66
11.1 Objeto ................................................................................................................ 66
11.2 Estrategia de calibración ..................................................................................... 67
11.2.1 Búsqueda en espiral ....................................................................................... 67
11.2.2 Estrategia por barrido de tensión en circuito abierto ....................................... 68
3 Introducción
11.2.3 Muestreo por vértices .................................................................................... 69
11.2.4 Estrategia por barrido de potencia ................................................................. 70
12 Modelo de calibración ................................................................................................ 72
12.1 Introducción ....................................................................................................... 72
12.2 Construcción del modelo .................................................................................... 72
12.2.1 Consideraciones en la construcción ................................................................ 73
12.2.2 Estrategias de calibración implementadas ...................................................... 74
12.3 Forma de utilización del modelo ......................................................................... 75
12.4 Pruebas de validación ......................................................................................... 76
12.5 Simulaciones realizadas ....................................................................................... 77
12.5.1 Búsqueda espiral ........................................................................................... 77
12.5.2 Barrido de tensión en circuito abierto ............................................................. 80
12.5.3 Barrido de potencia ....................................................................................... 81
12.6 Conclusiones ...................................................................................................... 82
12.6.1 Posibles mejoras ............................................................................................ 83
13 Implementación experimental del modelo ................................................................... 84
13.1 Montaje experimental y puesta a punto del seguidor solar .................................. 84
13.2 Desarrollo del experimento ................................................................................. 85
14 Conclusiones .............................................................................................................. 87
15 Bibliografía ................................................................................................................. 88
16 Índice de figuras ......................................................................................................... 89
4 Introducción
1111 IntroducciónIntroducciónIntroducciónIntroducción
En Febrero de 1986, la compañía alemana Robert Bosh GmbH presentó el sistema de bus
serie CAN (Controller Area Network) en el congreso de la SAE (Society of Automotive
Engineers, Sociedad de Ingenieros de Automoción). En aquel momento nació uno de los
protocolos de red con más éxito hasta ahora.
El protocolo CAN surgió de la necesidad de encontrar una solución ante el incremento del
número de dispositivos electrónicos de los automóviles que suponía un aumento del cableado
y complejidad del sistema. El Mercedes Clase E fue el primer coche en incorporar el bus CAN
en 1992. Es un protocolo de comunicaciones estandarizado por la International
Standardization Organization (ISO) y Society of Automotive Engineers (SAE).
Hoy en día, la mayoría de los vehículos de pasajeros fabricados en Europa están equipados
con al menos una red de comunicaciones CAN. Este bus es, además, utilizado en otros tipos
de vehículos, como trenes o barcos, así como en sistemas de control industrial. Se ha
convertido en uno de los protocolos de bus dominantes, quizás el principal en los sistemas de
bus serie a lo largo y ancho del mundo.
Este proyecto se basa en explicar la arquitectura y composición de las redes CAN, así como de
la exposición de sus mejoras respecto a otro tipo de protocolos de comunicación.
El proyecto se particularizará en la implantación de este protocolo de comunicaciones para el
interconexionado entre tres dispositivos electrónicos que permitirán el cálculo automático de
los offsets de un seguidor solar equipado con módulos fotovoltaicos de alta concentración así
como la monitorización de los diferentes parámetros que afecten a este proceso. El sistema
contará con tres dispositivos:
- Un PLC que gobernará el movimiento de un seguidor solar.
- Un aparato electrónico que denominaremos calibrador, que proveerá al resto de
nodos de la red de medidas de las diferentes magnitudes que requieran, así como
de curvas IV que caractericen a los módulos.
- Una pantalla táctil que facilitará la visualización de las medidas realizadas por el
calibrador.
5 Introducción
Comenzaremos la exposición con unas nociones generales sobre protocolos de
comunicaciones y, concretamente sobre el funcionamiento de un bus CAN y qué problemas
pueden surgir al implantarlo en un modelo real. Además, señalaremos la manera en que los
diferentes dispositivos de la red pueden configurarse.
Continuaremos con unas nociones básicas sobre la alta concentración fotovoltaica, ya que
será necesario para el ejemplo práctico que se expone al final del proyecto. Se tratará tanto la
implementación de las comunicaciones como la validación de éstas.
Finalmente, trataremos un ejemplo práctico que nos permitirá ajustar de forma automática los
offsets de un seguidor solar equipado con varios módulos de alta concentración fotovoltáica.
Este proyecto, pues, proporciona no sólo una base teórica del modelo propuesto, sino que lo
lleva a la práctica y expone tanto el modelo de recogida de datos como la monitorización de
los resultados obtenidos.
6 Modelo OSI y similitud con las redes CAN
2222 Modelo OSI y similitud con las redes CANModelo OSI y similitud con las redes CANModelo OSI y similitud con las redes CANModelo OSI y similitud con las redes CAN
El modelo de interconexión de sistemas abiertos, conocido como OSI (Open System
Interconnection), es el modelo de red que creó la Organización Internacional para la
Estandarización (ISO) en el año 1990 para que sirviera como marco de referencia para la
definición de arquitecturas en la interconexión de los sistemas de comunicaciones.
El modelo está formado por siete capas que definen las diferentes fases por las que deben
circular los datos para viajar de un dispositivo a otro en una red de comunicaciones. La
información circula a través de las diferentes capas en la forma señalada en la figura 1.
• Figura 1. Modelo OSI.
- Capa física: Se encarga de fijar la topología de la red y las conexiones globales de la
computadora hacia la red tanto en lo referido al medio físico como a la forma de
transferencia. Es decir, fija si la conexión va a ser a través de un cable trenzado,
fibra óptica, o cualquier otro medio de transmisión y posteriormente transmite la
información en forma de bits garantizando la conexión de la red.
7 Modelo OSI y similitud con las redes CAN
- Capa de enlace de datos: Se ocupa del direccionamiento físico y del acceso al
medio. Controla el flujo y garantiza la estabilidad de la red.
- Capa de red: Su objetivo es garantizar que los datos lleguen desde el origen al
destino, aun cuando los cables no estén conectados directamente (como ocurre en
las redes CAN, en los términos que veremos más adelante).
- Capa de transporte: Se encarga de efectuar el transporte de datos del nodo origen
al destino. Es independiente de la red física que se está utilizando.
- Capa de sesión: Mantiene y controla el enlace establecido entre dos nodos que se
encuentran intercambiando mensajes.
- Capa de presentación: Se encarga de la representación de la información. Es decir,
si existen diferentes dispositivos constituyendo nodos de una misma red que
operan con diferentes representaciones de los datos, esta capa se encarga de que
los datos lleguen de manera reconocible.
- Capa de aplicación: Ofrece a las aplicaciones la posibilidad de acceder al resto de
capas y define los protocolos que utilizarán las aplicaciones para el intercambio de
datos. Es el eje principal de una red de comunicaciones ya constituida y es en lo
que se centrará principalmente nuestro proyecto.
Este modelo, si bien fue de una importancia crucial en el momento de su formulación, ha
quedado desfasado con el paso del tiempo a causa de las innovaciones tecnológicas que se
han sucedido en el campo de las comunicaciones. No obstante, el modelo OSI sigue
presentando la estructura básica de una red de comunicaciones y por tanto las redes CAN se
construyen tomándolo como base. Las similitudes entre ambos modelos se reflejan en la
figura 2.
8 Modelo OSI y similitud con las redes CAN
• Figura 2. Comparación entre el modelo OSI y las redes CAN.
Apreciamos que el sistema de siete capas del modelo OSI queda reducido en las redes CAN a
un sistema con los siguientes niveles:
- Capa física.
- Capa de enlace de datos.
- Capa de aplicación.
Como se observa, las capas intermedias correspondientes a la transferencia de la información
por el medio y a la interpretación de los datos para cada dispositivo no son necesarias en los
buses modernos, y como vemos en la figura 2 únicamente existirán la capa física y la de
enlace de datos para constituir la red, así como la capa de aplicación, que nos permitirá
definir el protocolo de comunicaciones y acceder al resto de capas.
La capa de aplicación en las redes CAN se denomina CAL (CAN Application Layer) y se
encarga de gestionar la red y el protocolo de comunicaciones. CAL ofrece un sistema
orientado a objetos para el desarrollo de aplicaciones distribuidas de cualquier tipo basadas
en CAN. Comprende varios servicios que se especifican a continuación:
9 Modelo OSI y similitud con las redes CAN
- CMS (CAN-based Message Specification): Ofrece objetos de tipo variable, evento y
dominio para diseñar y especificar cómo se accede a la funcionalidad de un
dispositivo. Es la columna vertebral de la configuración de una red a nivel de
usuario. Nuestro trabajo se centrará en el desarrollo y caracterización de estos
mensajes.
- NMT (Network ManagemenT): Proporciona servicios para la gestión de la red.
Inicializa, para, arranca o detecta fallos en los nodos.
- DBT (DistriBuTor): Asigna los identificadores a los mensajes (éstos reciben el
nombre de COB-ID).
- LMT (Layer ManagemenT): Permite cambiar parámetros como el identificador del
nodo o la velocidad de transferencia dentro del bus.
Como podemos observar, CAL nos proporciona los recursos necesarios para intercambiar
información entre los diferentes nodos que constituyen la red, si bien no define el tipo de
objetos que se intercambia en la red ni el contenido de éstos. Para ello, se ha desarrollado
una segunda parte de la capa de aplicación de las redes CAN denominada CANopen.
10 Introducción a CANopen
3333 Introducción a CANopenIntroducción a CANopenIntroducción a CANopenIntroducción a CANopen
CANopen es una parte de la capa de aplicación de la red de comunicaciones que utilizando
los recursos de CAL y el resto de capas permite intercambiar los mensajes dentro de la red. El
objetivo principal de CANopen es poder definir las tramas de los objetos de cada nodo para el
correcto intercambio de información entre dispositivos.
El concepto central de CANopen es el diccionario de objetos. Para cada nodo de la red existe
un diccionario de objetos que contiene todos los parámetros que describen el dispositivo y su
comportamiento en la red. Nos permite describir completamente y de forma estándar la
funcionalidad de cada dispositivo y su configuración a través del intercambio de mensajes de
diferentes tipos.
3.13.13.13.1 Estructura de los mensajesEstructura de los mensajesEstructura de los mensajesEstructura de los mensajes
Los mensajes permiten intercambiar datos entre el maestro de la red y los diferentes esclavos
que la componen, modificando de esta manera la información de sus diccionarios de objetos.
La estructura de datos que presenta un mensaje genérico puede verse en la figura 3.
• Figura 3. Estructura de un mensaje genérico.
A continuación explicaremos brevemente cada conjunto de bits que componen el mensaje
CANopen.
11 Introducción a CANopen
- SOF (start of frame): Indica el inicio del mensaje.
- Arbitration Field: Fija la prioridad del mensaje. Está formado por el COB-ID
(identifica el tipo de mensaje y el número de nodo al que va dirigido en el caso que
proceda) y por el RTR bit (se usa en algunos tipos de mensajes cuando el nodo
maestro requiere información de alguno de los esclavos).
- Control: Está constituido por:
o DLC (Data length code): Codifica la extensión útil del mensaje.
o IDE (extended ID): Se utiliza para mensajes del estándar CAN 2.0B, con una
codificación algo diferente al estándar que se utilizará en nuestro proyecto
(CAN 2.0A), ya que se define por 29 bits en vez de 8 bits.
o Bit de reserva: Se usará en el caso de mensajes con el estándar CAN 2.0B.
- Data Field: En él se encuentra el contenido del mensaje y puede contener
información adicional dependiendo del tipo que sea.
- CRC (comprobación de redundancia cíclica): Se trata de un código de detección de
errores para detectar cambios accidentales en los datos de un mensaje. Dicho
código se genera basándose en el residuo de una división de polinomios y que si
coincide el del mensaje de emisión y el de recepción, se puede afirmar que el envío
de la trama se ha llevado a cabo satisfactoriamente.
- ACK (Acknowledgement): Indica la recepción del mensaje al origen por parte del
destinatario de la comunicación.
- EOF (End of file): Indicador de que no hay más información que recuperar de la
fuente de datos.
- IFS (Intermission frame space): Es el mínimo número de bits que separan mensajes
consecutivos. Tiene una gran importancia en el caso de la fragmentación de
mensajes.
12 Introducción a CANopen
A partir de este momento, solamente se especificará el contenido del Data Field y del
Arbitration Field, ya que el resto de datos enviados se generarán de manera automática y no
influirán en la configuración de los mensajes.
3.1.13.1.13.1.13.1.1 Arbitration FieldArbitration FieldArbitration FieldArbitration Field
El tipo de mensaje viene determinado por el conjunto de bits Arbitration-Field. Arbitration
Field consta de 11 bits: tres de ellos indican el tipo de mensaje, otro de ellos es el bit RTR, y
los siete bits restantes permiten indicar el nodo al que se le envía el mensaje cuando proceda.
Podemos apreciar los distintos tipos de mensajes existentes, su descripción e identificador
COB-ID en la figura 4.
• Figura 4. Tipos de mensajes, descripción e identificador COB-ID.
Los esclavos tendrán asignados un identificador entre 1 y 127, mientras que el maestro tendrá
el identificador de valor 0. Por ejemplo, los SDO empiezan en 581h, siendo 580h + ID dicho
COB-ID.
A continuación se exponen los distintos tipos de mensajes, con una breve exposición de la
funcionalidad de cada uno:
- Network Management (broadcast): Proporciona servicios y protocolos para la
transferencia de información y configuración de los diferentes esclavos que
componen la red.
13 Introducción a CANopen
- Network Managem-ent Error Control: Permite al nodo maestro de la red
monitorizar el estado de comunicación de cada uno de los esclavos.
- Boot-Up message: Es un mensaje emitido por cada esclavo conectado a la red
cuando se alimenta eléctricamente y marca la inicialización de éste.
- Synchronization message: Se utiliza para coordinar eventos entre diferentes nodos
de la red.
- Emergency messages: Mensajes generados por errores en la red. Tienen asociados
un identificador diferente para cada tipo de error.
- Time stamp: Provee a todos los nodos de la red de una referencia común en la
hora.
- Process Data Objects: Permiten intercambiar información de alta prioridad entre los
esclavos y el maestro.
- Service Data Objetcs: Permiten intercambiar información de baja prioridad entre los
esclavos y el maestro.
3.23.23.23.2 Mensajes NMTMensajes NMTMensajes NMTMensajes NMT
Los mensajes Network ManagemenT permiten la configuración de los diferentes nodos de la
red, así como la fijación de protocolos para el intercambio de información dentro de ésta.
Cada periférico conectado al bus contiene un servidor Network ManagemenT interno que
comunica con un NMT master, que corresponderá al servidor NMT del nodo maestro de la
red. A continuación se presentan los diferentes mensajes que debe transferir el nodo maestro
para activar al resto de nodos.
En el segundo byte de datos del mensaje se incluye el ID del nodo al cual se quiere modificar
su estado, mientras que el primero de los bytes indicará al estado al que debe migrar.
14 Introducción a CANopen
• Figura 5. Estructura de un mensaje NMT.
• Figura 6. Funcionalidad de los dos primero byte de un mensaje NMT.
3.2.13.2.13.2.13.2.1 Constitución de una red CANConstitución de una red CANConstitución de una red CANConstitución de una red CAN
La constitución de una red CAN puede ver representada gráficamente en la figura 7.
15 Introducción a CANopen
• Figura 7. Constitución de una red CAN.
Para facilitar la comprensión de la constitución de una red, pondremos un ejemplo de la
inicialización de una red con un nodo maestro y un solo esclavo.
- Inicialmente el nodo esclavo se encuentra inactivo sin ningún tipo de alimentación
eléctrica.
- Cuando se alimentan eléctricamente, se encuentra en un estado denominado Boot-
up, en el que envía un mensaje al maestro indicándole su activación. En el caso de
no recibirse por parte del maestro dicho mensaje, no tendrá constancia de que
existe un nodo esclavo en la red.
- Después de enviar dicho mensaje, el esclavo migrará automáticamente a un estado
pre-operacional, en el que podrá enviar y recibir cualquier tipo de mensajes excepto
mensajes PDO de alta prioridad.
- Una vez en el estado pre-operacional, el maestro, conociendo su estado gracias a
uno de los protocolos NMT error control que veremos a continuación, enviará un
mensaje al esclavo con la orden de migrar a estado operacional y con ello se habrá
constituido definitivamente la red. En éste estado será posible el intercambio de
cualquier tipo de mensaje.
16 Introducción a CANopen
Como se puede observar, el nodo maestro no necesita inicialización, encargándose
únicamente de gestionar la inicialización de los esclavos sujetos a la red. También observamos
la relevancia crucial de los protocolos NMT error control sobre los que versa la presente
exposición.
3.2.23.2.23.2.23.2.2 BootBootBootBoot----upupupup
Cuando se comienza a alimentar eléctricamente un dispositivo, hemos visto que entra en un
estado en el que transmite un mensaje de activación. Si el maestro no recibe dicho mensaje
actuará como si no existiese ningún nodo esclavo conectado a la red. El mensaje de boot-up,
no contemplado en la tabla anterior, será el siguiente.
• Figura 8. Mensaje de boot-up.
Cómo se podía apreciar en la ilustración de las transiciones entre estados, los nodos migran
desde el estado de boot-up al pre-operacional automáticamente.
3.33.33.33.3 NMT error controlNMT error controlNMT error controlNMT error control
El NMT master (servidor NMT del nodo maestro de la red) puede monitorizar el estado de
comunicación de cada uno de los esclavos de la red usando dos protocolos: “Node Guarding”
y “Life Guarding”. Se envían mensajes periódicamente a los nodos esclavos desde el maestro
y éstos responden especificando su estado. Los estados que pueden presentar los nodos
esclavos se aprecian en la figura 9.
17 Introducción a CANopen
• Figura 9. Estados de comunicación de los nodos esclavos.
Si algún nodo esclavo no responde al maestro o responde con un mensaje no contemplado
en la tabla, el NMT maestro envía un mensaje de error a la aplicación. En la figura 10 se
muestra el mensaje de control enviado por el maestro. En la figura 11 se muestra el mensaje
de respuesta de los diferentes esclavos.
• Figura 10. Mensaje de control enviado por el nodo maestro.
• Figura 11. Mensaje de respuesta de los nodos esclavos.
En esta última figura 11, el primer byte del “Data Field” del mensaje de respuesta del nodo
esclavo indicará el estado en el que se encuentra de entre los posibles, ya enumerados en la
figura 9.
En el caso de que uno de los esclavos no conteste en el tiempo requerido para ello, o
responda con un mensaje no contemplado, el nodo maestro actuará desconectándolo de la
red.
18 Introducción a CANopen
3.3.13.3.13.3.13.3.1 Node GuardingNode GuardingNode GuardingNode Guarding
Uno de los protocolos que permiten al NMT master monitorizar el estado de comunicación de
cada uno de los esclavos de la red es el “Node Guarding”. Este protocolo implica que el NMT
esclavo debe contestar al maestro antes de que transcurra un cierto tiempo denominado
“Guard Time” (intervalo de tiempo que transcurre entre que el NMT maestro envía dos
mensajes de comprobación del estado a los esclavos).
3.3.23.3.23.3.23.3.2 Life GuardingLife GuardingLife GuardingLife Guarding
Otro de los protocolos utilizados por el NMT master es el “Life Guarding”. En este caso, el
NMT esclavo debe contestar antes de que finalice un intervalo de tiempo denominado
“Lifetime”, que es igual al “Guard Time” multiplicado por un cierto factor denominado “Life
Time Factor”. En el ejemplo mostrado a continuación dicho factor se ha tomado de valor el
número 3. Para marcar el valor de este factor será necesario conocer parámetros de la red de
comunicaciones como pueda ser la velocidad de intercambio de datos.
• Figura 12. Ejemplo de utilización del protocolo “Life Guarding”
3.43.43.43.4 Mensajes SYNCMensajes SYNCMensajes SYNCMensajes SYNC
Se usa para coordinar eventos entre diferentes nodos. Por ejemplo, para el caso de que el
nodo maestro necesite obtener la posición actual de un motor en un momento específico
desde varios nodos diferentes.
Es un protocolo que responde a las necesidades de sincronización de más alto nivel de las
comunicaciones entre los componentes de la red, y que no será necesario para desarrollar los
objetivos de este proyecto.
19 Introducción a CANopen
3.53.53.53.5 Mensajes de emergenciaMensajes de emergenciaMensajes de emergenciaMensajes de emergencia
Se envía a la aplicación un mensaje de emergencia por cada error que se genere. Existen
varios códigos de error según la incidencia que se produzca y se indica en el cuarto byte de
información, aunque no se detallará el significado de cada uno de los códigos en este
documento. Los últimos 4 bytes de datos incluirán información adicional al error generado en
cada caso si procede.
• Figura 13. Mensaje de error genérico. Según el valor del byte cuatro se especificará el error en concreto y podrá ir
acompañado de más información en los cuatro últimos bytes.
En el caso de que se haya constituido de manera correcta la red y los esclavos contesten de
manera apropiada a las peticiones del maestro, no deberían generarse mensajes de error.
El mensaje es enviado por el maestro o el esclavo según el tipo de incidencia que se
contemple. Por ejemplo, en el caso de que el maestro envíe un mensaje al esclavo y éste no
envíe un mensaje de contestación, el maestro generará un error por la falta de recepción.
3.63.63.63.6 Time StampTime StampTime StampTime Stamp
Provee a los diferentes nodos de la red de un reloj global que permite la sincronización entre
ellos.
20 Introducción a CANopen
• Figura 14. Estructura de los mensajes time stamp.
En nuestro caso, cada periférico de la red tendrá su propia hora de referencia y no se hará uso
de este protocolo, ya que no será necesaria una sincronización total entre ellos.
3.73.73.73.7 Service Data ObjectsService Data ObjectsService Data ObjectsService Data Objects
Los Service Data Objects (SDO) son mensajes de baja prioridad que permiten intercambiar
información entre los diferentes periféricos conectados a la red CAN. Necesitan confirmación
de recepción de dichos mensajes.
Los SDO pueden ser de cualquier tamaño, aunque podemos distinguir cuatro tipos de
mensajes diferentes según se trate de una operación de lectura o de escritura y según la
cantidad de información que se desea intercambiar:
- Mensajes de lectura en los cuales la información que se quiere leer ocupa 4 o
menos bytes.
- Mensajes de escritura en los cuales la información que se quiere escribir ocupa 4 o
menos bytes.
- Mensajes de lectura en los cuales la información que se quiere leer ocupa más de 4
bytes.
- Mensajes de escritura en los cuales la información que se quiere escribir ocupa más
de 4 bytes.
En esencia, estos cuatro tipos de mensajes pueden reducirse a dos:
- Expedited SDO messages, para un intercambio de información menor o igual a 4
bytes.
21 Introducción a CANopen
- Segmented SDO messages, para un intercambio de información superior a 4 bytes.
Estos dos tipos de mensajes, a su vez, pueden ser de lectura o de escritura.
Los mensajes en los que la información que se quiere leer o escribir ocupa más de 4 bytes
tendrán un protocolo de interpretación diferente a los de menos de 4 bytes, ya que
únicamente bastará con el envío de un mensaje.
En la figura 15 podemos observar la estructura que tienen los bytes de datos de Arbitration
Field de los mensajes SDO.
• Figura 15. Estructura de los bytes de datos de Arbitration Field de los mensajes SDO.
Analizando dicha estructura, observamos los siguientes elementos:
• El tipo de datos se refiere al tipo de operación que se quiere realizar, es decir, si se
trata de una operación de lectura o de escritura.
• El índice es el comando dado al dispositivo para hacer una función determinada, por
ejemplo, una lectura de canal o de configuración.
• El subíndice es un subapartado del índice anterior, que podría ser, por ejemplo, el
canal específico que se utiliza.
• Finalmente, los datos son las cuatro palabras siguientes que se enviarán codificadas en
un formato determinado.
22 Introducción a CANopen
Cada nodo de la red tendrá su diccionario de objetos, es decir, contará con un listado de
mensajes que reconocerá y asociará una acción determinada a cada uno de ellos. Por
ejemplo, pongamos la situación de que un nodo maestro necesita conocer un valor de
potencia otorgado por un dispositivo de medida conectado a la red CAN. Entonces, el
maestro enviará el mensaje contemplado en su diccionario de objetos para dicha tarea. El
esclavo al recibirlo, comprobará la coincidencia de los índices con alguno de los mensajes de
su diccionario de objetos y llevará a cabo la operación de lectura de potencia con la posterior
contestación al maestro de la red con el dato solicitado.
3.7.13.7.13.7.13.7.1 Expedited SDO messagesExpedited SDO messagesExpedited SDO messagesExpedited SDO messages
Los Expedited SDO messages son mensajes para un intercambio de información menor o igual
a 4 bytes. El proceso únicamente requiere un envío y una contestación. Dependiendo de la
cantidad de información que se intercambie se definirá el byte correspondiente al tipo de
mensaje.
3.7.23.7.23.7.23.7.2 Segmented SDO messagesSegmented SDO messagesSegmented SDO messagesSegmented SDO messages
Los Segemented SDO messages se utilizan para lectura o escritura de mensajes mayores de 4
bytes. En su configuración podemos distinguir los siguientes pasos:
- Paso 1: Se inicia la comunicación entre el maestro y el esclavo. El maestro envía un
comando y el esclavo responde confirmando que está listo para el intercambio.
- Paso 2: Tratan los intercambios de datos. Pueden ser muchos mensajes de
intercambio entre el maestro y el esclavo. Se introduce un Toggle bit y un Last segment
bit. El primero irá alternando su valor (para que el nodo receptor pueda identificar y
ordenar la trama recibida) y el segundo solo se pondrá a uno para indicar que se trata
del último mensaje y el proceso de intercambio de información ha finalizado.
El byte que define el tipo es un factor clave para el buen desarrollo del intercambio de
información mediante mensajes SDO. Existen muchas tipologías diferentes para estos
23 Introducción a CANopen
mensajes según se cumplan o no un conjunto de circunstancias que no detallaremos en este
documento.
3.7.33.7.33.7.33.7.3 SDO abort transfer messagesSDO abort transfer messagesSDO abort transfer messagesSDO abort transfer messages
Cuando se produce un error durante la lectura o escritura de un objeto, el maestro recibe un
mensaje de abortar. La estructura de éste se aprecia en la figura 16.
• Figura 16. Estructura del mensaje para abortar la operación.
En esta figura 16, cabe señalar que el ID del Arbitration Field se refiere al del esclavo.
Los diferentes códigos para abortar y sus correspondientes descripciones vienen dados por los
últimos 4 bytes de información y no se hará referencia en este documento debido a su
carácter general.
Sin embargo, la causa principal por la que sucede este tipo de error es debido al intento de
intercambio de información por parte del maestro con el esclavo, estando este último
desconectado de la red. Es entonces cuando el Watchdog time llega a cero y se genera el
mensaje de error.
El Watchdog time se podría definir como el tiempo máximo permitido en tener alguna
constancia de la existencia de comunicación con el esclavo desde que se envía un mensaje
hasta que se tiene una confirmación por parte de éste. El Watchdog time es un contador
decreciente que se resetea cada vez que se tienen noticias por parte del maestro de la
existencia de los esclavos.
24 Introducción a CANopen
3.83.83.83.8 Mensajes PDOMensajes PDOMensajes PDOMensajes PDO
Se tratan de mensajes de alta prioridad que permiten intercambiar información entre el
maestro y los esclavos sin necesidad de confirmación de la recepción de éstos por parte de los
segundos, lo que garantiza una mayor velocidad de transferencia, aunque se limita el tamaño
de los mensajes a 8 bytes.
Los SDO se suelen utilizar para configurar las conexiones con los diferentes equipos, mientras
que los PDO son ideales para la transferencia de información relevante del sistema.
Existen dos tipos principales de mensajes PDO:
- Transmit Process Data Objects (tPDO): Se utilizan para enviar información desde el
esclavo al maestro (como por ejemplo, la lectura de un sensor). Antes de transmitir
el mensaje, es necesario configurarlo y habilitarlo.
- Receive Process Data Objects (rPDO): Son mensajes de escritura que envía el
maestro a uno o más esclavos (como por ejemplo, la orden de apertura de una
válvula). Como ocurría en el otro caso, antes de transmitir el mensaje, es necesario
configurarlo y habilitarlo.
Ya que en nuestro caso no se utilizarán mensajes PDO, no se explicará su configuración.
25 Modelos de comunicaciones
4444 Modelos de comunicacionesModelos de comunicacionesModelos de comunicacionesModelos de comunicaciones
Los diferentes modelos de comunicación permiten la transmisión asíncrona y síncrona de
mensajes. La transmisión síncrona de mensajes viene determinada por la previa definición de
los objetos de comunicación (mensajes de sincronización SYNC y Time stamp) en los que se
establecen los tiempos y frecuencias de envío. Los mensajes asíncronos pueden ser
transmitidos en cualquier momento. Existen tres tipos de modelos:
- Maestro/Esclavo: Un solo maestro en toda la red y los demás nodos son
considerados esclavos. Puede existir comunicación con o sin confirmación.
• Figura 17. Tipología maestro/escalvo.
- Cliente/Servidor: La comunicación se lleva a cabo entre un único cliente y un único
servidor. El cliente realiza una petición de escritura o lectura (upload/download)
para que el servidor realice una determinada tarea. Una vez terminada dicha tarea
el servidor contesta la petición.
• Figura 18. Tipología cliente/servidor.
26 Modelos de comunicaciones
- Productor/Consumidor: Dicha comunicación está formada por un productor y
ninguno o más consumidores. Puede ser una comunicación tipo:
o Pull: Con confirmación por parte del productor a la petición realizada por el
consumidor.
• Figura 19. Tipología productor/consumidor pull.
o Push: Las peticiones son realizadas por el productor. Sin confirmación.
• Figura 20. Tipología productor/consumidor push.
27 Introducción a la alta concentración fotovoltaica
5555 Introducción a la alta concentración fotovoltaicaIntroducción a la alta concentración fotovoltaicaIntroducción a la alta concentración fotovoltaicaIntroducción a la alta concentración fotovoltaica
Una célula fotovoltaica es un dispositivo electrónico que permite transformar la energía de la
luz en energía eléctrica gracias al efecto fotoeléctrico. El efecto fotoeléctrico es el principio
por el cual se genera una corriente de electrones en un material cuando se hace incidir sobre
él una radiación electromagnética. El funcionamiento de una célula fotovoltaica es sencillo:
absorben los fotones de luz y emiten electrones. Cuando estos electrones libres son
capturados generan una corriente eléctrica que puede ser utilizada como electricidad.
En la alta concentración fotovoltaica, se pretende que mediante una célula más pequeña y de
mejor calidad y gracias a la utilización de diferentes configuraciones ópticas que permitan
concentrar un alto número de rayos solares, se consiga una potencia superior a la de los
paneles de silicio convencionales, ahorrando dinero en el coste total de los módulos debido al
pequeño tamaño de las células y al barato coste de las lentes y espejos que configuran la
óptica.
Por otro lado, los sistemas fotovoltaicos de alta concentración tienen exigencias de
seguimiento solar muy altas, es decir, para que un módulo trabaje ofreciendo su máximo
rendimiento, es necesario que su normal este perfectamente orientado al sol. Esta
consideración hace que sea interesante investigar en técnicas de control que permitan
maximizar en todo momento la potencia ofrecida por los módulos.
En este proyecto se prestará más importancia a las comunicaciones que se establecen entre
varios dispositivos de una red CAN, pero es necesario definir los parámetros que caracterizan
a una célula fotovoltaica para comprender las medidas que es capaz de realizar el calibrador.
Una célula fotovoltaica está definida por su curva IV como pasa también con varios
componentes electrónicos semiconductores como es el caso de los diodos por ejemplo. Dicha
curva evolucionará desde una situación de cortocircuito en la que existirá una ��� diferente de
cero, hasta una situación final de circuito abierto en la que la intensidad será nula y existirá
una ��� diferente de cero.
28 Introducción a la alta concentración fotovoltaica
• Figura 21. Curva IV genérica para una célula fotovoltaica.
Como se puede observar en la Figura 21, existirá un punto donde el producto entre tensión e
intensidad se hace máximo y resulta conveniente trabajar lo más cercano a él que sea posible.
La eficiencia de una célula fotovoltaica de alta concentración viene marcada principalmente
por su feel factor. Ciertamente existen otros criterios, si bien nosotros nos basaremos en éste
porque valores bajos nos indican que puede existir algún tipo de problema ya sea en el
apunte del seguidor al sol, en la alta temperatura del módulo, etc. El feel factor representa en
tanto por ciento la relación de áreas entre la curva experimental y el cuadrado que se definiría
entre el origen de coordenadas y los valores de ��� e ���. Cuanto mayor sea este factor,
mejor será el rendimiento de la célula ya que se verá en menor medida afectado por acciones
de la temperatura o errores en el apuntamiento de los módulos.
Ante lo expuesto, parece lógico que el calibrador sea capaz de proveer al resto de equipos del
bus de la curva IV, así como de la potencia máxima otorgada por dichos módulos y de la
corriente en cortocircuito y la tensión en circuito abierto.
El calibrador proveerá también de medidas de la radiación normal al seguidor, tanto directa
como global.
Este epígrafe intenta marcar únicamente una introducción a las células fotovoltaicas de alta
concentración que nos permitan entender qué medidas se intercambian dentro de la red y
por qué. También nos ayudará a la comprensión posterior del ejemplo práctico de la
29 Introducción a la alta concentración fotovoltaica
búsqueda solar en un seguidor con módulos de CPV. Podrían redactarse proyectos enteros
acerca del funcionamiento de las células fotovoltaicas y sus tipos así como en las diferentes
configuraciones ópticas de los módulos de CPV y la variedad de sus células, pero como se
explicó en la introducción, nuestro proyecto se basa únicamente en las comunicaciones y no
se entrará en mayor detalle de estos aspectos.
30 Particularización del protocolo a nuestro proyecto
6666 Particularización del protocolo a nuestro proyectoParticularización del protocolo a nuestro proyectoParticularización del protocolo a nuestro proyectoParticularización del protocolo a nuestro proyecto
Una vez introducidos teóricamente los diferentes conceptos que constituyen los mensajes de
una red CAN, es hora de particularizar este protocolo a nuestro proyecto, caracterizando la
forma de programación y configuración de cada nodo de la red.
Como bien se dijo en la introducción del proyecto, el sistema cuenta con tres nodos con
funcionalidades diferentes.
- El PLC será un autómata programable de la serie FP de Panasonic, más
concretamente el modelo sigma, que incluye la posibilidad de adquirir un módulo
de expansión maestro de una red CAN. El PLC será el maestro de la red y enviará
mensajes al calibrador pidiendo diferentes tipos de medidas y ordenándole el
trazado de curvas IV para la caracterización de los módulos fotovoltaicos con los
que se esté trabajando. El PLC no tendrá contacto con la pantalla táctil debido a
que no es necesario, pero en cualquier caso si se quisiera contemplar dicha
posibilidad, no habría más que enviarle un mensaje con el COB-ID adecuado que
estuviera contemplado en el diccionario de objetos de la pantalla táctil para que
ésta respondiera con la acción requerida.
- La pantalla táctil será un segundo maestro en nuestra red CAN y actuará también
sobre el calibrador, mandándole mensajes a los que el calibrador responderá con el
resultado de las medidas solicitadas, aunque ya se explicará más adelante. No se
contempla el intercambio de mensajes entre el PLC y la pantalla táctil, pero como
ya se ha comentado no habría ningún problema en que interactuaran.
- El calibrador será el único esclavo de la red y responderá a las órdenes exigidas por
la pantalla táctil y por el PLC.
La finalidad principal de las comunicaciones que se expondrá en epígrafes posteriores del
proyecto, consiste en implementar en el PLC una serie de estrategias de calibración que le
permitan llevar a cabo la búsqueda del sol optimizando el valor de la potencia del conjunto de
módulos fotovoltaicos de alta concentración colocados sobre el tracker y de esta manera fijar
los offsets. Esto se llevará a cabo gracias a las medidas necesarias de diferentes parámetros
31 Particularización del protocolo a nuestro proyecto
característicos de los módulos por parte del calibrador, que proveerá de ellas al PLC para que
realice las acciones adecuadas.
Cabe también comentar antes de entrar en la particularización, que el seguidor solar estará
en funcionamiento continuo en modo comercial enviando la energía producida al a red
eléctrica. Por lo tanto, el tiempo que los módulos estén conectados al calibrador no será
deseable ya que se estará perdiendo dinero. Por esta razón, el calibrador incorpora en su
diccionario de objetos modalidades para poder conectarse y desconectarse de dichos módulos
automáticamente permitiendo el flujo de energía hacia los inversores que verterán a la red.
6.16.16.16.1 Particularización del pParticularización del pParticularización del pParticularización del protocolo de mensajes rotocolo de mensajes rotocolo de mensajes rotocolo de mensajes
En nuestro proyecto se han prescindido de varios de los elementos característicos de
CANopen anteriormente explicados debido a exigencias en el diseño de la red por parte del
fabricante del calibrador. Esto, ha generado una variante de CANopen con las siguientes
peculiaridades.
- Se ha optado por prescindir del servidor NMT. Es decir, el maestro no tendrá
constancia de los esclavos que están conectados a la red y por tanto no será
necesario que los lleve a un estado operacional si no que ellos evolucionarán solos
sin necesidad de comunicarse con el maestro. Simplemente enviará los mensajes
SDO que se consideren en cada momento y esperará una respuesta antes de que el
watchdog time llegue a cero. En caso contrario se generará un mensaje de error en
la recepción caracterizado por el 0x80h en el primer byte de éste.
Esta particularización se ha llevado a cabo principalmente por exigencias del
fabricante del calibrador. El calibrador al ser un prototipo experimental gestiona las
comunicaciones con un DSP (digital signal processing) no muy potente y resulta
conveniente no sobrecargar la red. En el caso de llevar a cabo una comercialización
del dispositivo se elaborarían placas con DSP más potentes capaces de generar una
red con una mayor calidad.
- Por lógica, ha sido necesario prescindir también del NMT error control, debido a
que si el maestro no conoce los esclavos que existen en la red, no debe conocer
32 Particularización del protocolo a nuestro proyecto
tampoco su estado y por tanto no comprobará si siguen conectados al bus ya que
para él, él es el único nodo que constituye la red. Al igual que en el caso anterior,
se ha prescindido de esta parte para no llegar a sobrecargar la red en exceso.
- Por otro lado en nuestro proyecto únicamente se intercambiarán mensajes de 4 o
menos bytes, es decir, expedited SDO messages. Se ha optado por este tipo de
mensajes debido a varias razones:
o La prioridad necesaria en los mensajes no es tan alta como para tener que
utilizar mensajes de tipo PDO.
o Al no existir ningún protocolo NMT, es bastante más fácil que se produzcan
errores en la recepción de los mensajes. Este suceso en mensajes de alta
prioridad PDO ocasionaría un error fatal en la red que necesitaría asistencia
para solucionarlo, sin embargo, un error en la recepción de un mensaje SDO
ocasiona un error en la respuesta a éste pudiendo solucionarse únicamente
con la repetición del envío del mismo.
o Todos los datos que se intercambiarán en los mensajes que necesitamos
tendrán como mucho cuatro bytes de tamaño ya que es lo que ocupa un
float, que como veremos más adelante, será el formato de las medidas que
se intercambien.
Como vemos mediante estas consideraciones se simplifica bastante el protocolo de mensajes
en la red, sin embargo la hace más vulnerable a fallos. Aun así, una vez realizadas las
diferentes pruebas de validación que se verán más adelante, podemos garantizar el perfecto
funcionamiento de ésta.
6.26.26.26.2 Diccionarios de objetosDiccionarios de objetosDiccionarios de objetosDiccionarios de objetos
En éste epígrafe se pretende describir los diccionarios de objetos de calibrador y del PLC. La
pantalla táctil ha sido diseñada por el fabricante del calibrador y va empotrada en el mismo
por lo que no podremos acceder a su programación. Sin embargo, su diccionario de objetos
es fácilmente deducible de los otros dos ya que como se verá más adelante, le pedirá al
33 Particularización del protocolo a nuestro proyecto
calibrador que le otorgue resultados de las medidas realizadas en el momento en que un
operario que la esté manipulando desee.
El COB-ID del calibrador se podrá cambiar mediante una opción que incluye mediante
broadcasting, aunque tendrá asociado una ID por defecto que será 0x13h.
34 Particularización del protocolo a nuestro proyecto
Los bytes de datos se estructuran como vimos anteriormente:
Tipo Indice2 Indice1 Subíndice Dato4 Dato3 Dato2 Dato1
• Figura 22. Estructura de los bytes de datos de Arbitration Field de los mensajes SDO.
Se llega a un acuerdo entre los diferentes fabricantes sobre el tipo característico para llevar a
cabo operaciones de lectura y de escritura. Se elige que las operaciones de lectura se
realizarán mediante el tipo 0x40h y serán contestadas con el tipo 0x43h. Por otro lado, las
operaciones de escritura se realizarán mediante el tipo 0x23h y serán contestadas con el tipo
0x60h. A continuación se expone una tabla sacada del manual de CANopen en el que se
explica a qué mensajes se asignan estos tipos:
0x40h Orden de lectura. Usada siempre por el host cuando inicializa el proceso de lectura.
Se utiliza cuando es necesario transferir más de 4 bytes.
0x43h Respuesta de lectura con 4 bytes de información. Esta especificación la marca el PLC
para la correcta interpretación posterior de los datos.
0x23h Orden de escritura. Usada siempre por el host cuando quiere enviar justamente 4
bytes. El nodo esclavo responde con 0x60h.
0x60h Respuesta de escritura. No contiene datos de respuesta.
• Figura 23. Tipo de los mensajes utilizados en nuestro proyecto.
Se está usando una variante de CANopen en la petición de lectura debido a que se
programaron así las librerías en el DSP del calibrador. No hay conflictos con el resto de
dispositivos ya que la respuesta si se realiza como la norma exige y por tanto la interpretación
de los datos es la correcta.
En este apartado se mostrarán las diferentes medidas que puede llevar a cabo el calibrador,
así como los mensajes que debe de enviar el PLC para que se lleven a cabo.
35 Particularización del protocolo a nuestro proyecto
6.36.36.36.3 Directorio del calibradorDirectorio del calibradorDirectorio del calibradorDirectorio del calibrador
Para la comunicación se ha creado una estructura de datos que tiene los campos necesarios
para el funcionamiento del calibrador. A continuación se describen todos los mensajes que
componen el diccionario de objetos del calibrador y que permitirán al PLC realizar medidas a
través de él.
6.3.16.3.16.3.16.3.1 Comandos de estadoComandos de estadoComandos de estadoComandos de estado
La palabra de estado (Índice 2112, Subíndice 1) se debe ir leyendo y escribiendo durante el
control del convertidor para saber sus condiciones. Los bits de la palabra de estado son:
Bit Tipo Nombre Detalle
1 R/W connection_master
Orden del master para conexión (operador), indica que el master le ha dado
al calibrador la orden de cerrar los relés (cambio de estado S1 a S2). Es decir,
cuando a través de la palabra de escribir estado 0x23122101, le llega en el bit
0 de datos un ‘1’, se le ha dado la orden de conexión.
2 R connection_slave El esclavo informa que está conectado físicamente a través de los relés.
3 R/W Rango1
Primer bit de rango de medida de tensión y corriente. Estos 3 bits permiten
configurar el equipo para los diferentes rangos de medida para el panel.
4 R/W Rango2
Segundo bit de rango de medida de tensión y corriente. Estos 3 bits permiten
configurar el equipo para los diferentes rangos de medida para el panel.
5 R/W Rango3
Tercer bit de rango de medida de tensión y corriente. Estos 3 bits permiten
configurar el equipo para los diferentes rangos de medida para el panel.
6 R Alarm_overvoltage Alarma de sobretensión
7 R Alarm_overcurrent Alarma de sobrecorriente
8 R Alarm_Hardware Alarma por fallo de entrada por hardware
36 Particularización del protocolo a nuestro proyecto
• Figura 24. Bit que componen la palabra de estado del sistema.
Como se llegó a explicar anteriormente, no es deseable que los módulos fotovoltaicos estén
conectados al calibrador durante mucho tiempo, ya que detendría la producción de la planta
comercial. Para ello se contempla este comando de estado que nos permite modificar los
parámetros más determinantes de la configuración del calibrador solar.
Cuando se desee conectar el calibrador a los módulos bastará con poner a 1 el bit de
connection master y llevar a cabo la operación de escritura. Si posteriormente realizáramos
una lectura de la palabra de estado observaríamos que si todo ha funcionado de la manera
adecuada el bit correspondiente a connection slave también deberá estar activado. Para llevar
a cabo la desconexión bastará con realizar el procedimiento inverso, es decir, poner a cero el
bit de connection master y realizar una operación de escritura de la palabra de estado.
Por otro lado la palabra de estado nos permite fijar unas ganancias variables que nos
permitirán operar en un gran rango de valores nominales de tensión e intensidad. Existirán
ocho rangos de valores según el tipo de módulos que se estén utilizando:
Rango Isc Voc
000 3 A 240 V
001 3 A 360 V
010 8 A 60 V
011 8 A 240 V
100 8 A 360 V
101 16 A 240 V
110 8 A 540 V
111 24 A 600 V
37 Particularización del protocolo a nuestro proyecto
• Figura 25. Rango de operación del calibrador.
Los rangos de funcionamiento se fijarán cuando el calibrador esté desconectado y será
necesario que el operario preste mucha atención a este factor ya que conectar el calibrador
en un rango de potencia diferente al de trabajo puede producir sobretensiones o
sobrecorrientes que salten las protecciones del dispositivo pudiendo llegar a dañarlo.
La palabra de estado incluye además la indicación de la activación de alarmas causadas por
sobrecorrientes y sobreintensidades así como una tercera alarma generada por un fallo de
hardware.
Quizás este sea el mensaje SDO más complicado de procesar debido a la complejidad de su
formación en un nivel no tan bajo de programación como es el que presenta el PLC. Para
formarlo se contemplarán las diferentes combinaciones entre los datos a enviar y según se
marquen se generará el byte de datos adecuado que será enviado como el primer byte de
datos del mensaje.
6.3.26.3.26.3.26.3.2 Comandos de datos.Comandos de datos.Comandos de datos.Comandos de datos.
Los comandos de datos son generalmente de lectura (R) y utilizan el índice 6403.
Subínd Tipo Descripción Tipo de dato Nombre en la estructura
1 R Tensión de circuito abierto float Voc
2 R Corriente de Cortocircuito float Isc
3 R Potencia máxima panel float Pmp
4 R Temperatura termopar 1 float T1
5 R Temperatura termopar 2 float T2
6 R Temperatura PT100 float T3
7 R DNI float DNI
8 R GNI float GNI
38 Particularización del protocolo a nuestro proyecto
9 R Tensión del panel float Vpv
A R Corriente del panel float Ipv
• Figura 176. Comandos de datos contemplados.
Además de las medidas habituales de tensiones en circuito abierto, tensión en cortocircuito y
potencia máxima del panel, el calibrador cuenta con dos termopares que nos permiten
obtener medidas de temperatura de aparatos específicos, así como un PT100 que nos permite
conocer la temperatura del ambiente para realizar análisis de temperatura en células. También
permite la lectura de la radiación normal directa y de la radiación normal global del ambiente.
Por último, es posible conocer la curva IV del módulo fotovoltaico en su totalidad. Para ello,
serán necesarias una serie de 200 lecturas de puntos consecutivos que nos permitirán
conformar la curva.
6.3.36.3.36.3.36.3.3 Comandos de configuraciónComandos de configuraciónComandos de configuraciónComandos de configuración
Los comandos de configuración son tanto de lectura (R) como de escritura (W), y utilizan el
índice 6408 como se muestra en la siguiente tabla.
Subínd Tipo Descripción
Tipo
de
dato
Nombre en la
estructura
1 R
Tensión de circuito abierto nominal, según la
configuración dada por la palabra de estado. float Voc_nom
2 R
Corriente de cortocircuito nominal, según la configuración
dada por la palabra de estado. float Isc_nom
3 R/W Parámetro 1 float Param1
4 R/W Parámetro 2 float Param2
5 R/W Parámetro 3 float Param3
6 R/W Parámetro 4 float Param4
39 Particularización del protocolo a nuestro proyecto
7 R/W Parámetro 5 float Param5
• Figura 187. Comandos de configuración contemplados.
40 Particularización del protocolo a nuestro proyecto
Se han introducido dos parámetros con el fin de poder comprobar el rango de tensiones e
intensidades en el que se está trabajando sin necesidad de leer y traducir la palabra de estado.
También se han incluido 5 mensajes de configuración reservados con el fin del diseño de una
segunda versión del calibrador en un futuro.
6.3.46.3.46.3.46.3.4 Otros comandosOtros comandosOtros comandosOtros comandos
Indice Subínd Tipo Descripción
2442 1 W Clear alarms
8118 1 W Cambiar ID calibrador
642B 1 W Trigger de lectura de datos
4325 1 W Trazar curva IV
4332 1 W Realizar Calibración
• Figura 28. Restos de comandos contemplados.
Supóngase el caso en el que se ha conectado el calibrador a los módulos de CPV fijando un
rango mucho menor del real. Es muy probable que salten las protecciones de sobrecorriente o
sobretensiones y con ello sus alarmas asociadas. Si se quiere volver a conectar el calibrador
una vez nos hayamos percatado del fallo, será necesario resetear las alarmas, por lo que
parece adecuado incluir un comando que permita resetearlas.
Por otro lado, se permite cambiar la ID del calibrador mediante broadcasting. Es decir, si se
desea variar la ID, se conectará de manera aislada el calibrador y se le hará llegar esta señal a
todos los esclavos (en nuestro caso él será el único estado de la red).
41 Particularización del protocolo a nuestro proyecto
Los dos comandos siguientes están muy relacionados entre ellos. Cuando se ordena al
calibrador que trace una curva IV, irá apuntando con un puntero a las sucesivas parejas de
puntos de tensión e intensidad que va tomando. Una vez acabe el trazado de la curva y se
desee su transferencia al PLC, será necesario realizar un trigger de lectura de datos que
inicializará ese puntero al primer punto de la curva.
Por último se incluye un parámetro con vistas a una próxima versión del calibrador, en la que
no será necesario el uso de un PLC y el DSP gestionará directamente el movimiento del
seguidor solar. Por ahora no tiene ninguna funcionalidad en nuestro modelo.
42 Implementación de las comunicaciones en el PLC
7777 Implementación de las comunicaciones en el PLCImplementación de las comunicaciones en el PLCImplementación de las comunicaciones en el PLCImplementación de las comunicaciones en el PLC
EL PLC que se utilizará en nuestro proyecto, será el FP sigma de Panasonic. Como hemos
comentado, este PLC acepta un módulo de expansión maestro de CANopen.
• Figura 19. PLC FPG.
• Figura 30. Módulos de expansión para las comunicaciones a través de Porfibus, CANopen y DeviceNet.
Estos tipos de PLC son muy comúnmente usados para gobernar el movimiento de seguidores
solares debido a su buen funcionamiento para el control de motores tanto trifásicos como
monofásicos y la precisión en las salidas de configuración de elementos de gran importancia
como son los variadores.
Nuestra caja de control del seguidor solar cuenta con un único variador, por lo que no será
posible el movimiento simultáneo de los dos ejes de giro. Para la programación del autómata
43 Implementación de las comunicaciones en el PLC
se partirá de un programa ya hecho que permite mover el variador siguiendo los valores de las
efemérides solares según una latitud y longitud característica.
7.17.17.17.1 Descripción del entorno de desarrolloDescripción del entorno de desarrolloDescripción del entorno de desarrolloDescripción del entorno de desarrollo
El software utilizado para la programación de todos los autómatas programables de la serie FP
de Panasonic es el FPWIN PRO. Contaremos con la última versión de este programa que
actualmente es la v6.
FPWIN PRO tiene varias ventajas:
- Cuenta con 5 lenguajes de programación diferentes que se pueden combinar en un
mismo proyecto (Lista de instrucciones, Diagrama de contactos, diagrama de
bloques de funciones, diagrama secuencial de funciones y texto estructurado). La
mayoría del código que desarrollemos será mediante texto estructurado en el
lenguaje de programación Pascal, sin embargo, las comunicaciones se programarán
mediante un diagrama de contactos con el fin de hacerlas más visuales para su
posterior explicación.
- Es un navegador bien estructurado que nos permite tener un orden óptimo en
nuestros diferentes archivos separando las POU (Programming Organization Units),
tareas, registros del sistema, …
- Nos permite generar bloques de funciones para reutilizarlas en los programas
principales ahorrándonos de esta manera tiempo de programación y de
depuración.
- Es posible la programación por varios puertos (RS232, Modem, Ethernet, USB) así
como la monitorización y la corrección de líneas de código directamente en línea
sin necesidad de tener que transferir el proyecto en su totalidad cada vez que se
realicen variaciones en éste.
- Es posible modificar las salidas físicas simulando su valor para pruebas en línea.
- Presenta una gran bibliografía y manuales que permiten aprender rápido la forma
óptima de programación para cada proyecto.
44 Implementación de las comunicaciones en el PLC
• Figura 31. Entorno de programación de FPWIN PRO.
A la izquierda del programa se encuentran los accesos rápidos a los diferentes parámetros de
configuración del proyecto y cuenta con seis partes principales:
- PLC: en esta sección se permite la elección del tipo de PLC (cualquiera de la serie
FP) y su configuración. Aquí se configuran las diferentes entradas y salidas, los
puertos de comunicaciones de programación y auxiliares, …
- Librerías: Se incluyen todas las librerías básicas que vienen de serie generadas. Es
posible la creación de librerías auxiliares y en el caso de su creación serán cargadas
en esta sección.
- Tareas: En esta sección se incluyen los diferentes programas (PRG) que se irán
ejecutando en paralelo, así como PRG asociados a interrupciones por el cambio de
estado de entradas digitales físicas del PLC o PRG asociados a interrupciones
periódicas con tiempo regulable.
- DUT: Las DUT son las estructuras propias de este entorno de programación. Son
muy útiles para el procesamiento de datos y nos serán de gran utilidad en nuestro
proyecto para la configuración de los SDO como veremos más adelante.
45 Implementación de las comunicaciones en el PLC
- Variables globales: Es un listado con todas las variables globales definidas así como
sus direcciones de memoria. Será interesante asignar direcciones de memoria
concretas a las variables para su posterior monitorización en otra aplicación
proporcionada por Panasonic denominada PCWAY.
- POU (Programming Organization Units): en esta sección se encuentran todos los
diferentes programas y funciones desarrolladas. Como ya se dijo, un bloque de
función puede ser llamado más de una vez y esta relación entre programas y
bloques se muestra también en este submenú en una estructura de árbol.
En el centro de la interfaz se encuentra el menú abierto, es decir, desde programas y bloques
de funciones hasta un listado de tareas o de variables globales. En este menú se van
desarrollando el programa que se implementará posteriormente en el PLC.
Finalmente, en la derecha de la pantalla se muestran las librerías de instrucciones y de
variables para hacer rápido el acceso a ellas para su integración en el programa.
7.27.27.27.2 Programa implementadoPrograma implementadoPrograma implementadoPrograma implementado
Para la implementación del programa lo primero que debemos de hacer es escoger el PLC que
se usará, en nuestro caso el FP sigma de 32k.
46 Implementación de las comunicaciones en el PLC
• Figura 32. Asignar el tipo de PLC a un proyecto en FPWIN PRO.
Una vez asignado el tipo de PLC y si contamos con el software proporcionado por Panasonic
para la configuración de las comunicaciones de CANopen, en los registros del sistema debe
aparecer un nuevo ítem con el nombre de Maestro Fieldbus. Pinchando dos veces sobre el
ítem se nos abre la pantalla de configuración de la red.
• Figura 33. Control Configurator FM.
47 Implementación de las comunicaciones en el PLC
Como vemos inicialmente el programa no tiene configurada ninguna comunicación. Cabe
destacar que esta aplicación sirve para configurar tanto las redes CANopen como para
Profibus y DeviceNet.
Nuestra red estará formada únicamente por un maestro ya que como se comentó
anteriormente, se ha particularizado el protocolo de CANopen a nuestro caso de tal manera
que se eliminen los protocolos NMT de la red.
Elegimos en el menú lateral el maestro adecuado (CANopen, Maestro, FP-CAN-M) y lo
arrastramos hacia la zona izquierda que contiene el esquema gráfico de la configuración.
• Figura 34. Esquema final tras incluir al maestro en la red de comunicaciones.
A continuación pinchamos dos veces sobre el maestro y se despliega un menú para la
configuración de éste.
48 Implementación de las comunicaciones en el PLC
• Figura 35. Configuración del maestro CAN.
Esta interfaz de programación es bastante intuitiva y nos permitirá configurar en pocos pasos
la red incluso para las particularidades que hemos introducido.
Inicialmente nos encontramos con la pantalla mostrada en la figura anterior, en la que
conectados al PLC, si pulsamos el botón scan nos aparecerá en pantalla y únicamente habrá
que marcarlo.
A continuación navegaremos por las sucesivas pestañas hasta la configuración total del
mismo.
- Master settings: Nos permite configurar aspectos determinantes sobre la creación
del bus, la configuración del tiempo de espera de mensajes y la interpretación de
los datos.
49 Implementación de las comunicaciones en el PLC
• Figura 36. Master Settings.
La comunicación se generará controlada por la aplicación, es decir, nosotros
daremos las pautas de la creación de esa comunicación con el fin de no incluir el
protocolo NMT.
Se ha fijado el Watchdog time en un segundo, ya que se considera que respuestas
a mensajes con demoras mayores a un segundo significan que existe algún tipo de
problema en la aplicación. Si mandamos un mensaje y no obtenemos respuesta
antes de un segundo se egenrará un mensaje de error y la contestación empezará
por el tipo 0x80h.
Por la parte de interpretación de datos escogemos Little Endian. De esta manera
una trama de mensaje que llegue de la forma {2A, 4B, 11, 00} se interpretará de
manera inversa, es decir {00, 11, 4B, 2A}.
- Bus parameters: En esta pestaña le asignaremos la ID al nodo y fijaremos la
velocidad de intercambio de mensajes en nuestro bus que será de 125 Kbit/s. En
esta pestaña es posible configurar tramas de mensajes CAN2.0B que en lugar de
contar con 8 bit para definir el COB-ID cuentan con 29. También es posible
50 Implementación de las comunicaciones en el PLC
configurar los parámetros que definen los mensajes de tipo SYNC pero no serán
utilizados en nuestro proyecto.
- La siguiente pestaña que tendremos que configurar será la de Node boot up ya que
el resto no nos servirán porque nosotros configuraremos los mensajes SDO
manualmente.
• Figura 37. Node boot up.
Tenemos que desmarcar todas los estados de inicialización ya que el diccionario de
objetos del calibrador no contempla mensajes de otro tipo que no sean los SDO
expuestos anteriormente.
- Por último, Monitoring permite visualizar y configurar los protocolos de NMT Error
Control, que al no utilizarlos tendremos que marcar el Heartbeat protocol con
produccer time 0 ms.
Una vez se ha configurado el bus de comunicaciones, es hora de exponer la estrategia que se
va a seguir para la programación los diferentes hilos con los que contará nuestro proyecto.
51 Implementación de las comunicaciones en el PLC
Contaremos con dos PRG principales. Uno de ellos se encargará de las comunicaciones en sí.
Es decir, le llegarán los datos del mensaje que tiene que intercambiar y una flag le avisará de
que es el momento adecuado para ello. Este hilo guardará en otra variable global el
parámetro de lectura cuando proceda y volverá a un estado de espera. Por otro lado, el
segundo hilo se utilizará como disparador del mensaje en cuestión que se quiera intercambiar.
Existirán por otro lado tres bloques de funciones auxiliares a los programas principales:
- Assign: Asignará la trama a los diferentes mensajes que se quieran intercambiar.
- Escribo Estado: Leyendo el valor de las tres variables booleanas que definen el
rango que queremos implantar, generará el byte de datos que será necesario enviar
en una operación de escritura para variar el rango.
- Leo Estado: Actúa a la inversa que escribo estado, es decir, toma el byte de datos
recibido y lo transforma a variables booleanas que componen la palabra de estado.
La manera de proceder al intercambio de un mensaje será la siguiente: En el PRG auxiliar al de
las comunicaciones se activará una variable booleana que marque el intercambio de una
información determinada, por ejemplo una lectura de tensión. Es entonces cuando el
programa de comunicaciones asignará la tarama del mensaje a la DUT creada para ello cuya
estructura se puede ver en la siguiente figura:
• Figura 38. DUT para el intercambio de mensajes SDO.
Una vez asignado el mensaje a la DUT se llevara a cabo la transferencia de él. Una vez
finalizada ésta se reseteará la variable booleana que a marcado la orden de intercambio.
De igual manera se procederá con la palabra de estado aunque será necesario en este caso
una interpretación de los datos leídos y una conversión del formato antes de enviarlos, por
eso contamos con los bloques de funciones expuestos anteriormente.
52 Validación de las comunicaciones
8888 ValidaciValidaciValidaciValidación de las comunicacionesón de las comunicacionesón de las comunicacionesón de las comunicaciones
El objetivo de este epígrafe es describir el plan que se va a seguir para la validación de las
comunicaciones dentro de la red CAN generada entre un autómata programable y un DSP
asociado a un dispositivo electrónico denominado calibrador que proveerá al autómata de las
diferentes medidas que solicite.
En la red CAN creada entre el calibrador y el autómata programable, el PLC será el maestro
de la red y le enviara órdenes de lectura y escritura al calibrador.
Para llevar a cabo la validación de las comunicaciones dentro de la red, será necesario
establecer un plan de validación que verifique el correcto funcionamiento de ésta.
8.18.18.18.1 Plan de validaciónPlan de validaciónPlan de validaciónPlan de validación
El plan de validación de las comunicaciones dentro de la red debe verificar el correcto envío y
recepción de mensajes por parte de ambos nodos que la componen.
- El autómata debe ser capaz de establecer el comando de estado que especifica el
rango de valores de tensión e intensidad con el que se va a trabajar según la
generación y número de módulos fotovoltaicos existan en el tracker. Debe de
establecer dicho rango y llevar a cabo el conexionado del calibrador con los
módulos para la toma de medidas.
- El autómata debe ser capaz de conseguir información de medidas de temperatura,
tensión, intensidad, potencia, DNI y GNI suministradas por el calibrador después de
haber activado un trigger de lectura.
- El autómata debe ser capaz de conseguir información de medidas de la curva I-V
suministrada por el calibrador después de haber activado un trigger de lectura
específico para esta medida. Tendrá que realizar varias peticiones de datos ya que
la curva estará compuesta por 200 puntos.
53 Validación de las comunicaciones
- Se tendrá que poder consultar la corriente y tensión de circuito abierto nominal
según la configuración dada para el estado específico. Estos comandos de
configuración permiten observar en que rango de valores estamos trabajando sin la
necesidad de utilizar la palabra de estado.
- Se tiene que ser capaz de borrar las alarmas que se hayan generado en el caso de
un mal funcionamiento de los dispositivos así como de poder variar el ID del
calibrador. En principio, estas dos órdenes no se tendrán que utilizar ya que se
supone que el funcionamiento del conjunto será el adecuado.
8.28.28.28.2 Comandos de datos, configuración y otros comandosComandos de datos, configuración y otros comandosComandos de datos, configuración y otros comandosComandos de datos, configuración y otros comandos
En el bloque de función facilitado por FPWIN PRO, será necesario configurar ciertos
parámetros para llevar a cabo el intercambio de mensajes. Aunque ya se contempló cómo se
llevaba a cabo el intercambio de datos, en este apartado se especifican ciertas entradas y
salidas que se habían obviado ya que son fijas y no necesitan ser configuradas.
ENTRADASENTRADASENTRADASENTRADAS SALIDASSALIDASSALIDASSALIDAS
V_COMV_COMV_COMV_COM INT Identificador del mensaje a
enviar.
ReadyReadyReadyReady BOOL Indica que todo está correcto.
DeviceDeviceDeviceDevice INT ID del calibrador. ErrorErrorErrorError BOOL Error en el envío.
DatoDatoDatoDato REAL Dato a escribir cuando proceda.
ResetResetResetReset BOOL Reinicia la red CAN.
ActivarActivarActivarActivar BOOL Envía el mensaje.
• Figura 39. Entradas y salidas características del bloque de comunicaciones CAN.
54 Validación de las comunicaciones
De esta manera será posible intercambiar mensajes de una manera más rápida y accesible sin
necesidad de establecer todos los parámetros de los mensajes SDO si no que existirá una base
de datos que los contenga dentro de la librería y solo habrá que referirse a ellos a través de
un identificador.
Si suponemos un funcionamiento estacionario el identificador del calibrador no variará y
tampoco será necesario realizar operaciones de escritura por lo tanto solo se utilizarán los
parámetros “Activar” para enviar el mensaje y “V_COM” para especificar qué mensaje. A
continuación se expone una tabla con los diferentes mensajes y su identificador.
V_COMV_COMV_COMV_COM TipoTipoTipoTipo Tipo de datoTipo de datoTipo de datoTipo de dato DescripciónDescripciónDescripciónDescripción
1 R Float Tensión en circuito abierto.
2 R Float Corriente en cortocircuito.
3 R Float Potencia máxima del panel.
4 R Float Temperatura termopar 1.
5 R Float Temperatura termopar 2.
6 R Float Temperatura termopar 3.
7 R Float DNI.
8 R Float GNI.
9 R Float Tensión del panel.
10 R Float Corriente del panel.
11 R Float Tensión de circuito abierto nominal.
12 R Float Corriente de cortocircuito nominal.
13 W - Clear alarms.
55 Validación de las comunicaciones
14 W - Cambiar ID calibrador.
15 W - Trigger de lectura de datos.
16 W - Trazar curva I-V.
17 W - Realizar calibración.
• Figura 40. Lista de mensajes asociados en el bloque de asignación.
8.38.38.38.3 Comando de estadoComando de estadoComando de estadoComando de estado
Para el comando de estados se ha decidido enviar un único byte en el que cada uno de los
bits tiene una función diferente.
Bit Bit Bit Bit TipoTipoTipoTipo NombreNombreNombreNombre DetalleDetalleDetalleDetalle
1 R/W connection_master Orden del master para conexión (operador), indica que el master le
ha dado al calibrador la orden de cerrar los relés (cambio de estado
S1 a S2). Es decir, cuando a través de la palabra de escribir estado
0x23122101, le llega en el bit 0 de datos un ‘1’, se le ha dado la
orden de conexión.
2 R connection_slave El esclavo informa que está conectado físicamente a través de los
relés.
3 R/W Rango1 Primer bit de rango de medida de tensión y corriente. Estos 3 bits
permiten configurar el equipo para los diferentes rangos de medida
para el panel.
4 R/W Rango2 Segundo bit de rango de medida de tensión y corriente. Estos 3 bits
permiten configurar el equipo para los diferentes rangos de medida
para el panel.
5 R/W Rango3 Tercer bit de rango de medida de tensión y corriente. Estos 3 bits
permiten configurar el equipo para los diferentes rangos de medida
56 Validación de las comunicaciones
para el panel.
6 R Alarm_overvoltage Alarma de sobretensión
7 R Alarm_overcurrent Alarma de sobrecorriente
8 R Alarm_Hardware Alarma por fallo de entrada por hardware
• Figura 41. Bit que componen la palabra de estado.
Para poder enviar el comando de estado y poder leerla se ha generado un segundo bloque de
función que presenta como entradas los parámetros modificables de la palabra de estado así
como la orden de envío, la ID del calibrador, el comando reset como ocurría en el bloque
anterior y además se incluye una variable booleana que expresa si se desea leer o escribir la
palabra de estado.
Como salidas se tienen todos los bits que conforman el comando así como la señal de ready y
de error.
Esta función es necesario ejecutarla dos veces en el caso de querer modificar la palabra de
estado ya que será necesario la posterior lectura para comprobar que todo es correcto.
8.48.48.48.4 ValidacionesValidacionesValidacionesValidaciones
A continuación se llevarán a cabo pruebas con el fin de validar cada uno de los
procedimientos enumerados en el plan de validación. Para comprobar el correcto
funcionamiento de las comunicaciones contaremos con un adaptador USB to CAN que nos
permitirá visualizar en tiempo real las tramas de los mensajes.
57 Validación de las comunicaciones
8.4.18.4.18.4.18.4.1 Validación de lectura de datos Validación de lectura de datos Validación de lectura de datos Validación de lectura de datos unidimensionalesunidimensionalesunidimensionalesunidimensionales
El procedimiento será ejecutar la orden del trigger de lectura y leer el dato deseado.
Como podemos ver se lleva a cabo de forma correcta. El dato devuelto en la lectura es
almacenado en un espacio de memoria del PLC e interpretado de forma correcta.
8.4.28.4.28.4.28.4.2 Validación de lectura de la curva IValidación de lectura de la curva IValidación de lectura de la curva IValidación de lectura de la curva I----VVVV
El procedimiento será ejecutar la orden del trigger de lectura para este tipo de datos (otros
comandos: Trazar curva I-V) y realizar 200 medidas seguidas.
Habrá que realizar 200 medidas de tensión y otras 200 de intesidad, por lo que será necesario
llevar a cabo el almacenamiento de dichas variables en un espacio de memoria del PLC
conforme se vayan tomando.
Como podemos observar, el intercambio de información se lleva a cabo de manera correcta y
los datos son correctamente interpretados por el PLC.
58 Validación de las comunicaciones
8.4.38.4.38.4.38.4.3 Consulta de corriente y tensión nominalConsulta de corriente y tensión nominalConsulta de corriente y tensión nominalConsulta de corriente y tensión nominal
Para validar estas órdenes es necesario conocer los diferentes rangos de valores de tensión e
intensidad por los que está diseñado para trabajar el calibrador.
IIIIscscscsc VocVocVocVoc
1x2 Gen2 3 A 240 V
1x3 Gen2 3 A 360 V
1x1 Gen2 8 A 60 V
1x4 Gen2 8 A 240 V
1x6 Gen2 8 A 360 V
2x4 Gen2 16 A 240 V
1x9 Gen2 8 A 540 V
3x10 Gen2 24 A 600 V
Fijamos el estado para 1x3 Gen2 y llevamos a cabo una lectura de tensión en circuito abierto
y de intensidad en cortocircuito nominal obteniendo justamente 360 V y 3 A.
59 Validación de las comunicaciones
0xB443h = 360
0x4040 = 3
8.4.48.4.48.4.48.4.4 Validación de otros comandosValidación de otros comandosValidación de otros comandosValidación de otros comandos
Para borrar las alarmas bastará con llevar a cabo la orden a la que el calibrador responderá sin
errores (ya que en estas pruebas no se están considerando ninguna alarma persistente).
Para variar el ID del calibrador bastará con enviarle la orden de cambiar su identificador
conectándolo de forma aislada. A continuación se observa como se le manda la misma orden
con dos identificadores diferentes.
Inicialmente se fija la ID con valor dos y se lee GNI. Posteriormente se establece como nueva
ID tres y se vuelve a medir la GNI ahora enviando dicho mensaje a la ID específica. Vemos
como el calibrador contesta de igual manera.
8.4.58.4.58.4.58.4.5 Validación comando de estadoValidación comando de estadoValidación comando de estadoValidación comando de estado
Para validar esta parte partiremos de cero y fijaremos un rango de funcionamiento y
conectaremos el calibrador a los módulos. Posteriormente comprobaremos que se haya hecho
de forma correcta y finalmente lo desconectaremos. De esta manera englobaremos todas las
operaciones.
60 Validación de las comunicaciones
- La primera pareja de mensajes realiza una operación de lectura para observar el
estado actual del sistema. La respuesta es cero ya que todavía no se ha operado en
él.
- La segunda pareja pertenece a una operación de escritura en la que se establece el
rángo más alto mediante la pablabra de estado 00011100.
- La tercera pareja lee que lo que se ha mandado escribir se haya escrito de forma
correcta.
- La cuarta pareja manda la orden de conexión con el rango establecido 00011101.
- En la quinta pareja de mesnajes se comprueba mediante una operación de lectura
que la conexión se haya realizado con el rango establecido. El sistema devuelve de
manera correcta 00011111.
- Finalmente se desconecta el calibrador de los módulos y se observa si la operación
se ha realizado satisfactoriamente mediante una operación de lectura.
61 Monitorización
9999 MonitorizaciónMonitorizaciónMonitorizaciónMonitorización
Para la monitorización de los resultados contaremos con la herramienta desarrollada por
Panasonic PCWAY. PCWAY es un complemento de Excel que nos permite monitorizar
variables globales del PLC fijados en direcciones de memoria concretas.
Por ejemplo, asignamos una dirección fija a una variable concreta que queramos monitorizar
como puedan ser las cuatro tensiones que nos facilita el sensor de apunte solar para conocer
el error que estamos cometiendo.
• Figura 42. Lecturas de tansión realizadas por el sensor solar.
A continuación nos dirigimos al fichero Excel y pulsamos dos veces la casilla en la que
queramos registrar el valor de dicha variable. Se abrirá una pantalla que será necesario
modificar dependiendo si es un registro de memoria, un relé, el tipo de dato,…
62 Monitorización
• Figura 43. Configuración de una celda en PCWAY.
Como se puede observar en la figura, hemos configurado la celda para que muestre el valor
del registro DDT2006 correspondiente a un dato REAL y hemos especificado que muestre el
número con cinco decimales activando únicamente la posibilidad de lectura.
Tras configurar todas las variables que queríamos monitorizar obtenemos el siguiente archivo
Excel.
63 Monitorización
• Figura 44. Monitorización de la progresión de las efemérides solares, la posición del seguidor y las consignas marcadas
así como de las lecturas de tensión, intensidad y DNI.
• Figura 45. Panel de control de la hoja de monitorización.
Se visualizan las posiciones solares marcadas por las efemérides, la posición actual del
seguidor así como las consignas marcadas. Se puede acceder fácilmente al menú de modo de
funcionamiento pudiendo variarlo directamente desde la hoja. Nos muestra también si han
saltado las alarmas y nos permite marcar consignas en modo de funcionamiento manual.
Para la captura de los datos, por otro lado, se ha desarrollado una macro en visual basic que,
mediante los botones que se ven en la figura anterior, nos permite empezar las capturas de
datos, parar de tomarlas, continuar tomando desde el punto donde se paró y borrar todas las
capturas realizadas.
64 Monitorización
Se ha programado un temporizador que cada segundo tomará capturas de todos los datos
monitorizados y los incluirá en una nueva línea del fichero Excel. Junto con los datos incluirá
el indicador de la hora en la que se hizo la captura.
• Figura 46. Fragmento de la hoja Excel con parte de los datos monitorizados.
Para la monitorización, se ha realizado también una macro en Visual Basic que nos permite
generar un resumen de las calibraciones realizadas. Al haberse programado las estrategias de
calibración como una máquina de estados que evoluciona entre las diferentes estrategias, es
posible identificar en cada segundo la estrategia que se está implementando. Gracias a esta
información, somos capaces de tomar datos de diferentes instantes de la calibración para
obtener un resumen que nos aporta los tiempos de calibración, los errores en el apunte, los
valores de intensidad y potencia del módulo, así como la radiación normal directa recibida al
principio y al final de la calibración y con ellas deducir si ha de tomarse en cuenta la
calibración o la variación de DNI ha sido demasiado alta como para considerar que se ha
alcanzado unos valores de los offsets óptimos.
65 Caso práctico
10101010 Caso prácticoCaso prácticoCaso prácticoCaso práctico
A continuación vamos a mostrar el caso práctico de la implementación de estas
comunicaciones, que será la búsqueda solar mediante un seguidor gobernado por un PLC que
toma medidas de los parámetros característicos de los módulos a través del calibrador y se
comunica con éste mediante la red CAN ya constituida. El objetivo de esta búsqueda solar es
el poder fijar los offsets del seguidor de manera automática.
Para poder llevar a cabo este caso, analizaremos primero el estado del arte de las diferentes
estrategias de calibración contempladas. Posteriormente, se realizará un modelo en Simulink
para cerciorarnos de posibles parámetros con los que no habíamos contado a la hora de
describir las estrategias. Finalmente se realizará un montaje experimental en un seguidor solar
con módulos fotovoltaicos de alta concentración de los que podremos obtener información
gracias al calibrador y a las comunicaciones con éste a través de la red CAN.
66 Estrategias de calibración
11111111 Estrategias de calibraciónEstrategias de calibraciónEstrategias de calibraciónEstrategias de calibración
11.111.111.111.1 ObjetoObjetoObjetoObjeto
El objetivo de este epígrafe es la descripción y definición de los diferentes procesos que se
plantean para llevar a cabo la calibración de un seguidor solar.
Cuando se plantean las estrategias de control de los seguidores solares, se pueden distinguir
dos tipos principales: las estrategias en lazo abierto, en las que el seguidor sigue el
movimiento marcado por ecuaciones solares sin ningún tipo de realimentación, y las
estrategias en lazo cerrado, en las que el control es realimentado con la lectura de uno o
varios sensores que indican la posición del sol en cada instante.
Cada módulo de alta concentración fotovoltaica está diseñado para trabajar con la incidencia
de los rayos solares de forma completamente perpendicular a ellos. Por ello, es necesario
reducir hasta valores realmente pequeños el error de apuntamiento del seguidor. Sin
embargo, este apuntamiento deja de ser perfecto en muchos casos debido a errores en la
instalación del seguidor, a la existencia de offsets, a la no ortogonalidad de los ejes de giro o
errores de montaje, entre otros.
Las estrategias híbridas de control combinan las ventajas de las estrategias de lazo abierto y
cerrado. Gracias al control en lazo abierto, se conoce la posición teórica del sol en una
longitud, latitud e instante dados. Por otro lado, el control en lazo cerrado permite corregir
desviaciones como errores de montaje.
Por tanto, el objetivo de una estrategia híbrida de control, consiste en controlar el seguidor en
bucle abierto introduciendo correcciones por lecturas de la posición real del sol en ciertos
instantes de tiempo. Dichas lecturas de posición, las denominamos calibraciones. El objetivo
de la calibración es encontrar el vector de cuya orientación maximice la potencia del módulo
en un instante de tiempo concreto.
67 Estrategias de calibración
11.211.211.211.2 Estrategia de calibraciónEstrategia de calibraciónEstrategia de calibraciónEstrategia de calibración
Pasamos a describir las diferentes etapas del proceso de calibración de un seguidor solar. En
general, la calibración constará de una primera etapa de búsqueda del Sol en espiral una
segunda etapa de barrido de tensión en circuito abierto y una tercera etapa en la que se
implementará un muestreo por vértices o un barrido de potencia.
11.2.111.2.111.2.111.2.1 Búsqueda en espiralBúsqueda en espiralBúsqueda en espiralBúsqueda en espiral
La desviación en la orientación del seguidor solar antes de iniciar el proceso de calibración
hará que no incidan rayos en la célula y por tanto la potencia generada por el sistema será
nula. Es por tanto necesario que en una primera etapa del proceso de calibración se lleve a
cabo una búsqueda rápida y poco precisa del Sol, que después se ajustará en etapas
sucesivas.
Para ello, se ha tenido en cuenta que los módulos fotovoltaicos de concentración presentan la
particularidad de que la tensión de circuito abierto del panel, en cuanto empieza a incidir algo
de luz en la célula, sube de forma muy brusca a valores cercanos a la tensión nominal. Por
ello, la primera etapa de la calibración consistirá en mover el seguidor hasta que se detecte un
pico de tensión en circuito abierto.
En su movimiento, el seguidor solar describirá una trayectoria en espiral, experimentando
movimientos en azimut y elevación indistintamente como se puede observar en la siguiente
ilustración.
68 Estrategias de calibración
• Figura 47. Búsqueda en espiral. La distancia entre las pasadas deberá ajustarse en función del ángulo de aceptancia
del módulo para asegurar que siempre se detectará el Sol.
11.2.211.2.211.2.211.2.2 Estrategia por barrido de tensión en circuito abiertoEstrategia por barrido de tensión en circuito abiertoEstrategia por barrido de tensión en circuito abiertoEstrategia por barrido de tensión en circuito abierto
Esta estrategia se implementa con el fin de garantizar un valor de intensidad no nulo al final
de su aplicación y así, poder llevar a cabo de manera satisfactoria la implementación de las
posteriores estrategias (muestreo por vértices y barrido de potencia).
11.2.2.111.2.2.111.2.2.111.2.2.1 Evolución de la tensiónEvolución de la tensiónEvolución de la tensiónEvolución de la tensión
Para poder implementar una estrategia de barrido es necesario analizar antes la evolución de
la variable que se va a barrer, en este caso, la tensión en circuito abierto.
De diferentes barridos experimentales sabemos que la tensión en circuito abierto en un
módulo de alta concentración fotovoltaica tiene forma de meseta centrada en la posición
mejor apuntada del módulo presentando una pareja de depresiones bruscas en su valor que
estarán más o menos separadas según el ángulo de aceptancia del módulo.
69 Estrategias de calibración
• Figura 48. Evolución experimental de la tensión en circuito abierto de un módulo de alta concentración
fotovoltaica genérico.
Ante esta evolución se realizará el barrido fijando un cierto umbral que nos permita identificar
las dos depresiones del parámetro y fijando la posición del seguidor en el punto medio. Este
procedimiento será necesario repetirlo en los dos ejes de giro. De esta manera,
garantizaremos que al acabar esta etapa el seguidor se sitúe en una posición en la que la
potencia tenga un valor aceptable y por tanto el error de apunte sea menor que el ángulo de
aceptancia del módulo
11.2.311.2.311.2.311.2.3 Muestreo por vérticesMuestreo por vérticesMuestreo por vérticesMuestreo por vértices
Una vez planteada una estrategia de calibración de ajuste grueso, es necesario llevar a cabo
un ajuste más fino con la finalidad de maximizar el valor de potencia suministrada por los
módulos de CPV.
El modo de operación de la estrategia de muestreo por vértices se basa en, partiendo de un
cierto punto, realizar medidas de potencia en cuatro puntos que serán los vértices de un
cuadrado cuyo centro es el punto de partida. Si el valor de la potencia en uno de los nuevos
vértices es mayor que la potencia en el punto de partida, se migra hacia él y se repite el
procedimiento. El proceso terminará en el momento en el que la potencia en el punto de
partida sea mayor que la potencia en los otros cuatro vértices.
En la siguiente ilustración se muestra una iteración ideal con el fin de facilitar la comprensión
de la estrategia. Nótese que el círculo azul representa la lente secundaria vista desde arriba y
que acaba centrada en el sol.
70 Estrategias de calibración
• Figura 49. Búsqueda por vértices
11.2.411.2.411.2.411.2.4 Estrategia por barrido de potenciaEstrategia por barrido de potenciaEstrategia por barrido de potenciaEstrategia por barrido de potencia
Esta estrategia trabaja directamente con la variación de potencia que experimenta un módulo
fotovoltaico en función de cómo focalicen los rayos de sol concentrados por la lente primaria.
En función de la precisión de apunte del sol, el módulo fotovoltaico producirá mayor o menor
potencia. Esto se debe a que cuando el seguidor está apuntando perfectamente al sol, todos
los rayos refractados por la lente primaria, se concentran en el centro del secundario, y todos
se refractan hacia la célula fotovoltaica produciendo un pico de potencia. En el caso de que
los rayos se concentren en una posición diferente, algunos rayos se perderán y la potencia irá
decreciendo hasta el caso límite en el que los rayos se concentren en el extremo del
secundario, en el que se produciría una bajada importante de la potencia producida.
Por lo tanto, la evolución que se obtiene de la potencia entre los ángulos límites de
aceptancia del módulo, tendrá una forma de campana, alcanzando un único máximo en la
posición óptima (en el caso ideal).
Al existir dos actuadores, esta campana será bidimensional, y su máximo, nos dará en término
de coordenadas de elevación y azimut el vector de posición solar.
71 Estrategias de calibración
Esta estrategia consistirá en realizar un barrido en ambos ejes registrando valores de potencia
y posteriormente, situar el seguidor en el punto dónde se haya registrado un valor mayor.
• Figura 50. Evolución de la potencia según el apuntamiento en Azimut y Elevación en una situación ideal.
72 Modelo de calibración
12121212 Modelo de calibraciónModelo de calibraciónModelo de calibraciónModelo de calibración
12.112.112.112.1 IntroducciónIntroducciónIntroducciónIntroducción
Una vez definidas las posibles estrategias de calibración que nos servirán como herramienta
para conocer la posición real del sol en cualquier instante, resulta interesante realizar un
modelo de simulación que nos ayude a conocer parámetros importantes para el buen
desarrollo de nuestro proyecto como puedan ser el tiempo que se tarda en realizar una
calibración o si se seguirá encontrando el sol en situaciones muy desfavorables y con qué
precisión.
12.212.212.212.2 Construcción del modeloConstrucción del modeloConstrucción del modeloConstrucción del modelo
Para construir el modelo se ha optado por generar varios subsistemas cada uno con una
funcionalidad concreta y posteriormente enlazarlos generando el modelo final.
Los bloques con los que contará el sistema serán los siguientes:
- Controlador: Modo calibración: Se encargará de fijar las consignas según la
estrategia de calibración que se esté utilizando.
- Gestión de los motores: Según el valor de la consigna y de la posición actual del
seguidor, irá marcando las nuevas posiciones. Actúa como un único variador no
permitiendo el movimiento simultáneo del seguidor en los dos ejes.
- Sol: Devolverá el valor de las efemérides solares para una longitud y latitud dadas.
- Simulador solar: A partir de la posición real del sol y la del seguidor, calculará el
error de apunte y devolverá valores de tensión en circuito abierto y potencia
expresada en tanto por uno. Las curvas de tensión y potencia se han tomado
idealmente como gaussianas de diferentes amplitudes.
- Errores en la instalación: Contiene los errores que queremos simular en la
instalación del seguidor solar.
73 Modelo de calibración
El controlador marcará las consignas al seguidor solar. Dichas consignas las recibirá el bloque
de gestión de los motores junto con la posición actual del seguidor e irá variando la posición
del seguidor pulso a pulso. La posición de éste será argumento para el bloque de simulación
solar junto con la posición real del sol y los errores de instalación que otorgará valores de
potencia y tensión en circuito abierto al controlador para que sepa cuándo finalizar cada
estrategia de calibración.
• Figura 20. Diagrama de bloques del modelo.
12.2.112.2.112.2.112.2.1 Consideraciones en la construcciónConsideraciones en la construcciónConsideraciones en la construcciónConsideraciones en la construcción
Para llevar a cabo la construcción del modelo se han tenido en cuenta una serie de
consideraciones y simplificaciones que se exponen a continuación:
- Se ha supuesto un modelo en estados discretos por lo que se han tenido que
añadir retrasos de un paso en las realimentaciones para conseguir un buen
funcionamiento.
- El tiempo de simulación está definido en décimas de hora, esto es, una simulación
desde las 9:00 hasta las 19:00 equivaldría a un start time de 90 y stop time de 190.
A partir de esta consideración se ha definido cada intervalo entre pasos discretos de
simulación como el tiempo que tardaría el seguidor en moverse un pulso a una
74 Modelo de calibración
frecuencia en régimen permanente de 50 Hz, que en los motores utilizados
equivalen a 750 rpm. Por tanto,
750�� ·1���
60�= 12.5
������
�
�����_������� =1
12.5
�
�����·
1ℎ
3600�·10�é���$�ℎ
1ℎ=
1
4500
�é���$�ℎ
�����
- En el modelo se ha despreciado el régimen transitorio del variador, así como la
inercia en los movimientos y el cambio de velocidad a 15Hz cuando el seguidor se
encuentra a menos de 25 pulsos de su consigna (0.605º). Esto generará unos
errores en el tiempo de búsqueda muy elevados, sobre todo si se están realizando
muchos movimientos cortos a velocidad baja como ocurre en la búsqueda por
barrido de potencia.
12.2.212.2.212.2.212.2.2 Estrategias de calibración implementadasEstrategias de calibración implementadasEstrategias de calibración implementadasEstrategias de calibración implementadas
Ante lo observado en las primeras simulaciones se incluyó una corrección debido al
movimiento del sol durante el tiempo de calibración. Es decir, conforme vayan variando el
valor de las efemérides se irán corrigiendo las consignas, y con ello la posición del tracker, con
el fin de ser lo más preciso posible.
Hay que tener en cuenta también que las curvas de tensión y potencia se han tomado
idealmente como gaussianas alcanzando un valor del 90% para el ángulo de aceptancia
obtenido experimentalmente en barridos de módulos reales.
75 Modelo de calibración
• Figura 21. Curvas de Potencia y tensión en circuito abierto ideales implementadas en el modelo.
12.312.312.312.3 Forma de utilización del modeloForma de utilización del modeloForma de utilización del modeloForma de utilización del modelo
El modelo cuenta con muchas variables que es necesario fijar antes de realizar las
simulaciones. Para facilitar la entrada de estos datos se ha generado un archivo “.m” que
asigna un valor a todas las variables que entran en juego en nuestro sistema.
Al realizar la simulación, el propio modelo mediante un “callback” llamará a dicha función
fijando los parámetros. La función se ha llamado “param.m” y permite variar los siguientes
datos:
Elevación inicial Posición inicial del sol
Posición inicial de la plataforma Pasos de simulación
Fixed step size Pulsos por paso
Ángulo de aceptancia Distancia entre pasadas de
la espiral
Umbral Voc Tiempo que tarda en medir
potencia
-10 -8 -6 -4 -2 0 2 4 6 8 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
PVoc
76 Modelo de calibración
• Figura 53. Parámetros ajustables en “param.m”.
Por otro lado, el modelo incluye un switch que te permite simular el sistema con el sol en una
posición estática o con movimiento según las efemérides.
• Figura 54. Switch para variar la dinámica del sol.
El modelo cuenta con una forma alternativa de introducir los parámetros mediantes máscaras
en cada uno de los subsistemas. Aunque actualmente, los parámetros de dicha máscara están
direccionados a la función “param.m“.
Tras realizar una simulación, obtenemos en el “workspace” toda la información necesaria
acerca de la evolución del sistema. Existe una segunda función con el nombre de
“plantilla.m” que genera las gráficas que se deseen de dichos resultados.
12.412.412.412.4 Pruebas de validaciónPruebas de validaciónPruebas de validaciónPruebas de validación
Con el fin de validar el modelo, se llevaron a cabo ciertas simulaciones cuyas soluciones son
conocidas. Para estas pruebas se han tomado nulos los errores en la instalación.
- Para una posición fija del sol con el seguidor perfectamente apuntado,
movimientos en azimut del seguidor para valores nulos de elevación (es decir, con
el seguidor orientado al horizonte) tienen que traducirse en las mismas variaciones
de azimut para el sistema de referencia del módulo.
- Para una posición fija del sol con el seguidor perfectamente apuntado,
movimientos en azimut del seguidor para valores de noventa grados de elevación
(es decir, con el seguidor orientado al cénit) tienen que traducirse en la inexistencia
de variaciones en el sistema de referencia del módulo, ya que físicamente estaría
rotando respecto a la normal.
77 Modelo de calibración
- Situamos al sol en el cénit y el seguidor perfectamente apuntado a él. Entonces, un
movimiento de elevación de la plataforma debe traducirse en un error de apunte
del mismo incremento de valor.
• Figura 55. Evolución lineal de la variación en grados de la plataforma y el error de apunte.
12.512.512.512.5 Simulaciones realizadasSimulaciones realizadasSimulaciones realizadasSimulaciones realizadas
Tras la validación del modelo, se llevaron a cabo una batería de simulaciones que nos
otorgarían información acerca de los tiempos de búsqueda y precisión en el apunte así como
nos ayudarían al correcto ajuste de los parámetros de las diferentes estrategias de calibración.
En las pruebas se consideran variaciones en el ángulo de elevación solar, variaciones en el
error inicial de la posición del seguidor, búsqueda espiral en tensión en circuito abierto y en
intensidad en circuito cerrado y finalmente considerar el sol en movimiento o estático.
12.5.112.5.112.5.112.5.1 Búsqueda espiralBúsqueda espiralBúsqueda espiralBúsqueda espiral
La búsqueda espiral es la estrategia de calibración más importante y que puede presentar más
problemas en nuestro proyecto. Esto es debido a que se parte de una posición en la que no
tenemos ningún tipo de información de dónde se sitúa el sol y que por tanto, será necesario
realizar un barrido de toda el área con el fin de obtener un valor de potencia distinto de cero.
90 91 92 93 94 95 96 97 98 99 1000
1
2
3
4
5
6
7
8
9
10
EL plataforma (º)
Err
or d
e ap
unte
(º)
78 Modelo de calibración
Por lo tanto se toma el valor del parámetro entre pasadas lo suficientemente grande como
para que el tiempo de calibración sea lo mínimo posible y lo suficientemente pequeño como
para que se pueda detectar el sol.
En las diferentes pruebas se optó por tomar un valor del 55% del doble del ángulo de
aceptancia porque se observó que el tiempo de búsqueda era aceptable y se garantizaba la
convergencia del método.
Tras las pruebas se obtuvieron las siguientes conclusiones:
- Para desviaciones de partida mayores, existen dos casos posibles:
o El tiempo de búsqueda solar es menor debido a la dirección y sentido del
movimiento del seguidor en forma de tramos rectos y no circulares. Véase el
ejemplo que se ilustra en la Figura en el que se muestra como el seguidor
pasará antes por una situación más alejada a la situación inicial.
• Figura 56. Será más sencillo alcanzar la posición 1 que la 2 aunque tiene mayor error de apunte.
o El tiempo de búsqueda solar es mayor debido a que la posición solar se
encuentra más lejano que una sola pasada de la espiral, y que por tanto,
obligará al seguidor a dar una vuelta completa antes de pasar por la
posición objetivo.
79 Modelo de calibración
• Figura 57. Será necesario dar una vuelta completa para alcanzar la posición solar en lugar de avanzar una
distancia mayor en azimut.
- Para valores mayores del ángulo de elevación, más curvados serán los movimientos
relativos entre el sol y el módulo cuando el seguidor realiza un movimiento en
azimut, así, para alcanzar la misma distancia objetivo para un ángulo de elevación
mayor, el movimiento en azimut debe ser más largo. Al mantener en nuestro
proyecto el parámetro que fija la distancia entre pasadas paralelas de la espiral, se
incrementa el tiempo de búsqueda solar conforme aumenta el ángulo de elevación.
• Figura 58. Curvatura que adquiere el movimiento relativo entre el sol y el módulo de CPV medido en el sistema
referencia del segundo.
80 Modelo de calibración
- Al ser el ángulo del módulo a partir del cual se alcanza el 90% del valor final en
tensión a circuito abierto del orden del doble que el que se alcanza el 90% de la
potencia total otorgada por el módulo se opta por realizar la búsqueda espiral en
tensión en circuito abierto y realizar un posterior barrido respecto a este parámetro
con el fin de asegurarnos que al finalizar el proceso obtendremos una potencia no
nula. De esta manera, el barrido espiral será más rápido a costa de penalizarlo
realizando un posterior barrido que tendrá un tiempo de ejecución más o menos
fijo.
• Figura 59. Evolución experimental de Voc (azul) y P (rojo) en un barrido en un eje.
12.5.212.5.212.5.212.5.2 Barrido de tensión en circuito abiertoBarrido de tensión en circuito abiertoBarrido de tensión en circuito abiertoBarrido de tensión en circuito abierto
Como se ha comentado en el epígrafe anterior, el barrido de tensión se implementa con la
finalidad de asegurar la existencia de potencia no nula en la posición final del seguidor solar.
Es decir, al finalizar esta estrategia, se garantiza un error al menos menor al 150% del ángulo
de aceptancia del módulo.
La elección de esta estrategia de control es debida a que nos permite realizar el barrido espiral
observando el valor de tensión en bucle abierto pudiendo así hacer menor el tiempo de
búsqueda espiral. Por el lado contrario, incrementa el tiempo de la calibración para garantizar
la existencia de potencia en la posición final del seguidor. Aunque este incremento de tiempo
será siempre de la misma magnitud (será algo mayor conforme mayor sea el ángulo de
elevación) y será conocido.
81 Modelo de calibración
En las simulaciones obtenemos un tiempo en torno a los 60 segundos, que aplicando un
coeficiente de error debido a los movimientos a 15Hz no contemplados nos indican que en el
sistema real el tiempo de ejecución rondará los 95 segundos.
12.5.312.5.312.5.312.5.3 Barrido de potenciaBarrido de potenciaBarrido de potenciaBarrido de potencia
En la estrategia de barrido de potencia se han contemplado también los posibles retrasos en
las medidas, que según las especificaciones del aparato de medición rondarán los dos
segundos. En las simulaciones se han contemplado retrasos desde 0 a 4 segundos.
Al realizarse las medidas cada poca distancia, todos los movimientos se realizarán a 15 Hz y
por tanto en la realidad el tiempo de ejecución será del orden de tres veces y media más
elevado que en las simulaciones.
Gracias a las correcciones de los movimientos del sol realizadas a través del conocimiento de
la evolución de las efemérides, podemos ser muy precisos y lograr unos errores de apunte en
las simulaciones nulos. Sin embargo, en la realidad no podemos garantizar una precisión tan
elevada, ya que, por ejemplo, en el caso de existir inclinaciones en la instalación del pedestal,
las correcciones por efemérides tendrán una cierta inclinación que no está contemplada.
A continuación analizaremos los tiempos que se han obtenido de las simulaciones según el
valor del tiempo de retraso en las medidas. Recordemos que este tiempo se verá afectado
también aunque en menor medida por el valor de la elevación solar. Se ha supuesto una
medida cada 8 pulsos, parámetro que quedó fijado en el estudio previo de las estrategias de
calibración.
Retraso en la medida Tiempo de ejecución Retraso en la medida Tiempo de ejecución
0.5 s 85 s 2.5 s 230 s
1 s 125 s 3 s 270 s
1.5 s 161 s 3.5 s 305 s
2 s 195 s 4 s 345 s
82 Modelo de calibración
• Figura 60. Repercusión del retraso en la medida en el tiempo de ejecución del barrido de Isc.
• Figura 61. Como se observa, el tiempo de retraso en las medidas y el tiempo de ejecución de la estrategia de
búsqueda espiral tiene una clara tendencia lineal. Nótese que todas las pruebas se han realizado para un mismo
valor de la elevación solar.
12.612.612.612.6 ConclusionesConclusionesConclusionesConclusiones
Lo que se pretendía con este modelo era proveernos de información de la eficacia y los
tiempos de ejecución de cada una de las técnicas de calibración estudiadas. Conforme se ha
ido avanzando en las diferentes simulaciones mientras que se construía el modelo, se han ido
añadiendo detalles que en la implementación real de las estrategias supondrán un aumento
en la precisión de apunte así como una disminución del tiempo de calibración.
Gracias a la creación del modelo se han tomado varias decisiones importantes:
- Implementación de la estrategia espiral con búsqueda en tensión en circuito abierto
seguida de un barrido de tensión que nos garantizará la convergencia de la
calibración.
- Corrección del movimiento solar durante la calibración gracias al conocimiento de
las efemérides solares que disminuirá en gran medida el error de apunte.
83 Modelo de calibración
12.6.112.6.112.6.112.6.1 Posibles mejorasPosibles mejorasPosibles mejorasPosibles mejoras
Con el fin de mejorar el rendimiento del sistema implantado, nacen varias posibilidades que
se podrían estudiar.
- Estudio de cómo afecta el ángulo de elevación al movimiento espiral, con el fin de
variar el parámetro característico de esta estrategia para poder barrer más espacio
en el mismo tiempo y de esta manera reducir el tiempo global de calibración.
- Disminución de la histéresis de los motores del seguidor solar en las últimas etapas
de la calibración con el fin de reducir el error de apunte. Sería necesario poder
controlar la frecuencia del variador desde el PLC para que no existieran
sobreoscilaciones. Esta opción disminuiría el error de apunte a costa de un
incremento del tiempo de ejecución.
- Implementación final de la estrategia de búsqueda por vértices. Disminuiría aún
más el error de apunte y en principio no serían necesarias muchas iteraciones para
llegar al valor óptimo, lo que quiere decir que el tiempo de ejecución no tendría un
incremento demasiado elevado.
84 Implementación experimental del modelo
13131313 Implementación experimental del modeloImplementación experimental del modeloImplementación experimental del modeloImplementación experimental del modelo
Ante la vista de los resultados realizados por las sucesivas calibraciones, es hora de llevar a
cabo una implementación del modelo en un seguidor solar. Para ello, contamos con un
seguidor solar con módulos de alta concentración fotovoltaica que conectado al calibrador,
proporcionará al PLC a través del bus CAN las medidas que este último requiera.
13.113.113.113.1 Montaje experimental y puesta a punto del seguidor solarMontaje experimental y puesta a punto del seguidor solarMontaje experimental y puesta a punto del seguidor solarMontaje experimental y puesta a punto del seguidor solar
Antes de comenzar a realizar calibraciones con el fin de ajustar los offsets del seguidor solar,
es necesario que en éste se haya realizado antes una puesta a punto. La puesta a punto de un
seguidor solar consiste en comprobar que todas las entradas y salidas de la caja de control se
encuentran operativas y ofrecen los resultados que se esperan de ellas.
Los parámetros que serán necesario comprobar son los siguientes:
- Correcto funcionamiento de las señales que conectan el PLC con el variador que
actuará sobre el motor.
- Correcto funcionamiento del motor ante las señales marcadas por el variador.
- Correcto funcionamiento de los dos contactos de los cuatro finales de carrera del
seguidor solar así como correcta interpretación por parte del PLC. Los finales de
carrera son dispositivos electrónicos que indican al seguidor cuando ha llegado al
límite de giro en un eje. Los finales de carrera que utilizaremos contaran con dos
contactos. El primero será normalmente cerrado y el segundo normalmente
abierto. El primer contacto (normalmente cerrado) irá como señal de entrada al
PLC. El segundo irá directamente a la alimentación eléctrica de los motores y se
utiliza como contacto de seguridad aunque en un funcionamiento normal con el
PLC correctamente operativo no debe de entrar nunca en escena.
85 Implementación experimental del modelo
Una vez comprobado que el montaje eléctrico es correcto, será necesario marcar las
referencias de giro del seguidor solar.
Nuestro seguidor se mueve gracias a dos motores eléctricos trifásicos que cuentan con una
transmisión de reducción con el eje del seguidor con una equivalencia de 14875 pulsos de
motor por cada vuelta completa del seguidor. Las vueltas del motor se medirán gracias a un
inductivo que leerá los flancos de bajada de una chaveta colocada en el eje del mismo.
Moveremos el seguidor en el eje de azimut hacia el este y en el eje de elevación a una
posición de abatimiento hasta tocar ambos finales de carrera. En dichas posiciones se
establecerán los ceros de los contadores de los inductivos tomando así una referencia fija para
ambos que será orientación este en el caso de azimut y orientación hacia el cénit en
elevación.
La parte del montaje será muy sencilla ya que únicamente será necesario un cable con dos
adaptadores db9 que conecten el calibrador con el módulo de expansión del autómata
programable. Además habrá que conectar los módulos de CPV del seguidor al calibrador, y de
éstos irán al inversor.
13.213.213.213.2 Desarrollo del experimentDesarrollo del experimentDesarrollo del experimentDesarrollo del experimentoooo
Una vez llevada a cabo la puesta a punto, es hora de llevar a cabo una calibración solar. Para
ello mandamos la orden al PLC y este comienza a mandar órdenes de movimiento al seguidor.
Hemos conectado al bus la herramienta USB to CAN con la que contamos para poder
visualizar las tramas y así comprobar que todo el proceso se realiza de manera correcta.
Las medidas se han programado en una interrupción periódica que ocurre cada cierto
intervalo de tiempo. Este intervalo se ha fijado como el máximo ciclo de scan observado en
una calibración.
- Inicialmente, el PLC realiza operaciones de lectura de tensión en bucle abierto en
cada una de las interrupciones ya que se está realizando la búsqueda espiral y se
está esperando a que las medidas tomadas sobrepasen un cierto umbral.
86 Implementación experimental del modelo
- A continuación, comienza la estrategia de barrido de tensión en circuito abierto, y
se siguen visualizando las tramas de lectura de tensión en circuito abierto. Esto
ocurrirá hasta que el seguidor haya realizado el barrido en los dos ejes. En ese
momento se marcara como consigna para el seguidor el punto medio y existe una
periodo de tiempo (el que dura ese movimiento) en el que no se intercambia
ningún mensaje en la red.
- Posteriormente se inicia la búsqueda por barrido de potencia. El seguidor realiza un
barrido en ambos ejes y se pueden visualizar tramas constantes de lecturas de
potencia. Las lecturas de potencia vienen siempre precedidas de una orden de
escritura del trazado de una curva IV.
- Una vez finalizado el barrido de potencia, se realizan movimeintos discretos hacia
los vértices de un cuadrado en los que se realizan nuevas medidas de potencia. En
este caso la frecuencia de estas medidas disminuyen debido a que solo se realizan
cinco por iteración (cuatro en los vértices y otra en el centro del cuadrado).
Se observa que las tramas de la red son correctas y los valores registrados de potencia y Voc
son lógicos. Analizando con un sensor de apunte solar al finalizar la calibración, se puede
observar que el error es admisible y por tanto se pueden fijar automáticamente en esta
posición los offsets del seguidor para su posterior seguimiento en bucle abierto.
87 Conclusiones
14141414 ConclusionesConclusionesConclusionesConclusiones
En este proyecto, hemos comenzado exponiendo la arquitectura de las redes CAN. Dentro de
ellas, nos hemos centrado en la capa de aplicación CAL, que determina la estructura de los
mensajes, y concretamente en CANopen, que determina el contenido de éstos.
CANopen es un protocolo de comunicaciones que opera entre distintos dispositivos. En este
proyecto, concretamente, tratamos las comunicaciones entre el autómata programable que
gobierna el movimiento de un seguidor solar y un dispositivo electrónico que nos proporciona
medidas características de células fotovoltaicas para poder fijar los offsets del seguidor solar
de una manera automática y autónoma.
La relevancia de este proyecto radica en su aplicabilidad a la industria de las energías
renovables, más concretamente, la solar fotovoltaica. Como se ha explicado a lo largo del
proyecto, la alta concentración fotovoltaica exige un mínimo error de apunte hacia el sol por
parte de los seguidores solares. Por ello, es esencial contar con una herramienta capaz de fijar
los offsets de manera automática cada cierto tiempo, pues existe una pérdida de pulsos de los
inductivos cuyo objetivo es indicarnos la posición en azimut y elevación a la que está
orientado el seguidor solar.
En conclusión, y como se ha podido comprobar, las redes de comunicaciones CAN son una
buena herramienta para la comunicación entre diferentes nodos de una red de forma
autónoma, garantizando unos buenos tiempos de transmisión de datos y un bus muy
robusto.
88 Bibliografía
15151515 BibliografíaBibliografíaBibliografíaBibliografía
[1] CANopen Communication Manual, rev. 3.0.3a, ADVANCED MOTION CONTROLS,
2006.
[2] Página web de la organización CAN in Automation (CiA)
http://www.can-cia.org
[3] CANopen, Raquel Sánchez Díaz, Universidad de Salamanca, 2007.
[4] Página web de CANopen Solutions.
http://www.canopensolutions.com
[5] Automation of the calibration process in the sundog STCU, G. Quéméré, R. Cervantes,
J.M. Moreno, I. Luque-Heredia. 23rd European Photovoltaic Solar Energy Conference,
2008.
[6] Equipo y procedimiento de control de seguimiento solar con autocalibración para
concentradores fotovoltaicos. I. Luque-Heredia, J.M.Moreno, G. Quéméré, R.
Cervantes, P.H. Salgueiro Vieria de Magalhães. Patente de invención con número de
publicación 2273576.
[7] Determination of solar tracking error. McDonald, Mark. Patente de invención con
número de publicación internacional WO 2010/011529 A2.
[8] Global solar tracking system. Xie, Qiang; Cowley, Sam. Patente de invención con
número de publicación internacional WO 2010/024974 A1.
89 Índice de figuras
16161616 Índice de figurasÍndice de figurasÍndice de figurasÍndice de figuras
• Figura 1. Modelo OSI.
• Figura 2. Comparación entre el modelo OSI y las redes CAN.
• Figura 3. Estructura de un mensaje genérico.
• Figura 4. Tipos de mensajes, descripción e identificador COB-ID.
• Figura 5. Estructura de un mensaje NMT.
• Figura 6. Funcionalidad de los dos primero byte de un mensaje NMT.
• Figura 7. Constitución de una red CAN.
• Figura 8. Mensaje de boot-up.
• Figura 9. Estados de comunicación de los nodos esclavos.
• Figura 10. Mensaje de control enviado por el nodo maestro.
• Figura 11. Mensaje de respuesta de los nodos esclavos.
• Figura 12. Ejemplo de utilización del protocolo “Life Guarding”
• Figura 13. Mensaje de error genérico. Según el valor del byte cuatro se especificará el
error en concreto y podrá ir acompañado de más información en los cuatro últimos
bytes.
• Figura 14. Estructura de los mensajes time stamp.
• Figura 15. Estructura de los bytes de datos de Arbitration Field de los mensajes SDO.
• Figura 16. Estructura del mensaje para abortar la operación.
• Figura 17. Tipología maestro/escalvo.
• Figura 18. Tipología cliente/servidor.
• Figura 19. Tipología productor/consumidor pull.
• Figura 20. Tipología productor/consumidor push.
• Figura 21. Curva IV genérica para una célula fotovoltaica.
• Figura 22. Estructura de los bytes de datos de Arbitration Field de los mensajes SDO.
90 Índice de figuras
• Figura 23. Tipo de los mensajes utilizados en nuestro proyecto.
• Figura 24. Bit que componen la palabra de estado del sistema.
• Figura 25. Rango de operación del calibrador.
• Figura 26. Comandos de datos contemplados.
• Figura 27. Comandos de configuración contemplados.
• Figura 28. Restos de comandos contemplados.
• Figura 29. PLC FPG.
• Figura 30. Módulos de expansión para las comunicaciones a través de Porfibus,
CANopen y DeviceNet.
• Figura 31. Entorno de programación de FPWIN PRO.
• Figura 32. Asignar el tipo de PLC a un proyecto en FPWIN PRO.
• Figura 33. Control Configurator FM.
• Figura 34. Esquema final tras incluir al maestro en la red de comunicaciones.
• Figura 35. Configuración del maestro CAN.
• Figura 36. Master Settings.
• Figura 37. Node boot up.
• Figura 38. DUT para el intercambio de mensajes SDO.
• Figura 39. Entradas y salidas características del bloque de comunicaciones CAN.
• Figura 40. Lista de mensajes asociados en el bloque de asignación.
• Figura 41. Bit que componen la palabra de estado.
• Figura 42. Lecturas de tansión realizadas por el sensor solar.
• Figura 43. Configuración de una celda en PCWAY.
• Figura 44. Monitorización de la progresión de las efemérides solares, la posición del
seguidor y las consignas marcadas así como de las lecturas de tensión, intensidad y
DNI.
• Figura 45. Panel de control de la hoja de monitorización.
91 Índice de figuras
• Figura 46. Fragmento de la hoja Excel con parte de los datos monitorizados.
• Figura 47. Búsqueda en espiral. La distancia entre las pasadas deberá ajustarse en
función del ángulo de aceptancia del módulo para asegurar que siempre se detectará
el Sol.
• Figura 48. Evolución experimental de la tensión en circuito abierto de un módulo de
alta concentración fotovoltaica genérico.
• Figura 49. Búsqueda por vértices.
• Figura 50. Evolución de la potencia según el apuntamiento en Azimut y Elevación en
una situación ideal.
• Figura 51. Diagrama de bloques del modelo.
• Figura 52. Curvas de Potencia y tensión en circuito abierto ideales implementadas en el
modelo.
• Figura 53. Parámetros ajustables en “param.m”.
• Figura 54. Switch para variar la dinámica del sol.
• Figura 55. Evolución lineal de la variación en grados de la plataforma y el error de
apunte.
• Figura 56. Será más sencillo alcanzar la posición 1 que la 2 aunque tiene mayor error
de apunte.
• Figura 57. Será necesario dar una vuelta completa para alcanzar la posición solar en
lugar de avanzar una distancia mayor en azimut.
• Figura 58. Curvatura que adquiere el movimiento relativo entre el sol y el módulo de
CPV medido en el sistema referencia del segundo.
• Figura 59. Evolución experimental de Voc (azul) y P (rojo) en un barrido en un eje.
• Figura 60. Repercusión del retraso en la medida en el tiempo de ejecución del barrido
de Isc.
• Figura 61. Como se observa, el tiempo de retraso en las medidas y el tiempo de
ejecución de la estrategia de búsqueda espiral tiene una clara tendencia lineal. Nótese
que todas las pruebas se han realizado para un mismo valor de la elevación solar.
top related