Leer tarjetas inteligentes desde PLC (con algo de ayuda de Arduino)

Si ha pasado algún tiempo en una fábrica o planta, es una buena apuesta que se haya encontrado con PLC (controladores lógicos de programa). Estos son equipos duros que realizan funciones simples de control y monitoreo, usualmente usando lógica paso a paso para configurar sus programas. [plc4u] quería conectar un lector de tarjetas inteligentes a Allen Bradley PLC, por lo que recurrió a Arduino para que actuara como una conversación.

El Arduino habla con un lector de tarjetas USB a través de un escudo de host USB. Luego se comunica con el PLC a través de un enlace RS232 y el protocolo DF1, que la mayoría de los PLC Allen Bradley comprenden. Es posible que no necesite una tarjeta inteligente, pero una vez que sepa cómo comunicarse entre Arduino y el PLC, puede realizar muchos proyectos diferentes que utilicen otros dispositivos de E / S y código disponible en Arduino y conectarse a las instalaciones de PLC existentes. Recuerde que probablemente necesitará fortalecer ligeramente el Arduino para sobrevivir y estar seguro al mismo nivel que un PLC (que podría incluir un gabinete NEMA o incluso una caja explosiva).

Anteriormente hemos manejado más de un proyecto de PLC de código abierto. Si desea obtener más información sobre el uso de la lógica de escalera de los PLC, hay un buen video sobre el tema. Sin embargo, el siguiente video muestra el lector de tarjetas inteligentes en acción.

