convertir pulso de plc a valor 1 o 0

valdo_kof

Bovino adicto
#1
buenas bacunos mi consulta es la siguiente tengo un plc en el cual si el proceso q realiza esta correcto y no hay niguna interrupcion me prende un led de color verde y me manda un pulso a unas salidas para poder ocuparlas y realizar algun otro procedimiento pero me veo en la necesidad de convertir ese pulso en un valor de 1 o 0, 1 si el proceso se realizo adecuadamente y 0 si hubo alguna interrupcion y este mandarlo por el puerto serial de una pc para recibir el valor y realizar una serie de funciones de acuerdo a ese valor

habra alguna forma de realizar esto

se los agradecere mucho su ayuda gracias
 

valdo_kof

Bovino adicto
#2
me parece q lo q necesito es un convertidor de señal analogica a señal digital alguien sabe como puedo hacer esto aunq sea en multisim
 

Naziel100

Bovino maduro
#7
Hola compa, buenas tardes. Ahm explicame por favor como es la salida de tu PLC seguramente es a relevador, por lo cual no puedes tener una salida analogica, ya es una señal digital pero está a 12 volts (regularmente) lo unico que necesitas es reducir de 12 volts a 5 volts con que: Otro relevador que te convierta a niveles discretos de 0 o 5 volts.

Ahora si tuvieras el raro caso en que el PLC y tu programa sacara una señal analogica debes usar un ADC.

