Tag Archive Codesys

PorOpiron Electronics

Preguntas frecuentes del curso de iniciación a Codesys ®

La primera edición del curso de Codesys ® fue un rotundo éxito, tanto que ya estamos preparando una nueva edición, que se repetirá periódicamente. En esta entrada contestamos a las preguntas frecuentes sobre este apasionante curso.

1. ¿Qué es Opiron?

El curso lo damos desde Opiron, donde somos expertos en Codesys ®, ya que hemos realizado cursos y proyectos sobre esta tecnología. Llevamos más de 10 años en el mundo de la automatización industrial.

2. ¿Sirve si no sé programar PLC’s?

El curso de Codesys ® es un curso de inciación en la programación de PLC’s. Eso significa que explicamos las bases de programación de PLC’s, el entorno de programación , las instrucciones más importantes e incluso hacemos proyectos. Sin embargo, es recomendable tener nociones básicas de programación en cualquier lenguaje, reconocer tipos de datos, etc.

3. ¿Qué es Codesys ®?

Codesys ® es el acrónimo de Sistema de Desarrollo de Controladores y es un software de programación de PLC’s industriales conforme con el estándar industrial internacional IEC 61131-3. Un entorno de programación de automatización industrial universal. Permite poder programar cualquier PLC sea del fabricante que sea, incorporando además lenguajes Ladder, de instrucciones y bloques…

4. ¿ Por qué Codesys ®?

Si buscas iniciarte en un estándar de programación versátil, que te permita programar cuántos más PLC mejor, ésta es sin duda la herramienta que debes conocer. Codesys ® te permite programar más de 500 PLC’s en el mercado. Te recomiendo leer la entrada Codesys: 5 Razones para aprender a programarlo.

5. No tengo claro los temas que vamos a ver en el curso

El curso contiene temas teóricos y prácticos. Estos son Introducción a la automatización industrial,  Introducción al estándar IEC 61131, Introducción a Codesys ®, Lógica con Codesys ®, Automatización y visualización y Proyectos. Cada tema tiene ‘un ejercicio para comprobar los conocimientos adquiridos.

6. ¿Cómo se va a desarrollar el curso?

El curso de iniciación a Codesys es un curso online de 4 semanas de duración en el Campus Tecnológico Virtual, un micro-site privado (recibirás un login/password personal). Tendrás acceso a un profesor durante estas 4 semanas.

Puedes suscribirte a nuestro blog para estar en la última en este enlace. Puedes inscribirte en este enlace.

PorOpiron Electronics

La torre de Babel de los PLC

No hace mucho me encontré a un viejo amigo, con el que compartí muchos momentos en la industria en el pasado. Nos sentamos a tomar un café en una cafetería cerca de la estación de tren, dado que justamente coincidimos allí, uno por razones de trabajo y el otro por vacaciones… De entre las varias cosas que discutimos, hablamos sobre programación, y de la torre de Babel de los PLC.

Una historia larga

Dejad que os comente que nos conocemos desde hace mucho tiempo, cuando estábamos en la primaria y porque compartíamos como afición los ordenadores y los videojuegos. Con los años, terminaríamos dedicándonos a lo mismo, la automatización industrial.

Ya salidos de la universidad, y cada uno trabajando en empresas diferentes, nos surgió la posibilidad de hacer parte de la automatización de una fábrica que estaba cerca de nuestras casas. Era algo fuera del trabajo, como un extra, que decidimos hacer no tanto por el dinero sino por el reto que significaba para nosotros.

El proyecto lo hacíamos los fines de semana y tardamos meses en terminarlo, en parte por la inexperiencia y por otra por el poco tiempo con el que contábamos, pero lo terminamos haciendo y, a día de hoy, parte de esa fábrica sigue utilizando esos PLC’s que dejamos instalados ya hace tantos años.

La integración

Por diferentes razones, la fábrica se expandió y el gerente de tecnología fue reemplazado por uno nuevo. Un día, el gerente decidió ampliar nuevamente la fábrica y contrató a una popular empresa para hacer el trabajo, que instaló unos PLC de una multinacional muy conocida… Hasta aquí, todo normal.

Pero no pasó mucho tiempo hasta que el gerente quiso integrar las partes vieja y nueva de la fábrica: quería comunicar ambas tecnologías para tener una mayor integración de los datos… ¿Ya sabéis a quiénes llamó imagino, no?… A los 15 días yo mi amigo volvíamos a la fábrica.

Lo que vino luego fueron semanas de idas y venidas con los técnicos de la nueva tecnología: Las incompatibilidades eran notorias, ya que los driver no eran compatibles entre sí, los ciclos de scan de cada PLC eran completamente diferentes… ¡Tuvimos que hacer una auténtica obra de ingeniería para hacer una compatibilidad!

Un objetivo

Tomando el café hace unos días recuperamos estos momentos, nos reímos y suspiramos, y él me preguntó: ¿Te imaginas que hubiésemos utilizado IEC 61131? ¡La de problemas que nos hubiésemos ahorrado para dejar de lado la torre de babel de los PLC! Sigue leyendo para saber más de este protocolo.

PorOpiron Electronics

Codesys: 10 tips para iniciarse en la programación

Como comentábamos en otras entradas, Codesys ® es un potente software de programación de PLC’s basado en la norma IEC 61131-3, compatible con una gran variedad de PLC’s de diferentes fabricantes.  ¿Qué tips son recomendados para iniciarse con el entorno? Os dejo a continuación los que son, a mi parecer, los 10 más importantes:

1. Declaración de variables

Todo programa de automatización necesita variables, y en Codesys ® tenemos básicamente dos tipos de variables: las locales y las globales. Las primeras las declaramos en las mismas funciones, mientras que las segundas se declaran insertando un objeto GVL (Global Variable List).

2. Direccionamiento

Cuando programamos en Codesys ® trabajamos con símbolos, no con direcciones de memoria directamente. La asignación de la variable con la dirección de memoria respectiva se puede hacer de dos maneras diferentes.

Codesys

Direccionamiento en CodeSys

Una posibilidad es asignar la dirección de las variables desde la misma declaración de variables con la sintaxis NombreVariable AT %Dirección : TipoDato, o bien desde el objeto de direccionamiento, por ejemplo, el objeto GPIO si usamos una Raspberry PI.

 

3. Referencias cruzadas

Todo programador de PLC necesita poder buscar en algún momento todos aquellos lugares del programa donde una variable está funcionando.

En Codesys ®, las referencias cruzadas las podemos encontrar desde el menú Ver / Referencias Cruzadas.

4. Bloques

Codesys ® está basado en IEC 61131-3, y por lo tanto la forma de organizar las funciones y bloques son las unidades de Organización de Programa (program organization units o POUs), que permiten crear programas, funciones y funciones con memoria. Los bloques se dividen en:

  • POU: Todo bloque que se ejecuta dentro del PLC es un POU.
  • FB: Es un bloque con memoria y, por lo tanto, su salida depende ya no sólo de las entradas actuales sino también del estado de sus variables. Un ejemplo claro es una función PID.
  • FC: Es un bloque sin memoria, y por lo tanto su salida siempre se corresponderá con el valor de la entrada. Un ejemplo son las funciones matemáticas: SQRT, SIN, etc.

Resumiendo, todo bloque en Codesys ® es un POU (De Programmable Organization Unit). Además, cada uno de estos bloques puede estar escrito en los lenguajes de programación definidos por IEC 61131-3: IL, ST, LD, SFC y FBD.

5. Ampliación del software mediante librerías

Si bien el software trae consigo muchas librerías, con el paso del tiempo necesitaremos ampliar con más funciones específicas. Para los profesionales de automatización recomendamos la librería oscat.de

6. HMI integrado

Viene con un HMI incorporado en el software, lo que permite que el desarrollo de la interfaz hombre máquina pueda hacerse en el mismo entorno de desarrollo, pudiendo hacer una integración mucho más efectiva.

7. Versiones de software

Hay dos versiones de software disponibles en la actualidad, la v2.3 y la v.3.5. Cada una tiene sus pros y sus contras, si bien la v3.5 es la más nueva. Recomendamos usar la última.

8. Simulación

Codesys ® trae consigo un simulador potente, una herramienta excelente que nos servirá para poder depurar y probar los programas que hagamos antes de volcarlos a los PLC.

9. Ejemplos: ¿Por dónde empiezo?

En la CoDeSys Store hay varios ejemplos gratuitos muy interesantes que se pueden descargar.

10. Ayuda online

La última versión no tiene un manual específico, pero en cambio trae consigo una ayuda integrada al software muy completa, que es de muchísima utilidad para poder empezar a programar.

PorOpiron Electronics

¿Qué es la escalabilidad en automatización industrial?

El término escalabilidad está muy de moda. Se emplea en campos tan diversos como en el mundo de los negocios, finanzas, software y como no, también empleamos el término de escalabilidad en automatización industrial.

Una definición del término

Empecemos por lo básico, ¿Qué es escalabilidad?. En la ingeniería podríamos decir que escalabilidad  es la propiedad de un sistema para poder ampliarse, sin perder calidad en los servicios ofrecidos. Por ejemplo, un PLC con entradas / salidas escalables, es un PLC que es capaz de poder ampliar la cantidad de entradas / salidas conectadas sin perder calidad en el control que realiza.

La escalabilidad por lo tanto implica flexibilidad y es una característica deseable para el usuario final. Sobretodo, porque ayuda a proteger las inversiones a largo plazo.

Si lo pensamos, nuestra fábrica puede tener expansiones, puede cambiar de proveedores de tecnología o incluso puede requerir de nuevas funcionalidades. Poe lo tanto, necesitamos una fabrica flexible. ¿Qué tecnología nos lo puede permitir, sobre todo a largo plazo?

Estrategia de implementación

La escalabilidad no puede ser agregada a un sistema si no tiene esta propiedad. Esto implica que debemos ser cuidadosos en la elección de la tecnología y que nuestra mente no debe limitarnos en  las miras a corto plazo. Algunas preguntas que nos pueden ayudar son:

  • ¿Podré incrementar las capacidades de mi sistema con esta tecnología?
  • ¿Me hace esta tecnología dependiente del proveedor?
  • ¿Me permite la tecnología seleccionada interoperabilidad entre aplicaciones?

Por ejemplo, cuando nosotros elegimos un driver de comunicación para comunicar un SCADA con un sistema de hardware propietario. Elegir un driver que esté altamente atado a la tecnología del hardware y a la del SCADA nos limitará en el tiempo. (Imaginemos por un momento qué ocurriría si el proveedor no da más soporte al driver, por citar un ejemplo). En cambio, si elegimos un driver que pueda permitirnos comunicar ese SCADA pero ademas con muchas otras aplicaciones al mismo tiempo, obtendremos escalabilidad (ya que ese PLC podrá comunicar los datos con varias aplicaciones al mismo tiempo) y flexibilidad, dado que podremos sustituir aplicaciones sin necesidad de cambiar el driver. En este sentido, OPC y OPC UA son tecnologías escalables y flexibles, puedes leer más de estas tecnologías en este post.

Lo mismo ocurre cuando pensamos en la tecnología de los PLC: es mejor utilizar PLC’s que utilicen software no ligado al hardware que otra tecnología propietaria. En este sentido, Codesys es un gran aliado – puedes ver qué es Codesys  aquí -.

Las tecnologías escalables se distinguen por su capacidad de ser independientes de proveedores y por garantizar la calidad de los servicios en su expansión.

Resumen

La escalabilidad en automatización industrial, así como la funcionalidad son características deseables que garantizan una protección de la inversión para el usuario final en el futuro.

PorOpiron Electronics

¿Debería aprender texto estructurado en Codesys®?

Antes de hablar si merece la pena plantearse programar en texto estructurado en Codesys ® – ST, de Structured Text- empecemos diciendo que este lenguaje está disponible conforme a la norma IEC 61131-3 – puedes saber más sobre la norma en este post-. La norma define 5 lenguajes de programación en automatización.

¿Por qué Texto estructurado en PLC’s?

Los PLC se idearon en un principio para poder ser programados por personal que venía de la lógica de contactos. Por eso, lo más normal en el mundo de la automatización era, y es, encontrar PLC’s que se programan en lenguaje de escalera o Ladder. Sin embargo, éste es un lenguaje que puede ser muy engorroso para realizar tareas complejas como moverse por arrays, hacer cálculos complejos, etc.

El texto estructurado es un lenguaje de alto nivel con orígenes en el Pascal y ´C´. Puede ser utilizado para codificar expresiones complejas con funciones condicionales como el IF-THEN-ELSE; CASE, etc, funciones de cálculo como SQRT, SIN, etc.

¿Debería aprenderlo?

De acuerdo, vamos al grano. ¿Debería aprender texto estructurado en Codesys ® si ya sé Ladder?.La respuesta corta es sí… pero déjame explicarte por qué :). Como comentaba en la anterior sección de este post, los primeros PLC se dejaban programar en Ladder por una cuestión del conocimiento del usuario final. El Ladder es un lenguaje adecuado, pero las CPU actuales, mucho más potentes que las de antaño, pueden permitir realizar operaciones mucho más complejas, y ahí ST resulta muchísimo más flexible en la programación.

Las ventajas del Texto Estructurado respecto a lenguajes más gráficos radican justamente en la programación estructurada. Para programas con bucles secuenciales, ST ofrece más claridad al programador, lo cual es una ventaja para evitar y corregir errores de programación.

¿Deberías aprenderlo? Sí, tanto si ya tienes experiencia como no en C o C++ es altamente recomendable tener conocimientos de ST. Por ejemplo, para aquellos que habéis hecho algunos pinitos con Arduino, os resultará fácil e intuitivo el ST. Y para los que no, es como todo, empezar y aprender poco a poco.

Conclusión

La versatilidad de IEC 61131-3 radica, entre otras, en poder usar simultáneamente varios lenguajes de programación. Cada lenguaje tiene sus ventajas e inconvenientes . Para sacar el máximo rendimiento en proyectos de automatización, es altamente recomendable estar familiarizado en varios, entre los que incluimos, como no, texto estructurado.

¿Os gustaría algún curso sobre Texto Estrcturado en Codesys ® específico? ¡Esperamos vuestros comentarios!

PorOpiron Electronics

Backups Codesys ®

Hacer copias de seguridad (Backups Codesys ®) es una tarea completamente necesaria para cualquier ingeniero de automatización y las razón es obvia: no perder todo el trabajo y programación que llevamos haciendo desde hace tanto tiempo. Sea cual sea el entorno con el que trabajemos, podemos hacer 2 tipos de backups: online y offlline.

Backups offline

Los backups offline son los que hacemos sobre el mismo ordenador en el que estamos trabajando. Tenemos la obligación de realizar backups de nuestras aplicaciones periódicamente, puesto que de no hacerlo corremos el riesgo de perder todo el trabajo realizado. La frecuencia con la que realicemos estas copias de seguridad depende de nuestro ritmo de trabajo, pero podríamos establecer que un Backup diario seria óptimo para nuestro proyecto. En Codesys  ® podemos hacer copias de seguridad offline de dos formas diferentes.

Backups offline 1

Backups de aplicación

La primera forma es una forma offline tradicional, es decir, guardo sobre el entorno de programación en el entorno que estoy trabajando.

  1. Ir a “Archivo”.
  2. Desde el menú que se desplega, ir a “Archivo de Proyecto”.
  3. Seleccionar la carpeta donde se va a guardar el PLC.

Hecho, obtendremos una copia de seguridad que se distinguirá por tener un icono como el de Codesys ®.

Backups offline 2

Copias de seguridad automáticas

La segunda forma es para aquellos más conservadores, y se trata básicamente de poder automatizar el proceso de backups de Codesys ®. Para ello, tenemos que ir a “Herramientas”, luego a “Opciones” y desde ahí ir a “Crear y guardar”.

Backups online

¿Por qué necesitamos sacar una copia del programa que está corriendo en el PLC?

Cualquier programador de PLC que se aprecie hace una copia online de un PLC antes de descargar un programa. Las razones:

  1. Para poder tener la última versión del programa del PLC. ¿O no habías pensado que quizás alguien haya venido cargar algún programa al PLC sin que lo sepamos?
  2. Para poder tener una copia de seguridad en caso de problemas… Imagínate que vas a una instalación donde todo funciona de maravilla y tu tienes que subir apenas unas funciones de mejora, y una vez lo subes, empiezan a haber todo tipo de problemas… te aseguro que preferirás tener una copia de seguridad para restablecer la situación… lo tuyo seguro que puede esperar.

Backups online: Hacer una copia de seguridad directamente desde el PLC

Vale, ¿Y cómo lo hacemos?

  • Ir a “Archivo”.
  • Desde el menú que se desplega, ir a “Descarga de código origen”.
  • Seleccionar el PLC del cuadro de diálogo que veremos.

¡Hecho, ya tenemos nuestros Backups Codesys ®!

