• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

  • Cursos
  • Mi cuenta
    • Mi cuenta
    • Blog
    • Foros
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto

Cómo realizar el escalado de una señal analógica en TIA Portal

Cómo realizar el escalado de una señal analógica en TIA Portal

por Iñigo Gútiez · 28 Comments

El escalado de una señal analógica es una cosa bastante habitual. Estoy seguro que en tu empresa, tienes más de un  sensor o actuador analógico conectado a un PLC.

Es normal, el escalado de una señal analógica es bastante habitual, también en los PLC Siemens, y cómo no, en las automatizaciones en TIA Portal.

Por tanto, y si aún no sabes cómo hacerlo, te voy a enseñar dos formas de realizar este escalado de señales analógico para que lo implantes en tus proyectos con autómatas Siemens bajo TIA Portal.

Contenido

  • 1 Escalado de una señal analógica de forma calculada
    • 1.1 Las tarjetas de las CPU 1200
  • 2 Escalado usando SCALE_X y NORM_X
    • 2.1 NORM_X: Normalizar
    • 2.2 SCALE_X: Escalar
  • 3 Escalar una salida analógica

Escalado de una señal analógica de forma calculada

Para realizar un escalado, sea cual sea, tampoco deberías tener muchos problemas. Si desempolvas tus apuntes de cuando eras más joven, no más que calcular una recta que pasa por dos puntos.

Para empezar, imaginemos que tenemos un valor analógico de una sonda de presión entre 0 y 6bar que nos da la medida en 4-20mA.

Necesitaremos dos parejas de puntos para poder calcular la relación:

  • El valor mínimo del la entrada analógica (para los 4mA) y el valor ingenieril que toma (0 bares)
  • El valor máximo de la entrada analógica (para los 20mA) y el valor asociado (6 bares)

Las tarjetas de las CPU 1200

Aquí debemos tener una consideración.

Las tarjetas de entradas analógicas para las CPU 1200 sólo están disponibles en 0-20mA.

Actualizado: ya existen tarjetas en 4-20mA, si bien el ejemplo en 0-20mA es totalmente válido igualmente.

¿Es esto un problema?

En absoluto. Sólo que lo tienes que tener en cuenta.

El PLC lee valores entre [0 ; 27648] como valores dentro de rango. Una lectura fuera de este rango es que hay algún problema (rotura de hilo, por ejemplo)

Ahora bien, puede que la tarjeta solo admita 0-20mA o esté configurada entre 0-20mA (cosa que vamos a suponer para darle más interés).  El «0», por tanto, está pensado para 0mA, y nosotros vamos a tener un rango de 4-20mA como entrada.

Pues bien, los 4mA se corresponden con 5530. Lógicamente si la configuración de la tarjeta estuviera en vez de 0-20mA en 4-20mA, esto desaparece, y el límite inferior será un 0.

Pero como hay tarjetas aún por ahí que sólo tienen 0-20mA, vamos a suponer este caso, ya que es un poco más especial, y a la vez, más genérico.

Por tanto, nuestro valor mínimo va a ser 5530 (4mA) para 0 Bar ¿sí?

Ahora aplicaremos la famosa fórmula de recta que pasa por dos puntos:

escalado de una señal analógica

Y ahora, usaremos la función CALCULATE de TIA Portal:

escalado de una señal analógica-2

La fórmula que usaremos será: IN1 +(IN2-IN1)*(IN3-IN4)/(IN5-IN4)

En el valor mínimo de la escala meteremos 0 Bar en este caso, y 6 Bar en el Valor máximo escalado.

Lógicamente en #Valor_analógico introduciremos la lectura del sensor, y en #»Valor escalado» obtendremos un valor entre 0 y 6 bares.

Escalado usando SCALE_X y NORM_X

Dentro del amplísimo curso de TIA Portal sobre programación de TIA Portal, he revisado junto a mis alumnos  que no existe una función que escale las señales analógicas directamente para CPU de la serie 1200, como lo hay para las CPU 300 y 400.

Pero lo que sí podemos usar las funciones que aporta de serie TIA Portal, Scale_X y Norm_X para realizar el escalado de la señal.

Para que se entienda bien, se usan estas dos herramientas ya que el escalado se hace en dos pasos:

  • Pasamos nuestro valor entre 5530 y 27648 a un valor real entre 0 y 1.
  • Tomamos este valor entre 0 y 1 y que nos de un valor proporcional en nuestro ejemplo entre 0 y 6 bares.

NORM_X: Normalizar

La instrucción «Normalizar» normaliza el valor de la variable de la entrada VALUE representándolo en una escala lineal. Los parámetros MIN y MAX sirven para definir los límites de un rango de valores que se refleja en la escala.

En función de la posición del valor que se debe normalizar en este rango de valores, se calcula el resultado y se deposita como número en coma flotante en la salida OUT.

Si el valor que se debe normalizar es igual al valor de la entrada MIN, la salida OUT devuelve el valor «0.0». Si el valor que se debe normalizar es igual al valor de la entrada MAX, la salida OUT devuelve el valor «1.0».

La figura siguiente muestra un ejemplo de cómo pueden normalizarse los valores:

escalado de una señal analógica-4

SCALE_X: Escalar

La instrucción «Escalar» escala el valor de la entrada VALUE mapeándolo en un determinado rango de valores. Al ejecutar la instrucción «Escalar», el número en coma flotante de la entrada VALUE se escala al rango de valores definido por los parámetros MIN y MAX. El resultado de la escala es un número entero que se deposita en la salida OUT.

escalado de una señal analógica-3

Con lo cual, combinando estas dos operaciones vamos a poder escalar una señal analógica en TIA Portal sin ningún problema:escalado de una señal analógica-7

Escalar una salida analógica

Evidentemente, al revés ambos casos son válidos: podremos escalar una señal analógica pasando de un valor físico a la señal que hay que mandar a la tarjeta analógica.

A continuación, tienes el ejemplo de cómo realizar el escalado inverso:

escalado de una señal analógica-5

Tienes más información en: FAQ Siemens

Y tú… ¿cómo realizas los escalados de señal en tus proyectos? ¿Habías usado alguna vez Norm_X y Scale_X?

Iñigo Gútiez

Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí

Puedes seguirme en cualquiera de las siguientes redes sociales.

Filed Under: blog