Una vez hecha la conversión, usamos un pic para mandar por serial a la PC (Aunque la mayoria de los PLC's traen un puerto serial integrado para comunicarse con la compu)

Explicame bien el caso que deseas y te ayudo con los diagramas y la circuiteria, no es nada dificil solo necesito bien los datos. Saludos.
 

kyuko84

Bovino maduro
#8
en mi opinion y x la experiencia que he tenido, podrias usar la salida de tu plc (contacto) para introducir una entrada a un microcontrolador en el cual haraz tu conexion a serial (RS232). Yo te recomendaria que uses un 16f877 el cual tiene el usart(comunicacion serial), dentro del codigo de tu micro puedes usar el siguiente algoritmo.

1. leer bit del puerto en el cual conectas el contacto de tu plc.
2. si es 1, enviar una letra significativa a la computadora, ó en su defecto mandar un conjunto de caracteres.
3. si es 0, enviar una letra significativa a la computadora, ó en su defecto mandar un conjunto de caracteres.
Ahora, el contacto debe tener como entrada (com) un voltaje digital TTL (5v) y en la salida del contacto del PLC (N.O.), debes conectarlo a la entrada de tu micro OJO conecta una resistencia de 1k con referencia a tierra, esto es para que evitar interferencias en el pin de tu micro.

Espero que te sirva de algo, si necesitas algo mas enviame un MP, te sugiero que verifiques en la documentacion de tu plc, si maneja algun modulo de comunicacion ya sea serie, usb con alguna pantalla compatible, o una pc.
 

valdo_kof

Bovino adicto
#9
Hola compa, buenas tardes. Ahm explicame por favor como es la salida de tu PLC seguramente es a relevador, por lo cual no puedes tener una salida analogica, ya es una señal digital pero está a 12 volts (regularmente) lo unico que necesitas es reducir de 12 volts a 5 volts con que: Otro relevador que te convierta a niveles discretos de 0 o 5 volts.

Ahora si tuvieras el raro caso en que el PLC y tu programa sacara una señal analogica debes usar un ADC.

Una vez hecha la conversión, usamos un pic para mandar por serial a la PC (Aunque la mayoria de los PLC's traen un puerto serial integrado para comunicarse con la compu)

Explicame bien el caso que deseas y te ayudo con los diagramas y la circuiteria, no es nada dificil solo necesito bien los datos. Saludos.

ok te explico

el plc lo q hace es verificar q un producto este ensamblado adecuadamente, si si lo esta prende un led verde y manda un pulso a un cable el cual es el mismo pulso q se ocupa para prender el led ahora lo que necesito es eso q dices hacer una ADC q de entrada reciba ese pulso q sale del cable y la ADC me de una salida al pin de entrada de mi conector DB-9 de mi puerto serial

lo q necesito de salida s q me de un 1 si s q me da ese 1 una señal digital solo necesito ese 1

no se si me explique y si puedes ayudarme te lo agradeceria infinitamente, hee estado investigando pero la verdad no entiendo nada, no se me da para nada la electronica

gracias
 
#10
Muy bien, entonces como te decia no necesitas de un ADC sino simplemente adecuar el pulso de 12 a 5 volts. Como a las 10 te posteo los diagramas para lo que necesitas. Por cierto tienes que instrumentarlo o solo simularlo por aquello de los componentes.
 

valdo_kof

Bovino adicto
#11
Muy bien, entonces como te decia no necesitas de un ADC sino simplemente adecuar el pulso de 12 a 5 volts. Como a las 10 te posteo los diagramas para lo que necesitas. Por cierto tienes que instrumentarlo o solo simularlo por aquello de los componentes.

si con instrumentarlo te refieres aarmarlo, pues si necesito armarlo

te agradesco mucho tu ayuda


gracias
 
#12
si con instrumentarlo te refieres aarmarlo, pues si necesito armarlo

te agradesco mucho tu ayuda

gracias
Hola, te escribo de rapido y disculpa por la tardanza he andado algo ocupado sin embargo te envío el diagrama con el que podrías solucionar tu problema, si no entiendes algo avisame, no prometo una respuesta rapida pero si una segura. En cuanto al codigo del PIC te lo dejo a ti pues no se que necesites enviar a la PC en cada caso pero de manera sencilla y al estilo de mikroC seria algo mas o menos asi:

Código:
if(PORTA.A0 = 1)
{
USART_Write(CodigoCorrecto);
}
else
if(PORTA.A0 = 0)
{
USART_Write(CodigoIncorrecto);
}
Obvio es solo una idea general ya dependera de tus necesidades, seguramente tendras mejores resultados si pones una resistencia de pulldown a A0 para garantizar tus estados.

Saludos y mucha suerte.

 

valdo_kof

Bovino adicto
#13
Hola, te escribo de rapido y disculpa por la tardanza he andado algo ocupado sin embargo te envío el diagrama con el que podrías solucionar tu problema, si no entiendes algo avisame, no prometo una respuesta rapida pero si una segura. En cuanto al codigo del PIC te lo dejo a ti pues no se que necesites enviar a la PC en cada caso pero de manera sencilla y al estilo de mikroC seria algo mas o menos asi:

Código:
if(PORTA.A0 = 1)
{
USART_Write(CodigoCorrecto);
}
else
if(PORTA.A0 = 0)
{
USART_Write(CodigoIncorrecto);
}
Obvio es solo una idea general ya dependera de tus necesidades, seguramente tendras mejores resultados si pones una resistencia de pulldown a A0 para garantizar tus estados.

Saludos y mucha suerte.
gracias voy a checarlo y pues referente al codigo de plc no voy a programar nada en el plc mi aplicacion q va a tomar el valor q reciba de mi puerto serial ya esta solo falta convertir el pulso en voltaje q manda el plc a señal digital o en este caso q ese pulso entre al diagrama q tu me pusiste y si ese diagrama me manda un 1 a mi puerto serial me va a servir de maravilla yo te aviso los resultados

muchas gracias por la ayuda
 

valdo_kof

Bovino adicto
#14
Naziel100

en el diagrama q me hiciste el favor de mandarme rsulta q donde esta el reelevador,(o lo q esta antes de R1) es lo q hace el plc, me dicen q la salida del plc es un simple switcheo (un pulso) mi pregunta es ese swtcheo debe dejar pasar algo? y si es asi q debe de dejar pasar? voltaje, señal, etc?, si es voltaje q voltaje debe entrarle a la resistencia R1? y la salida q llega el conector deb-9 si es un numero 1? o que manda de salida

disculpa tantas molestias pero la verdad es lo unico que me falta para q mi aplicacion funcione al 100

espero puedas ayudarme gracias
 
#15
Naziel100

en el diagrama q me hiciste el favor de mandarme rsulta q donde esta el reelevador,(o lo q esta antes de R1) es lo q hace el plc, me dicen q la salida del plc es un simple switcheo (un pulso) mi pregunta es ese swtcheo debe dejar pasar algo? y si es asi q debe de dejar pasar? voltaje, señal, etc?, si es voltaje q voltaje debe entrarle a la resistencia R1? y la salida q llega el conector deb-9 si es un numero 1? o que manda de salida

disculpa tantas molestias pero la verdad es lo unico que me falta para q mi aplicacion funcione al 100

espero puedas ayudarme gracias
Hola como te he mencionado el switcheo que manda el PLC es voltaje a 12 volts (O lo que ocupe tu PLC como alimentacion) esto entra en la bobina del relevador RL1, lo que necesitamos es adecuar nuestra señal a 5 volts para que el PIC pueda leerlo, para eso es ese relevador RL1 por lo que en la salida de RL1 (donde esta la resistencia) deben salir 5 volts si la lamparita que sale del PLC esta encendida o 0 volts si la lamparita esta apagada.

La resistencia R4 es una resistencia de "PullDown" para garantizar los estados logicos 0 o 1 salientes del relevador.

El diagrama está hecho para trabajar con un PIC que debes programar para que cuando en la entrada A0 del PIC haya un 0 envie algo y cuando haya un 1 envie otra cosa (Esto se hace con software como MikroC, PIC-C o similares). Una vez programado el PIC al recibir 1 o 0 en A0 enviara algo, mientras no hara nada.

Si vas a usar USART, el serial puede enviar una palabra como "correcto" o "incorrecto" al PC o un valor numerico como "0" o "1" eso queda a tu eleccion. No te preocupes por preguntar, yo estoy dispuesto a echarte la mano siempre y cuando tengas ganas de aprender, echate una leida en san google de "Serial con PIC 16F877A con MikroC" y si te surgen dudas escribeme a cmaziel@gmail.com

Ojala que en cuanto quede tu proyecto subas tus esquemas fotos y expliques su funcionamiento aca en el corral por si alguien mas lo necesita.

Saludos
 

ilike_tetas

Bovino adolescente
#16
Que PLC estás ocupando?, por que no simplemente lo haces con el protocolo modbus u OPC?, lo de armar circuitos funciona en la escuela, pero la mayoria de las compañias no aceptan ese tipo de cosas; lo más fácil es utilizar un cliente de OPC en la computadora.
Dependiendo el PLC, puedes comunicarlo por 232, 485 ó TCP/IP
 

valdo_kof

Bovino adicto
#17
Que PLC estás ocupando?, por que no simplemente lo haces con el protocolo modbus u OPC?, lo de armar circuitos funciona en la escuela, pero la mayoria de las compañias no aceptan ese tipo de cosas; lo más fácil es utilizar un cliente de OPC en la computadora.
Dependiendo el PLC, puedes comunicarlo por 232, 485 ó TCP/IP

creo que el plc q estoy usando no es muy reelevante, ya q solo ocupo el pulso y quiero pensar q ese pulso, q solo es un switcheo, deja pasar un voltaje, algo q muy bien se puede reemplasar por una pila o algo asi lo q necesito y ya Naziel100 me hizo favor de ayudarme es convertir ese pulso a un numero 1

estoy probando su diagrama q me realizo y posteare los resultados


gracias por su ayuda cualquier duda espero y sigan ayudandome

gracias
 

valdo_kof

Bovino adicto
#19
bueno gracias a todos por la ayuda y efectivamente si, la señal q saca si es digital y si me manda el 1 que necesito por lo tanto solo solde la salida del PLC (cable) a la patita 3 de mi DB-9 para recibirlo en mi PC

muchas gracias a todos por sus comentarios
 
#20
Wooooooow no no no!! Ten cuidado.
Podrías dañar tu PC o el PLC ya que el Serial de tu compu trabaja normalmente a 12 volts como positivo(1) y -12 volts como (0) y tu PLC a 12 y 0. Intenta usar un MAX232 y a la salida de tu PLC una resitencia que se coma 7 volts.
 
Arriba