Nuevamente el tema de fabricar un PLC

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
  • 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 AWL hice una trampa; sencillamente hice unas macros en el ensamblador que traducen directamente las líneas AWL a ensamblador, y eso genera el ejecutable. Se trasmite y listo.
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:
Scooter:

Me parece que este tema nunca ha tenido la finalidad de crear un producto para comercializarlo. Y si alguien lo de$ea, por supuesto que "puede", pero debe saber cómo venderlo y es un tema aparte.

Simplemente estamos aburridos de depender de grandes marcas para poder operar un PLC.
De hecho, yo no me compraría uno ---> lo construiría yo mismo.
Por eso estoy interesado, al igual que muchos, en llevar a cabo una implementación de un PLC. Me da igual comenzar con lo básico, pues se supone que alguien alguna vez creo un PLC desde cero ;)

Yo sigo con la propuesta de tratante y espero reunir los materiales en el corto plazo.

Como sugerencia, creo que conviene implementar un PLC hecho con un PIC de 16 bits con montaje pasante (DIP), tal como el del tema que sugirió Fogonazo:
https://www.forosdeelectronica.com/f12/nuevamente-tema-fabricar-plc-43953/#post367192
http://inicia.es/de/juanmarod/main.htm#plc

¡ Ánimo ! :)


PD: dejo un manual (claro que está en inglés, pero simple de entender) de un PLC marca Delta.
Explica el lenguaje en escalera, los elementos básicos (contactos NA y NC, Temporizadores, Contadores) y hay hartos ejemplos. Aparecen detalladas las instrucciones y con ejemplos.
http://www.mediafire.com/file/cnl4c9589jr3u8c/PLC-Application-Manual_en.pdf
Sólo disculpen el idioma y haber mencionado marca, pero me pareció bien didáctico.
 
Última edición:
Hola a todos

Tu opinion es muy respetable Fernandob, siempre es bueno ver el lado optmista asi como el pesimista. Estoy de acuerdo con algunos puntos de vista que expresas, pero, seguramente si nos vamos a poner asi pues mejor sentarse a ver la TV, la esperanza muere al ultimo.

Scooter y metalmetropolis gracias por sus comentarios; les comento que algo en lo que estoy de acuerdo con fernandob es en el hecho que mucho de este trabajo esta del lado del software, no estoy seguro en que porcentaje pero me quedo con el 80%.

Otro comentario de fernandob esta en el sentido que debemos aportar algo cada vez que emitamos un mensaje; hay mucho que avanzar, Scooter ya menciono las especificaciones de algo que puede ser apropiado. Avancen algo antes de comentar para no saturar el hilo.

El formato del foro no es el mas apropiado para seguir un proyecto pero bueno, es lo que tenemos.

No se adelanten al tema de como y que se va hacer con esto, comercializarlo puede ser bueno; quien construya y programe un PLC tiene derecho a cobrar por su trabajo, simple.

He instalado para varios clientes versiones de Linux que es free (en teoria) pero les juro que mi trabajo siempre lo cobre !

Saludos a todos

PD. Leyendo manual de scooter.
 
Última edición:
Creo que se debería de abrir otro hilo, (otro mas) en el que solo se escriba para aportar algo al proyecto y las discusiones de viabilidad, dudas que yo también comparto, dejarlas en este o en el otro. De otro modo tendremos un galimatías.
Como me parece que tres hilos son demasiados lo dejo a consideración de los moderadores, pero me parece la única forma de avanzar.
 
NO la forma de avanzar es APORTANDO y de ahi seguir creciendo .

yo cuando diseñaba hasta un simple timer (que de verdad cumpliese) me tenia que sentar horas a soldar y probar.
cuando hacia algo con PIC me tenia que sentar...dias afrente a la PC .

me acuerdo de ezevalla con su vumetro con peak .......entro y aporto.


leo infinidad de temas que se abren diciendo "por que no hacemos" ...........saben cuanta calle tengo ??
mas de la que quiero , mucha mas.
y eso es :
"que otros hagan, yo puse la idea".


quieren hacer un PLC .
pues adelante, es cosa extensa.
enfrasquense un mes en su taller y inicien un tema CON ALGO HECHO y luego quien quiera les ayuda a seguir.

sino.........mas de lo mismo visto aca infinidad de meses.(n).......(n).....(n)

y no vengan con la piojada de llamar "mi aporte " a poner enlaces de otras webs .

hace rato que veo esta onda en el foro .
 
Bueno, es un punto de vista.
Pienso que se podría crear un grupo de interesados y repartir el trabajo. Siempre es interesante contrastar ideas o por ejemplo disponibilidad de materiales; quizás mi proyecto sea fantástico pero si luego el interesado no encuentra el material o es muy caro le servirá de poco.
Por si a alguien le resultan interesantes alguno de los proyectos que hice los subo, claro que hay poca diferencia con enlazar a una web.
PLC1993
PLC2005
 
Última edición:
lo estuve mirando.......pedazo de proyecto .
cuanto estuviste con uno de ellos ??





Por si a alguien le resultan interesantes alguno de los proyectos que hice los subo, claro que hay poca diferencia con enlazar a una web.

tremenda la diferencia si entiendes lo que digo:
una cosa es que yo ponga un enlace a algo que es mio, que hice yo.
y otra es que ponga como aporte un simple enlace de una pagina que no es mia y que dedique solo 3 minutos de ocio en buscar algo solo para ponerlo.
como dices: fue un año de trabajo.
esa es al diferencia .
1 año de trabajo tuyo que compartes
o 3 minutos de ocio que pones.;)
 
Última edición:
Ambos son proyectos académicos de final de carrera, el primero como ingeniero técnico industrial y el segundo como ingeniero industrial. En ambos estuve entorno a un año.

Los archivos del primero están en orCAD de MSDOS, los del segundo en protel 94 si no recuerdo mal.

Ahora que lo recuerdo, del segundo habían unos vídeos, voy a ver si los encuentro.

...ya los he encontrado:

Lo primero es la placa de señales digitales, luego la de analógicas, luego cpu+rtc y por fin la de fuentes. La que se ve es con dos fuentes comerciales pero hay otra intercambiable con dos 78xx

Se ve un programa sencillo con un biestble RS y luego un temporizador

Ahora que me acuerdo también enlazaba con matlab y simulink, aunque creo que de eso no hice vídeo.

Las tarjetas que se ven fuera son para poner los interruptores la que hace de entrada y la de salida, además lleva unos transistores porque los optoacopladores dan muy poca corriente y no cabían dentro de la caja.
 
Última edición:
Scooter

Con que paquete y version se pueden abrir los esquemas y PCB que se incluyen en el CD?

Lo que se aprecia es un trabajo elaborado, quedo todo en labor academica?

Saludos
 
Fue solo académico, no lo he comercializado. En realidad tiene mucho trabajo pero dista mucho de algo comercial, lo digo porque si que he hecho cosas comerciales.
Los esquemas y circuitos están hechos con protel 94 pero el 99 lo abría sin problemas si no recuerdo mal.
De todos modos para mirarlos por encima están en la memoria a partir de la página 180, con un lector de pdf es suficiente.
Todos los circuitos están a simple cara sin ningún puente, llevó su tiempo.
La caja para carril din la venden en farnell, hay varias medidas.

El sistema se puede manejar desde un simple terminal mandando comandos o incluso pidiendo ayuda. Si se usa desde la aplicación específica pasa a un modo silencioso en el que los mensajes se acortan para hacer la comunicación mas eficiente, aunque es menos inteligible.
Para programar la flash sencillamente se le mandan líneas en formato .hex de intel
Los botones de restet y prog solo se usarían para reflashear el firmware o sacar al equipo de un cuelgue (un cuelgue gordo porque lleva watchdog) por lo que en un sistema definitivo estarían ocultos.
 
Última edición:
es un pedazo de trabajo ese, estuve ojeando asi por lo alto, muchas cosas estan fuera de mi nivel.
pero el trabajo que estas compartiendo y has realizado es un gran trabajo y muy interesante.

me da la impresion que cualquiera que quiera hacer algo similar y eso que tu lo has realizado HASTA EL FINAL , si hasta lo montaste en el gabinete din.
como decia: cualquiera que quiera hacer algo similar tiene en esos apuntes tema para leer y aprender durante unas cuantas semanas....o meses.
tu mismo pones que fue trabajo de un año , (eso si no contamos con los años que necesitaste estudiar antes para estar a ese nivel) .

viendo tus proyectos ahora me parecen aun mas respetables los valores de los PLC comerciales , ya que veo un poco mas todo el trabajo que requieren.

un saludo


scooter: en la respuesta 27 te agregue algo por que quizas no me comprendiste .
saludos
 
Última edición:
Matizo: Durante esos años estaba trabajando, nunca estuve a jornada completa haciendo los proyectos.
A lo que me refería es que la información será igual de buena o mala por ella misma; si es mía o de otro.
Lo que está claro es que el mérito será del que lo escribe, del que lo enlaza es un mérito relativo.

Retomando el tema si alguien piensa en hacer un logo opensource y mi opinión le parece válida, que cuente con ella.

Mi asignatura pendiente (una de ellas) es programar pics; creo que programaría lo que fuera menos un pic. Pero el hardware me gusta bastante.
 
