Anuncio TOP B1 Mensaje

Colapsar

Anuncio TOP B4 Mensaje (Mobile)

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.

Programar secuencial sin marcas para etapas

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Programar secuencial sin marcas para etapas

    Hola,

    Alguna vez vi por ahí la programación de un sistema secuencial sin asignar marcas a cada etapa.
    No recuerdo si iban incrementando un contador o desplazando un bit.

    Alguien tendría un ejemplo sencillo de cómo hacerlo?'
    Solo he programado asignando una marca a cada etapa y me gustaría aprender a hacerlo con otro sistema que creo recordar que era más sencillo.

    Gracias y un saludo

  • #2
    Buen día,

    Si usas una marca por etapa estarías gastando mucha memoria si tienes una secuencia larga y compleja. Puedes usar contadores pero eso significa gastar contadores. Te recomiendo que uses una memoria incluso en byte y aproveches el valor en decimal haciendo comparaciones. En 1 byte hay 8 bits si su formato es binario pero si es decimal tienes un tope de 255, a lo que voy con eso es que usando 1 solo byte en decimal puedes hacer una secuencia de 255 pasos, pero si usas el byte en binario podrías hacer una secuencia de 8 pasos. Ahora para hacer la secuencia es simple, haz una igualación y la transición de etapas es incrementando el valor del byte. Si byte = 1, entonces hace tal cosa, al hacer la transición le mueves un 2 al byte o le haces un incremento así que en la siguiente etapa se evalúa si byte = 2, y así hasta finalizar la secuencia dentro de esos 255 pasos disponibles. Si necesitas más pues la pasas a word y lo mismo, si usas la word en binario (bit por bit) tendrpias 16 pasos, pero si la usas en decimal tendrías hasta 65535 pasos disponibles.

    Saludos!!

    Comentario


    • #3
      Gracias por tu consejo.
      Cómo actuaría sobre ese byte para ir incrementándolo?
      Sería definido como Int?
      En la condición para actuar sobre él también condicionaría si el byte es igual a N y se activa esto y lo otro, se incrementa una unidad decimal?

      Si sabes de algún ejemplo, te lo agradecería.

      Un saludo y gracias

      Comentario


      • #4
        ¿Algo como esto?

        https://www.infoplc.net/descargas/15...automata-omron

        Salu2

        Comentario


        • #5
          Originalmente publicado por Togomi Ver Mensaje
          Gracias por tu consejo.
          Cómo actuaría sobre ese byte para ir incrementándolo?
          Sería definido como Int?
          En la condición para actuar sobre él también condicionaría si el byte es igual a N y se activa esto y lo otro, se incrementa una unidad decimal?

          Si sabes de algún ejemplo, te lo agradecería.

          Un saludo y gracias
          Yo prefiero usar move. Si usas la funcion inc estas mas condicionado que si usas move. El move te permite saltar a etapas diferentes o volver a etapas anteriores con mucha flexibilidad. La variable step la defino como int.

          La idea seria:

          Si step=1 mas condiciones para 2, move 2 a step
          Si step=2 mas condiciones para 3, move 3 a step
          Si step=3 mas condiciones para 4, move 4 a step
          etc

          Saludos

          Comentario

          Anuncio Footer B3 Mensaje

          Colapsar

          Anuncio Footer B5 Mensaje (Mobile) 300x600

          Colapsar
          Trabajando...
          X