Archivo de etiquetas Codesys

PorSatoshi

Los métodos, otro paradigma del texto estructurado

La programación orientada a objetos, los métodos y el texto estructurado traen consigo nuevas propiedades y paradigmas respecto a la programación industrial tradicional. Una de las propiedades que mejor expresan esta nueva característica son, sin lugar a dudas, los métodos. En este post hablamos de ellos.

¿Qué es un método?

Dentro de la programación orientada a objetos, si nos ceñimos a la definición de libro, diríamos que un método es “Un procedimiento función, que pertenece a una clase”.

Las clases, en POO, son los propios objetos. En ellas se incluyen las propiedades de los objetos, y pueden contener variables, métodos, etc.

¿Y cómo afectan a la automatización industrial?

Como ya definimos en esta entrada, la programación orientada a objetos define un nuevo paradigma, porque permite expresar la realidad de forma diferente a como estamos acostumbrados en la automatización tradicional.

Pongamos ejemplos. Una válvula es un objeto. Por lo tanto, es una clase. Y como sabemos, una válvula encapsula múltiples atributos. Por ejemplo, el tipo de válvula (On / Off, analógica, etc.), pero también si ésta usa alguna función para abrirse.

De esta manera, esto tiene tres beneficios fundamentales:

  • La interacción con los objetos es más natural, llamamos a un objeto, y luego a “su” método: “Abrir Vávula”.
  • Declaramos una clase una vez, pero luego podemos hacer instancias cuantas veces queramos. Esto significa reducir código.
  • Reduce los tiempos de programación.

Implementación

Como ya sabéis, el estándar IEC 61131-3 y Codesys permiten la implementación de métodos y texto estructurado en todo tipo de PLC’s. Y por lo tanto, su llamada en Codesys se puede implementar con facilidad.

Seguimos!

Como ya anunciamos hace un tiempo, estamos trabajando en un curso de Texto Estructurado, que completará nuestra oferta formativa de Codesys. Así que, quedaros atentos!

De todas formas, si quieres contactarnos para resolver alguna cuestión, puedes hacerlo ya desde este formulario.

 

PorSatoshi

¿Cómo conectar hardware en Codesys?

Déjame adivinar, quieres programar un PLC de alguna marca concreta con Codesys… y te estás preguntando cómo puedes integrar el hardware en Codesys… Has buscado información en diferentes páginas y has caído hasta aquí. Si es tu caso, o simplemente estás buscando información de Codesys, sigue leyendo.

Algunas ideas antes de empezar

Como ya sabemos, Codesys es una herramienta de programación de PLC’s multiplataforma, en el sentido que podemos programar múltiples PLC’s en un mismo entorno.

Por otro lado, no es menos cierto que la programación se basa en el popular estándar IEC 61131-3, lo que significa que estamos programando bajo un estándar, independientemente del hardware que estemos tratando.

Lista de ingredientes necesarios

Con estas ideas sobre la mesa, entendemos que podemos hacer programas antes de pensar en el hardware. Sin embargo, al final, en algún momento necesitaremos llevar los datos a algun PLC.

Sin embargo, antes de seguir, déjame advertirte que necesitarás tres ingredientes para lograr tu propósito. A continuación:

  1. Los datos del equipo que queremos programar (incluyendo el PN, etc.)
  2. Las librerías que contienen el hardware
  3. El entorno de Codesys

De estos tres elementos, seguramente te falta el segundo ingrediente. ¿Dónde lo consigo? No hay una única respuesta.

Vídeo

Te comentaré algunos secretos y opciones para conseguir hardware e integrarlo a Codesys en el siguiente vídeo. Dentro vídeo:

Sin embargo, puede que realmente no uses Codesys como plataforma, sino alguna basada en ella. Por ejemplo, puede que uses Twincat, o tal vez IndraControl V… Si ese es tu caso, puedes contactarnos si precisas ayuda.

¿Que más tips puedo aprender?

Puedes seguir aprendiendo tips sobre Codesys leyendo el post sobre cómo generar copias de seguridad. O si lo prefieres, puedes echar un vistazo a nuestra lista de servicios y cursos relacionados. Somos expertos y estamos para ayudarte, así que no lo dudes!

 

PorSatoshi

Nuevo Workshop de Codesys en Saguapac Bolivia

Estamos contentos de anunciar que los pasados días 20, 21, 22, 23 y 24 de Mayo estuvimos en Santa Cruz de la Sierra, Bolivia, donde impartimos un Workshop especializado sobre Codesys®.

Como partners de Codesys®, somos expertos en la tecnología, y solemos asesorar a las empresas para su implementación.

Módulos y modalidad del Workshop

El entrenamiento In Company es una modalidad de curso dirigida por un instructor, que se desplaza a las oficinas del cliente final. A lo largo del entrenamiento, las partes teóricas son seguidas por ejercicios prácticos para asegurar que los conocimientos son correctamente adquiridos por los alumnos.

El Workshop estuvo compuesto por 4 módulos completos, cada uno con diferentes capítulos teóricos y prácticos. Son los siguientes:

  1. Fundamentos de automatización y PLC’s
  2. Introducción a Codesys®
  3. Comunicaciones Industriales con Codesys®
  4. Programación avanzada con Codesys® y texto estructurado

Tópicos tratados

Entre otros, vimos una descripción completa sobre diferentes opciones de comunicación con Codesys®, tales como OPC o Modbus. También tratamos diferentes temas como lenguajes de programación, configuración de hardware o creación de librerías entre otros muchos temas interesantes.

También vimos temas candentes como interfaces de visualización, que incluso pueden permitir trabajar sobre dispositivos móviles tales como Android, iOS, etc.

Acerca de Saguapac

Saguapac es una cooperativa de servicios de agua potable y aguas residuales en Santa Cruz de la Sierra- Bolivia. Por supuesto, el uso de tecnología de Codesys® en sus instalaciones está resultando muy efectiva.

Solicita tu Workshop

La modalidad In Company brinda una experiencia única al participante, ya que se ofrece un modo de aprendizaje interactivo, donde se combinan teoría y prácticas enfocadas a casos reales.

Una de las cosas que además hace especialmente recomendable esta modalidad es la de poder ver casos específicos con el cliente, lo que hace que los cursos sean especialmente provechosos.

¿Te interesa? Puedes contactarnos directamente haciendo clic aquí.

PorSatoshi

Nuevo Curso de Codesys Oficial

Estamos muy contentos de anunciar el primer curso de Codesys oficial en castellano. Ya comentamos hace unos meses que eramos nuevos partners de Codesys.  Pues ahora hemos lanzado un nuevo curso para aquellos que quieren adentrarse a programar.

Algunos comentarios acerca del curso

Se trata de un curso teórico y práctico en español donde los participantes, una vez terminado, estarán familiarizados con la plataforma CODESYS y podrán utilizarla para llevar a cabo proyectos de automatización real y de domótica.

¿No sabes qué es Codesys? Clic aquí-

El curso utiliza Raspberry Pi y el simulador CODESYS como plataformas educativas. Los alumnos tendrán acceso a una plataforma en línea donde tienen contenidos como videos y exámenes, y acceso a un profesor al que pueden preguntar libremente.
Realizaremos varias ediciones cada año.

¿Y qué voy a aprender?

El curso se compone básicamente de dos grandes módulos:

  • Introducción a Codesys: Se trata de un módulo de 6 unidades. En este módulo aprenderás a programar en Codesys. Haremos desde una introducción, hasta a programar aplicaciones y a realizar HMI’s. También aprenderás los fundamentos de IEC 61131-3.
  • Domótica con Raspberry Pi: En este segundo módulo aprenderás a enfocar proyectos con Codesys de manera práctica. En términos generales, la idea del curso es darte las herramientas para programar, mediante una Raspberry Pi, aplicaciones de domótica (e industriales). También verás teoría sobre comunicaciones entre dispositivos.

 ¿Cómo puedo apuntarme?

Usaremos la Codesys Store, el marketplace de soluciones de automatización, para que puedas apuntarte al curso (clic en la imagen):

Codesys Store

Haz clic en la imagen para más información.

También es posible apuntarse indivualmente a un módulo en concreto a través del Campus Tecnológico Virtual, en:

¿Más información?

Como siempre, estamos abiertos a tomar un café. Además de cursos, hacemos proyectos y servicios de consultoría. Puedes echar un vistazo a nuestros servicios en nuestra Opiron Store:

Para más dudas o consultas no dudes en contactarnos!

PorSatoshi

Conversiones analógico digitales en Codesys

En (casi) todos los proyectos en los que vayas a programar una automatización, te vas a encontrar con la necesidad de leer valores analógicos. ¿Cómo escalarlos para poder leer su valor? En este post te lo explico:

¿Escalar?

Empecemos con lo más basico. ¿Por qué tendría que escalar un valor?
Si lo pensamos, muchos de los instrumentos analógicos que conectamos a nuestros PLC’s vienen con fichas técnicas que nos indican un doble rango: el de medición, y el de salida eléctrica. A esto, hay que agregar todavía un tercer rango, que es el que nos da el conversor analógico digital. Veamos un diagrama de bloques:

Pasos en la conversión A/D

Para el ejemplo que vamos a tratar, imaginemos que intentamos conectar un sensor de presión que mide de 0 – 5 bar, con una salida de 4 – 20 mA.
Nuestro reto por lo tanto, será que en el PLC podamos leer realmente los 0 – 5 bar. Tenemos que hacer 3 conversiones de unidades.

¿Y cómo lo hago?

Uno de los elementos que influyen es el conversor analógico digital. El PLC es en definitiva una máquina de unos y ceros. Esto significa que los valores analógicos necesitan ser codificados en un vector de 1/0 consecutivos. Estas conversiones se pueden interpretar en definitva como “cuentas”, que van entre un valor minimo “Val_m” y un valor máximo “Val_M”. Cuantas más cuentas, mayor será el valor analógico.
La clave de esto es leerse el datasheet de la tarjeta de entrada analógica e interpretarlo para poder hacer la conversión correspondiente.
Un ejemplo puede ser por ejemplo el de esta tarjeta de Wago:

Correspondencia entre corriente y cuentas

Leyendo la hoja de características podemos hacer una correlación “cuentas” y mA. Claro, nos falta tener la otra relación, que es la de bar – mA. Pero en este caso, suponemos que es simplemente una línea recta, donde 0 bar corresponde a 4 mA, y 5 bar corresponde a 20 mA.

Valor medido (bar) Valor medido (mA) Valor en A/D
0 4 0
1 7,2 6552
2,5 12 16384
3,5 15,2 22936
5 20 32760


Dentro Vídeo

Vistas estas notas, vamos a ver el vídeo donde os presento la instrucción LIN_TRAFO. Este método os será valido siempre que las señales sean lineales:

Más información

¿Qué te ha parecido? En realidad hay más formas de hacer conversiones en Codesys. ¿Cuál usas?
Para seguir aprendiendo te recomiendo que te suscribas al blog de Opiron, o que le eches un vistazo a los cursos disponibles.
Saludos 🙂

PorSatoshi

Codesys en Raspberry Pi

Programar una Raspberry Pi como si de un PLC se tratara. Realizar aplicaciones de automatización profesionales. Realizar aplicaciones interactivas con el mundo real y todo ello bajo un entorno de programación de ingeniería. ¿Suena bien? La combinación de Codesys en Raspberry Pi lo permite. Sigue leyendo.

Raspberry Pi

Como ya sabréis, una Raspberry Pi es un ordenador de placa reducida. Es bastante popular su uso en el ámbito doméstico, ya sea usándola como media center, centro de emulación de antiguas consolas o, incluso para hacer algunos proyectos de domótica. En este último caso, sin embargo, una carencia siempre ha sido la de no contar con entornos de ingeniería completamente profesionales para la realización de proyectos.

