Resumen:
|
[ES] En el presente trabajo de final de grado se pretende implementar un algoritmo de control basado en optimización matemática multivariable en un PLC industrial de la marca Phoenix Contact que dispone de dos particiones, ...[+]
[ES] En el presente trabajo de final de grado se pretende implementar un algoritmo de control basado en optimización matemática multivariable en un PLC industrial de la marca Phoenix Contact que dispone de dos particiones, la primera con un runtime de Phoenix Contact para ejecutar rutinas de automatización según la norma IEC-61131 y la segunda una partición de propósito general con sistema operativo Linux.
El algoritmo de control deberá gestionar los flujos de energía eléctrica en una vivienda unifamiliar equipada con una instalación de autoconsumo (batería, inversor, paneles solares, etc.) para minimizar un índice de coste económico.
Para ello, se desarrollará una técnica para poder ejecutar algoritmos de optimización de tipo programación cuadrática en la partición Linux del PLC y poder lanzar su ejecución desde el programa de control del equipo. Todo ello gracias a la programación de una serie de funciones en lenguaje C y tecnología basada en contenedores "Docker".
La tecnología de contenedores Docker implementa un entorno aislado donde compilar y ejecutar el algoritmo de optimización, con todo lo necesario para poder transportarlo y ejecutarlo en cualquier dispositivo industrial ARM con sistema operativo Linux.
Para la aplicación de la instalación de autoconsumo (que será un proceso simulado), la lectura de datos del proceso se llevará a cabo mediante comunicación Modbus TCP/IP. Dichos datos se procesarán en la partición del autómata en la que se ejecutará CODESYS (que será el cliente) y se compactarán en formato JSON, para facilitar el manejo e intercambio de los mismos. Posteriormente se enviarán mediante protocolo UDP a la partición de Linux del PLC (que será el servidor), donde se tomarán como datos de entrada del solver, que resolverá el problema de optimización y devolverá la solución (potencia de carga / descarga de la batería, potencia fotovoltaica, potencia de red, etc).
[-]
[CAT] En el present treball de final de grau s’ha implementat un algoritme de control basat en optimització matemàtica multivariable en un PLC industrial de la marca Phoenix Contact que
disposa de dues particions, la ...[+]
[CAT] En el present treball de final de grau s’ha implementat un algoritme de control basat en optimització matemàtica multivariable en un PLC industrial de la marca Phoenix Contact que
disposa de dues particions, la primera amb un runtime per a executar rutines d’automatització
segons la norma IEC-61131 i la segona, una partició de propòsit general amb sistema operatiu
Linux.
L’algoritme de control és l’encarregat de gestionar els fluxos d’energia elèctrica en un habitatge
unifamiliar equipat amb una instal·lació d’autoconsum (bateria, inversor, panells solars, etc.) per
a minimitzar un índex de cost econòmic.
Per a això, s’ha desenvolupat una tècnica per a poder executar algoritmes d’optimització de tipus
programació lineal sencera mixta (MILP) en la partició de Linux del PLC i poder llançar la seua
execució des del programa de control de l’equip. Tot això gràcies a la programació d’una sèrie de
funcions en llenguatge C i tecnologia basada en contenidors “Docker”.
La tecnologia de contenidors Docker implementa un entorn aïllat on compilar i executar l’algoritme
d’optimització, amb tot el necessari per a poder transportar-ho i executar-ho en qualsevol dispositiu industrial ARM amb sistema operatiu Linux.
Per a l’aplicació de la instal·lació d’autoconsum (la qual s’ha simulat en Matlab Simulink), la
lectura de dades del procés s’ha dut a terme mitjançant comunicació Modbus TCP. Aquestes
dades es processen en la partició de l’autòmat en la qual s’executa CODESYS (que és el client)
i es compacten en format JSON, per a facilitar el maneig i intercanvi d’aquests. Posteriorment
es *envian mitjançant protocol UDP a la partició de Linux del PLC (que és el servidor), on es
prenen com a dades d’entrada del solver, que resol el problema d’optimització i retorna la solució
(potència de càrrega / descarrega de la bateria, potència fotovoltaica, potència de xarxa, etc).
[-]
[EN] In this final degree work, we intend to implement a control algorithm based on multivariable mathematical optimization in an industrial PLC of Phoenix Contact brand that has two partitions, the first one with a Phoenix ...[+]
[EN] In this final degree work, we intend to implement a control algorithm based on multivariable mathematical optimization in an industrial PLC of Phoenix Contact brand that has two partitions, the first one with a Phoenix Contact runtime to run automation routines according to IEC-61131 standard and the second one a general purpose partition with Linux operating system.
The control algorithm must manage the electrical energy flows in a single-family house equipped with a self-consumption installation (battery, inverter, solar panels, etc.) to minimise an economical cost index.
For this purpose, a technique will be developed to execute optimization algorithms of quadratic programming type in the PLC¿s Linux partition and to launch their execution from the control program of the equipment. All this is thanks to the programming of a series of functions in C language and technology based on "Docker" containers.
The Docker container technology implements an isolated environment to compile and execute the optimization algorithm, with everything necessary to transport and run it on any ARM industrial device with a Linux operating system.
For the application of the self-consumption installation (a simulated process), the data reading of the process will be carried out through Modbus TCP/IP communication. These data will be processed in the automaton partition where CODESYS will be executed (which will be the client) and compacted in JSON format to facilitate their handling and exchange. Then they will be sent via UDP protocol to the Linux partition of the PLC (which will be the server), where they will be taken as input data for the solver, which will solve the optimization problem and return the solution (battery charge/discharge power, photovoltaic power, grid power, etc.).
[-]
|