Conecte Arduino a Omron PLC

Trabajo en una planta de fabricación (en ingeniería de software) y tenemos hardware y software de terceros que monitorean maquinaria industrial (principalmente velocidades).

Para el entrenamiento y las pruebas necesitamos poder emular una de las máquinas. El hardware de terceros se basa en el PLC Omron CP1L-EM30DT1-D - ( http://datasheet.octopart.com/CP1L-EM30DT1-D-Omron-datasheet-12510914.pdf )

Iba a construir algo simple usando un motor de CC de velocidad variable y una rueda codificadora para generar pulsos, pero luego me di cuenta, ¿no puedo simplemente usar un arduino y un software para enviar pulsos de frecuencia variable? No hace falta que sea muy preciso. Probablemente querríamos un rango de 1,000 a 60,000 por hora.

Admitiré que no sé nada sobre PLC (todavía), así que estoy buscando orientación.

¿Qué necesitaría para enviar pulsos a este PLC desde el arduino (supongo que necesito 24v DC, así que tendría que cambiar eso a través de un relé)? También estoy tratando de obtener información de nuestro proveedor. Dijeron que podía hacer algo simple con un botón (pero estoy tratando de obtener más información). No estoy seguro si esto ayudaría a determinar lo que debo hacer.

Inicialmente, usaré constantes en el boceto para establecer la velocidad de inicio, pero a largo plazo, agregaría algún tipo de control de velocidad usando un interruptor giratorio o un potenciómetro y botones duros para detener y comenzar.

gracias de antemano

Marca

Respuestas (3)

esquemático

simular este circuito : esquema creado con CircuitLab

Figura 1. Interfaz del optoaislador al PLC. La entrada digital del PLC puede tomar 24 V CC.

Un optoaislador tiene la ventaja del aislamiento galvánico, alta velocidad, bajo costo y sin partes móviles.

Esto se ve bien (y fácil :-)). la SALIDA es la salida digital de arduino, ¿verdad? ¿Alguna sugerencia sobre una parte no para el opto? ¿Necesito resistencias entre 24v y opto, o entrada opto y plc para limitar la corriente?
Casi cualquier transistor opto servirá. D2 es una representación simplificada de la entrada del PLC. Tiene resistencia interna y tomará 24 V completos y consumirá 10 mA más o menos.
Esquema actualizado para mostrar la resistencia interna para la entrada de 24 V.

Esto es más fácil:

esquemático

simular este circuito : esquema creado con CircuitLab

La salida alta del Arduino envía una baja al PLC.

La salida baja del Arduino envía un alto al PLC.

Cualquier transistor NPN de pequeña señal que pueda manejar más de 24 voltios debería funcionar.


Esto es casi tan fácil:

esquemático

simular este circuito

No tiene que invertir la salida de Arduino para esto, y no desperdicia corriente a través del pullup como lo hizo el primer circuito.


Tenga en cuenta que el PLC tiene entradas opto aisladas, por lo que está bien protegido. El uso de otro optoaislador del Arduino lo protegería de cualquier cosa que pudiera suceder en las líneas de tierra y 24 voltios al PLC.

El optoaislador en el PLC también tiene una resistencia en serie, por lo que no debería necesitar una resistencia en la línea que va a la entrada del PLC; hacerlo probablemente causaría problemas (no conmutación o conmutación lenta).

¿No debería haber una R adicional para limitar la corriente en el circuito Q1-Q2? ¿O es suficiente elegir cuidadosamente el valor de R2?
@DmitryGrigoryev: Gracias. Dejé una resistencia fuera del diagrama. La forma en que lo tenía probablemente habría quemado ambos transistores.
@JRE deos la publicación tiene todas las resistencias? ¿Alguna sugerencia sobre los números de parte para Q1 y Q2?
Actualicé el esquema, por lo que ahora tiene todas las resistencias.
NPN: 2N2222 o BC548 o 2N3904
PNP: 2N2907 o BC558 o 2N3906
Esas son todas las piezas estándar (generalmente se encuentran en la caja de chatarra). Puede obtenerlas prácticamente en cualquier lugar.

Opción de código de simulador de PLC

Es una práctica común en el mundo de los PLC construir una simulación en el dispositivo que se está controlando. Lo más probable es que quede mucha memoria de programa y que se pueda añadir un simulador para generar un tren de pulsos interno y, si se quiere, dejarlo disponible en una salida digital para retroalimentar la entrada del contador.

Hay dos entradas analógicas integradas en esos PLC, por lo que puedo ver, y algunas parecen incluso tener un potenciómetro incorporado. Si el suyo no tiene una olla, puede conectar una como se muestra a continuación.

esquemático

simular este circuito : esquema creado con CircuitLab

Figura 1. Control analógico 0 - 10 V.

Mi enfoque sería:

  • Conecte la entrada analógica.
  • Escriba un código para generar un tren de pulsos a una frecuencia establecida por el potenciómetro. El valor interno será de 1000 conteos a 10 V en la entrada analógica.
  • Modifique el programa para agregar el bit 'simulador' establecido por el software de programación, HMI o entrada cableada.
  • Modifique el código para usar el simulador si el bit está establecido y para usar la entrada real de lo contrario.
gracias por la sugerencia, pero queremos una verdadera simulación de lo que haría una máquina física (para fines de prueba). Parece una curva de aprendizaje mucho más larga. Estamos un poco en apuros y ya conozco arduino. Gracias de nuevo por tomarse el tiempo