Reader Interactions

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    28 Comentarios

  1. javier emilio says

    16 junio, 2016 at 17:07

    hoa Iñigo,
    ya tuve antes la oportunidad de poner en practica esta tarea, me parece muy atinado el tip, la explicacion es excelente. Espero mas adelante tambien poder aportar.

    gracias

    Responder
    • Iñigo Gútiez says

      16 junio, 2016 at 17:08

      Muchas gracias Javier. Sí, siempre está bien tener estas cosas a mano 🙂
      Saludos!

      Responder
  2. Jose says

    14 junio, 2018 at 8:30

    En este mío ejemplo.como pu do hacer para que cuando el sensor me dé una lectura de 4.5 bares active una alarma, una sirena, ??

    Responder
    • Iñigo Gútiez says

      14 junio, 2018 at 20:14

      Pues simplemente comparar la señal con 4.5 una vez tengas la señal, lógicamente. No entiendo muy bien la pregunta.

      Responder
  3. victor valenzuela says

    1 octubre, 2018 at 14:48

    Hola saludos, quisiera pedir de su ayuda para aclarar una duda, ¿que sucede con las cuentas del plc min-max, en s7-300 en un contol pid?

    Responder
    • Iñigo Gútiez says

      1 octubre, 2018 at 18:43

      Lo siento, pero no entiendo qué quieres decir.
      Saludos

      Responder
      • Alfonso says

        24 diciembre, 2018 at 9:56

        Hola, tengo un módulo de IA ( SIMATIC S7-1200, módulo de entradas analógicas, SM 1231, 8 AI, +/-10V, +/-5V, +/-2,5V, o 0-20 mA/4-20 mA, 12 bits + signo o (13 bits ADC))

        https://mall.industry.siemens.com/mall/es/WW/Catalog/Product/6ES7231-4HF32-0XB0

        Pues el problema que tengo es que cuando lo alimento y lo configuro en 4-20 mA sin tener nada conectado ya me esta dando las máximas cuentas posibles, que en este caso es 32767, por lo que no me mide ninguna señal analógica que le conecto. No se si se ha podido romper con alguna configuración que se haya hecho mal, pero no se me ocurre otra idea.

        Alguna solución o le ha pasado algo parecido? Muchas gracias.

        Responder
        • Iñigo Gútiez says

          24 diciembre, 2018 at 10:01

          Si lees el manual de la tarjeta comprobarás que es completamente normal que indique ese valor cuando no hay nada conectado ya que te está indicando precisamente que el hilo está roto (en este caso, que no lo tienes conectado).
          Saludos

          Responder
          • PAblo Arroyo says

            4 diciembre, 2020 at 23:16

            Buenas noches:
            Hemos revisado este hilo porque tenemos un poblema curioso. En una tarjeta de 8 entradas tenemos conectados 4 sensores (dos de una marca y dos de otra) todos ellos 4-20 ma. Cuando no hay nada conectado la lectura en todos es -32767, y al conectarlos dos nos marcan correctamente, y los dos de la otra marca nos marcan 32767 (sin el signo menos). Hemos medido con el polímetro y los sensores nos envían la intensidad que deben, pero la tarjeta se va de rango. ¿os ha pasado alguna vez?.
            Muchas gracias y un saludo

          • Iñigo Gútiez says

            4 diciembre, 2020 at 23:20

            Y están bien configurados? 2hilos? 4 hilos? u otro tipo de configuración, tensión… depende de la tarjeta.

          • PAblo Arroyo says

            5 diciembre, 2020 at 20:17

            En un principio son 2 hilos, porque los analizadores llevan alimentación 230 VAC y únicamente nos saca dos hilos de medida en intensidad, como os digo medida con polímetro y es correcta. He visto en la documentación Siemens que en los 2 hilos hacen un puente con la tierra, y hemos probado con y sin ese puente. La tarjeta es 4-20 ó 0-20, no tiene configuración de tensión. Estaba pensando en probar con las entradas analógicas de la CPU, a ver si reacciona diferente. Si se os ocurre algo…

  4. Alfonso Jodar says

    20 diciembre, 2018 at 10:54

    Hola Iñigo buenos días, tengo un problema con unos módulos de AI (SM 1231 AI8) El problema que tengo es que todas las entradas analógicas me dan el máximo de unidades (32767) sin tener siquiera los sensores conectados. El modulo en el programa esta bien configurado y la conexión del modulo también esta correcta, la alimentación y todos los negativos unidos entre si. Tiene todos los pilotos del módulo en verde. No se si me podrías echar una mano. Muchas gracias.

    Responder
    • Iñigo Gútiez says

      27 diciembre, 2018 at 12:05

      Te recomiendo que leas la documentación de las tarjetas. Verás como no es raro que marque 32767 si no hay nada conectado. Es lo normal ya que indica que el circuito está abierto.
      Saludos

      Responder
  5. Alfonso Jódar says

    24 diciembre, 2018 at 9:55

    Hola, tengo un módulo de IA ( SIMATIC S7-1200, módulo de entradas analógicas, SM 1231, 8 AI, +/-10V, +/-5V, +/-2,5V, o 0-20 mA/4-20 mA, 12 bits + signo o (13 bits ADC))

    https://mall.industry.siemens.com/mall/es/WW/Catalog/Product/6ES7231-4HF32-0XB0

    Pues el problema que tengo es que cuando lo alimento y lo configuro en 4-20 mA sin tener nada conectado ya me esta dando las máximas cuentas posibles, que en este caso es 32767, por lo que no me mide ninguna señal analógica que le conecto. No se si se ha podido romper con alguna configuración que se haya hecho mal, pero no se me ocurre otra idea.

    Alguna solución o le ha pasado algo parecido? Muchas gracias.

    Responder
  6. Oscar García says

    16 enero, 2019 at 10:46

    Muy aceptada su explicación sobre el escalamiento. Seguire al tanto de todas las publicaciones suyas.
    Gracias por todo.

    Responder
  7. jose manuel says

    18 enero, 2019 at 18:51

    me pareció excelente tu aporte…. quisiera utilizarlo para que un sensor de presión al marcar una presión mínima accione una válvula solenoide para recuperar la presión perdida… podrías ayudarme porfaaa, me urge para titularme

    Responder
    • Iñigo Gútiez says

      18 enero, 2019 at 21:31

      Tienes que darle al rosco. Tan solo tendrás que escalar la señal analógica, y compararla con esa presión mínima. Si es inferior, que active la EV para recuperar la presión.
      Pero tienes que resolverlo por tu cuenta, ya que es de lo que se trata para titularte.

      Responder
  8. Jeancarlo says

    31 agosto, 2019 at 5:03

    La función scale del s7-300 solo sirve para entradas analógicas de 0-20 mA ? Ya que cuando la pongo para una entrada de 4-20 mA y lo escaló de 0 a 100 cuando el sensor marca 4 mA me da 20 y debería dar 0 ? Esa es mi duda

    Responder
    • Iñigo Gútiez says

      31 agosto, 2019 at 10:28

      Y que es lo que dice la ayuda de esa función?

      Responder
  9. JOSÉ ANAYA says

    7 julio, 2020 at 19:57

    Hola Iñigo, mi problema es un tanto extraño, manejamos una maquina de pesajes que mandan señales de 4-20mA al modulo de 8 ENTRADAS analogicas, en algunas ocasiones los valores se mantienen bien pero cuando le damos ciclo en automático inmediatamente los valores comienzan a dar lecturas en negativo y se empiezan a volver locos.

    Nos comentaban que posiblemente hubiera ruido en las señales, sin embargo cuando checamos corrientes en las entradas del módulo sin problemas da los mA que son proporcionales a las señales de peso, pero cuando esas mismas señales las hemos escalado y normalizado para mandarlas a una HMI y poder trabajar con ellas para realizar los cilcos de mezclado, simplemente se muestran inestables.

    Conoces alguna causa que origine este problema???

    Responder
    • Iñigo Gútiez says

      7 julio, 2020 at 21:25

      Difícil de saber. Si es una máquina vieja que ha funcionado bien y súbitamente empieza a trabajar mal sin que nadie haya tocado el programa, tiraría por algo físico como la tarjeta analógica, ruidos, alimentaciones … si son todos , tiene que ser algo común a ellos. Tendrás que ir descartando cosas y sustituir elementos hasta descubrir el problema. Si es un programa nuevo o que no ha funcionado bien nunca, puede que no esté bien programado.

      Responder
  10. Luis Roberto says

    24 julio, 2020 at 5:44

    Quisiera aprender está parte emos bloques no me quedó MUI clara pero se que es por mi y me cuesta pero en la linealidad no tengo problema quisiera aprender a escalar en estos bloques por qué me interesa Gracias igual es un excelente material

    Responder
    • Iñigo Gútiez says

      26 julio, 2020 at 12:42

      Para eso tienes los cursos 🙂

      Responder
  11. Franco says

    14 agosto, 2020 at 5:12

    Muy buena explicación, ambas la realice una en s7-200 por ecuación de la recta y en S7-300 similar en tia portal.

    Responder
  12. Diana Valeria says

    13 noviembre, 2020 at 14:46

    Hola,
    Disculpa quiero configurar una señal de lectura de 5V, en mi programa he configurado la entrada a a 5VDC, pero mi duda es la siguente, para el normalizado de una señal de 5V en el Max. Valor se configura en 27648?

    Responder
  13. Emilio Santizo says

    13 febrero, 2021 at 0:24

    Tengo un problema con una señal análoga de lectura de una termocopla (termopar), es un PLC S7-300 al cual le tengo un módulo de entradas para termocoplas, solo tengo dos señales conectadas a él, hay ocaciones en las que deja de recibir señal del canal 1, al desconectar y reconectar el termopar vuelvo a tener señal de ese canal y pasado un tiempo unos 15 minutos vuelvo a perder la señal. Si cambio de posición la señal, es decir del canal 1 al canal 2, vuelvo a perder señal del canal 1. Ya se cambió el módulo, ya se revisó el cableado, también el voltaje que genera el termopar y no hay oscilaciones pero sigue dando el mismo problema.

    Alguien que me pueda ayudar.

    Responder
    • Iñigo Gútiez says

      16 febrero, 2021 at 18:23

      Lo siento Emilio, pero no sabría decirte de dónde puede venir el problema.

      Responder

Trackbacks

  1. Entradas analógicas 4-20mA en S7 dice:
    20 junio, 2016 a las 19:05

    […] quieres más información, por ejemplo de cómo hacer esto en TIA Portal, puedes ver la entrada de cómo realizar un escalado en TIA Portal, con el que verás este método además de usando otras […]

    Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto
  • Blog

Copyright © 2021 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores

7 pasos para programar mas ordenado y profesional op

7 pasos para programar más ordenado y profesional

Recibirás de forma TOTALMENTE GRATUITA:

  • Un PDF con los pasos para programar de forma más eficiente, limpia y profesional

PROGRAMACIÓN SIEMENS te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Iñigo Gútiez Chagartegui como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviarte nuestras publicaciones, promociones de productos y/o servicios y recursos exclusivos. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de ActiveCampaign, LLC  (proveedor de email marketing), ubicada en EEUU. ActiveCampaign, LLC
 está acogido al acuerdo EU-US Privacy Shield. Puedes ver la política de privacidad de ActiveCampaign en https://www.activecampaign.com/privacy-policy/. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@programacionsiemens.com así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en nuestra política de privacidad.

x