• 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

Cómo identificar bits activos en un DB

Cómo identificar bits activos en un DB

por Iñigo Gútiez · 11 Comments

Recientemente he tenido una consulta en la cual el lector me preguntaba una forma de identificar bits activos dentro de un DB.

La idea es identificar los bits y pasar esta información a otro DB donde podamos ver qué bits son los que se han identificado.

Esta clara la aplicación ¿no?

Contenido

Cómo identificar bits activos

Lo que vamos a hacer, es algo similar a lo que puedes ver en la siguiente imagen:

identificar bits activos

Como ves, la idea es identificar los bits que están a 1 (en verde) y traducir su dirección a un numero real que se almacenará en orden en otro DB indicando la dirección física que está a 1 en el DB1.

¿Listo? Empecemos a identificar bits activos

He creado un FC al cual le pasamos 3 valores: el DB de booleanas (DB_Bool), el DB de reales (DB_Reales), y el número de booleanas a tratar (NumeroBool).

Lo que haremos será lo siguiente:

  • Limpiar el DB destino con un valor que no pueda tomar nunca una dirección. Por ejemplo -1.0. La razón es que el 0.0 sí es una dirección válida.
  • Usaremos un índice que vaya diciéndonos qué bit es el que estamos evaluando.
  • Rastrearemos bit por bit del DB de booleanas. Si es false, no haremos nada. Si es TRUE copiaremos el índice en el DB destino pero transformando el número de bit en un número real representativo de la dirección.

Por tanto, en el DB destino tendremos los valores que representan los bits puestos a TRUE del primer DB siendo -1.0 el resto de valores.

El vídeo de identificar bits activos

Como en otras ocasiones, la explicación la veremos a través de un  vídeo:

Precauciones en el uso

Tienes que tener en cuenta que para usar este FC1 que ves en el vídeo, el número de bits y de reales en los DB origen y destino tienen que ser igual de grandes, ya que podrían estar todos los bits a TRUE.

Lógicamente el DB destino podría ser aún mayor, pero al menos tiene que ser igual.

El número de bits a chequear deberá ser como mucho, igual de grande que el número de bits del DB origen

¿Quieres descargar el proyecto?

Apúntate a la newsletter, y además de obtener el proyecto, recibirás un mini-curso gratuito de Step 7.

Descargar el proyecto ejemplo

Recuerda en chequear tu email para recibir  un mini curso de Step 7 y un PDF de regalo

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.

    11 Comentarios

  1. Zeno Martorana says

    9 febrero, 2017 at 7:38

    Querido amigo.

    Quisiera hacerte una pregunta, tengo en una red Profinet 2 encoders y debo controlar el movimiento Horizonta y vertical, de dos motores, los cuales deben
    detenerse en ciertas posiciones prefijadas. La informacion de los inverters me llegan atraves del Profinet, pero no se donde.

    En pocas palabras, como capturo la posicion que me van dando los inverters en cada momento, para saber cuando parar los motores

    Gracias por tu tiempo. Y disculpa si mi explicacion es poco entendible.

    Zeno Martorana.

    Responder
    • Iñigo Gútiez says

      9 febrero, 2017 at 9:57

      Hola,
      No te puedo ser de mucha utilidad. Tienes que ver en la configuración del hardware que entradas y salidas intercambian. Una vez que tengas esas direcciones, mirar en la documentación del encoder y ver como envía los datos, en que bytes etc.
      Vamos, que cada aparato tiene su configuración y la forma de comunicarte lo establece el fabricante del bicho.

      Tienes que mirar la documentación del encoder y la configuración de hardware del proyecto para saber donde escribe.

      Saludos

      Responder
  2. Oscar Arango says

    9 febrero, 2017 at 12:49

    Cordial Saludo,

    Estimado Iñigo muchas gracias por tus aportes y por compartir tu conocimiento.

    Tengo una consulta, has trabajado con CPU SIMOTION, si es asi, veremos alguna entrada con un tutorial.

    Gracias

    Responder
    • Iñigo Gútiez says

      9 febrero, 2017 at 18:00

      Hola Oscar. El catálogo de hardware de Siemens es enorme y a día de hoy no me he tenido que enfrentar con los Simotion por lo que no tengo experiencia con ellos. Lamento no poder ayudarte con ellos.
      Saludos

      Responder
      • Oscar Arango says

        9 febrero, 2017 at 19:01

        Claro entiendo, muchas gracias.

        Responder
  3. David says

    12 febrero, 2017 at 8:03

    Super chulo el ejemplo!!! para usar los blucles loop-next y los punteros que a mi personalmente me cuesta un poco coger el hilo a la hora de llevarlo a la practica a pesar de ser sencillo de comprender su cometido.

    Esta muy bien para poder saber ya a tiro fijo que direccion de defectos estan a 1 si tu maquina no te indica la direccion solo el comentario y tiene un DB donde los registra y se te nubla la vista si tenes por ejemplo 512 booleanas de defectos y tienes que vusualizar cual es TRUE y cual es FALSE.

    Responder
    • Iñigo Gútiez says

      12 febrero, 2017 at 21:37

      Muchas gracias David. Esta semana, lo vemos realizado en SCL. Saludos!

      Responder
  4. Vicente says

    12 febrero, 2017 at 23:02

    Hola Iñigo
    No encuentro el enlace del proyecto del semaforo y adquiri en su dia el curso,
    Me lo podria descargar de algun enlace o por mail?
    Gracias!!

    Responder
    • Iñigo Gútiez says

      12 febrero, 2017 at 23:49

      Hola Vicente,
      El ejemplo del semáforo está en la carpeta de los proyectos que te descargas junto con el pdf. Se llama ejemplo semáforo.
      Mira ahí, porque tiene que estar.
      Saludos

      Responder
  5. Zeno Martorana says

    10 abril, 2018 at 8:57

    Gracias amigo. Te agradezco tu tiempo y esfuerzo …..
    Un gran abrazo.

    Responder
  6. Zeno Martorana says

    13 junio, 2018 at 16:29

    Gracias.
    Necesito ver como identificar bit’s activos en un aword de alarmas que me llega desde un robot. Pienso que este programa me pueda ayudar.

    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