Blocs de contrôle B

Q-SYS Control 101 Training (French) : Blocs de contrôle

3 ) Communication simple

12m 48s

4 ) Blocs de contrôle

19m 7s

5 ) Notions de base sur les scripts

32m 5s

6 ) Contrôle de flux

34m 20s

7 ) Conclusion du Control 101

1m 43s

Description de la leçon

Blocs de contrôle B 9m 18s

Explorez davantage de sections du  Block Controller, notamment les changements de contrôle, le contrôle de flux, les instructions if, les opérateurs, les valeurs booléennes et la conversion de blocs en script Lua.

Transcription Vidéo

Blocs de contrôle B 9m 18s
0:08
Rebonjour. Détaillons un peu plus le Block controller, et voyons d’autres types de blocs à votre disposition.
0:15
De retour dans l'écran d'édition du Block Controller, voyons un autre type de bloc. Regardez dans « Flow
0:20
Control ». Ces blocs n'exécuteront leur action qu'en fonction de certains paramètres.
0:25
C'est comme un arbre de décision, dans lequel une décision prise ouvre un nouveau chemin dépendant
0:30
de votre réponse.
0:32
Prenons celui qui dit « if/do ». Il se passe beaucoup de choses dans ce bloc. Vous remarquerez qu'il y a
0:38
une encoche ici en haut, ce qui signifie que c'est une commande. Il y a une encoche ici pour une valeur
0:43
ou un paramètre, et une échancrure pour ce qu'il doit faire. Il a aussi cette icône de roue dentée, dont
0:50
nous parlerons bientôt. Mais pour l'instant, intégrons-le au reste de notre programme.
0:55
Dans la vidéo précédente, nous avons créé un bouton qui change sa légende en « ON » quand on le
0:59
presse. Mais pour changer cette légende en « OFF » quand on appuie à nouveau sur le bouton, le
1:05
programme doit faire une évaluation.
1:07
Si l'état du bouton est ON, nous voulons que la légende indique ON. Si l'état du bouton est OFF, nous
1:13
voulons que la légende indique OFF. C'est un contrôle de flux ou « Flow Control ».
1:18
Détachons donc notre bloc « set control » du bloc « control change », et ajoutons-le plutôt à notre bloc
1:25
conditionnel « If ». Faisons maintenant glisser le bloc « If » dans le bloc « Control Change ». Du coup,
1:31
quand le bouton est pressé, la légende n’est changée que si une certaine exigence est satisfaite.
1:37
Vous pouvez deviner quelle partie nous devons remplir maintenant – « if » veut dire « si » mais si…
1:42
quoi ? Nous devons ajouter ici un bloc signifiant « si le contrôleur est activé ».
1:47
Regardons maintenant dans la rubrique Opérateurs. Les opérateurs sont des choses qui… réalisent une
1:54
opération. Dans ce cas, il s'agit généralement d'opérations mathématiques comme l'arithmétique de
1:59
base ou d'opérations logiques comme la comparaison de deux choses.
2:04
C'est ce que fait ce bloc logique, qui dit « vide égale vide ». Cela fonctionnera parfaitement pour nous,
2:11
alors mettons-le dans notre bloc « If ».
2:13
Nous voyons ici un nouveau type de connexion de bloc. Plutôt que des encoches latérales, ce bloc a des
2:18
trous. Nous avons déjà vu le type de bloc qui rentre dans ces trous, avec une languette triangulaire sur
2:24
le côté, non ? Ce sont des valeurs ou paramètres.
2:28
Revenons à notre rubrique de contrôleur « AMAZING » et prenons ce paramètre : « AMAZING
2:32
Boolean ». Si vous ne connaissez pas le mot booléen, sachez que c’est un état binaire, quelque chose qui
2:37
n'a que deux options, comme notre bouton.
2:41
Revenons à la rubrique Valeurs, et prenons ce bloc « True/False » c'est-à-dire « Vrai/Faux » pour
2:46
l'insérer dans le deuxième trou de notre bloc logique.
2:51
Lisons maintenant le programme déjà fait – quand le contrôleur change, si l'état du contrôleur est vrai,
2:57
alors cela change la légende en « ON ». Il ne reste plus qu'à définir ce qui se passe quand l'état est faux.
3:04
Mais où faire cela ? Il n'y a plus d’emplacements libres dans ce bloc !
3:08
! Pour résoudre ce problème, nous devrons utiliser l'icône de roue dentée que nous avons vue plus tôt.
3:13
Certains blocs comme celui-ci ont des configurations personnalisables. La petite fenêtre qui s'ouvre est
3:18
une sorte de version miniature de l'interface du Block Controller.
3:22
Sur la droite se trouve notre bloc, et sur la gauche la bibliothèque de ce que nous pouvons ajouter à ce
3:27
bloc – comme dans l'interface principale. Faisons glisser une nouvelle option dans notre bloc – l'option
3:33
« Else » qui signifie « sinon ». Quand on ajoute « Else » dans cette fenêtre de configuration, le bloc
3:37
change dans la fenêtre principale. Nous avons une nouvelle zone pour une deuxième commande.
3:43
Fermons la fenêtre de configuration en cliquant à nouveau sur l'icône de roue dentée. Il nous faut un
3:48
autre bloc « set Legend » pour cette nouvelle section, mais il suffit de copier et coller le premier.
3:53
La plupart des raccourcis clavier de Windows fonctionnent dans l'éditeur de Block Controller. Je copie
3:57
avec Control+C et colle avec Control+V, et j’en fais notre commande « Else ». Il ne me reste plus qu'à
4:03
changer la chaîne de Legend de ON en OFF.
4:08
Lisons notre script une dernière fois. Quand le contrôleur change, si l'état du contrôleur est vrai, cela
4:14
change la légende en « ON ». Sinon, cela change la légende en « OFF ». Ça a l'air bon ! Il me reste
4:20
quelques petites choses à vous montrer avant qu'on ait fini.
4:23
D'abord, il faut appuyer sur la barre jaune « Save changes » du haut pour sauvegarder les changements
4:27
et activer ce code. Cela permet de travailler sur votre programme dans un système actif sans rien
4:32
interrompre. Tant que vous n’appuyez pas sur « Save Changes », c’est l'ancien code qui reste exécuté.
4:39
Après avoir appuyé, nous pouvons revenir au schéma de Designer pour nous assurer que notre bouton
4:43
fonctionne. Quand je le désactive, la légende devient OFF. Quand je l'active, elle devient ON. Excellent !
4:51
Ok, vous avez raison. Il nous a fallu dix minutes pour obtenir d’un bouton qu’il change de légende, ce
4:56
n'est pas si impressionnant que ça. MAIS. Ce n'était qu'un tutoriel sur la façon dont les blocs se
5:00
connectent entre eux. En réalité, vous allez faire des choses beaucoup plus compliquées avec le Block
5:04
Controller. Par exemple, il faut savoir que vous pouvez empiler les commandes. Ces blocs peuvent
5:11
sembler rigides, mais ils adapteront leur taille à vos besoins.
5:14
Imaginons que je veuille aussi changer la couleur de ce bouton. Je pourrais ajouter une commande « Set
5:19
Color » dans ce bloc, et le bloc s'ajustera pour la recevoir.
5:23
Vous pouvez ajouter autant de commandes que vous le souhaitez de cette façon – donc lorsque vous
5:27
appuyez sur le bouton, il peut changer de légende et de couleur, réinitialiser un autre contrôleur, faire
5:33
démarrer une minuterie, activer un dispositif d'éclairage tiers, changer le calque visible sur l'UCI, lancer
5:40
un effet pyrotechnique, etc., tout cela en même temps. Maintenant, nous avons un bouton qui fait
5:45
beaucoup plus que changer de légende. C'est l’idée. Notre objectif.
5:53
Mais pour l'instant, je vais garder le mien simple, et ajouter des commandes pour avoir un bouton activé
6:00
vert ou sinon rouge. Là encore, je peux sauvegarder mes changements, et une fois de retour dans le
6:09
Schéma, j'ai un bouton qui change de couleur et de légende quand vous interagissez avec lui.
6:14
Autre chose très importante dans le Block Controller – un clic droit sur un bloc vous offre plusieurs
6:20
options. Vous pouvez sélectionner « Show Comment » pour afficher une section commentaire en haut du bloc.
6:26
Cela vous permet de saisir ce que vous voulez, sans aucun effet sur la fonctionnalité du bloc. Donc si
6:32
vous voulez vous rappeler ce que fait ce bloc, vous pouvez lui donner un titre.
6:36
Vous pouvez aussi choisir « Collapse Block » qui va réduire le bloc à une seule ligne visible, sans changer
6:43
le code. Cela peut être très pratique si vous avez beaucoup de blocs dans votre programme et que vous
6:48
devez vous concentrer sur un seul à la fois.
6:50
La ligne dentelée indique qu'il y a plus de choses à voir, et vous pouvez toujours redéployer le bloc avec
6:55
Expand Block pour le reconfigurer.
6:58
Très bien, une dernière chose. J'ai gardé le meilleur pour la fin ! Nous avons déjà dit que le Block
7:03
Controller est un excellent moyen pour ceux qui n'écrivent pas de code – comme moi – d'accomplir des
7:08
choses qui nécessitent des scripts. Eh bien, ces blocs écrivent littéralement le code pour vous, et vous
7:14
pouvez le lire en ouvrant l'onglet « Lua ».
7:18
C'est le script Lua de ce que nous avons fait jusqu'à présent. Ce qui se trouve au début n'est que de la
7:24
cuisine interne, tandis que le bloc que nous avons construit est représenté ici. Vous pouvez même le lire,
7:29
maintenant que vous comprenez comment le langage est structuré.
7:32
Si vous saviez déjà comment écrire un script, vous auriez pu écrire tout cela plutôt que d'utiliser le Block
7:36
Controller. Mais si vous aviez tapé quelque chose de faux, si vous aviez oublié une majuscule, ou si vous
7:42
n'étiez pas sûr du format à adopter, alors le script ne fonctionnerait pas.
7:46
Le Block Controller vous épargne tous ces soucis en vous permettant de construire votre programme
7:50
avec des pièces de puzzle faciles à gérer, et le code écrit en arrière-plan – sans erreur de syntaxe.
7:56
Si vous êtes intéressé par l'apprentissage des scripts, la lecture de cet onglet Lua peut accompagner
8:01
votre progression. En fait, pour éditer ce script par vous-même, vous pouvez sélectionner cette icône en
8:07
haut de l'écran et choisir « Convertir en script ». Mais un avertissement apparaîtra alors, et à juste titre.
8:14
Vous pouvez convertir des blocs en script pour continuer l'édition dans Lua, mais vous ne pourrez plus
8:19
reconvertir ces éditions en blocs. Après avoir sélectionné OK, l'interface devient un écran de script avec
8:27
du texte modifiable. « Revert to Blocks » vous donne la possibilité de revenir aux blocs, mais vous
8:33
reviendrez alors aux blocs d'origine, en perdant tous les changements faits dans Lua.
8:40
Voilà, c'est cela le composant Block Controller. Nous n'avons bien sûr que survolé ce qu'il peut faire, et
8:45
ce que sont les différents blocs dans chaque catégorie. Nous voulions surtout vous montrer comment
8:50
les blocs se connectent, comment certains sont personnalisables, et nous espérons que vous vous
8:55
sentirez à l'aise dans la fenêtre d'édition maintenant que vous connaissez les options proposées. Dans
9:00
les vidéos à venir, nous irons plus lentement et parlerons des concepts d'un langage de programmation,
9:05
en mettant en œuvre chaque idée à la fois dans Lua et dans le Block Controller. Merci de votre attention.