• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página

Programación Siemens

Cursos online de TIA Portal y PLC Siemens.

  • Cursos
  • Blog
  • Mi cuenta
    • Mi cuenta
    • Foros
    • Curso HMI con Python y Qt-Designer
    • Curso de AWL
    • 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 ViSnap7
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto & Faq
Home | blog | Señal analógica en TIA Portal – Escalado

Señal analógica en TIA Portal – Escalado

Señal analógica en TIA Portal – Escalado

por Iñigo Gútiez · 32 comentarios

El escalado de una señal analógica en TIA Portal 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 en TIA Portal 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
  • 4 Curso de TIA Portal

Escalado de una señal analógica en TIA Portal 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

Curso de TIA Portal

Si necesitas ayuda para dominar la programación en TIA Portal, recuerda que puedes echarle un vistazo al curso de TIA Portal de la serie S7-1200 de Siemens

Iñigo Gútiez
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.

Publicado en: blog

Interacciones con los lectores

    Deja un comentario Cancelar

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

    32 Comentarios

  1. javier emilio dice

    16 junio, 2016 a las 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 dice

      16 junio, 2016 a las 17:08

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

      Responder
  2. Jose dice

    14 junio, 2018 a las 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 dice

      14 junio, 2018 a las 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
    • Rogerio Cardoso dice

      28 abril, 2022 a las 14:01

      Parabèns ingo, estas information auxiliaries muito em projects !!

      Responder
  3. victor valenzuela dice

    1 octubre, 2018 a las 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 dice

      1 octubre, 2018 a las 18:43

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

      Responder
      • Alfonso dice

        24 diciembre, 2018 a las 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 dice

          24 diciembre, 2018 a las 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 dice

            4 diciembre, 2020 a las 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 dice

            4 diciembre, 2020 a las 23:20

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

          • PAblo Arroyo dice

            5 diciembre, 2020 a las 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 dice

    20 diciembre, 2018 a las 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 dice

      27 diciembre, 2018 a las 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 dice

    24 diciembre, 2018 a las 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 dice

    16 enero, 2019 a las 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 dice

    18 enero, 2019 a las 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 dice

      18 enero, 2019 a las 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 dice

    31 agosto, 2019 a las 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 dice

      31 agosto, 2019 a las 10:28

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

      Responder
  9. JOSÉ ANAYA dice

    7 julio, 2020 a las 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 dice

      7 julio, 2020 a las 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 dice

    24 julio, 2020 a las 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 dice

      26 julio, 2020 a las 12:42

      Para eso tienes los cursos 🙂

      Responder
      • Eduardo Antonio Amaya Garcia dice

        8 septiembre, 2021 a las 2:09

        Buenaa tardes es posible analogicamente convertir una señal 0 a 10V y escalarla 4 a 20mA si me ayuda como seria el proceso ces decir a 5V iw64 me de qw 64 16ma con resitencia 820 ohms

        Responder
  11. Franco dice

    14 agosto, 2020 a las 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 dice

    13 noviembre, 2020 a las 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 dice

    13 febrero, 2021 a las 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 dice

      16 febrero, 2021 a las 18:23

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

      Responder
  14. Juan Jimenez dice

    20 mayo, 2021 a las 13:13

    Quisiera pasar un valor 4…20ma a 0-10 voltios, que debería de hacer?

    Responder
    • Iñigo Gútiez dice

      20 mayo, 2021 a las 15:12

      Qué significa pasar un valor de 4..20 a 0-10? Con esos datos, lo siento, pero no te puedo ayudar.

      Responder
  15. Jimy dice

    10 junio, 2021 a las 19:45

    Buenas tardes, he creado mi función para escalar y otra para normalizar una señal ya que he tenido problemas con usar las funciones del TIA portal, y me ha ido bien.

    Responder

Footer

· Acerca de
· Misión, Visión y valores
· Aviso Legal y Política de Privacidad
· Condiciones de Venta
· Política de cookies
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y tu experiencia de usuario. Si continuas navegando, consideramos que aceptas su uso. Aceptar Política de cookies
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR