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
Me parece muy puntual tu comentario y que bueno que lo haces de esta forma, queda entendible y realmente no todos los canales exclusivos a PLC lo utilizan.
Buenos dias Abel desde Guanajuato Mexico, sin temor a equivocarme creo que nos has corregido a muchos las malas practicas de programacion en el uso de FB'S quiero agradecerte publicamente, que Dios te bendiga!
Buenos dÃas Abel, enhorabuena por el canal y especialmente por este vÃdeo, que clarifica el uso de la multiinstancia y el peligro de usar variables globales. En mis clases de programaciÃģn en C++ siempre recomiendo huir del uso de variables globales desde dentro de las funciones por ser una mala praxis que dificulta el seguimiento de la trazabilidad de estas variables, que deberÃan usarse casi exclusivamente desde el main (OB1 en este caso) y creo que es exactamente lo mismo que ocurre el la programaciÃģn de PLCs. Muy clara la explicaciÃģn, muchas gracias por todo lo que aportas en tu canal. Un saludo desde MÃĄlaga!
Saludos estimado! Antes que nada MUCHISIMAS GRACIAS por este magnifico curso que hizo, denota la calidad y dedicaciÃģn. Quisiera hacerle una consulta, ya que tengo una duda que vengo arrastrando casi desde los primeros videos. ÂŋQue diferencia existe entre poner dos bloques (de funciones o lo que sea) en el mismo segmento en serie o en paralelo? se entiende perfectamente la diferencia cuando trabajamos con marcas y condiciones lÃģgicas, pero no logro ver que es lo que sucede con las FC o FB por ejemplo.
Buenas GermÃĄn! Si el ENO de la funciÃģn estÃĄ siempre activo, la diferencia es ninguna, ya que aunque pongas FC o FB en serie, se activarÃĄn todas. Si tuvieras alguna FC o FB donde condicionas el ENO de salida, entonces hay que tener cuidado con lo que se pone despuÃĐs. Pero vamos, por defecto, no importa si pones FC y/o FB en serie o en paralelo, ya te digo, el EN0 por defecto siempre es 1, asà que no habrÃĄ problemas. Salu2 pelecero!
@@programacionmultidisciplinar Muchas gracias por la respuesta! se entiende a la perfecciÃģn, y estimo que el ENO se podra controlar de alguna forma. Sigo con el curso que es de primer nivel. Saludos!
Buenas noches; muy buenos sus videos todo muy bien explicado gracias me ayudado mucho. Me encuentro haciendo una programaciÃģn de 8 entradas analogicos con sensores de presion para controlar y verificar nivel seÃąal de 4 a 20 ma. Los sensores tienen protocolos hart y la periferia que tiene las entradas analogicas tambien tienen protocolo hart quisiera ver como hacer la programacion en el tia portal para sacar la seÃąal de temperatura para colocarla en una hmi ktp600 de 6"
Buenas Nick, si tienes presiÃģn no puedes tener temperatura, deberÃas buscar la relaciÃģn matemÃĄtica en internet, pero esto dependerÃĄ de como es el sistema que estÃĄs midiendo (es decir, la presiÃģn es de aire, de agua, de....?). En el tema de los hart no se si tienes problema, pero realmente es sencillo. En TIA Portal hay tarjetas de AI con protocolo Hart, es configurarlo y listo. Te dejo por aquà un manual de Siemens sobre protocolo hart sie.ag/3LnRJSL Salu2!
Buenas JosÃĐ Manuel! Pues si y no, aunque realmente no es algo que yo harÃa y ni nadie en mi opiniÃģn, deberÃa hacer. Imaginemos que tienes la FB Motor, e instancias la FB Motor como Motor_01, pues si tu llamaras mÃĄs veces a la FB Motor, podrÃas asignarle el DB de Instancia Motor_01, y podrÃas tener por tu programa la FB Motor llamada 10 veces y todas ellas con la DB de Instancia Motor_01 (lo cual no tendrÃa ningÚn sentido, pero se puede hacer). Si te refieres a llamar una DB de Instancia de una FB en diferentes tipos de FB (FBs diferentes unas de las otras), no se puede. Espero haberte resuelto la duda pelecero!
Buenas Felipe, Estoy trabajando actualmente en mi propia academia online, espero tenerla lista para este aÃąo. Cuando la tenga lista os lo harÃĐ saber por todas mis redes sociales youtube etc. Va a ser lo mÃĄs :D Salu2 pelecero!
Excelentes videos, muy didÃĄcticos y con situaciones que despuÃĐs se presentan en la prÃĄctica, pregunta y los DB de instancia de parÃĄmetros en que situaciÃģn se usan?
Los DB de instancia (tambien llamados DI) se usan cuando usas FB. Cuando llamas una FB, se te genera un DI Única de dicha FB. De hecho, funciones como TON o TOF son realmente FB.
@@programacionmultidisciplinar Claro pero yo me refiero a la opciÃģn Instancia de ParÃĄmetros que te aparece al crear el DB, aparecen 3 opciones: Instancia Individual, Multinstancia e Instancia de ParÃĄmetros, estos Últimos DBs en que caso se utilizan? , muchas gracias por tu respuesta !!
Buenos dÃas y muy buen vÃdeo, muchas gracias. Tengo una duda respecto a las FBs y las DBs asociadas. Tal vez haya otro vÃdeo que lo explique. En cualquier caso mi duda consiste en que no entiendo muy bien por quÃĐ cada vez que llamas a la FB en el Main se crea un DB de instancia propio. ÂŋNo es posible llamar varias veces al mismo FB con el mismo DB de instancia o es cuestiÃģn de que por defecto se crea un DB especÃfico y si se desea llamar a un DB previo es necesario modificarlo manualmente? Saludos y gracias.
Excelente video Abel. Lo de multiinstanciar un FB no se deberÃa hacer, entonces cual seria la opciÃģn para generar un array de TON_TIME en el caso de trabajar con un step7, ahà si seria recomendable multiinstanciar un FB ?
Buenas German, Lo que no se deberÃa hacer (opiniÃģn personal) es multiinstanciar una FB propia dentro de otra FB propia, porque para eso, directamente pones el cÃģdigo necesario en una Única FB y no enmarranas tanto el programa. Otra cosa es cuando llamas timers u otras funciones que te crean un DB del propio objeto, ahà si debes multiinstanciar, de hecho es lo que se debe hacer si llamas un timer o similar dentro de una FB. Saludos pelecero!
buenas tardes, como tÚ comentas sà que se utiliza usar un FB dentro de otro, sigo pensando que lo explicas muy bien, ojala me lo hubieran explicado antes como tÚ, hay mÃĄs videos ??? esto se ha hecho corto, gracias por enseÃąar .
Me alegra saber que realmente mis explicaciones son de buen agrado! Agradezco mucho tu interÃĐs y apoyo! El curso estÃĄ en emisiÃģn, todavÃa faltan muchos vÃdeos para terminarlo.
Buenas!! Estaba haciendo el curso con tia portal version 16 y justo hoy me salen mensajes de no se que de vigilancia del tia portal y no me deja abrir...me da que me han capao.Alguna idea para recuperarlo?
Muy buen video, tengo una pregunta, hay alguna manera de copiar el "TAG" de una variable de manera rapida, es decir que si por ejemplo quiero ponerle a un contacto la misma variable que en el segmento anterior utilice, de tal forma que solo arrastre la variable al contacto nuevo o algo asi como copiar y pegar o arrastrar el nombre de la variable, no se que combinaciÃģn de teclas utilizas pero se ve que copias rÃĄpidamente los nombres de las variables, saludos
Una pregunta, porque cuando metes el TIMER te genera el tipo de datos TON_TIME?, a mi me genera el tipo de datos IEC_TIMER! cual es la diferencia entre los dos?
EstÃĄs usando tambiÃĐn un TON? Puede que sea por la versiÃģn de tia portal... A mi me suena haber visto IEC_TIMER en algunos proyectos... Que versiÃģn utilizas?
Si tu instanciaras un timer en un FC, al no estar dentro de una FB, no serÃa multiinstancia, y por tanto el bloque de datos asociado a dicho timer se crearÃa fuera de la FC (serÃa un db de instancia del timer). Si llamaras varias veces a la misma FC, estarÃas usando el mismo timer, porque todas las llamadas de la FC tendrÃan asociado el mismo timer (se debe tener cuidado con eso, lo mÃĄs probable es que te de problemas al usar el mismo timer de manera simultanea) Saludos Alejandro!
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
Abel tu esfuerzo por compartir tus conocimientos es admirable, GRACIAS, UN ABRAZO desde ARGENTINA
Me parece muy puntual tu comentario y que bueno que lo haces de esta forma, queda entendible y realmente no todos los canales exclusivos a PLC lo utilizan.
Buenos dias Abel desde Guanajuato Mexico, sin temor a equivocarme creo que nos has corregido a muchos las malas practicas de programacion en el uso de FB'S quiero agradecerte publicamente, que Dios te bendiga!
Buenos dÃas Abel, enhorabuena por el canal y especialmente por este vÃdeo, que clarifica el uso de la multiinstancia y el peligro de usar variables globales. En mis clases de programaciÃģn en C++ siempre recomiendo huir del uso de variables globales desde dentro de las funciones por ser una mala praxis que dificulta el seguimiento de la trazabilidad de estas variables, que deberÃan usarse casi exclusivamente desde el main (OB1 en este caso) y creo que es exactamente lo mismo que ocurre el la programaciÃģn de PLCs. Muy clara la explicaciÃģn, muchas gracias por todo lo que aportas en tu canal. Un saludo desde MÃĄlaga!
Excelente explicacion sobre la importancia de la multiinstancia, nunca entendi ese tema en la ayuda de siemens ni en otros canales. Gracias!!
Un placer poder ayudar crack :D
MUCHAS GRACIAS ABEL, MAGNÃFICA CLASE MEJORANDO POCO A POCO CON ESTE CURSO, CANAL ðŊ% RECOMENDABLE.
ðŠðžðŠðžSALUDOSðŠðžðŠðž
Muchas gracias por la explicaciÃģn tan claraðĪŊ. Cada dÃa aprendiendo ðð
Genial explicaciÃģn, me has ayudado a aclarar unas dudas que tenÃa, gracias.
Otro nivel tÃo ð
Me parece un video muy interesante y que muestra claramente lo que puede ser un gran error y nos puede dar problemas. Muchas gracias por tu video.
Un placer IvÃĄn!!
Un saludo!
Muy interesantes estos detalles
Excelente gracias
Excelente Abel.
Saludos estimado! Antes que nada MUCHISIMAS GRACIAS por este magnifico curso que hizo, denota la calidad y dedicaciÃģn.
Quisiera hacerle una consulta, ya que tengo una duda que vengo arrastrando casi desde los primeros videos. ÂŋQue diferencia existe entre poner dos bloques (de funciones o lo que sea) en el mismo segmento en serie o en paralelo? se entiende perfectamente la diferencia cuando trabajamos con marcas y condiciones lÃģgicas, pero no logro ver que es lo que sucede con las FC o FB por ejemplo.
Buenas GermÃĄn!
Si el ENO de la funciÃģn estÃĄ siempre activo, la diferencia es ninguna, ya que aunque pongas FC o FB en serie, se activarÃĄn todas. Si tuvieras alguna FC o FB donde condicionas el ENO de salida, entonces hay que tener cuidado con lo que se pone despuÃĐs.
Pero vamos, por defecto, no importa si pones FC y/o FB en serie o en paralelo, ya te digo, el EN0 por defecto siempre es 1, asà que no habrÃĄ problemas.
Salu2 pelecero!
@@programacionmultidisciplinar Muchas gracias por la respuesta! se entiende a la perfecciÃģn, y estimo que el ENO se podra controlar de alguna forma. Sigo con el curso que es de primer nivel. Saludos!
Muito bem explicado, nota-se que vocÊ tem prazer em passar com detalhes os ensinamentos!
LIKE SP BRASIL !!!
MUY BUENO muchas gracias.
Gracias a ti por el apoyo!
Buenas noches; muy buenos sus videos todo muy bien explicado gracias me ayudado mucho.
Me encuentro haciendo una programaciÃģn de 8 entradas analogicos con sensores de presion para controlar y verificar nivel seÃąal de 4 a 20 ma. Los sensores tienen protocolos hart y la periferia que tiene las entradas analogicas tambien tienen protocolo hart quisiera ver como hacer la programacion en el tia portal para sacar la seÃąal de temperatura para colocarla en una hmi ktp600 de 6"
Buenas Nick, si tienes presiÃģn no puedes tener temperatura, deberÃas buscar la relaciÃģn matemÃĄtica en internet, pero esto dependerÃĄ de como es el sistema que estÃĄs midiendo (es decir, la presiÃģn es de aire, de agua, de....?). En el tema de los hart no se si tienes problema, pero realmente es sencillo. En TIA Portal hay tarjetas de AI con protocolo Hart, es configurarlo y listo. Te dejo por aquà un manual de Siemens sobre protocolo hart sie.ag/3LnRJSL
Salu2!
Esto me viene muy bien para un trabajo que tengo que hacer!!ð.
Pregunta: se puede usar un DB de instancia para varias FBs??.
Buenas JosÃĐ Manuel!
Pues si y no, aunque realmente no es algo que yo harÃa y ni nadie en mi opiniÃģn, deberÃa hacer.
Imaginemos que tienes la FB Motor, e instancias la FB Motor como Motor_01, pues si tu llamaras mÃĄs veces a la FB Motor, podrÃas asignarle el DB de Instancia Motor_01, y podrÃas tener por tu programa la FB Motor llamada 10 veces y todas ellas con la DB de Instancia Motor_01 (lo cual no tendrÃa ningÚn sentido, pero se puede hacer).
Si te refieres a llamar una DB de Instancia de una FB en diferentes tipos de FB (FBs diferentes unas de las otras), no se puede.
Espero haberte resuelto la duda pelecero!
Buenas tardes, excelente video como todos los que tienes.
TendrÃĄs algÚn curso en linea donde se pongan en practica todos estos conceptos y bloques ?
Buenas Felipe,
Estoy trabajando actualmente en mi propia academia online, espero tenerla lista para este aÃąo.
Cuando la tenga lista os lo harÃĐ saber por todas mis redes sociales youtube etc.
Va a ser lo mÃĄs :D
Salu2 pelecero!
@@programacionmultidisciplinar Muchas gracias, estaremos pendientes
Excelentes videos, muy didÃĄcticos y con situaciones que despuÃĐs se presentan en la prÃĄctica, pregunta y los DB de instancia de parÃĄmetros en que situaciÃģn se usan?
Los DB de instancia (tambien llamados DI) se usan cuando usas FB. Cuando llamas una FB, se te genera un DI Única de dicha FB. De hecho, funciones como TON o TOF son realmente FB.
@@programacionmultidisciplinar Claro pero yo me refiero a la opciÃģn Instancia de ParÃĄmetros que te aparece al crear el DB, aparecen 3 opciones: Instancia Individual, Multinstancia e Instancia de ParÃĄmetros, estos Últimos DBs en que caso se utilizan? , muchas gracias por tu respuesta !!
@@brunopirola5597 Nunca he utilizado la instancia de parÃĄmetros, asà que no sabrÃa decirte por ahora. Lo investigarÃĐ y te dirÃĐ algo. Un saludo!
@@programacionmultidisciplinar Muchas gracias !!
Buenos dÃas y muy buen vÃdeo, muchas gracias. Tengo una duda respecto a las FBs y las DBs asociadas. Tal vez haya otro vÃdeo que lo explique. En cualquier caso mi duda consiste en que no entiendo muy bien por quÃĐ cada vez que llamas a la FB en el Main se crea un DB de instancia propio. ÂŋNo es posible llamar varias veces al mismo FB con el mismo DB de instancia o es cuestiÃģn de que por defecto se crea un DB especÃfico y si se desea llamar a un DB previo es necesario modificarlo manualmente? Saludos y gracias.
Muito bem explicado.
Excelente video Abel. Lo de multiinstanciar un FB no se deberÃa hacer, entonces cual seria la opciÃģn para generar un array de TON_TIME en el caso de trabajar con un step7, ahà si seria recomendable multiinstanciar un FB ?
Buenas German,
Lo que no se deberÃa hacer (opiniÃģn personal) es multiinstanciar una FB propia dentro de otra FB propia, porque para eso, directamente pones el cÃģdigo necesario en una Única FB y no enmarranas tanto el programa. Otra cosa es cuando llamas timers u otras funciones que te crean un DB del propio objeto, ahà si debes multiinstanciar, de hecho es lo que se debe hacer si llamas un timer o similar dentro de una FB.
Saludos pelecero!
Hola Abel, una pregunta, entonces dentro de una FC tambien se puede llamar un TON multiinstancia?
buenas tardes, como tÚ comentas sà que se utiliza usar un FB dentro de otro, sigo pensando que lo explicas muy bien, ojala me lo hubieran explicado antes como tÚ, hay mÃĄs videos ??? esto se ha hecho corto, gracias por enseÃąar .
Me alegra saber que realmente mis explicaciones son de buen agrado! Agradezco mucho tu interÃĐs y apoyo! El curso estÃĄ en emisiÃģn, todavÃa faltan muchos vÃdeos para terminarlo.
Buenas!! Estaba haciendo el curso con tia portal version 16 y justo hoy me salen mensajes de no se que de vigilancia del tia portal y no me deja abrir...me da que me han capao.Alguna idea para recuperarlo?
Muy buen video, tengo una pregunta, hay alguna manera de copiar el "TAG" de una variable de manera rapida, es decir que si por ejemplo quiero ponerle a un contacto la misma variable que en el segmento anterior utilice, de tal forma que solo arrastre la variable al contacto nuevo o algo asi como copiar y pegar o arrastrar el nombre de la variable, no se que combinaciÃģn de teclas utilizas pero se ve que copias rÃĄpidamente los nombres de las variables, saludos
Pinchas sobre el nombre de la variable y ctrl+c y luego en el otro contacto, le pinchas en el y ctrl+v, yo lo hago de esta manera
Saludos pelecero!
@@programacionmultidisciplinar genial, gracias
Una pregunta, porque cuando metes el TIMER te genera el tipo de datos TON_TIME?, a mi me genera el tipo de datos IEC_TIMER! cual es la diferencia entre los dos?
EstÃĄs usando tambiÃĐn un TON? Puede que sea por la versiÃģn de tia portal... A mi me suena haber visto IEC_TIMER en algunos proyectos... Que versiÃģn utilizas?
Si yo instanciara un Temporizador dentro de un FC (no en un FB.) TendrÃa el mismo problema que aquà al llamarlo varias veces al mismo FC?
Si tu instanciaras un timer en un FC, al no estar dentro de una FB, no serÃa multiinstancia, y por tanto el bloque de datos asociado a dicho timer se crearÃa fuera de la FC (serÃa un db de instancia del timer).
Si llamaras varias veces a la misma FC, estarÃas usando el mismo timer, porque todas las llamadas de la FC tendrÃan asociado el mismo timer (se debe tener cuidado con eso, lo mÃĄs probable es que te de problemas al usar el mismo timer de manera simultanea)
Saludos Alejandro!
Tengo una duda!
Los valores del timer serÃan igual para los FBS
A que valores te refieres?
@@programacionmultidisciplinar por ejemplo el valor de activaciÃģn del timer serÃĄ igual para cada FB QUE SE LLAMDO EN EL OB
@@dennisrubio2375 DependerÃĄ de la variable asociada a "activaciÃģn" de cada instancia de dicha FB
@@programacionmultidisciplinar De acuerdo.
Muy amable