Registrarse Gratis

¡Únase para Aprender y Compartir!

Enun PLC ¿Cómo convierto una señal analógica en digital?

23/3/2010 10:54PM
Hola. Les escribo para ver si me pueden ayudar con esto. Necesito tomar la lectura de una entrada analógica de un PLC Siemens S7-200. La señal analógica proviene de un transductor de corriente que transmite entre 0 y 20 mA. Sé que el módulo de entradas analógicas tiene un formato de la palabra de datos (unipolar) de 0 a 32000, y ya he hecho los cálculos para el escalado: (Y = 16000 X), donde Y es el valor de la palabra (entre 0 y 32000) y X es el valor de la medición analógica (entre 0 y 20 mA).
Pregunta:
La cuestión es que me estoy inciando en la programación en Step 7, del PLC S7 y la encuentro muy complicada [para principiantes], yo estaba a acostumbrado a otra más sencilla. En fin el meollo del asunto es que no sé cómo tomar la lectura de la entrada analógica y como trabajar con ella, esto es, guardar la lectura en memoria, realizar acciones cuando esta lectura sea mayor o menor a determinados valores. Por lo que averigué hay que guardarlo en la memoria interna vw y luego pasarlo a entero doble ó algo asi... , si alguien tuviera la suficiente paciencia que me explicase detalladamente, le daría el 23% del premio de la lotería que algñun día me gane...no mentira... le estaría agradecido por el resto de mi vida [e incluso pensaría en compartir el premio XD].


Para detallarlo y relacionar la pregunta con lo que pido acá les explico con más detalle:
A través de un transductor que genera 4-20 mA, [mide la altura de un pozo] me piden hacer que la señal análoga la pase a código Gray. ¡¡¡¡¡Madre mia!!!!!!!!! -dije. ¿Cómo voy a hacer eso? - me dije, comencé a averiguar y a leer mucho y cuando digo mucho es MUUUUCHO y llegué a una simple solución.
Mi idea es comenzar pasando de decimal a binario a traves de un programa que yo haga. Quería dividir la señal analógica 4 a 20 mA en bits. Asi cada combinación sería una corriente ó palabra de datos en el PLC y por ende indicaría la altura.
(ej.: 111 BCD = 20 mA = 21.3 metros [altura máxima]
Para hacer el conversor con un programa quería colocar unos comparadores que me den un rango por ej.:

que cuando I > = 4 mA y I < 8 mA me active Q1 que sería mi salida. El bit menos significativo ó LSB.
que cuando I > = 8 mA y I < 12 mA me active Q2 que sería mi otra salida.

Y asi sucesivamente hasta que:

cuando I = 20 mA me active todas las salidas por ejemplo.: Q1, Q2 y Q3 ó 111 [binario]

Les dejo una tabla de más ó menos como lo pensé:

Q1 Q2 Q3
0 0 0
0 0 1 I > = 4 mA y I < 8 mA
0 1 0 I > = 8 mA y I < 12 mA
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1 I = 20 mA

Asi el programa me activaría una u otra salida dependiendo de la corriente de entrada. Despues de muchas lineas logré hacerlo [en papel] y el drama es que no sé como pasarlo al STEP7 especialmente las entradas digitales y a través de todo eso hacer que funcione en base a la corriente de entrada. Y más aún pasarlo a Código GRAY.

Si alguien sabe si existe alguna herramienta en el STEP 7 que me permita pasar de decimal [entrada analógica ] a gray de una sola vez y que yo elija los bits de salida por ejemplo quiero que salgan 16 bits en vez de 8 bits sería lo ideal [creo que se llama resolución]. Por que la solución que hice es muy poco ortodoxa, pero fue lo primero que se me ocurrió. De ante mano gracias, espero respuestas.
Esta pregunta está cerrada. Si quieres puedes: Abrir otra Pregunta
02/6/2010 04:18PM
Hola como estas ,bueno recien leo tu post y me parecio que te puedo apoyar

bueno mi apoyo constaria de subirte un programa con lo que pides, y la verdad tendria instalar el step7 y el programa de simulacion ,pero antes de hacer ese trabajo desearia que me digas si aun lo necesitas para hacerlo

saludos

cesar perez silva