Hola a todos:
Primero que nada quiero felicitarlos por el proyecto que estan desarrollando. Mi nombre es Claudio J. Pérez, tengo 28 años y soy estudiante de Ing. Informática. Vivo en Jujuy, Argentina.
El tema es que desde hace 6 meses que también estoy desarrollando un PLC basado en PIC, que denominé proyecto Argentum. Este será un producto comercial, pero de muy bajo costo.
Dentro de una semana, mas o menos, voy a subir una pagina web con informacion mas detallada sobre el mismo.
Para que se hagan una idea les comento lo mas importante, el objetivo es armar algo parecido a los controladores programables (o a veces llamados relays inteligentes):
-Zelio de Schneider-Electric.
-Zen de Omron.
-Picocontrollers de Allen-Bradley.
-Logo! de Siemens.
Ya que quiero que Argentum se pueda usar como herramienta educativa para aprender a programar PLCs industriales, debe cumplir ciertas características:
-Debe ser muy barato, accesible para cualquier estudiante.
-En lo posible debe ser compatible con el estandar IEC-1131, es decir programable en ladder, bloques de funciones lógicas y lista de instrucciones.
-Debe tener un puerto RS-485 para conocer los buses de campo.
-Debe soportar monitorización de parametros desde el editor.
-Debe disponer de una .OCX que permita comunicarse con el PLC desde cualquier lenguaje (Visual Basic, Visual C, Delphi) para realizar la monitorización desde nuestros propios programas. Similar a los sistema SCADA.
Argentum es similar al proyecto de este foro, pero con algunas diferencias:
En vez de usar un bootloader programé un intérprete. El programa del PLC se almacena en una memoria I2C externa (de esta forma no limito el tamaño del programa), aunque hace que el ciclo de scan sea mas lento ya que antes de ejecutar una instrucción se debe leer serialmente de la memoria. Sin embargo para la mayoría de los automatismos domésticos no se necesita mayor velocidad.
Para desarrollar el prototipo estoy usando un 16F873 y una memoria serial I2C 24LC64, que es la que tenía a mano. Pero para el producto final voy a usar un 16C73A, que es mas barato que la version flash.
El PLC tiene un Reloj de Tiempo Real que ya funciona.
El esquema de Entradas y Salidas es similar al elegido por Uds, pero con integrados CMOS de bajo consumo. También tiene un puerto RS232 para conectarse con la PC y modificar el programa.
Planeo hacer varios modelos con distintas cantidades de E/S y combinaciones de periféricos.
Actualmente el PLC se programa usando lista de instrucciones. Por ejemplo si quiero encender la salida Q1 cuando se active la entrada I1 o la I2 (Q1=I1 or I2) seria:
LD I1
OR I2
STA Q1
Estoy trabajando en el editor Ladder (ya tengo una versión beta que estará en el sitio en la sección download), justo ahora estoy en una rutina para que recorra el grafico del circuito y convierta todo en Lista de Instrucciones para poder enviarlas al PLC.
Cuando tenga el sitio on-line les envío la direccion, antes quiero terminar un pequeño tutorial del editor ladder, ya que la version beta no tiene, por el momento, archivo de ayuda

Estaré en contacto.