He programado casi cualquier cosa de 8 bits; 6502, 6809, z80, 8085, 8052, hc11, y pics. También programé el 68008.
No tengo ningún problema de cambiar de uno a otro excepto con los pics. Empezando porque A se llama W... todo está cambiado de orden y tiene una lógica diferente al resto del mundo, además las series antiguas era un galimatías de cambio constante de bancos.
Supongo que en C da igual, pero el C y el c++ es otra de mis asignaturas pendientes. En lenguajes de alto nivel solo he trasteado en java y en basic que si que me defiendo.
A unos compañeros de un curso de microcontroladores les pasaba lo mismo pero al revés; como ellos programaban pics no eran capaces de programar otra cosa.
 
Pienso que si hay muchos productos electronicos por desarrollar lo importante es saber que, si van a desarrollar algo comercial al nivel de un PLC de 100, 200 o 300 dolares mejor comprenlo y apliquenlo. Pienso que si van a hacer un PLC que este sea robusto, facil de programar y que sea competitivo en precio que pueda hacer las tareas de un PLC de 3000 o 4000.

A las miles de pymes lo que les importa de un producto o servicio que comprar es que la empresa sea confiable, el producto sea bueno y el respaldo técnico sea permanente,,, el resto si es PLC puro,, PC_PLC, desarrollo propio esta en segundo plano.

Otra sugerencia no traten de incluir todas las capacidades de un PLC comercial solo lo más importante.

Si hay cosas por hacer, tecnología hecha en nuestros paises, imaginense que hay un modelo de maquina por cientos y estan paradas porque no hay mucho soporte tecnico calificado y la repotenciacion es demasiado cara usando equipos importados,, entonces un desarrollo propio es valido no creen.

Como dije el tema es saber que desarrollar.

saludos

No crean que un ingeniero que desarrolla productos tecnologicos en nuestros paises sea menos que un ingeniero que trabaja en una buena empresa. Si el producto o productos son buenos y estan bien ubicados en el mercado el ingeniero que lo desarrolló ganará mucho mas que un ingeniero que trabaja en una buena empresa.

Por algo nos enseñan tanta electronica y teoría de control no creen.

Ojo si hacen un producto complejo y de bastante programacion y hardware, entonces la persona debe estar capacitada, tener buenos conocimientos, no basta con las ganas.

saludos.
 
Última edición:
Totalmente off topic, pero para Scooter: prueba a programar en ensamblador un AVR y verás alguna diferencia. Je, je. De ahí a los 'micros grandes' (ARM, dsPIC, etc) hay sólo un paso.

Como aporte, la entrada que hice para mi sistema, optoacoplada. Los optos son PC357 SMD, las resistencias arrays en SMD de 1206 (4 x 0603).
 

Adjuntos

  • OptoIO.JPG
    OptoIO.JPG
    57 KB · Visitas: 102
Hola a todos

Scooter, programar PICs es mas sencillo que todos los micros que has usado antes, adelante.

Beamspot: Anotado el jpg.
Renato: De acuerdo, solo se debe implementar lo mas basico pero si, esto debe estar completo (Hardware PLC, Software PC, Manuales, Soporte).

Alguien podria realizar un documento en donde se establezcan las especificaciones del posible hardware?

Ya tengo sobre un 20% el modelo del software base, si alguien desea ayudar y sabe programa VB.Net orientado a objetos o sabe modelar avise.

Saludos
 
¿Que pinta VB en el automata?

Yo empezaría por:
Placa alimentada a 24V cc (así de momento obviamos el tema de los 110 ó 220V)
Entradas mas o menos como indicó beamspot
Salidas por relé, que pueden estar gobernados por un ULN2003
Micro forzosamente IAP
 
Scooter

El hardware es solo una parte, el software para realizar la escritura del diagrama de escalera, simularlo y ser el software para escribir las secuencias boleanas al PLC es otra gran parte. Ahi es donde pinta. El algoritmo de simulación en .Net será practicamente el mismo que para el micro (OJO dije algoritmo).

Que es un micro IAP?

Saludos
 
Tratante

Scooter
... . . Que es un micro IAP? . . ...
Saludos

Yo tampoco lo sabia y lo Google: IAP = "In Application Programming", apenas encontre un par de documentos con los que comprendi cual era la idea, si gustan se los envio por MP ya que solo pesan 1.5MB. Volviendo a tu pedido del post #37

... . . Alguien podria realizar un documento en donde se establezcan las especificaciones del posible hardware . . ...

Me ofrezco a comenzar mi colaboración con la parte documental sin dejar de lado el que pueda aportar algo.

Scooter: CLAP, CLAP, CLAP......

Saludos, JuanKa.-
 
Última edición:
Atrás
Arriba