¿Qué sería posible si se pudiese combinar con una plataforma tan potente como es Codesys®?

Codesys ®

Si eres un habitual de nuestro blog, ya sabrás que se trata de una plataforma de ingeniería de automatización completa. Si no sabes qué es, te aconsejo hacer clic en esta entrada.

Dentro de su gama de productos, tenemos por un lado un entorno de ingeniería muy potente y muy profesional, ideal para hacer proyectos de ingeniería. Su programación se basa en IEC 61131-3, una potente normativa que permite programar dispositivos en múltiples lenguajes de programación y sin depender del hardware.

Por el otro, tenemos los runtimes, pequeños programas que permiten que un hardware sea compatible.

Combinación de Codesys en Raspberry Pi

La combinación abre un nuevo mundo de posibilidades para makers, ingenieros y programadores. La combinación permite por ejemplo, la programación de proyectos de automatización en Ladder o texto estructurado. También permite habilitar comunicaciones industriales, tales como EtherCAT o Profinet. O, por ejemplo, realizar interfaces de visualización funcionales y multiplataforma.

Próximas novedades

Como partners de Codesys® estamos preparando algunas novedades y esperamos que, en no mucho tiempo, podamos dar forma a algunos contenidos que, de buen seguro, os van a interesar.

Si te ha interesado este post y quieres sabe más, te sugerimos que visites la página promocional que hemos preparado en el siguiente enlace.

PorSatoshi

De Modbus RTU a Modbus TCP

Déjame adivinar. Buscas alguna solución para pasar datos de Modbus RTU a Modbus TCP, OPC u otros protocolos. En realidad, lo que necesitas es llevar datos de algún equipo Modbus RTU a un SCADA, a otro dispositivo…etc ¿Correcto? En este post te voy a dar algunas opciones.

Antes de nada, si buscas información genérica sobre Modbus, te recomiendo que leas nuestra serie de entradas sobre Modbus. Si ya lo tienes claro, quédate y sigue leyendo.

¿Por qué de Modbus RTU a Modbus TCP u otros protocolos?

Bueno, lo primero y más importante. ¿Por qué debería pasar de uno al otro? Hay muchísimas razones posibles. Sin embargo, en líneas generales, los casos más comunes son los siguientes:

  1. Necesitamos comunicar un equipo que sólo dispone de comunicación Modbus RTU, con otro equipo que sólo dispone de comunicación Modbus TCP.
  2. Necesitamos comunicar un equipo con Modbus RTU con un SCADA, HMI o similar.
  3. Quieres tener las ventajas de las redes Ethernet. Y es lógico, porque Modbus TCP aprovecha las ventajas de las redes Ethernet en cuanto a velocidad, simplicidad en la configuración, etc.

¿Qué opciones tenemos? Veamos algunas.

Opción 1: Soluciones basadas en hardware únicamente

Convertidores Modbus RTU a Modbus TCP. Se trata de una opción basada en hardware. Haciendo una simple búsqueda en Google se pueden encontrar múltiples ofertas, con múltiples funcionalidades, precios, etc.

En líneas generales, suelen tener varias opciones de comunicación de entrada (RS-232, RS-485, etc.) y salidas Ethernet. Si se van a montar en un cuadro o tablero eléctrico, no está de más que además sean montables por Rail DIN.

Son opciones económicas aunque luego necesitan más elementos de red para enviar datos a sistemas (tales como switches, etc.). Además, al ser opciones basadas únicamente en hardware, su configuración puede ser escasa, por lo que sus opciones pueden terminar resultando muy limitadas.

Opción 2: Soluciones basadas en software únicamente

Gateways basados únicamente en software. Pueden cumplir la función que se está buscando. Los mismos pueden instalarse sobre máquinas Windows y tener automáticamente un Gateway. Normalmente para este caso necesitarás complementar tu conversión con un conversor serie a usb.

La otra opción, es pasar de Modbus a OPC UA. Los servidores OPC permiten exponer datos de equipos Modbus (RTU o TCP) a clientes OPC. Esta opción tiene varias ventajas. Pero ya para este caso, te recomiendo leer esta entrada.

Opción 3: Soluciones hibridas entre hardware y software

Gateways que combinan hardware y software. Otra alternativa es utilizar nuestro Gateway basado en Codesys. El Gateway permitirá no sólo pasar de Modbus RTU a Modbus TCP. También permite enviar datos via OPC UA o incluso enviar datos directamente a un móvil, tablet o pc con interfaces personalizadas. Se tratará de una opción por lo tanto, también basada en hardware, multiprotocolo, económica y efectiva.

Conclusión, ¿Qué es mejor?

Depende realmente del caso. Las pasarelas son bastante estándar y relativamente simples de conseguir. El servidor OPC UA de Modbus es también una opción estupenda, sobretodo porque permite una configuración mucho más amplia, en cuanto a seguridad de comunicaciones, modelado de direcciones, etc. El Gateway basado en Codesys es una opción que combina cosas de ambos casos….

¿Tienes dudas? Envianos un email, estamos para ayudar 😉

PorSatoshi

Cómo crear tablas de Observación en Codesys

Hace un tiempo un alumno del curso online de Codesys me preguntó sobre cómo se podían crear tablas de observación en Codesys 3.5. No hay duda que es una consulta más que interesante, así que, ¿Por qué no publicar la respuesta en el blog?  Bueno, en este tutorial haremos una explicación resumida sobre cómo lograrlo. A por ello.

¿Qué es una tabla de observación?

Empecemos por el principio. Las tablas de observación (O Watch List en Codesys), son listas de variables de proyecto que define un usuario en una vista con el propósito de monitoriearlas o forzarlas cuándo se trabaja en línea.

¿Y para qué sirven?

Pues lo dicho, puedes tener en una sola ventana aquello que necesitas monitorear. Vamos, que no tiene que ir buscando variable por variable lo que quiere monitorear, sino que con una vista simple, puede tener todos los datos que necesita revisar.

Por ejemplo, si haces un programa que controla varios aspectos de un proceso, puedes crear una tabla de observación con las variables más importantes, prescindiendo de todo aquello que realmente no te interesa observar.

¿Algo más?

En Codesys, además, es posible crear varias tablas de observación simultáneamente. Con esta funcionalidad, por ejemplo, podemos crear una tabla de observación para visualizar datos de un contador, otra tabla de observación para un regulador, etc.

Vamos, que podemos contextualizar la información en varias tablas, para que nos sea más fácil depurar el programa.

Vídeo de cómo crear tablas de observación en Codesys

Bueno, aquí un tutorial donde te explico a crearlas paso a paso. Let’s go!

¿Te ha resultado útil? Si te interesa seguir formándote en Codesys no dudes en contactarnos, además del curso online, ofrecemos cursos regulares de manera presencial. Si estás pensando en hacer un proyecto y buscas alguna consultoría también podemos ayudar. Será un  placer hablar contigo!

PorSatoshi

Programación Orientada a Objetos en PLC’s y Automatización

La programación orientada a objetos en PLC’s y automatización no es muy popular. Sin embargo, sí lo es en entornos académicos e informáticos. ¿Qué implicaría usar POO en automatización?

¿Qué es la programación orientada a objetos?

Primera pregunta. ¿Qué es POO (Programación orientada a objetos)? Antes de nada, lo más importante es advertirte. Si ya programas PLC’, se trata de tener un enfoque diferente en  la programación a cómo lo has hecho hasta ahora.

POO es un método de programación muy popular y usado sobretodo para programar aplicaciones de escritorio. Java, C++ o Delphi son ejemplos de lenguajes de programación orientados a objetos.

La programación orientada a objetos se explica mejor en su enfoque sobre la organización del software. En líneas generales, un lenguaje es POO si permite tener objetos, clases y subclases. Cada objeto es un pequeño procedimiento para hacer una tarea determinada.

¿Y qué es un objeto?

Tomando como referencia el mundo real, un objeto es todo aquello que nos rodea. Por ejemplo, un conductor, una silla o una  moto. Cada objeto, tiene:

  • Propiedades (por ejemplo, una silla es roja, grande…)
  • Acciones asociadas (por ejemplo la moto puede acelerar, frenar etc.).
  • Interactuar (por ejemplo, un conductor puede acelerar la moto, etc)

La analogía dentro de la automatización industrial se puede hacer con múltiples objetos y sus propiedades. Por ejemplo, un motor tiene propiedades como las rpm. También tiene acciones asociadas, como encenderse. Y también puede interactuar con otros objetos, como ahora un PID.

¿Por qué debería importarme si programo PLC’s?

Si eres uno de esos ingenieros de automatización que lleva toda la vida programando PLC’s es probable que seas escéptico al respecto. ¿Por qué sería beneficioso si llevo toda la vida haciendo aplicaciones que funcionan?  Déjame nombrarte algunos de los beneficios que puede traer:

  1. Modularidad: Los programas son más flexibles y fáciles de mantener.
  2. Flexibilidad: Los códigos son más fáciles de rehusar.
  3. Simplificación: Bien usada, los programas pueden ser más simples.

En consecuencia de lo anterior, el ahorro de tiempo es una de las ventajas más significativas de su implementación en la automatización industrial.

Herramientas disponibles y más información

Hasta el día de hoy, era bastante poco común encontrar programación orientada a objetos en PLC’s o aplicaciones industriales y la razón era, sobretodo, la falta de herramientas disponibles.

Sin embargo, Codesys te permite la programación de PLC’s basadas en este método. Si te interesa este tema, te sugiero que nos contactes, dado que estamos preparando un curso específico.Te esperamos!. 🙂

PorSatoshi

Opiron Electronics, nuevo System partner de Codesys

Hoy os traemos una noticia que nos hace especial ilusión. Opiron Electronics S.A.S. es nuevo system partner de Codesys, la plataforma de la que hemos hablado durante tanto tiempo. Te contamos un poco más en estas líneas.

Acerca de Codesys

CODESYS es una plataforma de software de tecnologías de automatización industrial. Uno de los puntos fuertes de la plataforma es la herramienta de programación IEC 61131-3. La plataforma, entre sus muchas ventajas, permite programar PLC’s sin tener en cuenta el fabricante de los mismos. Otra ventaja muy destacada es que permite programar mediante varios lenguajes de programación, incluidos texto estructurado y ladder.

Además, la plataforma también dispone de amplias soluciones en lo que concierne a comunicación de dispositivos y a soluciones para Industria 4.0 y IIoT basadas en arquitecturas fog o cloud. Recomendamos leer esta entrada para ampliar información

¿Cómo puede ayudarme?

Las ventajas de Codesys son palpables:

  • Si programas PLC’s, te permite programar sin depender del hardware, y basado en un sólido estándar como IEC 61131-3.
  • Si estás a cargo de la automatización de una instalación, su implementación te ayudará a instalar, mantener y formarte en una sola plataforma. Con beneficios de ingeniería y económicos.
  • Si desarrollas proyectos, su utilización va a permitirte entregar soluciones integrales en una plataforma. Control, comunicación y visualización.

¿Qué podemos hacer para ti?

Como Codesys System Partners podemos ayudarte de diferentes maneras. Por ejemplo, desde el punto de vista formativo, podemos ayudarte con:

También podemos ofrecerte proyectos de diferentes proporciones:

Más información

Si tienes ganas de probar, te quedas con dudas o simplemente tienes ganas de conversar, puedes informarte de más información en cualquiera de los siguientes enlaces:

¡Te esperamos! 😉