Scooter
Cascarrabias crónico
Esto es un tema que siempre me ha interesado, aunque tengo serias dudas de que tenga un uso comercial.
He hecho dos aproximaciones en sendos proyectos académicos.
La de 1993
La de 2003
Esto si que es un PLC, mas o menos.
Para programar en C con SDCC, con la ayuda del creador, modifiqué algo los archivos de cabecera para poder entrar y salir de mi aplicación que mi sistema operativo mantuviese el control del sistema.
Con este sistema se podría en teoría tener un hard universal que se programe de un modo mas sencillo que un microcontrolador por personal menos cualificado, además lleva un "mini scada" de serie.
Pienso que si que se podría desarrollar algo parecido al segundo caso que sea totalmente opensource, seguramente menos ambicioso, y que sirva para automatizar cosas pequeñas.
Los requisitos creo que serían:
He hecho dos aproximaciones en sendos proyectos académicos.
La de 1993
- Placa interna de un PC en un slot ISA con un 8255 y unas placas hijas en sandwich con optoacopladores y transistores para poner como entradas o salidas.
- El programa estaba escrito en QBASIC y permitía los tres tipos de programación que hacía siemens; AWL, KOP y FUP. Eran unos cuantos menús para gestionar la programación y para ver un simulador sencillo etc
- AWL se hacía en un edito de textos que luego se "compilaba" por el programa en QBASIC y generaba un código ejecutable en QBASIC al cual se saltaba
- KOP y FUP; el esquema se dibujaba en orCAD con unas librerías específicas, luego se generaba el netlist que era compilado por el programa en QBASIC que generaba un ejecutable también en QBASIC
La de 2003
Esto si que es un PLC, mas o menos.
- Circuito completo montado en una caja de plástico que va sobre carril din
- Lleva cuatro circuitos; fuente, cpu, I/O digital y I/O analógica
- Placa CPU AT89c51ED2; 64kB flash, 2kB eeprom, 1,5 kB ram. Comunicación serie RS232 y circuito RTC
- Placa de fuentes, con una de 5V y otra de 24V
- Placa de I/O digital con 20 líneas optoacopladas y configurables una una como entrada o salida. Admiten entradas de señales alternas o contínuas indistintamente de 24V
- Placa I/O analógica, con 8 entradas de 10bits y 2 salidas de 10 bits en ambos casos 0~5V ó 0~24V configurable por jumpers. También hice otra placa en la que el DAC eran 4x8bits
- Bus de ampliación SPI libre
- En el PC hay un programa escrito en visual basic que permite programar el PLC y supervisar todas la entradas y salidas en funcionamiento, poner en hora el RTC etc...
- El PLC es IAP; permite ser reprogramado mientras está funcionando, para ello, admite hasta ocho programas y puede recibir uno mientras ejecuta otro
- Se puede programar en AWL, y en cualquier cosa que genere ejecutable de 8052, directamente en ensamblador o en SDCC por ejemplo
- Sistema de reset selectivo; si es por la alimentación arranca ejecutando la aplicación de usuario, si se pulsa el botón de reset, se queda en el sistema operativo. Ideal si estás depurando tu aplicación
- Firmware actualizable por el puerto serie, nada de sacar el micro y ponerlo en una programadora
Para programar en C con SDCC, con la ayuda del creador, modifiqué algo los archivos de cabecera para poder entrar y salir de mi aplicación que mi sistema operativo mantuviese el control del sistema.
Con este sistema se podría en teoría tener un hard universal que se programe de un modo mas sencillo que un microcontrolador por personal menos cualificado, además lleva un "mini scada" de serie.
Pienso que si que se podría desarrollar algo parecido al segundo caso que sea totalmente opensource, seguramente menos ambicioso, y que sirva para automatizar cosas pequeñas.
Los requisitos creo que serían:
- Caja estándar de carril DIN
- Tensiones industriales; 110 ó 230VAC ó 24V
- Fácil de construir; un PCB o a lo sumo dos
- Conexión USB, o al menos RS232
- Reconfigurable, que el pcb permita varias configuraciones según lo que sueldes; por ejemplo salida con triac, relé o transistor
- Reprogramable sin programador, a lo sumo un cable casi estandard con alguna particularidad
- Firmware actualizable (aquí si que se admitiría un programador de pics)
- Y esto es contradictorio; componentes comunes, lo que suele llevar a mas volúmen. (yo usé unos optoacopladores bastante particulares para conseguir reducir el tamaño)
Última edición: