# S7-200 - Tomar valor de una entrada analógica



## alepaizmeschler (Feb 8, 2010)

Hola a todos,

Estoy haciendo el trabajo final para una materia de automatización industrial, en la universidad. Me encuentro un poco trabado con la programación del PLC. Puntualmente, con la obtención de valores desde las entradas analógicas. Les paso a explicar mi problema (trataré de ser breve y conciso):

- Tenemos básicamente 3 tipos de sensores: un sensor de temperatura, un sensor de pH y un sensor de caudal.
- Queremos usar el módulo de expansión EM-235 para todos esos sensores. Sabemos que existen módulos de expansión específicos (donde conectar una PT-100 es mucho más sencillo), pero necesitamos pensar en los costos. Por eso optamos por un solo módulo de expansión.
- Nos basamos fundamentalmente en dos ejemplos para poder armar algo:

* Por un lado, en un trabajo titulado "Elaboración de prácticas automatizadas mediante modelo S7-200 (Siemens)" del Portal de Educación de Castilla y León:
http://www.educa.jcyl.es/educacyl/c...4&idContent=19433&locale=es_ES&textOnly=false

* Por otro, en los tips&tricks de Siemens:
http://automaindus.googlepages.com/S72_jemplo36.pdf

Me gustaría mostrarles lo que pude hacer. Les adjunto una captura del diagrama de contactos (KOP) para la toma del valor desde el sensor de temperatura. Para el sensor de caudal y pH seguimos exactamente los mismos pasos. ¿Eso está bien? Es decir, ¿hay una forma genérica de obtener datos desde cualquier entrada analógica? Porque eso es lo que tratamos de hacer nosotros, aunque sin mucho éxito por el momento.

La explicación del diagrama que adjunto es la siguiente:

El valor leído en la entrada analógica AIW0 (ST1) se transfiere a la variable VW0 en formato palabra (16 bits). El rango de valores interno de VW0 varía entre -32768 a 32768 (segmento 1).
Para escalar el valor almacenado en esa variable, se multiplica por el fondo de escala: 20, porque la salida del sensor utiliza el estándar 4-20mA (segmento 2). Este resultado se almacena en la variable VD0.
Se convierte el entero doble (VD0) a real. El resultado se guarda en la variable VD4 (segmento 3). El resultado se divide entre 32.000 (instrucción DIV_R). En la variable VD8 se guarda el número real que representa la temperatura medida (segmento 4).


Ahora bien, esta explicación no nos gusta demasiado... Les comento las dudas que tenemos:
- ¿Porque tenemos que dividir por 32000? En diversos sitios de Internet vimos que se hace eso, pero no sabemos el por qué.
- ¿Hay que inicializar el sensor? Es decir, en el primer ciclo (marca especial SM0.1 activa), ¿hay que decir cuál será su valor máximo, cuál será su valor mínimo, y cosas así? Porque eso no lo estamos haciendo, y no sabemos bien cómo se hace.


Ojalá me puedan orientar un poco con estos interrogantes.

Desde ya, muchas gracias por su tiempo!

Un saludo!
Alejandro.


----------

