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
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:
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:
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.
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.
42 Comentarios
Muy buen post, Iñigo. Gracias!
A ti Joan por comentar!
Excelente aporte para la programación…. saludos desde Perú Iñigo !!!!!!
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
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
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?
Hola Juan Manuel.
He añadido un cuadro para que veas la equivalencia entre el direccionamiento simbólico y el directo.
Mil disculpas Íñigo por despiste…..Que haríamos sin ti Íñigo???
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
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!
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
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
Perdona Mb25 que me había equivocado, como bien has indicado.
Muy buena explicación,aplausos..
Saludos Iñigo.
Muchas gracia Ronald!
Simplemente necesito aprender, y leer estos minicursos me resulta muy interesante.
Genial Jesús. Me alegro que te ayude.
Saludos!
Ha quedado perfectamente explicado. Gracias Inigo.
Muy buena tu pagina y post..te felicito..Pudieras abarca temas como hacer proyectos haciendo uso de la Guía Gemma?…Un saludo¡
Muchas gracias Jesús.
Lo de la guía Gemma no lo tengo previsto de momento.
Saludos
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!
Hola Daniel.
Para programar en SCL solo has de crear un nuevo bloque y elegir como lenguaje SCL. Viene con TIA portal.
Saludos
Exelente aporte ingeniero!! Ahora me que da mucho más claro !! Me gustaría seguir aprendiendo más de usted!!
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?
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.
Una pregunta mas ingeniero!! Acabando el curso recibo un certificado o u. Documento de aprobación del curso!!
Hola Richard. No no hay certificado de aprobación, ya que tampoco hay exámenes.
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!!
Cuando quieras Richard! Será un placer tenerte como un alumno más.
Saludos
Gracias por el apoyo es de bastante ayuda saludos!!
A ti German por pasarte y comentar 🙂
Hola iñigo
Excelente post gracias por toda tu dedicación
Gracias Elver por comentar!
Formidable. Más claro, agua. Un saludo.
Gracias Rafa!
Gracias Iñigo sigue así.
Muchas gracias, muy buen post.
Muchas gracias Javier.
hola buenas tardes sabes si hay algun equivalente de Block_DB de siemens S7 a Tia Portal, te agradeceria tus comentarios
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
¿A qué te refieres con «eliminar»? porque en TIA Portal todas las variables tienen etiqueta.
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.