12
S7-200 Escalado de valores analógicos Ejemplo Nº 38 S7-200 Tips & Tricks C79000-G7078-C214-01 1 Grupo Tema 6 Escalado de valores analógicos Descripción resumida Este programa lee un valor analógico para la entrada de uno de los canales de entrada analógicos en el ST-200 y alimenta el valor de salida XQ a una zona escalada por el usuario. Todos los parámetros necesarios deben configurarse con valores en el segmento de inicialización del programa. Las siguientes variables son relevantes para la fórmula de escalado: Ov = valor de salida escalado Iv = valor analógico de entrada Osh = límite superior de la escala para el valor de salida escalado Osl = límite inferior de la escala para el valor de salida escalado Ish = límite superior de la escala para el valor analógico de entrada Isl = límite inferior de la escala para el valor analógico de entrada El esquema de escalado puede representarse de la siguiente manera: analóg entrada Valores Ov Osh Iv Ish Isl Osl Valores escalados salida La siguiente fórmula de cálculo del valor escalado puede obtenerse del diagrama: Ov = [(Osh - Osl) * (Iv - Isl) / (Ish - Isl)] + Osl SIMATIC Ejemplos S7-200

Escalado Variables Analogas

Embed Size (px)

Citation preview

Page 1: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 1

Grupo Tema

6 Escalado de valores analógicos

Descripción resumida

Este programa lee un valor analógico para la entrada de uno de los canales de entradaanalógicos en el ST-200 y alimenta el valor de salida XQ a una zona escalada por el usuario.Todos los parámetros necesarios deben configurarse con valores en el segmento deinicialización del programa. Las siguientes variables son relevantes para la fórmula deescalado:

Ov = valor de salida escaladoIv = valor analógico de entradaOsh = límite superior de la escala para el valor de salida escalado

Osl = límite inferior de la escala para el valor de salida escaladoIsh = límite superior de la escala para el valor analógico de entradaIsl = límite inferior de la escala para el valor analógico de entrada

El esquema de escalado puede representarse de la siguiente manera:

analógentrada

Valores

Ov

Osh

Iv IshIslOsl

Valores

escalados salida

La siguiente fórmula de cálculo del valor escalado puede obtenerse del diagrama:

Ov = [(Osh - Osl) * (Iv - Isl) / (Ish - Isl)] + Osl

SIMATICEjemplos S7-200

Page 2: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks2 C79000-G7078-C214-01

Diagrama de bloques

TD 200

F5F1

F6F2

F7F3

F8F4

SHIFTESC ENTER

CPU 214

A+ A- L+ M

EM 235

Líquido

Entrada

Salida

P1

P2

Indicadoranalóg.

Vo Io

I0.0 I0.1Abrir

entradaCerrarentrada

Q0.0

Q0.1

4-20mA

0-10V

24V0V

Transductor depresión

diferencial

Page 3: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 3

Estructura del programa

C o m ienzoprogram a

Finprogram a

SBR:0Escalar va lores

pa ra TD 200

Bloque datos :Conf igura r TD200

Inic ia l izar - valores deescala m áxim o y m ínim o

Cargar va lores en “Mem oriaV” para preparar para

subru t ina 0

SBR: 0Valores de esca la para

sa l ida ana lóg ica

Truncar va lorre tornado y move r

a A Q Wto the AQW

Habi l i tar m ensaje deTD 200 adecuado

Abr i r ent rada correspondiente oválvu la de sa l ida s i se ind ica

Page 4: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks4 C79000-G7078-C214-01

Requisitos de hardware1. Definición de una zona de entrada para módulos analógicos EM235Para definir la zona operativa de la tensión de entrada o intensidad de entrada, existen 6microinterruptores DIP en la parte inferior del módulo EM235. Los potenciómetros ‘’OFFSET’’ y‘’GAIN’’ sirven para calibrar los módulos de entradas analógicas.

Offset Gain Configuration Dip-Switches

OFF ON

1 3 5 7 9 11

0 to 20 ma Range

Descripción del programa

Un recipiente cerrado aloja en su interior un líquido. Se desea conocer el nivel actual dellíquido permanentemente a través del instrumento indicador. El programa monitoriza el nivelobservando si está dentro de unos límites especificados y, si se alcanza un nivel máximo omínimo, esta situación se señaliza a través del TD200, cerrándose la válvula de entrada o desalida.

