Buscando traer entradas de 24V a la PC para almacenar en la base de datos

0

Me han dado un proyecto que une el mundo eléctrico / PLC y PC / software.

Tengo que tomar una fotovoltaica de 24 VCC y un codificador de 24 VCC (pulso de 1/4 "a 1/2" a 540FPM ~ 1 cada 2.3ms-4.6ms) y almacenar sus mediciones derivadas en una base de datos.

Esencialmente, estoy midiendo cuántos impulsos está bloqueada la fotocélula para obtener la longitud de la caja, y cuánto tiempo está desbloqueada para obtener espacios entre ellos. Almacenar la brecha en frente, la longitud del cuadro y la hora actual en una tabla / base de datos y repetir.

En cuanto al programa, sé que un PLC es la mejor solución, pero en cuanto al almacenamiento, necesito que este se almacene preferiblemente en una base de datos (CSV, MySQL) para que pueda ser fácilmente exportado a Excel y analizado para el rendimiento y similares.

Por lo tanto, estaba considerando el uso de una PC compacta basada en X86 que se comunica con algún tipo de microprocesador Arduino IO de 24VDC para recibir y procesar la IO, y luego enviarla a la PC y la PC se encargará de almacenar los datos, calcular los huecos y Longitud y manejo de HMI. El Arduino probablemente también tomaría información de la PC para controlar las salidas.

¿Es esta la mejor solución? ¿Hay PLC's de menor costo que puedan hacer este tipo de almacenamiento de datos mientras que los datos sean fáciles de extraer? ¿Será capaz un Arduino de captar con precisión las señales de 2 a 4 ms?

¡Gracias por la ayuda, chicos!

    
pregunta Chris K

2 respuestas

1

Para una aplicación industrial, me alejaría de Arduino o de cualquier solución de hobby board. No se endurecerá industrialmente, tendrá que resolver las interfaces de 24V a 5V, las fuentes de alimentación, el montaje, etc., y lo peor de todo, será el único capaz de mantenerlo.

El enfoque industrial estándar sería:

  • Use un PLC de ladrillo pequeño con capacidad de comunicaciones por Ethernet.
  • Haga que el programa mida la longitud de la caja y guarde el valor en una ubicación de memoria. Al mismo tiempo, incremente un contador en otra ubicación para indicar que se ha tomado una lectura.
  • Use un servidor OPC (Open Platform Communications) para conectarse desde su computadora al PLC. Usted configura la conexión del dispositivo OPC y las "etiquetas" (ubicaciones de memoria) que desea monitorear y OPC pone a disposición de su sistema operativo los datos de la etiqueta para que los lean los clientes OPC.
  • Agregue un registrador de datos OPC con una conexión a una base de datos SQL y podrá comenzar a registrar. Activar el registro de la longitud "en el cambio" del contador.

Figura1.Fuente: Automatización inductiva .

Los servidores OPC son similares a los controladores de impresora, ya que hacen que el hardware esté disponible para todas las aplicaciones en la computadora host.

La mayoría de los principales fabricantes, incluidos Siemens, Allen-Bradley, Mitsubishi, Automation Direct, etc., hacen PLC de ladrillo de bajo costo a menudo con LCD y cursor incorporados, teclas Enter y ESC.

Hay muchos vendedores de OPC. Los servidores OPC pueden estar disponibles a través del fabricante del PLC o de proveedores externos. Eche un vistazo al Encendido paquete de SCADA de Inductive Automation. Tiene un servidor OPC extremadamente poderoso, historiador de datos, clientes ilimitados basados en Java, etiquetas ilimitadas, administrador basado en navegador y una excelente serie completa de videos instructivos cortos en Inductive University . Hay una versión "ligera" de su producto que puede ser adecuada para usted. Puede descargar la versión completa o liviana para prueba con un tiempo de ejecución de dos horas.

Para la base de datos puede usar MySQL o MS SQL Express, ambos gratuitos.

Piense en dónde es probable que este desarrollo conduzca en los próximos años y elija una solución escalable.

    
respondido por el Transistor
0

Mientras leía la declaración del problema, la solución que se formó en mi cabeza fue exactamente lo que describiste. Debo tener en cuenta que probablemente estoy sesgado, porque no tengo experiencia en PLC. Este es un problema arduino / serial bastante sencillo. Sin duda, el Arduino puede manejar ese pulso: se ejecuta a más de 16 MHz y tiene operaciones de IO digital en el rango de 10,000-100,000 / segundo en mi experiencia. Puede escribir un script Python simple (o muchas alternativas) para ver el puerto USB para Arduino y luego actualizar una base de datos ( PostgreSQL, mySQL, etc) con los resultados que obtiene. Nota: querría hacer los cálculos simples en el Arduino, porque el límite en la conexión en serie será el cuello de botella para la comunicación (es decir, no desea reflejar la señal digital directamente a través del Arduino; desea cuente los pulsos y luego envíe el resultado).

    
respondido por el Will

Lea otras preguntas en las etiquetas