Block Controller B
| 站点: | QSC | 
| 课程: | Q-SYS Control 101 Training (Spanish) | 
| 图书: | Block Controller B | 
| 打印: | 访客用户 | 
| 日期: | 2025年11月3日 Monday 16:58 | 
描述
Transcripción de video
0:08
 Bienvenido. Vamos a profundizar un poco más en el Block Controller y veamos algunos de los tipos de
0:13
 bloques restantes que están a tu disposición.
0:16
 De vuelta en la pantalla de edición del Block Controller, veamos otro tipo de bloque. Despleguemos 
0:21
 “Flow Control”. Estos bloques solo llevan a cabo su acción basándose en ciertos parámetros.
0:27
 Es como un diagrama de flujo, donde  se construye un punto de decisión y  se bifurca un nuevo 
0:31
 camino basado en tu respuesta.
0:33
 Tomemos este que dice “if / do”. Este bloque tiene mucho que revisar. Verás que tiene una ranura 
0:38
 justo aquí arriba, lo que significa que es un comando. Tiene una ranura aquí para el valor o el 
0:44
 parámetro, y tiene este espacio abierto para lo que queremos que haga. También tiene este ícono de 
0:50
 engrane, sobre del que hablaremos en un momento. Por ahora, integrémoslo con el resto de nuestro 
0:56
 programa.
0:57
 En el video anterior hicimos un botón que cambia su etiqueta o Legend a “ON” cuando es 
1:02
 presionado. Pero para cambiar la etiqueta a “OFF” cuando el botón es presionado nuevamente, 
1:07
 necesitaremos que el programa haga una evaluación.
1:09
 Si el estado del botón es ON, entonces queremos que la etiqueta diga ON. Si el estado del botón es 
1:15
 off, entonces queremos que la etiqueta diga OFF. Eso es control del flujo.
1:19
 Así que, vamos a desacoplar nuestro bloque “set control” del bloque “control change” y a añadirlo a 
1:25
 nuestro bloque de “if”. Ahora podemos arrastrar el bloque “if” en el bloque “control change”. 
1:31
 Esencialmente, cuando el botón es presionado, solo va a cambiar la etiqueta si se cumple con cierto 
1:37
 requerimiento.
1:38
 Puedes adivinar qué parte necesita completarse – si … ¡que! Necesitamos añadir un bloque aquí que 
1:45
 equivale a “si el control está on”.
1:48
 Ahora, veamos la division de Operators (operadores). Los operadores son cosas que, bueno, realizan 
1:55
 una operación. En este caso, operaciones matemáticas como aritmética básica u operaciones lógicas 
2:02
 como tales como, comparar la igualdad de dos cosas diferentes.
2:05
 Eso es lo que este bloque lógico hace, que dice “blank equals blank”.  Este funcionará perfectamente 
2:12
 para nosotros así que vamos a unirlo a nuestro bloque de “if”.
2:16
 Ahora veamos un nuevo tipo conexión de bloques. En lugar de ranuras en las orillas, este bloque 
2:22
 tiene huecos. Ya antes hemos visto el tipo de bloque que encaja en este hueco, y tiene una pestaña 
2:28
 triangular en un costado ¿verdad? Estos son valores o parámetros.
2:33
 Regresando a nuestra división de control para “AMAZING”, tomemos este parámetro: “AMAZING 
2:38
 Boolean”. Si no estás familiarizado con la palabra Boolean, básicamente significa un estado binario, 
2:44
 algo que solo tiene dos opciones, como nuestro botón.
2:48
 Para nuestro segundo hueco, regresemos a la división de Values, y tomemos el bloque “True / False”. 
2:54
 Podemos unirlo con el segundo hueco de nuestro bloque de lógica.
2:58
 Ahora leamos nuestro programa – cuando el control cambia, si el estado del control es true, entonces 
3:04
 cambiará la etiqueta a “ON”. Todo lo que nos falta definir es qué pasará si el estado es false. Pero 
3:11
 ¿cómo podemos definir esto? ¡Ya no hay más ranuras en este bloque!
3:15
 Para arreglar esto, tenemos que usar ese ícono de engrane que vimos antes. Algunos bloques como 
3:20
 este, tienen configuraciones personalizables. Esta pequeña ventana que sale es como una versión en 
3:26
 miniatura de la interfaz del Block Controller.
3:28
 A la derecha está nuestro bloque, y a la izquierda está la librería con las cosas que podemos añadir al 
3:33
 bloque – justo como la interfaz principal. Arrastremos una nueva opción a nuestro bloque – la opción 
3:39
 “Else”. Cuando añadimos el “Else” en esta ventana de configuración, podemos ver que el nuestro 
3:44
 bloque ha cambiado en la ventana principal. Ahora tenemos una nueva área dónde añadir un 
3:49
 segundo comando.
3:51
 Cerremos la ventana de configuración presionando nuevamente en el engrane. Necesitamos
3:56
 y peguemos el primero. Muchos shortcuts de Windows trabajan en el editor del Block Controller. 
4:01
 Haré Control+C para copiar y Control+V para pegar y añadir este bloque a nuestro comando “Else”.
4:08
 Ahora leamos nuestro script una vez más. Cuando el control cambie, si el estado del control es true, 
4:15
 entonces cambia la etiqueta a “ON”. De lo contrario cambiará la etiqueta a “OFF”. ¡Se ve muy bien! 
4:22
 Hay algo más que quiero mostrarte antes de que terminemos.
4:25
 Primero, tenemos que presionar esta barra amarilla “Save Changes” en la parte superior para que 
4:31
 este código se active. Esto te permite trabajar en tu programa con un sistema en tiempo real sin 
4:37
 interrumpir nada. Hasta que presiones “Save Changes” el código viejo seguirá corriendo.
4:42
 Una vez que presiono esto, podemos regresar a nuestro esquemático del Designer para ver nuestro 
4:47
 botón y asegurarnos que funciona. Cuando apago el botón, la etiqueta dice OFF. Cuando lo enciendo, 
4:54
 la etiqueta dice ON. ¡Excelente!
4:56
 Ok, tienes razón. Nos tomó 10 minutos hacer que un botón cambiara su etiqueta. No es tan 
5:01
 impresionante… AUN. Hicimos esto como un tutorial de cómo se conectan los bloques entre sí. 
5:06
 Realmente harás cosas más complicadas con el Block Controller. Por ejemplo – una cosa importante 
5:11
 que debes saber es que puedes apilar comandos uno arriba del otro. Estos bloques pueden verse 
5:17
 inflexibles, pero adaptan su tamaño no importando lo que necesites.
5:21
 Digamos que quiero cambiar el color de este botón también. Puedo añadir un comando “Set Color” a 
5:26
 este bloque y el bloque se ajustará para alojarlo.
5:29
 Por este medio, puedes añadir tantos comandos como desees – lo que significa que cuando el botón 
5:35
 está presionado puede cambiar su etiqueta y su color, puede inicializar otro control, e iniciar un 
5:41
 temporizador y activar una luz en un dispositivo de terceros y hacer que una capa sea visible en una 
5:46
 UCI y activar pirotecnia, etc.; todo al mismo tiempo. Ahora tenemos un botón que hace mucho más 
5:53
 que solo cambiar su etiqueta. Ese es el punto. Ahí es hacia donde vamos.
6:05
 Pero por ahora, mantendré el mío muy sencillo y añadiré comandos que solo pongan el botón verde 
6:10
 si está en “ON” y en rojo si el botón está en “OFF”. Una vez más, puedo guardar mis cambios y al 
6:15
 regresar al Esquemático, tengo un botón que cambia su color y su etiqueta cuando interactúas con él.
6:21
 Otra cosa muy importante con el Block Controller – Si haces click derecho en un bloque, hay algunas 
6:26
 opciones para ti. Puedes seleccionar “Show Comment”, lo que te brinda una sección de comentarios 
6:32
 en la parte superior del bloque.
6:33
 Esto te permite escribir en él cualquier cosa que quieras, lo cual no tiene ningún efecto en la 
6:38
 funcionalidad del bloque. Así que, si quieres recordarte lo que hace el bloque, puedes ponerle un 
6:44
 título.
6:45
 También puedes elegir “Collapse Block” lo que compactará el bloque en una sola línea sin cambiar el 
6:50
 código. Esto puede ser muy conveniente si tienes muchos bloques en tu programa y necesitas 
6:55
 enfocarte en uno a la vez.
6:58
 La línea dentada irregular indica que hay más que ver, y siempre puedes expandir el bloque de nueva 
7:04
 cuenta para configurarlo.
7:06
 Ok, una cosa más. ¡Guardé lo mejor para el final! Mencionamos antes que el Block Controller es un 
7:11
 puente entre la gente que no escribe código – como yo – y la habilidad de llevar a cabo cosas 
7:16
 que requieren código. Bueno, estos bloques están literalmente escribiendo código por ti, y puedes 
7:22
 leer el código navegando en la pestaña que dice “Lua”.
7:25
 Este es el código Lua que hemos hecho hasta ahora. Esta cosa al principio solo gestión, mientras que
7:30
 el bloque que construimos está aquí abajo. Incluso, puedes tratar de leerlo, ahora que entiendes 
7:36
 cómo se estructura el lenguaje.
7:38
 Si supieras cómo se escribe el código antes de haber hecho esto, pudiste haber escrito todo en lugar 
7:43
 de usar el Block Controller. Pero si hubieras escrito algo más o te hubiera faltado una mayúscula o si 
7:50
 no conoces exactamente cómo darle formato, entonces el código no hubiera funcionado.
7:55
 El Block Controller te libera de toda esa preocupación permitiéndote construir tu programa con la 
8:00
 facilidad de unir piezas de un rompecabezas, mientras que el código se escribe tras bambalinas – libre
8:05
 de errores de sintaxis.
8:07
 Si estás interesado en aprender a codificar, leer esta pestaña Lua puede ayudarte en la labor. De 
8:13
 hecho, si quieres editar este código por tu cuenta, puedes seleccionar este ícono en la parte superior 
8:18
 y elegir “Convert to Script”. Sin embargo, saldrá una alerta, y con buena razón.
8:23
 Puedes convertir bloques a código, lo que te permite seguir editando en Lua, pero no puedes 
8:29
 convertir eso que editaste a bloques. Una vez que presionas OK, la interfaz cambia a una ventana de 
8:36
 código editable. Tienes la opción de “Revert to Blocks” pero hacerlo solo cambiará el código a sus 
8:41
 bloques originales, por lo que perderás todos los cambios hechos en Lua.
8:46
 Así que, este es el componente de Block Controller. Obviamente solo hemos visto una probada de lo 
8:51
 que puede hacer y lo que son los diferentes bloques dentro de su categoría. Sobre todo, queríamos 
8:57
 mostrarte como se conectan los bloques, demostrar cómo se personalizan y que te sintieras cómodo 
9:02
 navegando en la ventana de edición ahora que conoces que opciones tienes disponibles. En los 
9:08
 próximos videos, iremos un poco más despacio y hablaremos sobre los conceptos de un lenguaje de 
9:13
 programación y veremos cómo cada idea se implementa tanto en Lua como en el Block Controller. 
9:19
 Gracias por ver.
Descripción de la lección
Explora más secciones del Block Controller incluyendo cambio de control, control de flujo sentencias if, operadores, valores booleanos y convertir bloques a script de Lua.