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 MUCHAS GRACIAS, MUY BUENA EXPLICACIÓN 😜. YO QUE VENGO DE CERO RESPECTO A PLCs QUE HACE UN MES NO TENIA NI IDEA Y GRACIAS A ESTE CURSO Y SIGUIENDO CLASE A CLASE VOY ENTIENDO TODO PERO AÚN ASÍ ESTO TIENE TELA🤪. PERO BUENO AÚN ASÍ CON MUCHAS GANAS DE VER LA SIGUIENTE CLASE 💪🏼💪🏼💪🏼 SALUDOS.
Entiendo tus razones i hasta cierto punto lo veo lógico. Me pongo en situación i para activar un bool, luego usas una comparación con el número que quieres. Pero un RESET también es de utilidad. Supongamos que tienes 5 contadores en una línea de producción i al final de cada turno quieres ponerlos todos a 0. Puedes compartir una única variable para todos. Con SUB i ADD como lo haces? Gracias por el curso. Es de mucha utilidad.
Hola, estoy siguiendo tu curso y quiero felicitarte por darnos esta oportunidad de forma gratuita 👏. Respecto de la memoria de carga y trabajo... La memoria de carga del bloque despues de ser cargado se combierte en memoria de trabajo? porque en un video anterior comentaste que en STEP7 te deja ir cargando los bloques que quieres y asi evitar que la CPU pase a STOP. Donde miras la memoria libre que le queda al plc ?, se puede saber cuanta memoria de carga necesita el programa entero antes de cargarlo?, sin tener que ir viendo bloque a bloque. Muchas gracias, de antemano
Buenas Vicentech, Lo que cargas de programa se va a la memoria de carga, y digamos que el plc, lo que hace es que, lo que ejecuta es lo que tiene en la memoria de trabajo. Por decirlo de algun modo, el plc justo antes de ejecutar el programa, pasa lo de la memoria de carga a la memoria de trabajo, pero son memorias diferentes. La memoria libre se mira en el diagnostico online, tengo un vídeo donde lo explico. Y no, no puedes saber la memoria que va a ocupar lo que vas a cargar, ya que el PLC esto lo evalúa cuando vas a realizar la carga. Lo que si te dice el PLC justo antes de cargar, es si vas a exceder la memoria de carga o no (si la excedes, la cpu pasará a stop en caso de que le des a "cargar") Salu2 pelecero
Buenas noches Abel, realice el contador con ADD Y SUB pero al momento de simular no me funciona, no se si tenga que ver por el tipo de variables, en uno de los ejercicios que hiciste el contador lo hiciste con FC entonces no se tengo esa duda a ver si me aclaras mil gracias.
Buenas noches, Abel ¿Existen otras funciones que también reemplacen a los bloques de temporización TON, TOFF y TONR? Para de esta forma ahorrar memoria de trabajo y no crear un db instancia individual por cada timer que agreguemos. Saludos. Excelente explicación muy clara y precisa.
Realice la simulación usando comparadores y realmente funciona igual, simplemente cómo estás trabajando con Flancos es necesario usar el reset pero queda genial.
Hola Abel como estas? Mira que si uso ADD necesitaría un comparador para poder activar una memoria de salida, además de eso también faltaría una instrucción para resetear el ADD. Lo mismo pasa con un SUB. Al final debes ocupar 3 líneas o segmentos
Hola Abel, antes de nada quería agradecerte que hayas subido este curso tan completo. Me podrías decir cómo se accede a la ventana de sistema de información. Un Saludo!
Gracias por el video, no habia tenido en cuenta lo de la memoria del plc, pero quisiera saber como hago cuando quiero resetear este valor del contador con esta tecnica desde la hmi. Gracias!
Buenas Yeinar, Te refieres a resetear el valor del conteo cuando usamos ADD y SUB como contadores? Lo suyo sería (si lo quieres hacer desde HMI), que el botón del HMI, al pulsar, lo que hagas en el PLC es contacto abierto de la variable del botón, te active un MOVE y le pongas un 0 a la variable del contador! Salu2 pelecero!
¡Hola! Primero de todo, agradecerte la labor que haces difundiendo conocimiento con la programación de autómatas Siemens Respecto al vídeo, he intentado realizar el ejemplo del sumador y restador. En mi caso he usado un contacto asociado a una entrada y al simularlo, cuando activo dicha entrada el detector de flanco me detecta durante el tiempo que estoy a "1" ese valor y se va incrementando el valor. A nivel de electrónica. Con un Arduino eso se puede resolver poniendo un tiempo de espera antes de evaluar el estado del pulsador, pero aquí no sé como hacerlo. ¿Hay alguna cosa que estoy haciendo mal? Muchas gracias.
Buenas David, Primero que todo, gracias por el apoyo! Con respecto a tu pregunta, si. Lo que ocurre, es que si realizas un ADD o SUB con un contacto, el PLC a cada ciclo de scan, es decir cada vez que ejecuta el programa, detecta esa variable del contacto a 1 y por tanto realiza esa suma o esa resta. Para solucionarlo, tienes que asignarle a ese contacto un flanco ascendente, para que solo sume o reste la primera vez que el contacto se pone a 1. En el canal tengo un vídeo donde explico los flancos. Un saludo!
Hola, tengo una pregunta, si realizo el contador con add pero al llegar a cierto numero en mi cuenta determinado por mi, ¿Cómo podría conseguir ese 1 lógico que sí me dan los bloques de contadores en su salida? Muchas gracias por los videos aprendo mucho!!
Buenas Diego, Para eso debes crearte una variable bool, de tal manera que después del ADD, añades un comparador de "si el valor es mayor o igual que", se active una bobina con esa variable. Una buena manera es crearse un contador caso en una FC, así la reutilizas siempre que quieres. Salu2 pelecero!!
Hola dices de no usar un contador pero tengo una pregunta si usas una funcion suma o resta para hacer esa funcion despues tienes que poner un bloque condicional IF para que te active o desactive la bobina cuando cuente hasta el numero que tu quieres. Muchas gracias por tus clases estan espectaculares.
Buenas Felipe, La forma más sencilla es condicionar esa suma o resta a un tope máximo, por ejemplo, a cada activación de flanco súmate en 1 unidad siempre y cuando seas menor a 8. ¿Y cuando reseteo y como? Pues bien, cuando tu quieras resetear el contador, es tan facil como, con un MOVE si usas KOP, pasarle un 0 a la variable de conteo. Esto si se hace en una FC, es más sencillo, ya que solo tendrías que llamar a dicha función por el programa. Esto es gustos colores, puedes usar los contadores de tia portal sin problema, pero a mi personalmente no me gustan, me generan muchas DB de Instancias (ocupan memoria de más por la cara) y solo permiten incrementos de 1 en 1. Salu2 pelecero!
Buenas noches ya solucione, era problema de variables, la pregunta seria bueno ya cuanta pero para complementar el ejercicio toca meter un comparador para verificar la variable que guarda el conteo y compararlo con algún valor X y luego hacer que nos active una salida por ejemplo?
Buenas Abel, si al usar ADD o SU no usas un flanco, ¿se suman las variables infinitamente en cada ciclos de scan? ¿Por eso se debe usar flancos? ¿Cómo se usarían los contadores en AWL?
Si, se sumarian a cada ciclo de scan, por eso es necesario un flanco. En AWL utilizo sumas y restas, nunca he utilizado contadores (lo veo innecesario)
Estimado Abel en la alternativa que tu dices a los contadores con funciones matemáticas, me imagino que también se necesita usar operaciones de comparación para habilitar algo. otra observación como haríamos el reset de los datos del contaje con el método de funciones matemáticas
Para hacerlo en AWL, una forma sencilla como ya ha comentado una compañera es con la funciones contador que nos da TIA PORTAL. (Instrucciones-AWLMnemónica) Se deben crear variables (globales) tipo counter para asignar a dicho contador. yo he lo he hecho de la siguiente manera: (de esta forma cada vez que sumamos 1 en la variable contador, podemos hacer que el resultado sea el múltiplo que le asignemos) U "Marcas Internas".Marcas."M0.0" FP "Marcas Internas".Flancos.FL1 ZV "contador1" L "contador1" L 20 *I T "Marcas Internas".Datos[0]
HOLA BUENAS TARDES, AGRADEZCO SUS VIDEOS SON MUY BUENOS. SE ME ACABA DE OCURRIR UNA PREGUNTA, ¿COMO PUEDO REALIZAR UN DETECTOR DE FLANCOS EN SCL O AWL? AGRADEZCO SUS RESPUESTAS.
Te refieres a un flanco positivo o negativo? En AWL tienes las instrucciones FP y FN (en el curso tengo un vídeo de flancos donde lo explico). En SCL existen las instrucciones P_TRIGG y N_TRIGG, aunque personalmente no me gusta hacer flancos en SCL. Un saludo!
@@programacionmultidisciplinar Muchas gracias por responder, si mire el video, seguramente me distraje lo volvere a ver, por cierto la informacion es muy clara, gracias.
Buen día, una consulta, me fijé que en Step7 y en TiaPortal hay una función llamada "FR", que supuestamente habilita un contador, pero estuve intentando usarla en Step7 y no encontré cómo. No sé si la has usado en algún momento, que pudieras orientarme en coómo es que funciona.
Buenas Angello, La función FR es solo para AWL, se puede usar en 300, 400 y 1500. La función simplemente habilita un contador, si buscas en la ayuda de Siemens te explicará mejor como y con un ejemplo, es muy sencillo. Salu2
@@programacionmultidisciplinar Buen día, así es, estuve investigando en las ayudas y pdfs de AWL, pero no te muestra una aplicación o un uso práctico. De hecho no encuentro por ninguna parte un buen ejemplo de su utilización. Realmente es una duda personal, supongo que absolutamente nadie utiliza esa función.
También hay otra manera más sencilla de hacer un contador, es usando los contadores ZV (incrementa) y ZR (decrementa) que están en contadores, carpeta Legacy, ellos solo utilizan una variable tipo counter que ocupa de espacio solo 16 bits. Solo necesitaría el contacto de activar el contador y listo (no tiene que ser de impulso)
Gracias por el aporte Melissa! TIA Portal tiene tantas herramientas que esos contadores los desconocía! Tienen pinta de ser heredados del antiguo Step7... Siempre se aprende algo nuevo. Salu2 pelecera!
Hola! Intenté hacer el contador en AWL pero se me incrementa en cada ciclo de Scan... No se cómo condicionar la carga de datos (L) en este caso con el valor del flanco positivo. Finalmente la idea era que al llegar a "5" la variable se encienda un motor. U "DB_pruebaContadores".activarContador1 FP "DB_pruebaContadores".flanco[1] L "DB_pruebaContadores".miNumero1 L 1 +I T "DB_pruebaContadores".miNumero1 L "DB_pruebaContadores".miNumero1 L 5 >=I = "DB_pruebaContadores".motor2 @ProgramacionMultidisciplinar gracias nuevamente por el contenido, espero que alguno pueda hecharme una mano. Saludos y gracias desde ya.
Hola Martín, El problema es que no estás condicionando el incremento a ese flanco, haces el flanco, y luego haces el incremento, prueba con esto: U "DB_pruebaContadores".activarContador1 FP "DB_pruebaContadores".flanco[1] U ( L "DB_pruebaContadores".miNumero1 L 1 +I T "DB_pruebaContadores".miNumero1 ) L "DB_pruebaContadores".miNumero1 L 5 >=I = "DB_pruebaContadores".motor2 Salu2 pelecero!
@@programacionmultidisciplinar Abel perdón pero no puedo lograr condicionar esa carga de datos a una condición previa. Probé con lo que me dijiste y pasa lo mismo, también intenté haciendo uso de SALTOS pero con SPB el RLO siempre está en "1" y no logro cambiarlo... hay algo que no estoy viendo o entendiendo de cómo programar en AWL, podrías ayudarme por favor. Saludos y gracias de nuevo. U "contador".activarContador FP "contador".flanco SPB CONT CONT: L "contador".miNumero L 1 +I T "contador".miNumero L "contador".miNumero L 5 >=I = "contador".motor
@@MartinUnold discúlpame, me equivoque yo completamente que se me fue la pinza. Para sumar en AWL, necesitas una etiqueta de salto, simplemente con un flanco no te funcionará, te dejo el código: U "DB_pruebaContadores".activarContador1 FP "DB_pruebaContadores".flanco[1] SPBN BUCLE L "DB_pruebaContadores".miNumero1 L 1 +I T "DB_pruebaContadores".miNumero1 BUCLE: NOP 0 U( L "DB_pruebaContadores".miNumero1 L 5 >=I ) = "DB_pruebaContadores".motor2 Date cuenta además, que para darle un valor a una variable booleana en awl, necesitas la instruccion U, que en motor 2, no la tenias, asignabas "=" justo después del comparador, y eso no funciona asi. Espero te sirva y disculpa de nuevo!
@@programacionmultidisciplinar Perfecto!!! Ahora sí y para complementar el tema es ideal el video de SALTOS en AWL (Instrucciones SPB y SPBN) que es justamente lo que necesitaba, saber cómo condicionar en AWL. Gracias Abel
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 MUCHAS GRACIAS, MUY BUENA EXPLICACIÓN 😜.
YO QUE VENGO DE CERO RESPECTO A PLCs QUE HACE UN MES NO TENIA NI IDEA Y GRACIAS A ESTE CURSO Y SIGUIENDO CLASE A CLASE VOY ENTIENDO TODO PERO AÚN ASÍ ESTO TIENE TELA🤪. PERO BUENO AÚN ASÍ CON MUCHAS GANAS DE VER LA SIGUIENTE CLASE 💪🏼💪🏼💪🏼
SALUDOS.
Poco a poco y con trabajo seguro que llegarás a tener un buen nivel programando PLC🚀🚀
Saludos Luís!
Muchaas muchas gracias amigoo. Qué bueno tenerte acá.
Gracias a ti máquina!!
Me ha encantado tu solución para ahorrar memoria.
Entiendo tus razones i hasta cierto punto lo veo lógico. Me pongo en situación i para activar un bool, luego usas una comparación con el número que quieres. Pero un RESET también es de utilidad. Supongamos que tienes 5 contadores en una línea de producción i al final de cada turno quieres ponerlos todos a 0. Puedes compartir una única variable para todos. Con SUB i ADD como lo haces?
Gracias por el curso. Es de mucha utilidad.
Hola, estoy siguiendo tu curso y quiero felicitarte por darnos esta oportunidad de forma gratuita 👏.
Respecto de la memoria de carga y trabajo... La memoria de carga del bloque despues de ser cargado se combierte en memoria de trabajo? porque en un video anterior comentaste que en STEP7 te deja ir cargando los bloques que quieres y asi evitar que la CPU pase a STOP.
Donde miras la memoria libre que le queda al plc ?, se puede saber cuanta memoria de carga necesita el programa entero antes de cargarlo?, sin tener que ir viendo bloque a bloque.
Muchas gracias, de antemano
Buenas Vicentech,
Lo que cargas de programa se va a la memoria de carga, y digamos que el plc, lo que hace es que, lo que ejecuta es lo que tiene en la memoria de trabajo. Por decirlo de algun modo, el plc justo antes de ejecutar el programa, pasa lo de la memoria de carga a la memoria de trabajo, pero son memorias diferentes.
La memoria libre se mira en el diagnostico online, tengo un vídeo donde lo explico. Y no, no puedes saber la memoria que va a ocupar lo que vas a cargar, ya que el PLC esto lo evalúa cuando vas a realizar la carga. Lo que si te dice el PLC justo antes de cargar, es si vas a exceder la memoria de carga o no (si la excedes, la cpu pasará a stop en caso de que le des a "cargar")
Salu2 pelecero
Buenas noches Abel, realice el contador con ADD Y SUB pero al momento de simular no me funciona, no se si tenga que ver por el tipo de variables, en uno de los ejercicios que hiciste el contador lo hiciste con FC entonces no se tengo esa duda a ver si me aclaras mil gracias.
Buenas noches, Abel
¿Existen otras funciones que también reemplacen a los bloques de temporización TON, TOFF y TONR? Para de esta forma ahorrar memoria de trabajo y no crear un db instancia individual por cada timer que agreguemos.
Saludos. Excelente explicación muy clara y precisa.
Realice la simulación usando comparadores y realmente funciona igual, simplemente cómo estás trabajando con Flancos es necesario usar el reset pero queda genial.
Gracias Abel
algunos videos se cortan o se suben completos como el anterior
Hola Abel como estas? Mira que si uso ADD necesitaría un comparador para poder activar una memoria de salida, además de eso también faltaría una instrucción para resetear el ADD. Lo mismo pasa con un SUB. Al final debes ocupar 3 líneas o segmentos
Una pregunta, como le haces para sacar la información de los contadores?
Hola Abel, antes de nada quería agradecerte que hayas subido este curso tan completo. Me podrías decir cómo se accede a la ventana de sistema de información. Un Saludo!
La ayuda de Siemens? F1
Gracias por el video, no habia tenido en cuenta lo de la memoria del plc, pero quisiera saber como hago cuando quiero resetear este valor del contador con esta tecnica desde la hmi. Gracias!
Buenas Yeinar,
Te refieres a resetear el valor del conteo cuando usamos ADD y SUB como contadores?
Lo suyo sería (si lo quieres hacer desde HMI), que el botón del HMI, al pulsar, lo que hagas en el PLC es contacto abierto de la variable del botón, te active un MOVE y le pongas un 0 a la variable del contador!
Salu2 pelecero!
¡Hola! Primero de todo, agradecerte la labor que haces difundiendo conocimiento con la programación de autómatas Siemens
Respecto al vídeo, he intentado realizar el ejemplo del sumador y restador. En mi caso he usado un contacto asociado a una entrada y al simularlo, cuando activo dicha entrada el detector de flanco me detecta durante el tiempo que estoy a "1" ese valor y se va incrementando el valor. A nivel de electrónica. Con un Arduino eso se puede resolver poniendo un tiempo de espera antes de evaluar el estado del pulsador, pero aquí no sé como hacerlo. ¿Hay alguna cosa que estoy haciendo mal?
Muchas gracias.
Buenas David,
Primero que todo, gracias por el apoyo!
Con respecto a tu pregunta, si. Lo que ocurre, es que si realizas un ADD o SUB con un contacto, el PLC a cada ciclo de scan, es decir cada vez que ejecuta el programa, detecta esa variable del contacto a 1 y por tanto realiza esa suma o esa resta. Para solucionarlo, tienes que asignarle a ese contacto un flanco ascendente, para que solo sume o reste la primera vez que el contacto se pone a 1.
En el canal tengo un vídeo donde explico los flancos.
Un saludo!
Hola, tengo una pregunta, si realizo el contador con add pero al llegar a cierto numero en mi cuenta determinado por mi, ¿Cómo podría conseguir ese 1 lógico que sí me dan los bloques de contadores en su salida? Muchas gracias por los videos aprendo mucho!!
Buenas Diego,
Para eso debes crearte una variable bool, de tal manera que después del ADD, añades un comparador de "si el valor es mayor o igual que", se active una bobina con esa variable.
Una buena manera es crearse un contador caso en una FC, así la reutilizas siempre que quieres.
Salu2 pelecero!!
@@programacionmultidisciplinar Muchas gracias saludos 😁👍
Hola dices de no usar un contador pero tengo una pregunta si usas una funcion suma o resta para hacer esa funcion despues tienes que poner un bloque condicional IF para que te active o desactive la bobina cuando cuente hasta el numero que tu quieres. Muchas gracias por tus clases estan espectaculares.
Buenas Felipe,
La forma más sencilla es condicionar esa suma o resta a un tope máximo, por ejemplo, a cada activación de flanco súmate en 1 unidad siempre y cuando seas menor a 8. ¿Y cuando reseteo y como? Pues bien, cuando tu quieras resetear el contador, es tan facil como, con un MOVE si usas KOP, pasarle un 0 a la variable de conteo.
Esto si se hace en una FC, es más sencillo, ya que solo tendrías que llamar a dicha función por el programa.
Esto es gustos colores, puedes usar los contadores de tia portal sin problema, pero a mi personalmente no me gustan, me generan muchas DB de Instancias (ocupan memoria de más por la cara) y solo permiten incrementos de 1 en 1.
Salu2 pelecero!
Buenas noches ya solucione, era problema de variables, la pregunta seria bueno ya cuanta pero para complementar el ejercicio toca meter un comparador para verificar la variable que guarda el conteo y compararlo con algún valor X y luego hacer que nos active una salida por ejemplo?
Sí, así es. Guardas el conteo en una variable y cuando alcance el valor deseado entonces que active una salida,
Buen trabajo!
Buenas Abel, si al usar ADD o SU no usas un flanco, ¿se suman las variables infinitamente en cada ciclos de scan? ¿Por eso se debe usar flancos?
¿Cómo se usarían los contadores en AWL?
Si, se sumarian a cada ciclo de scan, por eso es necesario un flanco.
En AWL utilizo sumas y restas, nunca he utilizado contadores (lo veo innecesario)
Estimado Abel en la alternativa que tu dices a los contadores con funciones matemáticas, me imagino que también se necesita usar operaciones de comparación para habilitar algo. otra observación como haríamos el reset de los datos del contaje con el método de funciones matemáticas
con un move, haces un move del valor 0 a la variable de contaje cuando ocurra un evento, así lo reseteas.
Salu2 Herson
Para hacerlo en AWL, una forma sencilla como ya ha comentado una compañera es con la funciones contador que nos da TIA PORTAL. (Instrucciones-AWLMnemónica)
Se deben crear variables (globales) tipo counter para asignar a dicho contador.
yo he lo he hecho de la siguiente manera:
(de esta forma cada vez que sumamos 1 en la variable contador, podemos hacer que el resultado sea el múltiplo que le asignemos)
U "Marcas Internas".Marcas."M0.0"
FP "Marcas Internas".Flancos.FL1
ZV "contador1"
L "contador1"
L 20
*I
T "Marcas Internas".Datos[0]
HOLA BUENAS TARDES, AGRADEZCO SUS VIDEOS SON MUY BUENOS. SE ME ACABA DE OCURRIR UNA PREGUNTA, ¿COMO PUEDO REALIZAR UN DETECTOR DE FLANCOS EN SCL O AWL? AGRADEZCO SUS RESPUESTAS.
Te refieres a un flanco positivo o negativo? En AWL tienes las instrucciones FP y FN (en el curso tengo un vídeo de flancos donde lo explico).
En SCL existen las instrucciones P_TRIGG y N_TRIGG, aunque personalmente no me gusta hacer flancos en SCL.
Un saludo!
@@programacionmultidisciplinar Muchas gracias por responder, si mire el video, seguramente me distraje lo volvere a ver, por cierto la informacion es muy clara, gracias.
Buen día, una consulta, me fijé que en Step7 y en TiaPortal hay una función llamada "FR", que supuestamente habilita un contador, pero estuve intentando usarla en Step7 y no encontré cómo. No sé si la has usado en algún momento, que pudieras orientarme en coómo es que funciona.
Buenas Angello,
La función FR es solo para AWL, se puede usar en 300, 400 y 1500. La función simplemente habilita un contador, si buscas en la ayuda de Siemens te explicará mejor como y con un ejemplo, es muy sencillo.
Salu2
@@programacionmultidisciplinar Buen día, así es, estuve investigando en las ayudas y pdfs de AWL, pero no te muestra una aplicación o un uso práctico. De hecho no encuentro por ninguna parte un buen ejemplo de su utilización. Realmente es una duda personal, supongo que absolutamente nadie utiliza esa función.
Hola, el video anterior de Temporizador se corta y no aparece nada de AWL, porque será esto?
También hay otra manera más sencilla de hacer un contador, es usando los contadores ZV (incrementa) y ZR (decrementa) que están en contadores, carpeta Legacy, ellos solo utilizan una variable tipo counter que ocupa de espacio solo 16 bits.
Solo necesitaría el contacto de activar el contador y listo (no tiene que ser de impulso)
Gracias por el aporte Melissa! TIA Portal tiene tantas herramientas que esos contadores los desconocía!
Tienen pinta de ser heredados del antiguo Step7... Siempre se aprende algo nuevo.
Salu2 pelecera!
Al hacer un contador con el bloque de suma de que manera reseteo el contador
Hola! Intenté hacer el contador en AWL pero se me incrementa en cada ciclo de Scan... No se cómo condicionar la carga de datos (L) en este caso con el valor del flanco positivo. Finalmente la idea era que al llegar a "5" la variable se encienda un motor.
U "DB_pruebaContadores".activarContador1
FP "DB_pruebaContadores".flanco[1]
L "DB_pruebaContadores".miNumero1
L 1
+I
T "DB_pruebaContadores".miNumero1
L "DB_pruebaContadores".miNumero1
L 5
>=I
= "DB_pruebaContadores".motor2
@ProgramacionMultidisciplinar gracias nuevamente por el contenido, espero que alguno pueda hecharme una mano.
Saludos y gracias desde ya.
Hola Martín,
El problema es que no estás condicionando el incremento a ese flanco, haces el flanco, y luego haces el incremento, prueba con esto:
U "DB_pruebaContadores".activarContador1
FP "DB_pruebaContadores".flanco[1]
U (
L "DB_pruebaContadores".miNumero1
L 1
+I
T "DB_pruebaContadores".miNumero1
)
L "DB_pruebaContadores".miNumero1
L 5
>=I
= "DB_pruebaContadores".motor2
Salu2 pelecero!
@@programacionmultidisciplinar Abel perdón pero no puedo lograr condicionar esa carga de datos a una condición previa. Probé con lo que me dijiste y pasa lo mismo, también intenté haciendo uso de SALTOS pero con SPB el RLO siempre está en "1" y no logro cambiarlo... hay algo que no estoy viendo o entendiendo de cómo programar en AWL, podrías ayudarme por favor. Saludos y gracias de nuevo.
U "contador".activarContador
FP "contador".flanco
SPB CONT
CONT: L "contador".miNumero
L 1
+I
T "contador".miNumero
L "contador".miNumero
L 5
>=I
= "contador".motor
@@MartinUnold discúlpame, me equivoque yo completamente que se me fue la pinza.
Para sumar en AWL, necesitas una etiqueta de salto, simplemente con un flanco no te funcionará, te dejo el código:
U "DB_pruebaContadores".activarContador1
FP "DB_pruebaContadores".flanco[1]
SPBN BUCLE
L "DB_pruebaContadores".miNumero1
L 1
+I
T "DB_pruebaContadores".miNumero1
BUCLE: NOP 0
U(
L "DB_pruebaContadores".miNumero1
L 5
>=I
)
= "DB_pruebaContadores".motor2
Date cuenta además, que para darle un valor a una variable booleana en awl, necesitas la instruccion U, que en motor 2, no la tenias, asignabas "=" justo después del comparador, y eso no funciona asi.
Espero te sirva y disculpa de nuevo!
@@programacionmultidisciplinar Perfecto!!! Ahora sí y para complementar el tema es ideal el video de SALTOS en AWL (Instrucciones SPB y SPBN) que es justamente lo que necesitaba, saber cómo condicionar en AWL. Gracias Abel
Si me hago mi propio CTU, ¿cómo hago para resetearlo a 0 de nuevo?
Hola Miguel,
Con un move, haces un move del valor 0 a la variable de contaje cuando ocurra el evento de reset, así lo reseteas.
Salu2 pelecero
Control de la cantidad de un ítem en almacén
Fea palabra "machacar"... sobrescribir
MACHACAAAAAAAAAAAAAAAAAAAAAAAAAAR 💪💪💪💪