Autor Tema: Interfaz Delphi < ---- > dispositivos Electronicos  (Leído 13338 veces)

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

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Interfaz Delphi < ---- > dispositivos Electronicos
« en: 17 de Julio de 2006, 15:31:29 »
Bien, mi nombre es Ivan y desde hace algun tiempo migre de visual C++ a Delphi por su rapidez en cuanto al desarrollo de software.

El área que mas me interesa es el enlace de Delphi con cualquier tipo de sistemas electronicos (la primera vez conecte la plancha a mi computadora), y quisiera que este hilo nos sirva para dar soluciones concretas al problema de enlace desde delphi a cualquier puerto.

bien para empezar iniciare con el puerto paralelo (el mas facil) para que de una vez empiecen a trabajar.

Sabemos que en las versiones de windows actuales no se permite acceder a los puertos tan facilmente,
Esto se debe de hacer en el mejor de los casos mediante una DLL que nos de acceso.

Para nuestra fortuna existe una libreria llamada inpout32.dll que hace todo el trabajo, que la pueden encontrar en muchos sitios de internet o pedirmela en mi correo.

Para cargar esta libreria hay que construir una nueva UNIT y declarar las funciones necesarias de la siguiente manera:

unit CargarLibreria;

interface
  procedure Out32(PortAddress: Word; Data: Byte); stdcall;
  function    Inp32(PortAddress: Word): Byte; stdcall;

implementation
  procedure Out32(PortAddress: Word; Data: Byte); external 'inpout32.dll';
  function Inp32(PortAddress: Word): Byte; external 'inpout32.dll';

end.

y ya con esto podemos llamar a las funciones   

                   Out32(Puerto, Dato)

                   Inp32(Puerto)

desde cualquier  porcion de codigo no sin antes anexar nuestra unidad en la clausula USES.


Para enviar el numero del puerto es   888 ó $378 (Hexadecimal)

Ejemplo:    Enviar un cero al puerto paralelo indispensable para inicializar el puerto y al cerrarlo.
////////////////////////////////////

                 Out32(888, $00);

/////////////////////////////////////

Para recibir o leer el dato  el puerto es   889 ó $379 (Hexadecimal)

Ejemplo:    Recibir un dato del puerto paralelo.
//////////////////////////////////////////

Declarar un dato tipo
 
            Dato: Byte;

y capturamos

            Dato := Inp32(889);
//////////////////////////////////////////

Eso es todo por el momento, la proxima ocasión les dire como estan organizados los bytes que recibimos de entrada y de salida, es decir la organizacion fisica del byte.

Al finalizar con el puerto paralelo seguiremos con el puerto serial.

Hasta pronto. Agradeceria que me dieran sus criticas.  :-)


 

 


"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *****
  • Mensajes: 5333
    • Picmania by Redraven
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #1 en: 17 de Julio de 2006, 15:41:02 »
Magnifico hilo este que has inaugurado. Muchas gracias por tu aporte, y adelante con él ...  :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3583
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #2 en: 17 de Julio de 2006, 18:23:31 »
Muy buen hilo, pero... ¿Por que no subes la libreria?

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #3 en: 17 de Julio de 2006, 20:00:57 »
Bien, creo que debo de ser consecuente con la filosioia de este hilo, "Dar soluciones concretas" asi es que, de aqui en adelante pondre cada uno de los recursos necesarios a disposicion de ustedes,  solo esperen un poco para hacerme de un espacio en la red y poner ahi todos los archivos. :-)
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #4 en: 17 de Julio de 2006, 20:49:52 »

Bien, ya tengo un espacio.

Aqui tienen la dirección http://www.paginasprodigy.com/a53410500/compartidos/inpout32.zip

Si el link se rompe por favor me avisan, es un sitio permanente.
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #5 en: 17 de Julio de 2006, 22:23:37 »
En esta siguiente parte del tema  Puerto Paralelo, queria señalar la forma en que se organiza el byte de entrada y de salida que nos proporcionan las funciones de la DLL.

Pero a cambio de eso les dejo un link a un pequeño programa que acabo de realizar para que vean graficamente la posicion de cada bit y su correspondiente sitio (fisico) dentro del conector DB-25.

http://www.paginasprodigy.com/a53410500/compartidos/pparalelo.zip

Nota: este archivo tambien contiene el archivo inpout32.dll

Continuare con una sencilla aplicación para controlar un Motor de Pasos bipolar.

Hasta pronto y ojala esten interesados en el tema.
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3583
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #6 en: 18 de Julio de 2006, 06:50:23 »
Por supuesto que nos interesa, es interesante el trabajo que estas realizando. Así que te anomo a que sigas. Yo soy un enamorado de Delphi. Por cierto que componentes usas para los led del programa?.

Un saludo y animo con el trabajo que estas realizando.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #7 en: 18 de Julio de 2006, 12:55:42 »
Bien, pensaba ir desarrollando una aplicacion para el puerto paralelo, pero se que todos ustedes son lo bastante listos para poder implementar correctamente las funciones que nos otorga la DLL, incluso veo que en otro lenguajes tambien presentan la implementacion de esta libreria (c++ y C# ver el tema en el foro).

Ustedes saben que con un poco de informacion se puede hacer trabajar el puerto en todos los modos necesarios EPP, ECP, etc...  solo es cuestion de alterar el byte de configuracion del puerto. (todo se resume a posiciones de memoria), pero si tienen mas preguntas por favor haganlas y juntos buscaremos una respuesta.

Por lo pronto ustedes, que estan acostumbrados al ambiente de Delphi, saben que algunas cosas se resuelven mediante los Componentes que algunos programadores liberan para nuestro uso, y gracias a todos ellos podremos avanzar facilmente en el tema del PUERTO SERIAL.

No hay mucho que decir y bastante que aprender, para el puerto serial es indispensable saber como se configuran sus parametros  (velocidad, paridad, etc...) y lo que cada uno e ellos implica.

En delphi estos parametro se pueden editar en el momento del desarrollo y demas se pueden activar eventos para saber en que momento se reciben datos.

Sin mas preambulo les dejo  la direccion donde pueden descargar el componente necesario para manejar el puerto serial

http://www.paginasprodigy.com/a53410500/compartidos/cport-3.10.zip

las instrucciones necesarias para la instalacion vienen dentro del archivo, es compatible con las versiones 4,5,6,7, 2005 2006.

Asi que a trabajar y aprender.   Les mando un saludo y pronto publicare algo sobre el puerto USB.

 

 
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado IIIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 153
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #8 en: 18 de Julio de 2006, 13:38:56 »
Ademas para que comiencen a experimentar con el puerto paralelo les dejo un buen tutorial a su disposicion (BONUS)

http://www.paginasprodigy.com/a53410500/compartidos/Interfacing Micro.zip

que nos muestra conexiones del los microcontroladores.

Desde un simple led o boton, hasta interfaces avanzadas LCD, Serial etc. espero les guste y sobre todo les sirva para sus proyectos.

Desde México un saludo a todos los del foro, que sin su ayuda no podria haber construido mi GTP USB LITE.

Continuara...
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Albert Einstein

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #9 en: 18 de Julio de 2006, 15:06:45 »
Hola IIIC, acabas de ahorrarme algunas horas buscando en la net el componente para el puerto serie.

1M de gracias.
Saludos desde Almería, España

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #10 en: 21 de Julio de 2006, 13:30:22 »
Hola IIIC, acabas de ahorrarme algunas horas buscando en la net el componente para el puerto serie.

1M de gracias.

Jejeje, un pasito por Enlaces, recursos, tutoriales y trucos de Delphi te hubiera ahorrado también muchas horas.

Echale un vistazo al TurboPower Async Professional
http://www.todopic.com.ar/foros/index.php?topic=11497.msg63351#msg63351

yo usaba el cport hasta que descubrí las librerias tpapro, te sugiero que pruebes ambos y saques tus propias conclusiones :) :)


Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *****
  • Mensajes: 5333
    • Picmania by Redraven
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #11 en: 21 de Julio de 2006, 13:33:58 »
Yo utilizo las TpaPro desde hace años y me sería muy dificil cambiar a otras sin que me presionasen mucho, mucho mucho ...  :mrgreen:  :mrgreen:  :mrgreen:

 
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #12 en: 21 de Julio de 2006, 14:00:20 »
:z):z):z)

Si ya me lo decía mi madre cuando era pequeño, tienes que leer más, hijo, tienes que leer más.
Saludos desde Almería, España

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #13 en: 21 de Julio de 2006, 14:42:06 »
:z):z):z)

Si ya me lo decía mi madre cuando era pequeño, tienes que leer más, hijo, tienes que leer más.

Jajaja  :D :D  :mrgreen: :mrgreen:

Yo comencé con el CPORT y hace un par de años uso TPAPRO..... y como dice Diego, también me tendrán que amenazar con violencia para que los cambie...

Hace más de 10 años que se vienen desarrollando estos componentes y realmente funcionan muy bien, no tengo quejas en lo absoluto.  Las veces que no anduvieron es porque yo mal interpretaba alguna informacion.  Además cuentan con un par de PDFs realmente muy extensos donde se cubre (en alguna medida) todos los aspectos de cada componente.

Incluso un mismo ejecutable, con acceso a hardware como es el puerto serie, puedes usarlo en Win98, Windows NT, Windows 2000, Windows XP!  Osea --> excelente!!

El CPORT deja mucho que desear en ese aspecto.

Incluso, por ejemlo, el SIOW que viene con el CCS se ha programado con el TPAPRO ;)



- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *****
  • Mensajes: 5333
    • Picmania by Redraven
Re: Interfaz Delphi < ---- > dispositivos Electronicos
« Respuesta #14 en: 21 de Julio de 2006, 16:29:35 »
Como nota anecdótica sobre los TpaPro, y sobre todo su componente TapdComPort ....

Mi trabajo actual, en el que llevo dos años y ya me han hecho contrato indefinido, se lo debo en gran medida a haber podido montar en solo un par de días un programa Delphi que controlaba una red RS-485 con mas de cien dispositivos colgados ... llevaban meses intentándolo y nadie había sido capaz de solucionarlo con rápidez y elegancia.

TpaPro lo hizo, con un poco de ayuda por mi parte.  :mrgreen:

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania