• 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 | Direccionamiento simbólico en TIA Portal

Direccionamiento simbólico en TIA Portal

Direccionamiento simbólico en TIA Portal

por Iñigo Gútiez · 42 comentarios

El direccionamiento simbólico en TIA Portal es una de los puntos más diferenciales que podemos encontrar entre Step 7 tradicional y el que nos encontramos en TIA.

Esto se debe no a cómo damos nombres a las etiquetas, pero sí cómo nos vamos a referir a la información contenida en ella.

Pero iniciemos repasando cómo se direcciona simbólicamente.

Contenido

  • 1 Direccionamiento simbólico en TIA Portal
    • 1.1 Uso de etiquetas globales
    • 1.2 Uso de etiquetas locales de bloques
    • 1.3 Direccionamiento simbólico de las etiquetas de los DB
  • 2 Direccionamiento parcial en TIA Portal
  • 3 ¿Qué equivalencia hay entre el direccionamiento directo y el simbólico?
  • 4 ¿Te ha quedado más claro ahora el direccionamiento simbólico en TIA Portal?

Direccionamiento simbólico en TIA Portal

El direccionamiento simbólico en TIA Portal se realiza como puedes imaginar a través de etiquetas definidas en este caso por ti.

Podemos englobar este direccionamiento en tres grandes grupos de etiquetas:

  • Globales
  • Locales de bloques
  • Etiquetas en los DB

Esta forma de dar nombres, es similar a como se hacía en Step 7 tradicional.

Repasemos estos conceptos.

Uso de etiquetas globales

Las etiquetas globales hacen referencia a las variables globales del programa del PLC. Por tanto tendrá las siguientes características:

  • Pueden ser llamadas desde cualquier bloque del programa: OB, FC o FB.
  • Pueden etiquetarse Entradas, salidas, periferia y marcas
  • No puede haber dos etiquetas con el mismo nombre.

La idea es clara: todas las variables globales las puedes usar a lo largo y ancho del programa.

Por tanto, puedes etiquetar, o lo que es lo mismo, dar nombre, a entradas, salidas etc.

Lógicamente, como son variables globales, no puede haber dos etiquetas con el mismo nombre.

Uso de etiquetas locales de bloques

Las etiquetas locales son las que se usan en los bloques como FC y FB.

  • Son declaradas en la interface del bloque
  • No puede haber dos etiquetas con el mismo nombre en el mismo bloque pero sí con el mismo nombre en diferentes bloques
  • Pueden etiquetarse temporales, parámetros de FC y FB, estáticas de FB y operandos de los DB.
  • Son indicados con el símbolo “#”. Esto es simplemente para indicar que son locales.

Esta claro ¿no?
Se trata de etiquetas que se usan de forma exclusiva en el interior de los bloques, por lo que hay que declararlas dentro de estos, y poco o nada importa que se repitan los nombres en otros bloques, ya que no interfieren entre sí como en el caso de las globales.

Direccionamiento simbólico de las etiquetas de los DB

Finalmente, vayamos con las etiquetas definidas en los DB:

  • Se direcciona junto con el bloque donde ha sido definida. Por ejemplo, si tenemos un DB llamado “Motor 1” donde hemos definido la “Velocidad”, el direccionamiento sería: “Motor 1”.Velocidad
  • Si la etiqueta lleva caracteres especiales, como un espacio en blanco, el nombre irá entrecomillado. Por ejemplo, si fuera “Velocidad nominal”, el direccionamiento sería: “Motor 1”.”Velocidad nominal”

Ojo porque en el caso de los DB tendrás que tener en cuenta si son optimizados o no.

En el caso de que sean optimizados (posible solamente en el los PLC 1200 y 1500), no podrás usar el direccionamiento absoluto ya que la dirección como tal, se pierde.

Por tanto, no podrás realizar un DB1.DBW0 porque realmente no sabes dónde estás apuntando.

En cambio, si el bloque no está optimizado, el direccionamiento directo sí será posible.

Todo esto lo vemos con mucha mayor profundidad en el curso de TIA Portal.

Direccionamiento parcial en TIA Portal

Lo visto hasta ahora, no difiere mucho con lo que nos podemos encontrar en Step 7. Pero en esto sí.

En step 7 tradicional, para dirigirnos a un bit en concreto de una variable por ejemplo entera, solo se podía hacer de forma absoluta.

Es decir, si por ejemplo yo tenía definido una etiqueta «Velocidad» de tipo entero cuya direccion de memoria era la MW100, solo podía acceder a los bits o bytes de la variable de forma absoluta (M100.1 por ejemplo).

Bien es cierto, que en Step 7 tradicional se puede dar nombre al bit M100.1 aunque esté solapándose con la MW100 a la que le hemos denominado «Velocidad»

Esto ha sido superado por el direccionamiento parcial en TIA Poral. Ahora, podemos acceder a la información de cada bit, byte o word de una etiqueta de una forma más sencilla y elegante.

Para direccionarlo solo tendremos que usar estas reglas:

  • “Nombre”.xN para direccionar el bit N de la variable “Nombre”
  • “Nombre”.bN para direccionar el byte N de la variable “Nombre”
  • “Nombre”.wN para direccionar el Word N de la variable “Nombre”

El aspecto que tiene, es como en la siguiente imagen:

Direccionamiento simbólico en TIA Portal-2

Ni que decir tiene, que el direccionamiento parcial será posible cuando la variable sea más grande que el direccionamiento parcial.

Es decir, no podremos hacer un direccionamiento parcial de un Word de una variable que tenga tamaño byte.

¿Qué equivalencia hay entre el direccionamiento directo y el simbólico?

Para aclarar la equivalencia entre el direccionamiento directo y el simbólico, te dejo este cuadro:

Direccionamiento simbólico en TIA Portal

Y para dejarlo aún más claro, te invito a que veas este vídeo donde efectivamente comprobamos que la equivalencia es como la indicada en el cuadro:

direccionamiento indirecto from Iñigo Gútiez on Vimeo.

¿Te ha quedado más claro ahora el direccionamiento simbólico en TIA Portal?

La idea de esta entrada era clarificar el uso potenciado que tiene ahora el direccionamiento simbólico en TIA Portal.

El direccionamiento absoluto comienza a ser menos importante ya que puedes referirte de una forma mucho más sencilla al poseer la herramienta del direccionamiento parcial.

Si necesitas ayuda para comprender bien cómo funciona TIA Portal te invito a que eches un vistazo al curso de TIA Portal porque todo está explicado detenidamente para que conozcas al detalle cómo funcionan los autómatas, cómo se divide la memoria, tipos de datos, programación en escalera, en SCL, la programación de pantallas…

Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.

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.

    42 Comentarios

  1. Joan Domingo dice

    15 marzo, 2017 a las 19:45

    Muy buen post, Iñigo. Gracias!

    Responder
    • Iñigo Gútiez dice

      15 marzo, 2017 a las 20:15

      A ti Joan por comentar!

      Responder
      • Elmer velasquez dice

        15 marzo, 2017 a las 21:51

        Excelente aporte para la programación…. saludos desde Perú Iñigo !!!!!!

        Responder
  2. Victorsjg dice

    15 marzo, 2017 a las 21:52

    Hola Íñigo, en cuanto al direccionamiento parcial de byte o word, este empieza en 0? si es así el número cero corresponde con el más significativo.

    saludos

    Responder
    • Iñigo Gútiez dice

      15 marzo, 2017 a las 22:39

      Sí, empieza en cero.
      En el caso de bits, sobre una variable word, irá de 0 a 15. El 0 será el menos significativo, y el 15 el más significativo, lo cual es lógico.
      Supongamos que fuera MW0 = Dato. Si hacemos un Dato.%X0 no estamos haciendo un M0.0, sino un M1.0
      En direccionamiento simbólico se direcciona digamos de forma «normal» como lo hace todo el mundo. El 0 es el menos significativo, y el 15 el de más. Otra cosa es que si lo pasas a direccionamiento directo esta misma información, tienes que seguir haciéndolo como hasta ahora.
      Saludos

      Responder
      • Juan Manuel Gelmini dice

        16 marzo, 2017 a las 15:44

        Hola como estas Iñigo? En esta explicación que diste me perdí…como seria entonces si yo quisiera apuntar con un direccionamiento parcial de bits a la M0.0 del MW0?

        Responder
        • Iñigo Gútiez dice

          16 marzo, 2017 a las 18:51

          Hola Juan Manuel.
          He añadido un cuadro para que veas la equivalencia entre el direccionamiento simbólico y el directo.

          Responder
          • Juan Manuel Gelmini dice

            16 marzo, 2017 a las 20:03

            Mil disculpas Íñigo por despiste…..Que haríamos sin ti Íñigo???

      • Victorsjg dice

        16 marzo, 2017 a las 20:21

        Lo de los bits si lo tenía claro, el tema era con los bytes y words si en parcial de words o doble words, que por lo que veo siempre empiezan en cero por la derecha.

        saludos

        Responder
        • Iñigo Gútiez dice

          16 marzo, 2017 a las 20:43

          Hola Victor. Es similar a cuando haces lo mismo en WinCC Flexible. Que dices el bit 0 al 15 por ejemplo, y la correspondencia es la misma. El «coceto» que diría Manquiñas, es el mismo.
          Saludos y gracias por dar pie a la aclaración!

          Responder
          • Victorsjg dice

            16 marzo, 2017 a las 21:37

            No sé si me estoy explicando, si tienes la variable datos que es una palabra (mw24) y en modo simbólico parcial pones datos.%b1, corresponda con el byte mb24 y no con el mb23

            saludos

          • Iñigo Gútiez dice

            16 marzo, 2017 a las 21:50

            Eso en ningún caso Victor. El MW24 abarcan el MB24 y el MB25. El MB23 no aparece ni se le espera.
            El byte bajo será el MB25 (%b0) y el byte alto es el MB24 (%b1).
            La lógica es la misma que con los bits.
            Saludos

          • Victorsjg dice

            16 marzo, 2017 a las 21:58

            Perdona Mb25 que me había equivocado, como bien has indicado.

  3. Ronald dice

    15 marzo, 2017 a las 22:12

    Muy buena explicación,aplausos..
    Saludos Iñigo.

    Responder
    • Iñigo Gútiez dice

      15 marzo, 2017 a las 22:40

      Muchas gracia Ronald!

      Responder
  4. Jesus Bueno dice

    15 marzo, 2017 a las 23:28

    Simplemente necesito aprender, y leer estos minicursos me resulta muy interesante.

    Responder
    • Iñigo Gútiez dice

      16 marzo, 2017 a las 20:44

      Genial Jesús. Me alegro que te ayude.
      Saludos!

      Responder
  5. Enrique dice

    16 marzo, 2017 a las 6:41

    Ha quedado perfectamente explicado. Gracias Inigo.

    Responder
  6. jesus varela dice

    16 marzo, 2017 a las 10:37

    Muy buena tu pagina y post..te felicito..Pudieras abarca temas como hacer proyectos haciendo uso de la Guía Gemma?…Un saludo¡

    Responder
    • Iñigo Gútiez dice

      16 marzo, 2017 a las 11:12

      Muchas gracias Jesús.

      Lo de la guía Gemma no lo tengo previsto de momento.

      Saludos

      Responder
  7. Daniel Masson dice

    16 marzo, 2017 a las 14:18

    Muy didácticos tus artículos Íñigo, aprovecho la oportunidad para hacerte una consulta: no encuentro el acceso al editor SCL en TIA Portal V13; ¿se suministra como una aplicación adicional y estoy haciendo algo incorrecto?
    Saludos y gracias!

    Responder
    • Iñigo Gútiez dice

      16 marzo, 2017 a las 18:52

      Hola Daniel.
      Para programar en SCL solo has de crear un nuevo bloque y elegir como lenguaje SCL. Viene con TIA portal.
      Saludos

      Responder
  8. Richard Herrera dice

    16 marzo, 2017 a las 16:46

    Exelente aporte ingeniero!! Ahora me que da mucho más claro !! Me gustaría seguir aprendiendo más de usted!!

    Responder
  9. Richard Herrera dice

    16 marzo, 2017 a las 17:13

    Me interesa mucho el curso , y estaba revisando el detalle del curso y dice que tengo que tener instalado Tía portal v13 y plcsim v13 , pero yo tengo la v12 y plcsim v13 , mi pregunta es me sirven esos para hacer el curso?

    Responder
    • Iñigo Gútiez dice

      16 marzo, 2017 a las 17:54

      El curso está realizado en TIA Portal 13, y los ejemplos que te puedes descargar lógicamente también. Eso no quita para que el desarrollo del curso sirva tanto para la versión 12 como para la 13, pero lógicamente es más cómodo hacerlo desde la 13.

      Responder
  10. Richard Herrera dice

    16 marzo, 2017 a las 17:21

    Una pregunta mas ingeniero!! Acabando el curso recibo un certificado o u. Documento de aprobación del curso!!

    Responder
    • Iñigo Gútiez dice

      16 marzo, 2017 a las 17:48

      Hola Richard. No no hay certificado de aprobación, ya que tampoco hay exámenes.

      Responder
      • Richard Herrera dice

        16 marzo, 2017 a las 21:46

        Gracias ingeniero por la información de lo por hecho que recibiré su curso , mi primer paso será instalar la versión 13 lo que es el plc s7-1200 y una KTP 600 basic si tengo conmigo para iniciar el curso!!

        Responder
        • Iñigo Gútiez dice

          16 marzo, 2017 a las 21:51

          Cuando quieras Richard! Será un placer tenerte como un alumno más.
          Saludos

          Responder
  11. German dice

    17 marzo, 2017 a las 6:32

    Gracias por el apoyo es de bastante ayuda saludos!!

    Responder
    • Iñigo Gútiez dice

      21 marzo, 2017 a las 22:29

      A ti German por pasarte y comentar 🙂

      Responder
  12. Elver Cárdenas dice

    18 marzo, 2017 a las 5:14

    Hola iñigo

    Excelente post gracias por toda tu dedicación

    Responder
    • Iñigo Gútiez dice

      21 marzo, 2017 a las 22:28

      Gracias Elver por comentar!

      Responder
  13. Rafa Llorens dice

    20 marzo, 2017 a las 11:29

    Formidable. Más claro, agua. Un saludo.

    Responder
    • Iñigo Gútiez dice

      21 marzo, 2017 a las 22:26

      Gracias Rafa!

      Responder
  14. Jose Luis Peña dice

    4 abril, 2017 a las 22:04

    Gracias Iñigo sigue así.

    Responder
  15. Javier dice

    1 diciembre, 2018 a las 12:50

    Muchas gracias, muy buen post.

    Responder
    • Iñigo Gútiez dice

      1 diciembre, 2018 a las 12:57

      Muchas gracias Javier.

      Responder
  16. JUAN CARLOS MENDOZA FERNANDEZ dice

    29 julio, 2021 a las 21:59

    hola buenas tardes sabes si hay algun equivalente de Block_DB de siemens S7 a Tia Portal, te agradeceria tus comentarios

    Responder
  17. Carlos Serrato dice

    10 mayo, 2022 a las 16:36

    Buenas, ante todo gracias por este gran post. Te quería consultar, como se pueden eliminar todas esas etiquetas y nomenclaturas, tanto de tags, como de bloques, ya que en versiones anteriores lo podía hacer dando a un botón y ahora con el V16 no lo encuentro. Muchas gracias y un saludo

    Responder
    • Iñigo Gútiez dice

      12 mayo, 2022 a las 10:58

      ¿A qué te refieres con «eliminar»? porque en TIA Portal todas las variables tienen etiqueta.

      Responder
      • Carlos Serrato dice

        13 mayo, 2022 a las 16:16

        Buenas tardes, a quitar los nombres puestos por el programador y que cuando se extraiga el programa del PLC, aparezca OB1 o tag1 y no el nombre. Muchas gracias y un saludo.

        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