Autor Tema: Hagamos un PLC con PIC!!  (Leído 125878 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Hagamos un PLC con PIC!!
« Respuesta #15 en: 10 de Junio de 2003, 02:10:00 »
Hola a Todos, Volví

Me ausenté del foro porque tenía problemas academicos en la Universidad je je por andar pensando en cosas como estas, pero ahora que he salido a vacaciones ya me puedo dedicar a esto.

ya está disponible para bajar el microladder

http://www.microladder.com

lo vi y me pareció muy chevere, es mas o menos la idea que tengo para el soft de nuestro PLC basado en PIC.

alguien ha avanzado con el software? (para ponerme al día).

me despido

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Hagamos un PLC con PIC!!
« Respuesta #16 en: 11 de Junio de 2003, 06:27:00 »
Ya lo baje del Site, me parecio muy bueno.
Ese Soft esta hecho para trabajar con determinado hardware que ellos te venden y ademas usa las funcionalidades de bootloader del 16F877a.

En cuanto al soft, ya tengo permiso para subir lo que hice, estoy dandole retoques y terminando los circuitos, pues hice todo de memoria, ademas le voy a agregar otras funciones de seguridad que me aconsejo el autor del proyecto base.

Pronto lo subire.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado shaderobot

  • PIC10
  • *
  • Mensajes: 2
RE: Hagamos un PLC con PIC!!
« Respuesta #17 en: 14 de Junio de 2003, 23:15:00 »
 mi consulta es :

 el plc construido con un pic16F84, quisiera saber cual es el maximo voltaje para las entradas optoacopladas.


Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Hagamos un PLC con PIC!!
« Respuesta #18 en: 17 de Junio de 2003, 06:45:00 »
Una de las grandes ventajas de trabajar con entradas y salidas optoacopladas es la inmunidad al ruido electrico que ganas, seguramente es la mas importante ventaja, que debes tener en cuenta en todo circuito que pueda trabajar en el ambiente industrial.
La otra gran ventaja es la de poder trabajar con casi cualquier tension, por el hecho de que el circuito de entrada o salida esta aislado electricamente del circuito de control.
Esto te permite armar una entrada o una salida en 12 VDC o 220 VCA sin problemas, es mas pueden coexistir en diferentes placas del mismo proyecto entradas o salidas de diferentes tensiones, casi olvidandote de los problemas que podrian acarrear.
Eso si la seguridad corre por cuenta del diseñador....
En mi caso trato de utilizar las tensiones mas bajas posibles siempre que puedo.

Un abrazo.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado villar28

  • PIC10
  • *
  • Mensajes: 1
RE: Hagamos un PLC con PIC!!
« Respuesta #19 en: 27 de Junio de 2003, 14:19:00 »
hola pueden puplicar la paguina que aperecio el proyecto que quieren reforzar, quiero ayudaren el proyecto

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Hagamos un PLC con PIC!!
« Respuesta #20 en: 28 de Junio de 2003, 04:23:00 »
hola villar24, y hola a todos

no se si se refiera a la página de Juan manuel quien ya hizo un PLC con un Pic 16f84:
http://inicia.es/de/juanmarod/portada.htm

tambien puedes encontrar un programa a manera de ejemplo en:
http://www.microladder.com

puede tambien ver el softaware que se está diseñando en:
http://afrodita.unicauca.edu.co/~jpleon/hexapodo.jpg

bye.

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Hagamos un PLC con PIC!!
« Respuesta #21 en: 03 de Agosto de 2003, 14:54:00 »

hola,

auque las macros ayudan en gran medida a la programacion en ensablador, no es bueno abusar de ellas.

una macro no se complila hasta cuando no se llama desde el programa, pero si se llama dos, tres, cuatro o mas veces, cada llamada va a hacer que se incremente el tamaño del programa en la memoria del micro.
Ej: una macro que ocupe 10 pocisiones en memoria de programa, a no llamarla no se compila y oviamente no ocupa nada, al llamarla una vez ocupará 10 posiciones, al llamarla dos veces 20 posiciones, 3 veces -> 30 posiciones y asi sucesivamente.

es mejor trabajar con funciones se compilan solo una vez y se pueden diseñar para que se comporten diferente de acuerdo al valor de W o de algun registro temporal.

bye.
Hexápodo.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Hagamos un PLC con PIC!!
« Respuesta #22 en: 04 de Agosto de 2003, 09:20:00 »
Coincido plenamente contigo acerca de las macros, tienes toda la razon acerca del consumo infernal de memoria por cada llamado a la macro que utilizes.
Estuve pensando como hacer esto en otro lenguaje, para evitar el assembler, donde pasar un parametro por referencia es bastante complejo (en esto coincidiras conmigo), y lo que encuentro disponible es el Basic y el C.
Aunque no se como pasar los parametros por referencia en Basic, lo descarto pues no atiende las interrupciones hasta que no termina el comando que esta ejecutando en ese momento.
Con ese defecto no nos sirve para garantizar el minimo tiempo de scan y tener control sobre el mismo.
Si miras el C veo que podemos pasar parametros por referencia (es el campeon en ese sentido) y ademas creo que atiende correctamente las instrucciones.
Entre otros tambien es facil hacer matematica de punto flotante, tiene rutinas para atender teclados, etc.
La dificultad consiste en aprender el lenguaje y ademas en generar las rutinas correctas para cada funcion.

Si hasta alli voy bien necesito me confirmes..
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Hagamos un PLC con PIC!!
« Respuesta #23 en: 06 de Agosto de 2003, 01:00:00 »


hola,

si se busca otro lenguaje (c, basic, etc), tocaría adaptarse a él, y muchas veces el código que generan no es optimizado, es muy grande, lo ideal sería seguir trabajando en ensamblador.

Otra cosa: el proteus parece tener bugs en la simulación no anda bien ni el 74hc595, ni el 74ls165, se monta en protoboard y está perfecto.

bye.
Hexápodo.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Hagamos un PLC con PIC!!
« Respuesta #24 en: 06 de Agosto de 2003, 08:12:00 »
Me encanta ese comentario!!
Demuestra que le estas poniendo interes al tema.
Lo que descubri de Proteus es que no tiene los modelos de simulacion de ambos integrados, pero de todos modos para esquematizar el circuito esta OK.
Yo tambien lo arme y funciona, tengo el codigo hecho en assembler y funciona OK.

En cuanto a programar en assembler las funciones (ya no serian macros) con pasaje de parametros, dejame estudiarlo, ya que yo soy vago y tambien utilize macros donde el lenguaje me apreto, por ello hago aguas en este tema.

Recuerdo que quien quiera ayudar sera recibido con los brazos abiertos!!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Hagamos un PLC con PIC!!
« Respuesta #25 en: 06 de Agosto de 2003, 10:41:00 »
Hola.

- El 74LS165 (registro de desplazamiento paralelo-serie --> entradas) sí que funciona ¡OK! en PROTEUS
- El 74HC595 (registro de desplazamiento serie-paralelo --> salidas) no lo he visto por ningún sitio, sin embargo para simulación lo podeis cambiar por un 74LS164.IEC (registro de desplazamiento serie-paralelo --> salidas) que sí lo lleva el PROTEUS y funciona ¡OK!

Un saludo

Desconectado hexapodo

  • PIC10
  • *
  • Mensajes: 35
RE: Hagamos un PLC con PIC!!
« Respuesta #26 en: 07 de Agosto de 2003, 02:39:00 »
hola,

Aquí les dejo una comparación entre PBP y ensamblador.
Se los recomiendo, es un ejemplo que pueden montar.

PD: gracias Pocher por responder, pero a mi no me funciona la simulación ni con el 165 ni con el 164.

chao

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Hagamos un PLC con PIC!!
« Respuesta #27 en: 07 de Agosto de 2003, 10:05:00 »
Voy a simular tu código, a ver si podemos dar una solución a la simulación

Un saludo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Hagamos un PLC con PIC!!
« Respuesta #28 en: 07 de Agosto de 2003, 13:17:00 »
Diste en el clavo del tema que quise explicar cuando publique ese codigo.
El PBP trabaja en background con macros.
Si miras en el directorio donde compilaste el programa veras un archivo del mismo nombre con extension .mac, entre otros.
Cada comando aumenta en forma increible el tamaño del codigo, es mas cuando repites muchas veces la misma instruccion (la peor es LCDOUT) se agranda en forma desproporcionada el tamaño del .hex resultante.
Imaginate que aun en ensamblador tu archivo tiene pocas lineas, cuando agrandas el programa se porta peor.

Pero si un Team de programadores uso ese esquema en assembler, porque lo hicieron asi??, no saben ellos programar funciones con pasada de parametros??
A mi entender son bastante genios y duchos en assembler, me parece fantastico que podamos disfrutar de una herramienta de ese tipo, pero por que no lo hicieron de otra forma??

No saben o no pueden??

La comparacion de tamaño de codigo yo la hice en su momento en Assembler, Basic y C.
Optimize aun mas en assembler al usar el Carry para rotar bits en las tramas de cada byte recibido.
Creo que me dio unos 57 KB el assembler, unos 64 a 65 KB el C y unos 128 KB el B, que es el mismo que enviaste.

Como seguimos??
Yo no encuentro la forma de pasar parametros y ademas como cubro la forma de llamar a la funcion sin el CALL??

MGLSOFT
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Hagamos un PLC con PIC!!
« Respuesta #29 en: 07 de Agosto de 2003, 13:57:00 »
¡¡¡ Ya tengo la simulación!!!   ¡¡¡ Por fin !!!

 En el esquema original he cambiado el 74HC595 que no lo lleva el PROTEUS por el 74LS164.IEC que sí lo lleva.

He hecho el programa en C, en ensamblador me podía dar un ataque, ni se me ha ocurrido.

Me ha costado varias horas de faena, pero por fin ha salido.

También lo voy a dejar en el apartado de ejemplos para simular, por si a alguien le interesa la forma de ampliar entradas y salidas en un PIC utilizando registros de desplazamiento.

Un saludo