• 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 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

Direccionamiento simbólico en TIA Portal

Direccionamiento simbólico en TIA Portal

por Iñigo Gútiez · 42 Comments

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?

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?

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.

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.

    42 Comentarios

  1. Joan Domingo says

    15 marzo, 2017 at 19:45

    Muy buen post, Iñigo. Gracias!

    Responder
    • Iñigo Gútiez says

      15 marzo, 2017 at 20:15

      A ti Joan por comentar!

      Responder
      • Elmer velasquez says

        15 marzo, 2017 at 21:51

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

        Responder
  2. Victorsjg says

    15 marzo, 2017 at 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 says

      15 marzo, 2017 at 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 says

        16 marzo, 2017 at 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 says

          16 marzo, 2017 at 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 says

            16 marzo, 2017 at 20:03

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

      • Victorsjg says

        16 marzo, 2017 at 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 says

          16 marzo, 2017 at 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 says

            16 marzo, 2017 at 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 says

            16 marzo, 2017 at 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 says

            16 marzo, 2017 at 21:58

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

  3. Ronald says

    15 marzo, 2017 at 22:12

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

    Responder
    • Iñigo Gútiez says

      15 marzo, 2017 at 22:40

      Muchas gracia Ronald!

      Responder
  4. Jesus Bueno says

    15 marzo, 2017 at 23:28

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

    Responder
    • Iñigo Gútiez says

      16 marzo, 2017 at 20:44

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

      Responder
  5. Enrique says

    16 marzo, 2017 at 6:41

    Ha quedado perfectamente explicado. Gracias Inigo.

    Responder
  6. jesus varela says

    16 marzo, 2017 at 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 says

      16 marzo, 2017 at 11:12

      Muchas gracias Jesús.

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

      Saludos

      Responder
  7. Daniel Masson says

    16 marzo, 2017 at 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 says

      16 marzo, 2017 at 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 says

    16 marzo, 2017 at 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 says

    16 marzo, 2017 at 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 says

      16 marzo, 2017 at 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 says

    16 marzo, 2017 at 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 says

      16 marzo, 2017 at 17:48

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

      Responder
      • Richard Herrera says

        16 marzo, 2017 at 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 says

          16 marzo, 2017 at 21:51

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

          Responder
  11. German says

    17 marzo, 2017 at 6:32

    Gracias por el apoyo es de bastante ayuda saludos!!

    Responder
    • Iñigo Gútiez says

      21 marzo, 2017 at 22:29

      A ti German por pasarte y comentar 🙂

      Responder
  12. Elver Cárdenas says

    18 marzo, 2017 at 5:14

    Hola iñigo

    Excelente post gracias por toda tu dedicación

    Responder
    • Iñigo Gútiez says

      21 marzo, 2017 at 22:28

      Gracias Elver por comentar!

      Responder
  13. Rafa Llorens says

    20 marzo, 2017 at 11:29

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

    Responder
    • Iñigo Gútiez says

      21 marzo, 2017 at 22:26

      Gracias Rafa!

      Responder
  14. Jose Luis Peña says

    4 abril, 2017 at 22:04

    Gracias Iñigo sigue así.

    Responder
  15. Javier says

    1 diciembre, 2018 at 12:50

    Muchas gracias, muy buen post.

    Responder
    • Iñigo Gútiez says

      1 diciembre, 2018 at 12:57

      Muchas gracias Javier.

      Responder
  16. JUAN CARLOS MENDOZA FERNANDEZ says

    29 julio, 2021 at 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 says

    10 mayo, 2022 at 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 says

      12 mayo, 2022 at 10:58

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

      Responder
      • Carlos Serrato says

        13 mayo, 2022 at 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
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto & Faq
  • Blog

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

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