![]() |
Delphi en la industria
Hola.
Mi pregunta es esta; Imaginaos que hago con delphi una aplicacion industrial para poder mover una pequeña maquina desde un PC. Este PC esta conectado por medio de ethernet a un switch y a ese switch esta conectado un automata programable. El programa interno del automata ya esta hecho, y funciona, pero quiero mover la maquina desde el PC con la aplicacion que he hecho en delphi, asi como visualizar los estados de las entradas y las salidas de ese automata. Necesito asignar a los botones de mi aplicacion Delphi, unas direcciones para que el automata obedezca. No se si me he explicado bien. No puedo colgar el ejemplo aún. Un saludo a tod@s. |
Pues qué bien, me alegro :)
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración. |
1 Archivos Adjunto(s)
Gracias por la bienvenida.
Y si, si que he leido la guia de estilo. ¿No esta bien planteda la duda, o no esta en el lugar correcto? Esta seria la estructura de dicha aplicacion industrial: |
Sinceramente, a través de la red, no lo sé. Yo siempre que he hecho cosas de ese tipo ha sido conectado el pc directamente a la máquina por algún puerto (serie o paralelo), a ver si algún compañero puede ayudar.
Es que esto no tiene realmente nada que ver con delphi, da igual el lenguaje, el problema o la duda es si se puede controlar y recibir información de una máquina a través de una red local. Interesante el tema. |
Hombre, tiene que ver con delphi, por que con el es con lo que hago la aplicacion, o el scada.
Sinceramente, no es a modo profesional, estoy iniciandome en delphi y me gustaria aprovecharlo para fines industriales, aunque ya se que hay otro tipo de programas o lenguajes para este tipo de cosas, Bisual Basic por ejemplo, o programas tipo wincc de siemens, etc, etc Espero que mis dudas no creen polemica. Por cierto Casimiro Notevi, imagina que nos saltamos el switch y lo hacemos desde un puerto serie directamente, o integrando una tarjeta Profibus en mi PC. ¿como asigno las direcciones hacia los botones programados en delphi? Gracias. |
No, si no digo que no tenga nada que ver, sino que el problema es enviar/recibir información de la máquina, independientemente del lenguaje a usar, que en este caso, por supuesto, es delphi :)
Supongo que tendrás que hacerlo como cualquier otro aparato, como si fuese una impresora, una báscula, etc. es cuestión de conocer cómo funciona la máquina, quiero decir que deberías tener las especificaciones del mismo y mandarle esos códigos, al igual que una impresora, le envías chr(12) y avanza página (por ejemplo), pues esa máquina tendrás que enviarle unas cadenas de caracteres de control para hacer una cosa u otra. Luego se lo asignas a un botón, a un menú, o a lo que tú quieras, pero necesitas conocer los datos a enviar. Igualmente necesitas saber también qué información y cómo envía los datos de vuelta la máquina para poder leerla desde tu programa, etc. Lo normal con cualquier dispositivo externo. Por red local también se debe poder, ya sea directamente o a través de un dispositivo, al igual que las impresoras de red, que envias datos a una IP. También existen los administradores de impresión que son aparatitos que se conectan entre el pc y las impresoras... pues igual, pero con las máquinas que quieras manejar. Evidentemente, si no tenemos información de cómo funciona esa máquina, no podemos hacer nada. Tendrás que buscar esa información en sus manuales, en la web del fabricante, etc. |
1 Archivos Adjunto(s)
El ejemplo sería este mas o menos:
|
Cita:
Por ejmplo, a traves de una tarjeta espedial de ese tipo de comunicaciones con esos aparatos, las variables de esas entrads o salidas, serian marcas internas de esos aparatos, por ejemplo M200.0, M200.1, etc, etc. No se si me he explicado bien. Primero debo saber como asignar direcciones desde delphi hacia afuera. |
Cita:
En este caso, esa máquina que quieres controlar está esperando una serie de "comandos" para hacer cosas, ¿qué comandos son y qué está esperando para hacerlo?, pues esa es la pregunta. |
Cita:
Esa es la pregunta; ¿que comando debo asignar a los botones que programo en delphi para que se redirijan hacia un periferico conectado a mi PC? Gracias de antemano. Un saludo. |
Por partes,
si tú quieres conectarte a cualquier dispositivo, tendrás que saber cuanto menos las siguientes cuestiones. Protocolo Set de instrucciones Protocolo: dependiendo de cómo se comunique el dispositivo, tendrás que acceder al puerto, configurarlo, y una vez hecho esto, enviarle comando que estén dentro del juego de instrucciones que entienda el cacharro.Generalmente, el propio cacharro devuleve un check (ok) cuando ha recibido el comando y lo 'ha digerido'. Si te comunicas con le dispositivo por el puerto serie, tendrás que abrirlo, configurar la velocidad, los bits de paridad, .... Si está conectado vía ethernet, obviamente tendrás que llegar él vía ip ( generalmente podrás hacerle un 'ping 192.168.1.1', Se t de instruciones: dependiendo del cacharro, tendrá un set de instrucciones que entienda. Dependiendo de quién lo ha programado, podrá ser desde poner a 1 el 2º bit de no sé qué dirección de memoria, a enviarle la cadena 'mover izquierda 10 grados'. Lo dicho, generalmente después de enviar la instrucción el cacharro dice ok, lo he entendido ( otra cosa es que haga lo que quieras ) o nada, lo que quiere decir que no entiende ni escucha. En todos los casos, el propio fabricante facilita una dll que encapsulan todas las funciones de configuración, envío de comandos, etc que traga el cacharro. Espero que te haya servido de ayuda. Saludos |
Cita:
Creo que no me se explicar... |
Cita:
Es que adivinos no somos ninguno ;) |
Os pido paciencia por favor, ya que soy nuevo en esto no he estudiado programacion. Lo poquito que se lo he aprendido de manera autodidacta.
Abro delphi 7 y creo un new form. En la barra de herramientas pulso el icono cuadrado con el ok dentro y ya me aparece el boton. ¿Y ahora? ¿Como le asigno una orden para que ejecute una aplicacion externa? De momento solo para probarlo ¿En propertis? ¿En events? |
Es que no es eso, amigo, creo que te he puesto un ejemplo antes con la impresora:
Veamos, quieres controlar una máquina impresora, y quieres que avance el papel una página, ¿cómo lo haces?, pues vas a las instrucciones de la impresora y buscas... a ver.. a ver... "para avanzar una página debe enviar el carácter de control 12". Perfecto, pues así con todos los comandos que quieras usar en la impresora, cambio de tipo de letra, retroceso, avance de tabuladores, tamaño de la fuente, etc. Cuando ya tengas todos los comandos, entonces es cuando debes irte a tu programa, pero si no los tienes y no sabes siquiera por qué puerto, velocidad, paridad, etc. hay que pasarle los comandos, entonces no puedes hacer nada... hasta que lo sepas. |
Creo que los dos decimos lo mismo pero tu te vas al comienzo de la organizacion del sistema para hacer acopio de esa info, y yo ya doy por hecho que tengo esa info y no se donde escribir los comandos en mi programa delphi, y tampoco que comandos son.
Seguire buscando y cuando tenga la solucion, la colgare aqui por si a alguien le interesa. Muchisimas gracias por vuestras respuestas. Seguire por aqui a ver si aprendo. Esto es todo un mundo. |
Cita:
|
Cita:
Por eso me he registrado. Busco respuestas. Los que sabeis deberiais tener un poco de paciencia y entender que los que no sabemos erramos en las preguntas, tanto en el fondo como en las formas. |
A ver, amigo, nadie se está "cebando", tú necesitas saber una serie de comandos que necesita una máquina (que ni siquieras has dicho qué máquina es), y la respuesta ya te la hemos indicado varias veces: "consulta el manual de la máquina o pregunta al fabricante".
Esa es la única respuesta, por muchas vueltas que le des. |
Hola, yo básicamente solo utilizo delphi en entornos industriales, telecontrol de maquinas y recopilación de datos de producción.
Creo que la pregunta que planteas es errónea, no hay ninguna respuesta correcta para tu pregunta ya que hay muchos factores a tener en cuenta. Lo primero que tienes que hacer es lo que ya te han comentado varios compañeros, mirar que tipo de protocolo de comunicación tiene disponible el PLC con el que te quieres comunicar, el protocolo mas extendido de la industria es Modbus, tanto sobre ethernet como sobre RS232 y RS485. Observando tus comentarios veo que tu nivel de programación es bastante bajo ( esto no es una critica, todos hemos empezado alguna vez). Lo que te recomendaria es leer algún manual sobre delphi para entender los conceptos básico del lenguaje y una vez que lo domines meterte en algo mas compliaco como es comunicarse con dispositivos industriales. Según te vayan surgiendo preguntas mas concretas puedes plantearlas e intentaremos ayudarte. Un Saludo. |
La franja horaria es GMT +2. Ahora son las 12:49:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi