🥇BUCLES FOR, WHILE y REPEAT en TIA PORTAL✅ ▶ Como Programar un LOOP en SCL

Поделиться
HTML-код
  • Опубликовано: 7 окт 2024
  • Tengo algo que contarte más importante que lo que estás viendo en este vídeo, es muy probable que te interese. Es aquí: www.programaci...

Комментарии • 28

  • @programacionmultidisciplinar
    @programacionmultidisciplinar  3 года назад +4

    Tengo algo que contarte más importante que lo que estás viendo en este vídeo, es muy probable que te interese. Es aquí: www.programacionmultidisciplinar.com/inicio

  • @issamsikaddouri6584
    @issamsikaddouri6584 2 года назад +4

    El mejor canal de programacion de PLC sin duda, tanto por la explicacion IMPECABLE que nos ofreces como tambien por el tiempo que inviertes en prepararlo que se nota.... GRACIAS

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  2 года назад +1

      Muchas gracias por esas enormes palabras Issam!! La verdad es que si, intento que cada vídeo sea una obra de arte. Y mejoro con cada uno que hago 🔥🔥
      Un Abrazo máquina!

  • @luiscortesfdz
    @luiscortesfdz 3 года назад +1

    Yo también quede desconcertado cuando vi el valor de 11 en "i" jajaja.
    Excelente video.

  • @jorgecanales2199
    @jorgecanales2199 2 года назад +1

    Excelente sus vídeos Ing. Abel, les estoy dando caña uno por uno, y estoy aprendiendo bastante con su metodología y si me falla, vuelvo a analizarlo. Como dato interesante para este vídeo, estoy usando TIA 16, y cuando le intento cargar el Loop Infinito el mismo TIA me lo reconoce y no deja cargar el programa.
    Saludos desde México

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  Год назад

      Gracias por la info Jorge!
      Desconocía que la v16 ya tuviera la funcionalidad de detectar bucles infinitos, parece que estos de Siemens van mejorando 🤣
      Siempre se aprende algo nuevo.
      Salu2 crack!

  • @manuelrodriguezperez3419
    @manuelrodriguezperez3419 3 года назад +1

    Buenos días Abel, me gustaría entender la diferencia entre declarar la variable i como
    temporal, o dentro de la DB. Como siempre, gracias por tu esfuerzo.

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  3 года назад +5

      En los vídeos de FC y FB hablo sobre ello, aunque ahora que lo pienso, no tengo un vídeo exclusivamente hablando de esto. Pero bueno, la diferencia es que una variable estatica o static, es una variable que guarda el último valor que tuvo antes de que se terminara el ciclo de scan, y en el siguiente ciclo de scan parte de ese último valor. Las variables static solo existen en las DB. Por otro lado, las variables temporales o temp, son variables que no guardan su valor en la memoria de la cpu, por tanto, cuando finaliza el ciclo de scan, la variable temporal pierde su valor y cuando empieza un nuevo ciclo de scan, dicha variable empieza con su valor por defecto, que suele ser 0.
      Un saludo y gracias por el apoyo!

    • @user-vq5tb9jn7n
      @user-vq5tb9jn7n 2 года назад

      @@programacionmultidisciplinar y si creas una variable temporal booleana y al final del ciclo scan la dejas seteada con un set? tambien pierde su valor?

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  2 года назад

      @@user-vq5tb9jn7n Si, porque el PLC no guarda en memoria el último valor que tenía antes de finalizar el ciclo de scan.

  • @rudymendoza5562
    @rudymendoza5562 2 года назад +1

    Excelente...!! Tengo una duda. Existen los hilos o multitareas en los PLC de Siemens? Me refiero a que si debo de hacer un bucle esperando una respuesta que demore, hacerlo asíncronamente (o en paralelo) al OB1 para así no perder el control del proceso principal.

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  2 года назад +2

      Lo más parecido a los threads que tiene TIA Portal, al igual que en Step 7, es el OB35, Cyclic Interrupt. Se trata de un OB que se ejecuta de manera independiente al OB Main, y más rápido todavía. Lo que hace en realidad es parar la ejecución del main, ejecutar el ob35 y luego retoma el main, así sucesivamente.
      El tema es que un OB Cyclic interrupt se puede ejecutar cada 10 ms si quieres (es configurable), así que en realidad, aunque se pare el main para ejecutar dicho OB, no lo vas ni a notar.
      Saludos!

  • @RamonMartinez-tz3yu
    @RamonMartinez-tz3yu 3 года назад

    En buena hora ingeniero estos vídeos tutoriales de PLC SIMATIC que está impartiendo, lo hará también en forma práctica con un PLC real? Saludos desde CDMX 🇲🇽.

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  3 года назад +2

      Ojala pudiera, pero no dispongo de un PLC físico, ni tampoco de espacio para material para el tema de fuentes de alimentación, bastidor etc. De todas formas, para saber programar un PLC no es necesario tener uno. Aunque si bien es cierto que me gustaría tenerlo para explicar temas sobre todo de hardware.
      Un saludo.

    • @RamonMartinez-tz3yu
      @RamonMartinez-tz3yu 3 года назад

      Gracias por su respuesta sincera, hice este comentario por qué en el campo de trabajo industrial la programación simulada a veces no es lo que uno espera en la realidad. Hasta pronto y muchas gracias 🇲🇽

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  3 года назад +5

      @@RamonMartinez-tz3yu Tengo ejercicios con factory io (y todavía tengo muchos mas que subir) que simulan muy bien una instalación de transportes real, es lo mas parecido a tener un plc real en una instalación.

  • @hersonguzman8662
    @hersonguzman8662 Год назад

    Excelente . Gracias .

  • @BrisaConde-qh2ik
    @BrisaConde-qh2ik Год назад

    Hola ingeniero , excelente contenido ! muchas gracias por compartirlo🙌🙌. Tengo una duda , si mi ciclo scan lo determino de 1 segundo y dentro del main tenga un for y ademas programo de una forma que durante cada ciclo scan el i que cumple la función de iteración tenga diferentes valores , es decir que en el primer ciclo scan tengo un valor de i=3 y por lo tanto demore menos tiempo cuando este en el for pero en el siguiente ciclo scan el i=100 por lo tanto demorara mas en la funcion for. Entonces el tiempo de ciclo scan que yo determino no se respeta ? por que en algunos casos el for puede demorar hasta mas del tiempo del ciclo scan , por ejemplo en el while cuando entra a infinito

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  Год назад +1

      Buenas pelecero,
      El ciclo de scan no lo puedes determinar tu, lo que si puedes determinar es el ciclo de vigilancia o watchdog, que te salta un aviso si el ciclo de scan excede el configurado en el watchdog.
      El ciclo de scan es variable, y depende del programa que esté ejecutando el PLC; su extensión, tipo de lenguaje, recursos utilizados, bucles...
      Además piensa que al final un PLC es como un ordenador, nunca va a ejecutar lo mismo en el mismo tiempo, ya que el PLC tiene ejecutando en segundo plano subrutinas, invisibles para nosotros, pero que existen.
      Luego, un ciclo de scan de 1 segundo es una locura, eso significa que algo hay mal en el programa, directamente es imposible que tengas ese ciclo de scan. Si quieres ver el ciclo de scan, en online y diagnóstico lo puedes ver. Eso si, solo el ciclo de scan de un PLC real es auténtico. Si estás simulando con PLCSIM el ciclo de scan que te aparece, también es simulado, y de hecho, es un ciclo de scan falso, ya que se basa en los recursos de tu propio ordenador.
      Salu2!

    • @BrisaConde-qh2ik
      @BrisaConde-qh2ik Год назад

      @@programacionmultidisciplinar Muchas gracias por la explicación ingeniero , solo tengo un duda en cuestión de los temporizadores , como el ciclo scan trabajo con ellos , por q los temporizadores vi que se puede poner segundos y minutos .

  • @electronicayautomatizacion9217
    @electronicayautomatizacion9217 2 года назад

    hola Ing, tiene algún video de como configurar las entradas de conteo rápido? , es que tengo una aplicación de un contador de pastillas y tengo algunas dudas, saludos.

  • @josetomaslopezguillen6322
    @josetomaslopezguillen6322 3 года назад

    Y las que se declaran como constant dentro de la interfaz de bloque, aunque no venga al caso puedes poner un ejemplo de un caso en el que se declare algo ahí?:)

    • @programacionmultidisciplinar
      @programacionmultidisciplinar  3 года назад +1

      Una variable constant es una variable constante, es decir, es una variable la cual le asignas un valor en su valor de arranque y ese va a ser su valor siempre, y no lo puedes cambiar. De hecho, si declararas una linea de código alterando su valor, el compilador de tia portal te daría error.
      Yo rara vez uso constantes, y no las he visto apenas usarse, porque básicamente podrías usar una variable static o temp y en el primer segmento de la función, llamar a dicha variable y asignarle el valor deseado para el resto de ejecución del programa.
      Por ejemplo, si estás programando una secuencia de pasos, tipo grafcet, podrías declarar las etapas como variables const, por ejemplo si quieres q tu etapa de seguridad sea el número 100, declaras como const EtapaSeguridad = 100. Pero ya te digo, apenas se usan el tipo const.
      Un saludo.

  • @gerardodenovalesdelapuente8688
    @gerardodenovalesdelapuente8688 2 года назад

    Buenas Abel, al hacer uso de "EXIT" dentro de un bucle dentro de otro (bucles anidados), ¿éste hace que el programa salga sólo del primer bucle o nos sacaría de todos los bucles anidados?