Por primera vez sobre un controlador lógico programable con el nombre de CONTROLLINO, aprendí en 2014 en una correspondencia aleatoria con una persona que seleccionó un PLC para la automatización del hogar. Le recomendé algunos modelos clásicos y, en respuesta, dijo que
vieron en kickstarter un proyecto interesante llamado CONTROLLINIO. Este es un PLC industrial que se programa de la misma manera que el Arduino en su IDE nativo.
Ese tipo trabajó como programador de php y C ++ no fue un problema para él. Tenía dinero e ideas, pero no deseaba estudiar LAD o Codesys. Como resultado, canceló la suscripción de que había pedido por adelantado CONTROLLINO y ya no lo contactó.
No sé qué y cómo resultó al final, pero después de 3 años tuve que trabajar con este dispositivo.

Mientras crujía con un bolígrafo, me di cuenta de que habría mucho material. Por lo tanto, dividiré la historia sobre CONTROLLINO en dos partes: la primera será sobre hierro, la segunda sobre programación.
Actualmente, se producen 4 modelos CONTROLLINO: MINI, MAXI, MAXI-AUTOMATION y MEGA. Trabajé con MAXI.
Características breves de CONTROLLINO MAXI:
- Microprocesador ATmega2560
- 12 entradas digitales / analógicas universales
- 12 salidas de transistor, pueden funcionar en modo PWM
- 10 salidas de relé, ~ 250V / 6A
- RTC no volátil
- Ethernet
- RS-485
- SPI, I2C, 2xRS-232 TTL
- Fuente de alimentación 12 o 24V DC
- Dimensiones 72x90x62mm
- Recinto del carril DIN
- Software compatible con Arduino MEGA 2560
CONTROLLINO y ARDUINO
En primer lugar, debe decirse que CONTROLLINO no es un Arduino en un caso con terminales en lugar de pines, como algunos podrían pensar.
CONTROLLINO es un controlador lógico programable, PLC. Es decir, un producto terminado utilizado en automatización, con protección adecuada de entradas y salidas. El diseño de CONTROLLINO con Arduino como tal (es decir, con una placa de depuración basada en el chip atmega) solo está relacionado con el microprocesador utilizado.
Si desarmamos CONTROLLINO (y lo analizaremos), entonces dentro no encontraremos el arduino soldado a los escudos chinos, o, peor aún, solo el arduino con cables trenzados a los terminales.
La compatibilidad se proporciona a nivel de software. CONTROLLINO MAXI se puede programar desde Arduino IDE como una placa Arduino MEGA 2560. Y el mismo procesador, el ATmega2560, está allí y allí.
Muchos aquí objetan con razón que los estándares de PLC son ciertamente buenos, pero este PLC es como un PLC, y desde arduins y escudos puede ensamblar un sistema para sus necesidades mucho más barato. No discutiré, lo hice yo mismo y todo funcionó. Se parecía a la foto prototipo del héroe del artículo en la
página kickstarter.

Por otro lado, conozco a muchos de los que iluminaron las capacidades de la plataforma Arduino, las compraron, parpadearon los LED y ... la lanzaron sobre ella. Habiendo dominado los conceptos básicos de la programación, de repente se dieron cuenta de que necesitaban un orden de magnitud más tiempo para lidiar con la electrónica, recordar todo y ensamblar el producto terminado. De repente resulta que su tiempo realmente vale la pena y no quiere gastarlo sin perspectivas visibles.
Dima, hola!Un compañero de clase que vive en otra región ha abierto una startup maravillosa. Armado con desarrollos de vanguardia de Internet, se mudó de la ciudad y construyó una luz de luna con alta productividad. Y todo está bien, el producto resultó ser excelente (por sus palabras, entiendo poco sobre esto). Pero el proceso tecnológico duró 48 horas, tiempo durante el cual es necesario encender algo, apagarlo, desenroscarlo, retorcerlo, etc. Dormir en ataques y comienza durante dos o tres horas.
Naturalmente, surgió la idea de automatizar la producción. Me pidió consejo, le conté sobre el PLC y todo eso. Y después de un rato me recoge y dice que compró algo maravilloso, se llama Arduino. Ya parpadearon los LED, en Arduino, el lenguaje C, y no lo ha olvidado desde el momento en que estudiamos informática. Lo único que queda es comprar escudos, soldar algo usted mismo y luego llevar la producción a un nuevo nivel.
Pero pasó un año, dos, un poco más, y luego los LED no fueron más allá. Aunque, un nuevo pasatiempo, la apicultura, puede interferir.
En mi opinión, CONTROLLINO será de interés para aquellos trabajadores arduino que no pueden o no quieren hacer PLC para la automatización del hogar por su cuenta, y en cambio están listos para comprar un producto terminado. Además, CONTROLLINO tiene todo para usar en un 'hogar inteligente': 34 puntos de E / S, varias interfaces de comunicación y la capacidad de administrar todo esto desde Internet.
Al final, CONTROLLINO es simplemente hermoso.
Construcción


Retirar la tapa.

Dentro de la caja hay 3 tableros. Sacamos la parte superior.

Vemos el buen chip W5100, que proporciona Ethernet.
También hay un microprocesador atmega16. No es que me sorprenda. PLC con varios microprocesadores que ya he observado, por ejemplo, en los modelos de la empresa Aries. ¿Pero qué hace este procesador aquí? Todo resultó ser simple: es responsable de la descarga a través de USB. Al igual que en la placa original italiana Arduino MEGA 2560.