¿Te ha sido útil?

Si tienes otra forma de hacer copias de seguridad (Backups Codesys ®) o te ha parecido útil te agradeceré que compartas esta entrada por redes sociales. ¡Gracias!

PorOpiron Electronics

¿Qué es un POU y cuál debo usar?

Ya seas profesional o novato de la automatización industrial,  entender qué es un POU en el mundo de Codesys ® es completamente fundamental para hacer programas coherentes y que aprovechen bien los recursos de los que dispone nuestro autómata programable.

En general, un POU es cualquier bloque programable – de hecho, POU es el acrónimo de Program Organization Unit-, pero hay varios tipos de POU disponibles:

Funciones: Son los POU que deberemos usar para estructurar programas sencillos. Las funciones no tienen memoria.

Bloques de función: Las funciones de bloque son como las funciones, pero además tienen la capacidad de almacenar valores. Tienen un interfaz de entradas y salidas bien definido y un código interno oculto. Además pueden tener múltiples instancias.

Programas: Jerarquicamente el programa es el director de orquesta. Es el que va a llamar a las funciones o bloques de función para realizar la tarea de automatización. Un programa está además vinculado con una tarea de automatización.

¿Entonces cuál debo usar?

Pues depende del caso. Seguramente es muy fácil discernir los bloques de función / funciones de los programas, pero no lo es tanto entre funciones y bloques de función. ¿Cuál usar? Os dejo algunos casos:

Funciones: Las usaremos para realizar cálculos (desde una multiplicación a alguna función trigonométrica), hasta una función repetitiva del programa

Bloques de función: Son ideales para funciones para controlar motores, variadores, válvulas y en general cualquier elemento que tenga implícito un conjunto de variables que requiere cierto almacenamiento.

Programas: Bueno, el programa lo necesitaremos para organizar nuestra tarea de automatización, y desde él acceder a las funciones y bloques de función. Los programas los usaremos también para acceder directamente a Entradas y Salidas.

Conclusión

Cada tipo de POU tiene sus particularidades. En mi caso caso personal, mis programas tienen más cantidad de funciones que cualquier otro, pero siempre todo depende del proyecto en el que esté trabajando.

Contáctenos!
Enviando
PorOpiron Electronics

Codesys ®: IL, SFC, LD, FBD o ST, ¿Cuál elijo?

Como ya comentamos en el último post, hay 5 lenguajes de programación diferentes de Codesys ® para el programador, que son IL, SFC, LD, CFC y ST. ¿Cuál elegir? Cada uno tienes sus ventajas e inconvenientes y tratamos de desgranarlo en este artículo:

Instruction List

Es un lenguaje de programación que resultará cómodo a aquellos que vengan de programar microcontroladores en ensamblador. Abreviado lo encontraremos como IL, de Instruction List. Seguramente es el lenguaje apropiado si buscamos funciones que se ejecuten lo más rápido posible. Sin embargo, IL tiene la desventaja de ser poco habitual en la automatización, lo que implica que sea difícil de mantener y compartir.

Function Block Diagram

Este lenguaje de programación se asemeja al lenguaje ladder, y es que visualmente consiste en un conjunto de bloques conectados que se pueden leer de izquierda a derecha. Abreviado lo encontraremos como FBD, de Function Block Diagram. Es un lenguaje ideal para programas simples para leer entradas de sensores pero no lo es tanto para programas complejos.

codesys

IL y CFC en Codesys ®

Diagrama Ladder

Es un lenguaje de programación muy habitual en automatización de PLC’s. Abreviado lo encontraremos como LD, de Diagrama Ladder. Visualmente, lo vemos como un diagrama de contactos eléctricos, ya que justamente sus orígenes se relacionan con la lógica de contactos previa al mundo de los PLC’s, muy habitual y comprensible para el personal de aquellas epocas. Hoy en día más del 95% de las aplicaciones del mundo son Ladder, lo que lo convierte en el lenguaje más universal y por lo tanto mantenible de todos (incluso para personal sin experiencia en programación, pero con conocimientos eléctricos).

codesys

Ladder en Codesys ®

Sequential Function Chart

Es un lenguaje de programación muy habitual en automatización y tiene su origen en los diagramas Grafcet.
Abreviado lo encontraremos como SFC , de Sequential Function Chart. Es ideal para hacer secuencias, pero poco apropiado para programas con cálculos.

CoDeSys

SFC y ST en Codesys ®

 Texto estructurado

La principal ventaja es que seguramente es el lenguaje más apropiado para realizar algoritmos complejos que se deben hacer en automatización, combinando cálculos trigonométricos con secuencias, condiciones ,etc. Sin embargo, puede que no sea muy fácil de mantener, sobretodo para personal poco habituado con este tipo de programación. Por todo esto, la tendencia con texto estructurado es hacer funciones complejas específicas que se puedan encapsular en una sola función y usarla como un sólo bloque en Ladder. En Codesys ®, abreviado lo encontraremos como ST, de Structured Text.

En cuestiones de universalidad, el lenguaje Ladder es sin duda el mejor. Sin embargo, por cuestiones de velocidad de procesamiento ST o IL son mejores. SFC es el lenguaje para secuencias.

Conclusión

La elección del lenguaje de programación depende de varios factores.En un primer lugar, nuestro background y experiencia nos pueden hacer decantar por uno u otro. En segundo lugar, si el cliente final va a hacer el mantenimiento en la instalación, debemos considerar sus conocimientos para que pueda entender el programa.

Por cierto, no os perdáis la nota que hemos publicado esta misma semana en InfoPLC sobre los 7 tips para empezar a programar en Codesys ®

PorOpiron Electronics

Codesys ®: 5 razones para aprender a programarlo

Un entorno de programación por cada tipo de PLC.

Aprender desde cero cada vez que tengo que empezar a programar un PLC de un fabricante diferente al que estoy acostumbrado.

Múltiples software significan múltiples drivers, máquinas virtuales, sistemas… Si ya es compleja de por si la automatización, sólo falta que se tenga que lidiar con tanto software.

¿Te resulta familiar? Estoy seguro que sí.

Codesys ®

Codesys ® es el acrónimo de Sistema de Desarrollo de Controladores y es un software de programación de PLC’s industriales conforme con el estándar industrial internacional IEC 61131-3. Un entorno de programación de automatización industrial universal, que me permita poder programar cualquier PLC sea del fabricante que sea, incorporando además lenguajes Ladder, de instrucciones y bloques… Seguramente parece una utopía, pero no lo es. Revisa a continuación las ventajas.

1. Más de 500 PLC’s se programan en Codesys ®

Primero, Bosch Rexroth, FESTO, Beckhoff, Schneider Electric, IFM o Mitsubishi son sólo algunos ejemplos de los fabricantes que ya han apostado por Codesys ®.  Tienes una lista completa de los PLC’s disponibles aquí.

2. IEC 61131-3

Segundo, la posibilidad de programar tu PLC con 5 lenguajes de programación diferentes, lo que seguro te dará versatilidad en tus proyectos:

  1. Bloques de función secuenciales (SFC – Sequential Function Chart)
  2. Lenguaje escalera (LD – Ladder Diagram)
  3. Lista de instrucciones (IL – Instruction List)
  4. Diagrama de bloque de funciones (FBD – Function Block Diagram)
  5. Texto estructurado (ST – Structured Text)

IL y CFC en Codesys ®

3. Simulador y HMI integrado

Tercero, trae consigo un simulador integrado, cosa que facilita muchísimo la vida al programador. No todos los entornos de programación de autómatas pueden decir lo mismo… También trae además un HMI.

Codesys ® es un entorno de ingeniería de automatización industrial integrado, que permite programar todo tipo de PLC’s con eficiencia y en diferentes lenguajes de programación

4. Gratuito

Cuarto, el entorno de programación es completamente gratuito, lo que te permitirá aprender a programar sin coste alguno. Eso sí, los runtime – los drivers que debemos subir a cada PLC-, sí tienen un coste de licencia.

5. Librerías

Quinto, el entorno Codesys ® está estrechamente ligado con la Codesys ® store, que tiene múltiples librerías para ampliar las funcionalidades de tus soluciones de automatización.

Conclusión

Por lo tanto, no hay lugar a dudas de que esta herramienta va a ser muy útil a todos los profesionales del mundo de la automatización: desde personal de mantenimiento hasta proyectistas, por su versatilidad y flexibilidad.

Desde Opiron hemos decidido preparar un curso, completamente en castellano (el primero) y online. ¿Te animas? No dejes de contactarnos!

Contáctenos!
Enviando