- El transductor de presión diferencial entrega una corriente (4 - 20mA) proporcional al niveldel líquido a la entrada del módulo de entradas analógicas. - El módulo analógico EM235 debe calibrarse de modo que, a un nivel de 10m, el valor de laintensidad analógica, 20 mA, se convierte en un valor de 32000 y a 0 m (4mA) en un valor de3200. El programa escala los valores digitales convertidos a altura (metros). - El programa de usuario verifica los valores introducidos para asegurarse de que no rebasanel límite máximo de 10m. Cuando el líquido alcanza este nivel, se visualiza el mensaje“alcanzado nivel máximo” a través del TD200. Simultáneamente, se activa un bit de salida paracerrar la válvula de entrada. - El líquido no debe caer por debajo del nivel mínimo de 1 m. Si se alcanza este límite, elprograma visualiza el mensaje “Alcanzado nivel mínimo” a través del TD200 y activa la salidapara cierre de la válvula de salida.- Para el indicador de nivel de líquido, debe generarse la tensión a través del módulo desalidas analógicas. Esta tensión se genera grabando el correspondiente valor digital en elAQW o palabra de salida analógica.- El módulo de salidas analógicas alimenta el nivel de líquido (entre 0m y 10m) a uninstrumento de medida como tensión entre 0 y 10V. La indicación analógica de un instrumentode medida responde a la tensión con una inclinación de la aguja proporcional al nivel dellíquido.

La fórmula escalará cualquier valor determinado entre cualesquiera puntos máximo y mínimodeterminados de la escala. Este programa, en concreto, recibe la palabra de entrada analógica(AIW) y la escala tanto al TD 200 como al módulo de salidas analógicas. En primer lugar, elprograma lee la palabra AIW, que es un valor comprendido entre 4 y 20 mA, y lo escala a unvalor entre 3200 y 32000. El valor, a continuación, se escala al AQW, que oscila entre 0 y32000. A continuación, el AIW se escala al TD 200, que tiene un valor de escala mínimo de 0 yun valor de escala máximo de 10.

Margen 0 hasta 20 mA

Compen-sación

Ganancia Microinterruptores Dip de configuración

Page 5: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 5

Listado del programa

// Título = Monitorización de nivel de líquido con valores analógicos escalados:// El tamaño de programa es 100 palabras.

LD SM0.0 // Siempre MOVD 0 AC1 // borrar AC1 MOVW AIW0 AC1 // mover palabra de entrada analógica 0 a AC1 DTR AC1 VD500 // convertir valor de AC1 de decimal a real

Page 6: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks6 C79000-G7078-C214-01

//Los valores de escalado máximo y mínimo para AIW0, AQW0 y el TD200 deben moverse a ubicaciones de// almacenamiento temporales para su utilización en la subrutina 0.// LD SM0.0 // Siempre MOVD VD500 VD1000 // mover AIW0 a VD1000 MOVD VD200 VD1004 // mover valor máx._escala AIW (32000) a VD1004 MOVD VD204 VD1008 // mover valor mín._escala AIW (3200) a VD1008 MOVW VW208 VW1012 // mover valor máx._escala AIW (32000) a VD1012 MOVD VD212 VD1016 // mover valor mín. _escala AQW (0) a VD1016 CALL 0 // llamar a subrutina 0

LD SM0.0 // SiempreTRUNC VD2000 AC1 // Truncar valor enviado desde SBR 0 y colocarlo en AC1MOVW AC1 AQW0 // mover valor a palabra de salida analógica

LD SM0.0 // SiempreMOVD VD216 VD1012 // mover TD200 valor máx._escala (10) a VD1012MOVD VD220 VD1016 // mover TD200 valor mín._escala (0) a VD1016CALL 0 // llamar a subrutina 0

Page 7: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 7

LD SM0.0 // SiempreMOVR VD2000 AC1 // mover valor devuelto de SBR 0 a AC1*R KR+100.000 AC1 // multiplicar valor por 100.00TRUNC AC1 AC1 // truncar valor en AC1MOVW AC1 VW116 // mover el valor en AC1 al val. de pal. incrustada para indic. en TD200= V10.7 // habilitar mensaje de TD200

LDR>= VD2000 VD224 // Si el valor de SBR 0 es >= Límite superior,= V10.6 // habilitar mensaje “Alcanzado valor máximo”

LDR<= VD2000 VD228 // Si el valor de SBR 0 es <= Límite inferior,= V10.5 // habilitar mensaje “Alcanzado valor mínimo”

LDN V10.6 // Contenedor no lleno,A I0.0 // y “Abrir entrada” activada,AN Q0.1 // y válvula de salida no esta abierta,= Q0.0 // abrir válvula de entrada

Page 8: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks8 C79000-G7078-C214-01

LDN V10.5 // Nivel no por debajo de mínimo,A I0.1 // y “Abrir salida” activada,AN Q0.0 // y válvula de entrada no está abierta,= Q0.1 // abrir válvula de salida

MEND

// Subrutina 0://// La SBR0 es responsable de ejecutar las operaciones matemáticas que escalan// la palabra de entrada analógica para el TD200 y el AQW0.// La fórmula es la siguiente:// Ov = [(Osh - Osl) * (Iv - Isl) / (Ish - Isl)] + Osl//SBR 0 // Subrutina 0LD SM0.0 // SiempreMOVR VD1012 AC1 // mover valor máx.escala a AC1-R VD1016 AC1 // y deducir valor mín.e scala de 1MOVR VD1004 AC2 // mover valor máx.escala a AC2-R VD1008 AC2 // y deducir valor mín.escala de AC2MOVR VD1000 AC3 // mover AIW0 a AC3-R VD1008 AC3 // y deducir valor mín._scale AIW de AC3

Page 9: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 9

LD SM0.0 // Siempre/R AC2 AC3 // dividir el valor en AC3 entre el valor en AC2*R AC1 AC3 // multiplicar el valor en AC1 por AC3MOVR AC3 VD2000 // añadir el valor en AC3 a VD1016+R VD1016 VD2000 // y colocar la suma en VD2000

RET //Retorno

Page 10: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks10 C79000-G7078-C214-01

//// Bloque de datos DB1:// El bloque de parámetros de TD200 para visualización// del mensaje con el valor escalado del nivel de// líquido medido en un contenedor y los avisos// cuando se alcanzan los límites.//VB0 'TD' // Identificación del TD200VB2 16#10 // Idioma - Inglés, actualización lo más rápido

//posibleVB3 16#00 // Indicación con 20 caracteresVB4 3 // Nº de mensajes = 3VB5 0 // Marca MB0 para teclas FVW6 100 // VB100 = comienzo de mensajeVW8 10 // VB10 = dirección de bits habilitación mensajesVB100 'Nivel líquido' // Texto 1 = 12 caracteres para Mensaje 1VB112 '= ' // ‘= ‘ y espacio en blancoVB114 16#00 // MSB de byte de formato - sin procesamiento, sin

// reconocimientoVB115 16#12 // LSB de byte formato - 1 palabra con

// 2 posiciones después de punto decimal con// signo

VB116 16#00 // Valor palabra incrustada - MSBVB117 16#00 // Valor palabra incrustada - LSBVB118 'm' // Texto 2 = 1 carácter y un espacioVB120 'Alcanzado nivel máx. ' // Texto 1 = 20 caracteres del mensaje 2

VB140 'Alcanzado nivel mín ' // Texto 1 = 20 caracteres del mensaje 3//// Inicialización://VD200 32000.0 //Máx_Escala AIWVD204 3200.0 //Mín_Escala AIWVD208 32000.0 //Máx_Escala AQWVD212 0.0 //Mín_Escala AQWVD216 10.0 //Máx_Escala TD200VD220 0.0 //TD200 Mín_EscalaVD224 10.0 //Comprobación de límite superiorVD228 1.0 //Comprobación de límite inferior//

Page 11: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & TricksC79000-G7078-C214-01 11

Notas sobre conversión

Para convertir de IEC a S7-Micro/DOS AWL:

Anteponga una ‘K’ a todas las constantes numéricas no hexadecimales (p.ej., 4 ⇒K4)

Sustituya‘16#’ por ‘KH’ para todas las constantes hexadecimales (p.ej., 16#FF ⇒KHFF)

Las comas identifican divisiones de campo. Emplee las teclas de flecha o la teclaTAB para alternar entre campos.

Para convertir un programa en S7-Micro/DOS AWL a KOP, cada segmento debecomenzar por la palabra ‘NETWORK’ seguida de un número. Cada segmento deeste programa de Ejemplo de Aplicación está identificado por un número en elesquema de contactos. Utilice la instrucción INSW del menú EDIT para entrar en unnuevo segmento.

Las instrucciones MEND, RET, RETI, LBL, SBR e INT todas tienen sus propiossegmentos. No son posibles los comentarios de línea, identificados por ‘//’ con S7-Micro/DOS, pero sí son posibles los comentarios de segmento.

El bloque de datos mostrado se creó en Micro/Win; en Micro/DOS utilice el editor de memoriaV para introducir un bloque de datos (consulte la guía del usuario de Micro/DOS). Observe queen Micro/Win: 16#.. especifica un valor hexadecimal ‘text‘ representa un valor de cadena

Notas generales

Los Ejemplos de Aplicación para SIMATIC S7-200 se facilitan para ofrecer a los usuarios delS7-200 indicaciones orientativas sobre cómo pueden resolverse, desde el punto de vista de latécnica de programación, determinadas tareas con este PLC. Estas instrucciones no tienen porfinalidad abarcar todos los detalles o variaciones del equipo, ni tienen presente cualquiereventualidad posible. La utilización de los Ejemplos de Aplicación para el S7-200 es libre.

Siemens se reserva el derecho de introducir cambios en las especificaciones aquí mostradas orealizar mejoras en cualquier momento sin previo aviso ni obligación. Esto no exime al usuariode la responsabilidad de seguir prácticas exactas para la aplicación, instalación, explotación ymantenimiento del equipo adquirido. Si surgiera algún conflicto entre la información generalcontenida en esta publicación, el contenido de los dibujos o esquemas o el materialcomplementario, o ambos, tendrán prioridad estos últimos.

Siemens no asume ninguna responsabilidad, sea cual sea el motivo jurídico, por los daños olesiones personales derivados del uso de los ejemplos de aplicación.

Reservados todos los derechos. Cualquier forma de duplicado o distribución, incluso deextractos, está permitida únicamente con la autorización expresa de SIEMENS.

Page 12: Escalado Variables Analogas

S7-200 Escalado de valores analógicos Ejemplo Nº 38

S7-200 Tips & Tricks12 C79000-G7078-C214-01