Usted, como yo, probablemente tenga un clon chino, y en él, el convertidor usb / rs232 habitual está en el arranque.
Las tablas media e inferior del CONTROLLINO MAXI están soldadas juntas, por desgracia.

Los relés HF41F en ~ 250V / 6A son visibles en la placa inferior 'relé'. Podemos ver el tablero promedio solo en un lado.

Vemos el microprocesador ATmega2560 y la unión de entradas y salidas.
Para encontrar la correspondencia de las entradas y salidas de CONTROLLINO a los pines de la placa Arduino MEGA 2560, el desarrollador dibujó un diagrama grande.

Los nombres de los terminales del PLC son amarillos y los nombres de los pines Arduino Mega 2560 son azules. Por ejemplo, el relé R0 en el PLC corresponde al pin 22 de Arduino Mega 2560.

Para cerrar el relé R0, en el boceto debe escribir las siguientes instrucciones:
void setup() { pinMode(22, OUTPUT); } void loop() { digitalWrite(22, HIGH); }
Pero este es el tema del próximo artículo.
Entradas universales
12 entradas, cada una en el programa puede considerarse como analógica o discreta. Dos de ellos, IN0 e IN1, pueden usarse como entradas de interrupción.

Las entradas analógicas son voltios, su rango depende de la tensión de alimentación del PLC. Si el PLC está alimentado por 12V, entonces las señales analógicas tienen un rango de 0 ... 13.2V. Si el PLC está alimentado por 24V, entonces el rango de señales analógicas es 0 ... 26.4V. ADC 10 bit.
Salidas de transistor
12 salidas de transistor discretas, cada una se puede usar como PWM.
Salidas de relé
Relé HF41F a ~ 250V / 6A. 6 amperios de alguna manera no es suficiente. Asumiré que tales relés se seleccionan porque son estrechos y se pueden colocar más en un área pequeña.
Reloj de tiempo real no volátilComo reloj de tiempo real (RTC), el chip DS1307, que funciona en el bus I2C, no se usa aquí. Aquí, el chip RV-2123-C2-TA-QC-020 con la interfaz SPI funciona durante horas.
En general, de los tres circuitos 'adicionales' (Ethernet, RS-485 y RTC) en CONTROLLINO, dos operan en el bus SPI y ninguno en I2C. Este conveniente bus "cuadrado" es completamente gratuito para conectar dispositivos de usuario, como mi
panel de operador casero con un bus I2C .
Mire el diagrama de cableado del RTC y preste atención a los guiones en los campos azules.

Los guiones significan que las patas del microprocesador ATmega2560 que no se envían a los pines Arduino MEGA 2560 están conectadas a los contactos correspondientes de este y otros microcircuitos "adicionales". No puede controlar estas patas desde el IDE Arduino con el comando digitalWrite () estándar, pero solo con acceso directo a los puertos . Tal solución esquemática tiene sus propias ventajas y desventajas durante la programación (que es más la cuestión), sobre lo que escribiré en la siguiente parte.
RS-485Ningún PLC moderno puede funcionar sin un puerto RS-485 y CONTROLLINO no es una excepción. Para esto, se instala el chip SN65HVD08.

RS-485 puede funcionar en modo maestro y esclavo.
EthernetFinalmente un chip familiar! El chip W5100 ya se ha convertido en sinónimo del concepto de "conectar un arduino a Internet". Es el W5100 el que proporciona la interfaz Ethernet en CONTROLLINO.

El hecho de que no 4 patas Arduino estén conectadas al contacto SCS, como es habitual en los diagramas de cableado estándar, sino otro 'tablero', no complica la programación: todos los ejemplos funcionan sin problemas.
Mientras experimentaba con Ethernet, implementé un servidor web en CONTROLLINO y administré este PLC a través de un teléfono inteligente usando la aplicación Blynk para Android.
Conectores X1 y X2Algunas señales del microcontrolador se emiten no solo a los terminales en forma de entradas y salidas con el correspondiente fleje, sino también directamente a dos conectores de 26 pines X1 y X2 a través de resistencias protectoras.


Algunas señales de microprocesador se envían a los terminales y conectores, algunas están disponibles solo en los terminales y otras solo en los conectores. Por ejemplo, las interfaces SPI e I2C solo se envían al conector, las señales de salida de relé R0 ... R9 están disponibles solo en los terminales y las entradas analógicas A0 ... IN1 están disponibles tanto en los conectores como en los terminales.
Por supuesto, la misma señal en el terminal y el conector se conecta y se usa de diferentes maneras. Por ejemplo, las entradas universales A0 ... IN1 pueden programarse como
salidas en el programa y usarse como tales a través del conector, pero no podrán trabajar con las salidas a través del terminal;
Los conectores X1 y X2 hacen que el uso de PLC sea más flexible, lo que le permite conectar los módulos que se usan para usar arduino en sus manualidades. Digamos, sensores DTH22 o chips de bus cuadrados.
Entonces
hice un panel de operador que funciona en I2C y se conecta a CONTROLLINO a través del conector X1.

Eso es todo sobre el hierro. En la siguiente parte, hablaré sobre las características de programación del CONTROLLINO PLC, cómo controlarlo a través de Internet desde un teléfono inteligente desde cualquier parte del mundo, cómo funciona CONTROLLINO en ModbusRTU y mucho más.
Referencias→
Sitio oficial CONTROLLINO
→
Página sobre kickstarter
→ proyecto de
Facebook→
RV-2123 SPI RTC
→
SN65HVD08 RS-485
→ relé
HF41F