PLC-Foto: De Cmarcante (Obra propia) [CC BY-SA 3.0], a través de Wikimedia Commons

  • José dice:

    Tuve un proyecto similar hace aproximadamente una década para un cliente. En lugar de usar tarjetas SIM, eran tarjetas RFID y se leían a través de RS232 directamente en el ML1100 (una versión interconectada de la que él usaba). Descompuso el hexadecimal en los bits del formato de 26 bits y calculó la paridad para verificar una lectura de tarjeta válida, todo hecho en una escalera. Fue un proyecto pequeño y divertido e hice lo mismo de nuevo, esta vez con finales de escala programables. Parece que este proyecto fue solo una excusa para conectar un arduino a un PLC, porque apostaría a que hay lectores de tarjetas RS232 por ahí ...
    Es bueno ver algunos equipos industriales reales aquí.

    • Pies ardientes dice:

      Sí ... a menos que se haya descartado Internet, el mundo está lleno de lectores / escritores de rs-232 Sim.
      Hackers satelitales frente a USB.
      Me impresionaría más si el Arduino pesa mucho y no solo actúa como un puente usb-> serie.
      Buen trabajo en una solución económica y efectiva que logre la tarea, pero no estoy seguro de por qué el autor siguió este camino correctamente.
      Supongo que la verdadera hazaña es programar el plc para que haga más que controlar los sensores y hacer clic en los interruptores.

      • Congreso Nacional Africano dice:

        Es posible que desee examinar un poco más los PLC.

  • Mate dice:

    Como ingeniero de sistemas para control integrado, aplaudo este proyecto, muy bueno.

  • captnmike dice:

    lo siento, pero los PLC no solo realizan comprobaciones y comprobaciones sencillas; la imagen es baja; trabajé en sistemas que tenían más de 1000 E / S y realicé seguimiento de datos, lectura de códigos de barras y algunas estadísticas y análisis bastante elegantes de análisis de datos continuos en tiempo real y sistemas que tenían una docena o más de PLC en una red hablando entre sí.

    sí, son feos en cierto modo y no muy elegantes, pero están diseñados teniendo en cuenta la seguridad: temporizadores integrados, por lo que si su programa se cuelga por alguna razón, todo el sistema apaga las salidas para que no tenga una pieza desenfrenada. . del equipo.

    Yo nunca los llamaría simples. Sí, algunos de los sistemas en los que trabajé dominaban solo unas pocas E / S, pero otros eran más grandes con las impresiones con miles de líneas de código y la lista de unas pocas pulgadas de grosor.

    • algún chico dice:

      > Nunca los llamaría simples.
      +1 !!
      Ladder y "Grafcet" (esa es la palabra francesa, no sé la traducción ...) son cosas simples cuando apenas las miras, pero los detalles de estas cosas y especialmente las herramientas de programación que necesitas para programar PLC, son cualquier cosa. ¡pero no simple (y probablemente costoso también)!

      • J dice:

        Grafcet = Diagrama de función secuencial (SFC).

        Tuve la idea de usar arduinos como E / S barata para computadoras, pero no era necesario porque a las empresas no les gustan esos hacks. Además, la mayoría de los buses de campo industriales requieren chips especiales y / o pilas de protocolos, especialmente si desea unos más rápidos. Por supuesto, cualquier protocolo ascii basado en RS-232/485 es algo fácil (especialmente si las especificaciones están abiertas), pero ethernet (excepto modbus TCP, pero que puede requerir una licencia de biblioteca para el lado del PLC) o basado en CAN son diferentes. animales.

        Sin embargo, hay varias computadoras pequeñas (o relés inteligentes, si se quiere) construidas a partir de "arduinos", con entradas / salidas más duras, etc. Trabajando con tensiones y temperaturas industriales. Para trabajos pequeños, prefiero usar algunos de esos que Siemens u Omron o cualquier relé inteligente. En su mayor parte, solo usan el IDE de arduino para programar y yo estaba buscando un lenguaje de programación gráfico para arduinos, y sí, los encontré, pero la mayoría de los proyectos parecen muy lentos o muertos y tal cosa no volará en el entorno industrial. De nada sirve usar el tiempo para hacer cosas en un idioma que muere en uno o dos años.

        • algún chico dice:

          ¡Gracias por la traducción!

        • Rastislav dice:

          Un PLC con suficientes entradas / salidas puede generar ahorros significativos cuando puede reemplazar varios controladores en el hogar.
          Por ejemplo calefacción (con 1 hilo), bomba de calor, aire acondicionado, persianas enrollables exteriores, luces * y otros con una lógica de escalera bastante sencilla.

          * sobre las luces, si encender / apagar no es suficiente, existen traductores de modbus a dali y no hay límites. Tu puedes hacer

          Consideraría un arduino (o msp430 para mí) solo si se necesita un compilador que no esté disponible. Control de audio posiblemente

          Es bueno ver PLC en la-tecnologia de todos modos

  • Pies ardientes dice:

    Sí, yo mismo no sé mucho sobre PLC; No; lo que sospecho ha contribuido a mi confusión sobre por qué simplemente usaría un lector iso-Sim en serie chino directamente por $ 15, escribiría el mismo código para el PLC y omitiría el Arduino.

    • J dice:

      Porque si el PLC no admite una forma de comunicarse usando sus propios protocolos o cuesta dinero comprar una biblioteca, podría ser más barato usar un arduino mientras tanto. Además, no es divertido escribir estas cosas en KOP, FUP o SFC, y es posible que ST no sea una opción compatible. Una vez tuve un proyecto en el que la comunicación en serie se hacía a medias en una escalera y la tiré y lo hice en ST porque es horrible hacer esas cosas en una escalera.

  • ego dice:

    El PLC disparado hacia el arduino es un animal viejo pero confiable, pero lo más probable es que tenga una función limitada, excepto para lo que fue diseñado originalmente.
    Es de la época en que la expresión "haz una cosa y hazlo bien" ha imperado de forma suprema, a diferencia de los PLC modernos, que tienen tantos trucos como los microcontroladores modernos.
    Entonces, si bien puede ser bueno vincular un lector de tarjetas directamente a él, llevaría más tiempo (y por lo tanto, sería más costoso) que usar mal un Arduino como traductor de gama baja.

  • Brian dice:

    Parece bastante obvio que usó un arduino, ya que el PLC carecía de un puerto RS232 de propósito general. El puerto que usa en el video solo habla el protocolo DF1. Algunos PLC pueden tener tarjetas RS232 adicionales, pero son mucho más caras que un Arduino.

    Dicho esto, parece que producir un convertidor RS232 -> DF1 sería más fácil que un convertidor USB -> DF1, pero a veces quieres que las cosas funcionen con lo que tienes. Por eso lo llamamos piratería.

  • Anónimo dice:

    En cierto modo, es un truco impresionante, que hace que Arduino se convierta al protocolo específico y especial y evita encontrar algún lector y adaptador oscuro que AB vende y para el que requiere un contrato de soporte.
    Fortalecer un poco el Arduino para entornos industriales realmente no solo se detiene en un caso elegante, necesitaría cambios de cable y protección de entrada y otras características similares para evitar que se dañe o confunda con el ruido, o que destruya la señal en cualquiera de los cables con ruido u otros problemas, verá que los equipos industriales tienen soluciones únicas. El cable de programa de mi PLC tiene un cable adicional procedente del conector, que se coloca en la tierra del marco del PLC solo para eliminar el ruido, por ejemplo.
    Ver que los equipos industriales obtienen cobertura es bueno, sin embargo, sería más agradable si alguien que realmente supiera equipos industriales hiciera los artículos porque parece que los PLC son algo a lo que no está acostumbrado o que no piensa en algo tan alto como Pi o arduino.

    • Al Williams dice:

      Hmm ... de hecho pasé muchos años en pisos de plantas químicas con DCS, PLC y similares (dado hace unos años con HP1000s, TDC2000 / 3000, Applied Automation, etc.). Sí, he simplificado demasiado lo que se necesita para colocar una tabla en ese entorno, aunque todavía tengo algunas tablas colocadas en recintos Hoffman en postes en algunos lugares muy poco probables. Pero no creo que pueda juzgar realmente lo que sé sobre los PLC, escribiendo sobre cualquier otro proyecto, de lo que puedo juzgar su experiencia con un comentario de blog. Supongo que nadie pondrá a Arudin en una bolsa con cierre hermético y obtendrá la aprobación para tirarlo al suelo.

  • Beakmyn dice:

    Eso es bastante bueno, pero no lo confiaría en la fábrica. Por eso colocamos el lector de tarjetas en la HMI y usamos software para enviar los datos al PLC. Sin embargo, para la plataforma Controllogix (primera imagen) puede obtener módulos que hacen RFID. Los usamos para un cliente cuando Walmart presionó para que RFID se vincule a todo.

    No estoy seguro de si existe para la plataforma Micrologix (en el video), ya que es más de un solo PLC. El Micrologix es un poco limitado y no tan ampliable. Piense en ello como ejecutar una máquina en su fábrica en lugar de Controllogix, que puede ejecutar toda la fábrica.

    Este arduino debe funcionar perfectamente las 24 horas del día, los 7 días de la semana, los 365 días del año en un entorno típicamente ruidoso. Además, casi nunca usamos 12 voltios. 24 VCC o 110 VCA son normales para las señales de control. La mayoría de los equipos funcionan a 110, 230 o 480 VCA.

  • Ajedrez dice:

    ¿Alguien industrial?

  • David K dice:

    La conversión de USB a DF1 es genial. Permite que el PLC reciba los datos de la tarjeta directamente en una etiqueta avanzada, una variable que luego se puede utilizar en la escalera avanzada, texto estructurado u otro lenguaje IEC 61131-3 utilizado en el PLC. El puerto Allen Bradley ControlLogix RS232 admite ASCII para su uso con lectores de códigos de barras, básculas y otros dispositivos seriales simples. A continuación, me gustaría ver un Arduino con la tarea de funcionar como un servidor Ethernet / IP compatible con ODVA. El PLC podría escanear el Arduino como una E / S o un mensaje explícitamente.

  • Paul dice:

    Hola, ¿cómo se conecta un arduino con PLC? por favor, ¿pueden enviarme la biblioteca arduino?

Isabella Ortiz
Isabella Ortiz

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *