PWM (Pulse Width Modulation)
Este bloque de función genera una señal booleana modulada por ancho de pulso (PWM) artificial que puedes usar para simular o activar disparadores temporizados. Úsalo para crear señales repetitivas de encendido/apagado ya sea por tiempo (segundos) o por conteo de muestras (pasos discretos).
📥 Entradas
Este bloque de función no tiene entradas.
📤 Salidas
Boolean— La señal periódica True/False producida según el modo y los tiempos configurados.
🕹️ Controles
Interval— Ingresa el periodo total de un ciclo. En el modo Time esto está en segundos. En el modo Sample esto está en número de muestras/pasos.Up Duration— Ingresa cuánto tiempo la salida permanece True dentro de cada ciclo. Las unidades coinciden con el modo seleccionado (segundos o samples).Time mode— Alterna entreSeconds(modo basado en tiempo) ySamples(modo basado en conteo de samples).
🎨 Características
Modo PWM basado en tiempo para señales periódicas en tiempo real.
Modo PWM basado en samples para señales sincronizadas por pasos o frames.
Ciclo de trabajo ajustable mediante
IntervalyUp Duration.Salida booleana simple, fácil de combinar con bloques lógicos y de salida.
📝 Instrucciones de uso
Elige el modo de operación con
Time mode.Ajusta
Intervalpara definir la longitud completa del ciclo.Ajusta
Up Durationpara definir la porción activa (True) de cada ciclo. Asegúrate de queUp Durationsea menor o igual queInterval.Conecta la salida
Booleana cualquier bloque que consuma una señal de verificación / booleana (por ejemploLed Outputpara visualizar, o bloques lógicos para controlar otros comportamientos).
📊 Evaluación
En tiempo de ejecución el bloque produce un patrón repetido True/False. En Time mode el patrón sigue segundos reales. En Sample mode el patrón avanza con cada run/step. El ciclo de trabajo (duty cycle) es igual a (Up Duration ÷ Interval).
💡 Consejos y Trucos
Visualiza la señal usando
Scopepara verificar el timing y el duty cycle en tiempo real.Usa
Rising Edgepara detectar transiciones y disparar acciones de un solo pulso en el flanco ascendente.Cuenta pulsos con
Counterpara medir ocurrencias o accionar operaciones por lotes.Combina con
AnduOrpara condicionar la señal PWM con otras condiciones (por ejemplo unLogic Inputmanual).Usa
Delay Step,ON DelayoOFF Delaypara modelar o hacer debounce de transiciones.Persiste o congela señales con
Data Memorycuando necesites un valor estable entre actualizaciones.
🛠️ Resolución de problemas
Salida siempre True o siempre False
Verifica que
Up DurationeIntervalestén configurados correctamente y que elTime modeseleccionado coincida con las unidades esperadas (seconds vs samples).
El timing parece incorrecto en
Time modeVerifica que el reloj del sistema anfitrión esté funcionando y que otros bloques no estén bloqueando la ejecución. Usa
Scopepara confirmar los tiempos reales.
El modo sample no avanza como se espera
Asegúrate de que el sistema esté generando pasos/samples (el loop de ejecución o bloques aguas arriba deben proporcionar iteraciones). Usa
CounteroCycle Timerpara inspeccionar el progreso de pasos.
Última actualización