Académique Documents
Professionnel Documents
Culture Documents
ROBOPro
1
TABLE DES MATIÈRES
4.3 Traiter les symboles des sous-
programmes ........................................ 35
1 Introduction – Commander des 4.4 Tango .................................................. 36
maquettes Fischertechnik avec 4.4.1 Commande de moteur par
ROBO Pro ............................................. 4 commutateurs d’impulsions......... 38
1.1 Installation de ROBO Pro ...................... 4 4.4.2 Commande par moteurs codeurs 41
1.2 Installation du pilote USB ...................... 5 4.4.3 Programme principal Tango ........ 43
1.2.1 Installation du pilote USB dans 4.5 Tango 2 : communication via WiFi,
Windows Vista, 7, 8 ...................... 6 Bluetooth ou RF Data Link .................. 44
1.2.2 Installation du pilote USB dans 4.5.1 Paramètres radio pour l’interface
Windows XP .................................. 6 Robo ............................................ 48
1.3 Premiers pas ......................................... 8 4.5.2 Paramètres Bluetooth pour le TXT
ou le TX Controller ...................... 51
2 Petit test du matériel avant la
programmation .................................. 12 5 Niveau 3: Variables, Panneau de
2.1 Raccordement de l’Interface au PC .... 12 commande et Cie ............................... 54
2.2 Pour que la liaison soit bonne – Mises 5.1 Variables et commandes ..................... 54
au point de l’Interface .......................... 12 5.2 Variables et procédures multiples ....... 56
2.3 La liaison n’est pas bonne – Il n’y a pas 5.3 Panneaux de commande .................... 57
de liaison avec l’Interface !? ................ 13 5.4 Timer ................................................... 61
2.4 Tout fonctionne – Test de l’Interface ... 14 5.5 Entrées de commande pour sous-
programme .......................................... 62
3 Niveau 1: Mon premier programme de 5.6 Listes (Arrays) ..................................... 65
commande ......................................... 16 5.7 Opérateurs........................................... 67
3.1 Créer un nouveau programme ............ 16
3.2 Les éléments du programme de 6 Niveau 4 : Commandes définies par
commande ........................................... 17 l’utilisateur ......................................... 71
3.3 Ajouter, déplacer et modifier un élément 6.1 Traitement des commandes dans une
de programme ..................................... 17 procédure ............................................ 71
3.4 Lier les éléments de programme ......... 20 6.2 Filtre de commande ............................. 72
3.5 Test du premier programme de 6.3 Envoyer des commandes au choix aux
commande ........................................... 21 sous-programmes................................ 74
3.6 Autres éléments de programme .......... 23 7 Commander plusieurs Interfaces .... 75
3.6.1 Attente ......................................... 23 7.1 Commander les extensions ................. 75
3.6.2 Attendre l’entrée .......................... 24 7.2 TXT Controller, TX Controller et ROBO
3.6.3 Compteur d’impulsions ............... 24 Interface mélangés .............................. 75
3.6.4 Boucle de comptage ................... 25 7.3 Attribution des Interfaces dans les sous-
3.7 Utilisation en mode Online ou en mode programmes ........................................ 77
Téléchargement Quelle est la 7.4 Trucs & Astuces .................................. 78
différence ? .......................................... 25 7.5 Modifier le numéro de série de
3.8 Trucs et Astuces.................................. 27 l’interface du ROBO Interface ............. 78
4 Niveau 2: Travailler avec des sous- 8 Aperçu des éléments du programme80
programmes....................................... 29 8.1 Eléments fondamentaux (Niveau 1) .... 80
4.1 Mon premier sous-programme ............ 30 8.1.1 Démarrer ..................................... 80
4.2 Bibliothèque des sous-programmes.... 34 8.1.2 Terminer ...................................... 80
4.2.1 Utiliser la bibliothèque ................. 34 8.1.3 Branchement digital .................... 80
4.2.2 Utiliser la bibliothèque personnelle34 8.1.4 Branchement analogique ............ 81
1
F
ROBOPro
2
8.1.5 Attente......................................... 82 8.6.1Branchement (avec entrée de
8.1.6 Sortie Moteur............................... 83 données) ................................... 106
8.1.7 Moteur codeur (niveau 1) ............ 84 8.6.2 Comparaison avec une valeur fixe107
8.1.8 Sortie Lampe (Niveau 2) ............. 84 8.6.3 Comparaison ............................. 108
8.1.9 Attendre une entrée .................... 85 8.6.4 Attente ....................................... 108
8.1.10 Compteur d’impulsion ................. 86 8.6.5 Attendre... .................................. 108
8.1.11 Boucle de comptage ................... 88 8.6.6 Compteur d’impulsions .............. 109
8.1.12 Son .............................................. 88 8.7 Entrées / Sorties d’Interface,... .......... 109
8.2 Envoyer, recevoir (Niveau 2-4)............ 89 8.7.1 Entrée universelle...................... 110
8.2.1 Emetteur (Niveau 2) .................... 89 8.7.2 Entrée de compteur ................... 111
8.2.2 Récepteur / Branchement à la 8.7.3 Position atteinte du moteur ....... 111
réception d’une commande 8.7.4 Sortie Moteur ............................. 112
(Niveau 2).................................... 90 8.7.5 Sortie Lampe ............................. 113
8.2.3 Récepteur (Niveau 3) .................. 91 8.7.6 Entrée du panneau de commande114
8.2.4 Attendre une commande (Niveau 8.7.7 Sortie du panneau de commande115
4) ................................................. 92 8.7.8 Entrée de la caméra .................. 116
8.2.5 Filtre de commande (Niveau 4) ... 93 8.7.9 Entrée IR (TXT Controller) ........ 116
8.2.6 Remplacer la valeur de la 8.8 Opérateurs ......................................... 118
commande (niveau 4) ................. 93 8.8.1 Opérateurs arithmétiques .......... 118
8.2.7 I2C Écriture (niveau 4) ................. 94 8.8.2 Opérateurs relationnel ............... 118
8.2.8 I2C Lecture (niveau 4) ................. 95 8.8.3 Opérateurs logiques .................. 119
8.3 Sous-programme I/O (Niveau 2-3) ...... 96 8.8.4 Bits opérateurs .......................... 119
8.3.1 Entrée du Sous-programme 8.8.5 Fonctions ................................... 120
(Niveau 2).................................... 96 8.9 ROBO Interface ................................. 122
8.3.2 Sortie du sous-programme (Niveau 8.9.1 Branchement digital (ROBO
2) ................................................. 96 Interface) ................................... 122
8.3.3 Entrée de commande du sous- 8.9.2 Branchement analogique (ROBO
programme (Niveau 3) ................ 97 Interface) ................................... 123
8.3.4 Sortie de Commande du sous- 8.9.3 Attendre une entrée (ROBO
programme (Niveau 3) ................ 97 Interface) ................................... 123
8.4 Variable, Liste, ... (Niveau 3) ............... 98 8.9.4 Compteur d’impulsion (ROBO
8.4.1 Variable (globale) ........................ 98 Interface) ................................... 124
8.4.2 Variable locale............................. 99 8.9.5 Entrée digitale (ROBO Interface)125
8.4.3 Constantes ................................ 100 8.9.6 Entrée analogique (ROBO
8.4.4 Variable de Timer ...................... 100 Interface) ................................... 126
8.4.5 Liste........................................... 101 8.9.7 Entrée IR (ROBO Interface) ...... 127
8.5 Commandes (Niveau 3) .................... 103
8.5.1 = (Attribuer) ............................... 104 9 Aperçu des éléments de commande
8.5.2 + ( Plus ) .................................... 104 et des panneaux de commande ..... 128
8.5.3 – ( Moins ) ................................. 105 9.1 Affichages .......................................... 128
8.5.4 Droite ......................................... 105 9.1.1 Appareil de mesure ................... 128
8.5.5 Gauche...................................... 105 9.1.2 Affichage textuel ........................ 129
8.5.6 Stop ........................................... 105 9.1.3 Lampe de l’affichage ................. 131
8.5.7 In ............................................... 105 9.2 Eléments de commande .................... 131
8.5.8 Out ............................................ 105 9.2.1 Bouton ....................................... 131
8.5.9 Texte ......................................... 106 9.2.2 Régulateur à coulisse ................ 132
8.5.10 Attacher une valeur ................... 106 10 Fonctions de dessin ........................ 134
8.5.11 Supprimer une (des) valeur(s) .. 106
8.5.12 Permuter des valeurs ................ 106 11 Fonctions de la caméra................... 136
8.6 Comparaison, Attente, ... (Niveau 3) . 106 11.1 Fenêtre de la caméra ........................ 136
2
F
ROBOPro
3
11.2 Image de la caméra........................... 136
11.3 Champs du capteur de la caméra ..... 137
11.3.1 Identificateur de couleurs .......... 137
11.3.2 Détecteur de mouvement.......... 138
11.3.3 Détecteur de ligne ..................... 138
11.3.4 Détecteur de balle ..................... 140
11.3.5 Dégagement.............................. 141
12 Fonctions pour le TXT et le TX
Controller ......................................... 142
12.1 Installation du pilote USB pour le ROBO
TX Controller ..................................... 142
12.2 Environnement (à partir du niveau 1) 142
12.3 Programmation indépendante de
l’Interface ........................................... 143
12.4 Conversion de programmes .............. 144
12.5 Entrées universelles, type de capteur et
mode d’entrée ................................... 144
12.6 Entrées de compteur rapides et
extension de la commande du moteur145
12.6.1 Moteur codeur (niveau 1) .......... 145
12.6.2 Extension de la commande du
moteur dans le niveau 3............ 147
12.7 Écran ................................................. 148
13 Calcul avec des nombres décimaux –
arithmétique à virgule flottante (à
partir du niveau 3) ........................... 150
13.1 Comparaison de nombres à virgule
flottante .............................................. 150
13.2 Représentation de nombres à virgule
flottante .............................................. 150
13.3 Calcul de la précision ........................ 152
3
F
ROBOPro
Si vous connaissez déjà ROBO Pro et ne voulez que savoir ce que le ROBOTICS TXT Con-
troller vous offre comme nouvelle fonctions, vous ne devez que lire le chapitre 11: Fonctions
de la caméra de ce manuel.
Et maintenant, au travail ! Vous êtes sans doute impatient de connaître les possibilités de pro-
grammation que vous offre le logiciel ROBO Pro pour vos maquettes Fischertechnik. Bon
amusement !
4
F
ROBOPro
• Un port USB libre pour raccorder le ROBOTICS TXT Controller, le ROBO TX Controller ou la
ROBO Interface
• Le programme Adobe Acrobat Reader pour afficher la mode d'emploi du ROBOTICS TXT
Controller et les matériaux d'accompagnement didactiques des différentes boîtes de cons-
truction ROBOTICS.
Vous devez tout d’abord allumer votre ordinateur et attendre que le système d’exploitation (Win-
dows) soit totalement chargé. Ne raccordez le Controller à l'ordinateur qu'après l'installation
réussie du logiciel ROBO Pro. Insérez alors le CD d’installation dans votre lecteur CD-ROM. Le
programme d’installation « Setup.exe » sur le CD se lance alors automatiquement.
• Cliquez sur le bouton Suivant de la fenêtre d’accueil du programme d’installation.
• La seconde fenêtre Informations importantes contient des informations importantes sur
l’installation du programme ou sur le programme en lui-même. Cliquez aussi sur le bouton
Suivant.
• Sur la troisième fenêtre Contrat de licence, vous pourrez lire le contrat de licence ROBO
Pro. Vous devez accepter ce contrat en cliquant sur Oui avant de pouvoir accéder à la fe-
nêtre suivante en cliquant sur Suivant.
• Sur la fenêtre suivante Informations Utilisateur, vous devez entrer votre nom.
• Sur la fenêtre Type d’installation, vous pouvez choisir entre Installation Express ou Instal-
lation personnalisée. Dans l’installation personnalisée, vous pouvez décider de ne pas
installer certains des composants de l’installation. Si vous installez une nouvelle version de
ROBO Pro sur une ancienne version et avez modifié certains des programmes d’exemple de
l’ancienne version, vous pouvez ne pas installer les exemples lors de l’installation personna-
lisée. Dans le cas contraire, les programmes d’exemple modifiés seront écrasés sans
avertissement lors de l’installation. Si vous choisissez l’installation personnalisée et cliquez
sur Suivant, une fenêtre supplémentaire apparaît sur laquelle vous pouvez choisir les com-
posants.
• Dans la fenêtre Sélection du dossier d’installation, vous pouvez choisir le dossier ou le
chemin de répertoire où vous souhaitez installer ROBO Pro. Normalement, ce chemin est
C:\Programmes (x86)\ROBOPro. Vous pouvez cependant sélectionner un autre répertoire.
• Lorsque, sur la dernière fenêtre, vous cliquez sur Achever, l’installation commence. Dès que
l’installation est achevée – ce qui ne dure généralement que quelques secondes –, le pro-
gramme vous informe que l’installation a été achevée avec succès. En cas de problème, un
message d’erreur s’affiche afin de vous aidez à résoudre ce problème.
5
F
ROBOPro
d'installer le pilote, étant donné que les interfaces ne fonctionneraient pas via le port USB au
cas contraire.
Pour installer le pilote USB, vous devez d’abord raccorder le ROBOTICS TXT Controller, le ROBO
TX Controller ou la ROBO Interface à l’ordinateur au moyen d’un câble USB et l’alimenter en
courant. Windows détecte automatiquement que l’interface est raccordée et affiche différents
messages suivant le système d'exploitation de l'ordinateur :
Un clic sur ce message avec le bouton gauche de la souris lance l'affichage de la fenêtre sui-
vante :
La recherche de mises à jour dans Windows peut durer quelques minutes. Étant donné que le
logiciel du pilote est déjà préinstallé sur votre PC ensemble avec l'installation de ROBO Pro, vous
pouvez sauter le téléchargement du logiciel du pilote de Windows. Mais attention, n'interrompez au
aucun cas cette opération en cliquant sur Fermer. Faute de quoi, l'installation du pilote serait
annulée. Le message suivant s'affiche dès que l'installation du pilote USB est terminée.
Le pilote est installé dès à présent et plus rien ne s'oppose à l'utilisation du périphérique.
Observation : Les messages reproduits ici sont issus de Windows 7. Il va de soi qu'ils peuvent
différer suivant la version de Windows installée sur votre ordinateur.
6
F
ROBOPro
7
F
ROBOPro
Le message suivant apparaît finalement :
8
F
ROBOPro
Vous pouvez désinstaller ROBO Pro au moyen de l’entrée Désinstaller. L’entrée Aide ouvre le
fichier d’aide de ROBO Pro et l’entrée ROBO Pro lance le programme ROBO Pro. Choisissez
maintenant l’entrée ROBO Pro pour démarrer le logiciel.
Sur le haut de la fenêtre, vous trouverez une barre de menu et une barre d’outils avec différents
boutons de commande, ainsi que, sur le côté gauche, une fenêtre avec des éléments de pro-
gramme. Si deux fenêtres superposées apparaissent dans la colonne de gauche, ROBO Pro n’est
pas réglé sur Niveau 1. Pour adapter les fonctionnalités de ROBO Pro aux connaissances crois-
santes de l’utilisateur, ROBO Pro peut être réglé du Niveau 1, pour les Débutants, au Niveau 5,
pour les Experts. Regardez maintenant dans le menu Niveau si Niveau 1 : Débutants est coché.
Si non, sélectionnez Niveau 1.
ROBO Pro est réglé de telle manière que vous pouvez aussi utiliser le ROBOTICS TXT Controller
ou le ROBO TX Controller comme interface. Cette fonction est affichée par le bouton TX/TXT de la
barre d’outils. Les explications relatives à la commutation d’un ancien ROBO Interface vous sont
données au Chapitre 12.2 Environnement.
Ouvrir
9
F
ROBOPro
Vous avez maintenant la possibilité, soit de créer un nouveau fichier de programme, soit d’ouvrir
un fichier de programme déjà existant. Nous créerons un nouveau fichier de programme au cha-
pitre 3 lorsque nous concevrons notre premier programme de commande. Pour apprendre à
connaître l’interface utilisateur, ouvrons un des programmes d’exemple déjà existant. Pour ce faire,
cliquez sur l’entrée Ouvrir du menu Fichier ou utilisez le bouton Ouvrir de la barre d’outils. Les
fichiers d’exemple se trouvent dans le répertoire C:\Programmes\ROBOPro\Programmes
d'exemple
Vous pouvez voir ici à quoi ressemble un programme ROBO Pro simple. Les éléments de pro-
gramme de la fenêtre d’éléments permettent, lors de la programmation dans la fenêtre de
10
F
ROBOPro
programme, de concevoir les organigrammes des programmes de commande. Les organi-
grammes conçus peuvent alors être contrôlés et testés avec une Interface Fischertechnik raccor-
raccordée. Mais allons-y lentement, nous allons apprendre à connaître la programmation pas à
pas dans les chapitres suivants ! Après vous être fait une première idée de l’interface utilisateur,
fermez le fichier de programme avec la commande Fermer du menu Fichier. Vous pouvez ré-
pondre Non lorsque le système vous demandera si vous souhaitez enregistrer le fichier.
11
F
ROBOPro
Test
12
F
ROBOPro
Après avoir choisi le réglage correct, fermez la fenêtre en cliquant sur OK. Ouvrez maintenant la
fenêtre de test de l’Interface en appuyant sur le bouton Test de la barre d’outils :
Cette fenêtre représente les entrées et sorties présentes sur l’Interface. La barre verte en bas à
droite indique le statut de la liaison entre l’ordinateur et l’Interface :
• Raccordement en cours confirme une liaison correcte avec l’Interface
• Raccordement : suspendu signifie que la liaison n’a pas été correctement réglée et que
l’ordinateur ne peut pas établir de liaison avec l’Interface. La barre est alors rouge.
Pour pouvoir modifier le réglage de l’Interface ou de la liaison, vous devez fermer la fenêtre de test
(avec le X en haut à droite) et sélectionner une autre interface ou un autre type d’interface au
moyen du bouton COM/USB de la barre d’outils, comme cela a été décrit plus haut.
Si vous pouvez établir la liaison entre l’ordinateur et l’Interface et que la barre verte apparaît dans
la fenêtre Test, vous pouvez sans problème passer au prochain chapitre.
Dans le cas contraire, les astuces données dans le prochain sous-chapitre pourront peut-être vous
aider.
13
F
ROBOPro
seur de ROBO TX Controller ne fonctionne plus. Dans ce cas, la DEL rouge reste allumée ou
aucune des DELs ne sont allumées. L’écran n’affiche plus rien dans ce cas.
Si la tension est trop basse, vous devez recharger les accus ou utiliser de nouvelles
piles/batteries ou tester l’interface avec un bloc d’alimentation, dans la mesure du possible.
• Le pilote USB est-il correctement installé ?
Ce pilote est installé si le programme affiche une entrée fischertechnik USB ROBOT TX Con-
troller pour les raccordements (COM et LPT) dans le gestionnaire de périphériques du
panneau de configuration de Windows et il suffit de contrôler qu’il fonctionne correctement.
Répétez l’installation du pilote USB à supposer qu’il n’y ait pas d’entrée. Dans l’hypothèse de
l’affichage d’une erreur, vous devez désinstaller le pilote (cliquez avec le bouton droit de la
souris sur l’entrée respective) et l’installer à nouveau. Si l'installation automatique du pilote
USB ne fonctionne pas, vous pouvez aussi installer le pilote USB manuellement via le ges-
tionnaire de périphériques. Vous trouverez les pilotes pour les différents périphériques dans
le dossier de ROBO Pro (standard : C:\Programmes(x86)\ROBOPro\ Installation_pilotes
_USB). Une aide supplémentaire relative à l'installation manuelle d'un pilote USB est à votre
disposition sur www.fischertechnik.de – Téléchargements – ROBOTICS.
• Y a-t-il un conflit avec un autre pilote sur la même interface (p. ex. un modem) ? Ce pilote
devra éventuellement être désactivé (voir les manuels de Windows et de l’appareil).
• Si la liaison avec l’Interface n’a pas encore pu être établie, celle-ci ou le câble de liaison est
sans doute défectueux. Dans ce cas, adressez-vous au Service Fischertechnik (Adresse: voir
menu „?“ / Info sur).
14
F
ROBOPro
15
F
ROBOPro
Une grande surface blanche sur laquelle vous allez pouvoir saisir votre premier programme appa-
raît alors. Si deux fenêtres superposées apparaissent sur le bord gauche, veuillez tout d’abord
choisir Niveau 1 : Débutants dans le menu Niveau.
16
F
ROBOPro
17
F
ROBOPro
18
F
ROBOPro
cer des éléments d’un programme à un autre programme, vous pouvez, au départ, enfoncer les
touches CTRL+X ou utiliser la fonction Traiter / Couper, plutôt que les touches CTRL+C ou la
fonction Traiter / Copier.
Nota Bene: Si vous raccordez un mini-bouton comme contact de fermeture sur le raccorde-
ment 1 et 3, le branchement du programme ira vers la branche 1 lorsque vous appuierez sur
l’interrupteur ; dans le cas contraire, il ira vers 0.
Si vous raccordez un mini-bouton comme contact d’ouverture sur les raccordements 1 et 2, le
branchement du programme ira vers la branche 1 lorsque vous n’appuierez pas sur
l’interrupteur ; dans le cas contraire, il ira vers 0.
19
F
ROBOPro
L’élément de programme suivant de notre commande pour notre porte
de garage est un élément Moteur. Ajoutez-le dans le programme
comme vous l’avez fait pour les deux autres éléments, et ce, sous
l’élément de branchement. Si possible, placez l’élément afin qu’il soit
relié automatiquement avec l’élément se trouvant au-dessus.
Grâce à l’élément Moteur, vous pouvez allumer ou
éteindre aussi bien un moteur qu’une lampe ou un élec-
troaimant. Ouvrez la fenêtre de propriétés de l’élément
Moteur en cliquant avec le bouton droit de la souris sur
cet élément.
• Les boutons M1 à M4 vous permettent de choisir
quelle sortie de l’Interface doit être commandée.
• Le champ Image vous permet de choisir une image
pour représenter le module Fischertechnik raccordé
à la sortie.
• La sélection Interface / Extension sera expliquée
au chapitre 7 Commander plusieurs interfaces à la
page 75.
• Dans le champ Action, vous pouvez choisir comment la sortie doit être influencée. Vous
pouvez démarrer ou arrêter un moteur avec un sens de rotation gauche ou droit. Vous pou-
vez également allumer ou éteindre une lampe.
• Le champ Vitesse / Intensité vous permet de régler avec quelle vitesse le moteur doit tour-
ner ou comment doit briller la lampe. Les valeurs possibles vont de 1 à 8.
Pour notre organigramme de programme, nous avons besoin de la commande Moteur M1
gauche avec une vitesse de 8.
20
F
ROBOPro
Ajoutez dans votre programme de commande un élément de branchement
envoyant une requête au commutateur de fin sur l’entrée I2. N’oubliez pas de
cliquer sur l’élément avec le bouton droit de la souris et de régler l’entrée sur
I2. Dès que la porte de garage sera ouverte et aura appuyé sur le commuta-
teur de fin, le moteur doit se couper. On y parvient grâce à un élément Moteur.
Utilisez tout d’abord le même élément que pour l’allumage du moteur. Si vous
cliquez sur l’élément avec le bouton droit de la souris, vous pouvez modifier le
fonctionnement de l’élément et le mettre sur Arrêter le moteur. Le pro-
gramme se termine par un élément de fin. Votre programme devrait alors être
plus ou moins semblable à celui représenté ci-contre. Si vous avez à chaque
fois placé vos éléments avec un espacement de un ou deux points de trame,
la plupart des entrées et des sorties sont déjà reliées entre elles par les
flèches de déroulement du programme. La sortie Non (N) des deux branche-
ments n’est cependant pas encore raccordée. Tant que l’interrupteur se
situant sur l’entrée I1 n’est pas enfoncé, le programme doit toujours revenir en
arrière et envoyer une requête à l’interrupteur. Afin de tracer cette ligne,
cliquez avec la souris aux endroits indiqués sur la représentation ci-dessous :
Nota Bene : Si une des lignes ne devait pas être correctement reliée au raccordement ou à
une autre ligne, un rectangle vert apparaîtrait à la pointe de la flèche. Dans ce cas, vous de-
vez établir la liaison soit en déplaçant la ligne, soit en la supprimant et en la retraçant. Dans
le cas contraire, le déroulement du programme ne pourra pas fonctionner à cet endroit.
21
F
ROBOPro
Avant de tester le programme de commande, vous devez enregistrer le fichier du programme sur
le disque dur de votre ordinateur. Cliquez avec la souris sur la commande Enregistrer sous... du
menu Fichier. La fenêtre de dialogue suivante apparaît alors :
Pour tester le programme, appuyez sur le bouton Start représenté ci-contre de la barre d’outils.
ROBO Pro teste d’abord si tous les éléments de programme sont bien reliés. Si un élément n’était
Start pas correctement relié ou si un autre problème se posait, l’élément posant problème serait marqué
en rouge et un message d’erreur décrivant le type de problème apparaîtrait. Si, p.e., vous avez
oubliez de raccorder la sortie Non (N) au branchement de programme, le message d’erreur serait
le suivant :
Si un message d’erreur apparaît, vous devez tout d’abord corriger l’erreur signalée. Dans le cas
contraire, le programme ne pourra pas démarrer.
Note Bene : Vous trouverez une explication détaillée de ce mode d’utilisation et du mode
d’utilisation „Téléchargement“ au point 3.7 à la page 25
22
F
ROBOPro
Le premier élément de branchement est marqué en rouge. Cela indique que le
déroulement de cet élément de programme attend que l’interrupteur raccordé
à I1 (qui doit ouvrir la porte de garage) soit enfoncé. Tant que l’interrupteur
n’est pas actionné, le programme se branche sur la sortie Non (N) du bran-
chement du programme et, de là, repart vers le début du branchement.
Appuyez maintenant sur l’interrupteur raccordé à l’entrée I1 de l’Interface. La
condition nécessaire au transfert est alors remplie et le moteur s’allume. Le
déroulement du programme attend alors que le commutateur de fin de l’entrée
I2 soit actionné. Dès que le commutateur de fin de l’entrée I2 est actionné, le
programme se branche sur la seconde Sortie Moteur et éteint alors le moteur.
Le programme parvient finalement à la fin du programme. Un message vous
informant que le programme est achevé apparaît alors.
Tout a fonctionné ? Félicitations ! Vous avez conçu et testé votre premier
programme de commande. Si cela ne marche pas, ne vous découragez pas !
Vérifiez bien tout à nouveau ; une petite erreur a dû se glisser quelque part.
Tous les programmeurs font des erreurs et c’est en faisant des erreurs que
l’on apprend le mieux. Alors, courage !!!
3.6.1 Attente
Avant de pouvoir compléter l’organigramme, vous devez effacer la liaison entre
„éteindre le moteur“ et „fin du programme“ et déplacer l’élément de fin vers le
bas. Vous pouvez maintenant ajouter de nouveaux éléments de programme
entre ces deux éléments. La porte de garage doit se refermer automatiquement
après 10 secondes. Pour ce faire, vous pouvez utiliser l’élément de programme
Attente représenté ci-contre. Vous pouvez régler le temps d’attente dans une large mesure selon
votre envie en cliquant, comme d’habitude, sur l’élément avec le bouton droit de la souris. Introdui-
sez alors la durée d’attente souhaitée (10 secondes). Pour fermer la porte de garage, le moteur
doit, bien entendu, tourner dans l’autre sens, donc vers la droite. Le moteur se coupe grâce à un
autre commutateur de fin I3.
23
F
ROBOPro
Votre organigramme complet devrait être plus ou
moins semblable à celui représenté ici. Pour plus de
Start clarté, les nouveaux éléments de programme ont été
déplacés vers la droite. S’il n’y a plus d’erreur dans
l’organigramme, vous pouvez, comme toujours, tester
la commande étendue de la porte de garage en ap-
puyant sur le bouton Start. En actionnant l’interrupteur
raccordé sur I1, le moteur s’allume ; en actionnant
l’interrupteur sur I2, il se coupe. La porte de garage est
alors ouverte. L’élément de programme « Attente de
10 secondes » (le temps d’attente que nous avons
programmé) est alors marqué en rouge. Le moteur est
alors allumé avec un autre sens de rotation jusqu’à ce
que l’interrupteur sur I3 soit actionné. Vous pouvez
également essayer de modifier le temps d’attente.
Symbole
Il est également possible d’utiliser une combinaison d’éléments de branchement ; l’opération est
cependant plus simple et claire avec l’élément Attendre l’entrée.
24
F
ROBOPro
cet élément, vous pouvez déterminer ce qui doit être considéré comme une impulsion (modifica-
tions quelconques ou seulement 0-1 ou seulement une permutation 1-0). Les engrenages
d’impulsion attendent généralement des modifications quelconques, de sorte que l’on atteint une
résolution de 8 étapes par rotation pour les 4 dents.
En Mode Online, vous pouvez également arrêter le programme et le remettre en marche en ap-
puyant sur le bouton Pause. C’est très pratique pour vérifier un point sur une maquette sans
arrêter la totalité du programme. Si vous souhaitez comprendre le déroulement d’un programme, Pause
la fonction Pause peut également être très utile.
Le bouton Etape vous permet de lancer le programme étape par étape, élément par élément. A
chaque fois que vous appuyez sur le bouton Etape, le programme passe à l’élément de pro-
gramme suivant. Si vous avez introduit un élément Attente ou Attendre..., cela peut durer un Etape
moment avant que le programme n’arrive sur l’élément suivant.
Pour votre interface, vous pouvez utilisez le Mode Téléchargement plutôt que le mode Online. En
Mode Online, les programmes sont lancés par votre ordinateur. Votre ordinateur envoie des com-
mandes comme „Allumer le moteur“ à l’Interface. Il est nécessaire que l’Interface soit reliée à Téléchar-
l’ordinateur pendant toute la durée du programme. En Mode Téléchargement, le programme est gement
lancé par l’ordinateur lui-même. L'ordinateur enregistre le programme dans l'espace mémoire de
l'interface. Lorsque c’est fait, la liaison entre l’ordinateur et l’Interface peut être coupée. L’Interface
peut alors lancer le programme de commande indépendamment de l’ordinateur. Le Mode Télé-
chargement est important, p. ex., pour la programmation de robots mobiles pour lesquels un câble
25
F
ROBOPro
de liaison entre l’ordinateur et le robot représente un vrai handicap. Cependant, tous les pro-
grammes de commande devraient être testés au préalable en Mode Online car les erreurs pos-
possibles peuvent alors être mieux détectées. Ensuite, vous pouvez transmettre le programme
testé par téléchargement à l'interface. Vous pouvez aussi remplacer le câble USB gênant par une
liaison hertzienne via Bluetooth (TX ou TXT Controller) ou WiFi (TXT Controller). Une telle liaison
apporte aussi une mobilité illimitée à votre maquette en Mode Online (voir le mode Online = fis-
chertechnik de l'interface correspondante).
Le Mode Online a cependant également des avantages par rapport au Mode Téléchargement. En
comparaison avec l’Interface, un ordinateur a une mémoire de travail beaucoup plus étendue et
peut calculer beaucoup plus rapidement. Pour des programmes de grande taille, il s’agit là d’un
avantage. Qui plus est, en Mode Online, un ROBOTICS TXT Controller, un ROBO TX Controller et
une ROBO Interface peuvent être commandées simultanément.
Aperçu des deux modes d’utilisation :
Téléchar-
gement
26
F
ROBOPro
Vous pouvez transférer la commande de votre porte de
garage à l’interface en appuyant sur le bouton Télé-
chargement de la barre d’outils. La fenêtre de
dialogue représentée à droite apparaîtra alors. Les
interfaces disposent de plusieurs emplacements de
mémorisation des programmes, d'une mémoire vive
appelée RAM (Random Access Memory pour mémoire
à accès direct) et d'une mémoire Flash. Un pro-
gramme enregistré sur la mémoire RAM sera perdu
lorsque l’Interface ne sera plus alimentée en courant
ou que les batteries seront vides. Un programme
enregistré dans une mémoire Flash restera au contraire enregistré sur l’Interface pendant des
années, même si celle-ci n’est pas alimentée en courant. Vous pouvez bien évidemment écraser
des programmes enregistrés sur une mémoire Flash. Le Téléchargement sur la mémoire RAM est
cependant nettement plus rapide et est donc recommandé pour les tests.
Vous pouvez enregistrer plusieurs programmes dans la mémoire Flash, par exemple, des compor-
tements différents pour un même robot mobile. Vous pouvez alors sélectionner, démarrer ou
arrêter les différents programmes via les boutons de sélection du ROBOTICS TXT Controller ou
du ROBO TX Controller. Lorsque l’option Lancer le programme après le téléchargement est
activée, le programme se lance directement après le téléchargement. Pour arrêter le programme,
appuyez sur le bouton de sélection gauche sur le TX Controller. L’option Lancer le programme
via la touche de l’interface prend tout son sens pour les robots mobiles. Si vous ne possédez
pas d’interface Bluetooth ou WiFi, vous devez encore retirer le câble USB avant que votre pro-
gramme ne puisse mettre le robot en mouvement. Dans un tel cas, vous démarrez le programme
téléchargé directement via le bouton de l'interface s'y rapportant.
Un programme est lancé automatiquement quand l’Interface est alimentée en courant via la fonc-
tion de Démarrage automatique. Vous pouvez alors, p. ex., alimenter votre Interface en courant au
moyen d’un bloc d’alimentation pourvu d’un minuteur et lancer le programme chaque jour au
même moment. Ainsi, l’Interface ne doit pas rester allumée en permanence et le programme ne
doit pas à chaque fois être lancé via le bouton de sélection.
Nota Bene :
Vous trouverez une description détaillée des fonctions du ROBOTICS TXT Controller dans le
mode d’emploi joint à l’appareil.
27
F
ROBOPro
Si la souris se trouve sur une ligne de liaison verticale, vous pouvez déplacer l’ensemble
de la ligne verticale en appuyant sur le bouton gauche de la souris.
Si la souris se trouve sur une ligne de liaison horizontale, vous pouvez déplacer
l’ensemble de la ligne horizontale en appuyant sur le bouton gauche de la souris.
Si la souris se trouve sur une ligne de liaison oblique, un nouveau point sera ajouté sur la
ligne de liaison si vous appuyer sur le bouton gauche de la souris. Vous devez garder le
bouton droit de la souris enfoncé et ne le lâcher que lorsque la souris se trouve là où le
point doit se positionner.
Si la souris se trouve à proximité d’un point d’angle ou d’une extrémité d’une ligne de
liaison, vous pouvez déplacer ce point en appuyant sur le bouton gauche de la souris.
Vous pouvez alors placer un point d’extrémité sur un autre raccordement d’un élément de
programme. Dans ce cas, l’extrémité de la ligne de liaison sera reliée à ce point de raccordement.
Dans le cas contraire, le point ne sera pas déplacé.
28
F
ROBOPro
Pas de panique ! La fenêtre d’éléments est encore là, mais elle est vide. Au Niveau 2, il y a plus
d’éléments de programme, de sorte que ce ne serait pas clair si on les rassemblait tous dans une
fenêtre. A partir du Niveau 2, les éléments sont donc regroupés en groupes d’éléments. Les élé-
ments sont organisés en groupes comme les fichiers dans les dossiers sur un disque dur. Si vous
choisissez un groupe dans la fenêtre supérieure, sur le côté gauche, tous les éléments de ce
groupe apparaissent dans la fenêtre inférieure. Les éléments du Niveau 1 se trouvent dans le
groupe Eléments de programme / Eléments du fond. Etant donné que la fenêtre d’éléments est
diminuée de moitié, vous devez utilisez la barre de défilement à droite de la fenêtre d’éléments afin
de pouvoir accéder aux éléments inférieurs.
Revenons-en au sujet principal : les sous-programmes ! Les organigrammes que nous avons
conçus jusqu’ici ne sont pas encore assez étendus pour que nous puissions perdre une vision
globale de ceux-ci, mais vous pouvez certainement vous imaginer que cela peut très facilement
être le cas pour les projets de grande envergure, avec des organigrammes étendus. Votre feuille
de travail est alors remplie d’éléments, il y a des lignes de liaison partout et, sur l’écran, vous
devez sans cesse allez d’un côté à un autre avec la barre de défilement. "Où était donc telle ou
telle sortie ?" Bref – On frôle le chaos ! Que faire ? N’y a-t-il pas une solution pour remettre de
l’ordre dans tout ça ? Si – Cette solution s’appelle Sous-programme !
29
F
ROBOPro
30
F
ROBOPro
Basculez vers la fenêtre de propriétés du sous-
programme via la barre de fonctions en cliquant
sur Propriétés. Ici, vous pouvez modifier le nom
SP 1 et le renommer Ouvrir. La plupart des
autres champs ne pourront être modifiés qu’au
niveau Avancés ou même au niveau Experts. Le
point Création de symbole sera également
expliqué un peu plus tard.
Si vous cliquez sur Description dans la barre de
fonctions, vous pouvez modifier le description
introduite au préalable, bien que „Mon premier
sous-programme“ soit, comme auparavant, très
approprié.
Cliquez ensuite sur Fonction dans la barre de fonctions afin de pouvoir programmer les fonctions
du sous-programme. Vous voyez maintenant la fenêtre de programme dans laquelle vous avez
déjà ajouté les éléments de programme de votre premier programme ROBO Pro au chapitre
précédent. Veillez à ce que le sous-programme Ouvrir soit sélectionné dans la barre des sous-
programmes :
Etes-vous prêt à programmer votre premier sous-programme ? Allons-y ! Mais par quoi peut bien
commencer un sous-programme ? Bonne question ! Vous avez toujours débuté un programme
principal avec un élément de démarrage. Un sous-programme commence avec un élément sem-
blable, l’entrée du sous-programme. Cet élément porte ce nom car le déroulement du programme
passe du programme principal au sous-programme via cet élément. Vous ne pouvez pas utilisez
d’élément de démarrage ici car il ne s’agit pas de démarrer une nouvelle procédure.
31
F
ROBOPro
32
F
ROBOPro
p.e., si vous commandez tout un parc de machines et que vous avez déjà développé des com-
mandes individuelles pour les machines dans des programmes principaux. Le second symbole
porte le nom Ouvrir et est le symbole de votre nouveau sous-programme. Ouvrir est le nom que
vous avez introduit dans la fenêtre des propriétés. Ajoutez maintenant le symbole du sous-
programme dans le programme principal comme vous le faisiez pour les éléments de programme
habituels. C’est aussi simple que ça !
Vous pouvez déjà terminer votre programme principal avec un élément de fin et le tester. La porte
s’ouvre lorsque l’on actionne l’interrupteur I1, mais nous n’avons pas encore programmé la partie
Fermeture. Pour ce faire, il vous faut créer un nouveau sous-programme. Cliquez sur le bouton Nouveau
Nouveau SP de la barre d’outils et introduisez le nom Fermer dans la fenêtre Nouveau Sous- SP
programme. Vous ne devez pas introduire de description mais vous pouvez le faire afin de tou-
jours savoir à quoi sert le sous-programme.
Insérez alors dans la fenêtre de programme du sous-programme Fermer le programme de ferme-
ture de la porte de garage. Commencez à nouveau avec une entrée du sous-programme. Le
moteur M1 doit maintenant tourner vers la droite. Dès que le commutateur de fin sur I3 est fermé,
le moteur M1 doit s’arrêter. Le sous-programme se termine à nouveau par une sortie du sous-
programme.
Basculez à nouveau avec la barre des sous-programmes vers le programme principal. Si vous
avez terminé votre programme principal avec un élément de fin pour pouvoir le tester, l’élément de
fin doit maintenant être supprimé. Après l’ouverture de la porte, celle-ci doit rester ouverte 10
secondes avant de se fermer à nouveau. Après une attente de 10 secondes, ajoutez le symbole
Fermer du sous-programme en allant le chercher dans les groupes d’éléments Programmes
chargés / sans-nom1. Le programme principal et les deux sous-programmes doivent être plus ou
moins semblables à ceci :
33
F
ROBOPro
Le programme commence avec l’élément de démarrage du Programme principal. Le programme
attend alors que l’interrupteur I1 soit actionné. Pour ce faire, vous pouvez également utilisez
l’élément Attendre une entrée (voir point 8.1.9 Attendre une entrée à la page 85 ). Après que
l’interrupteur I1 ait été actionné, le programme principal arrive sur l’appel du sous-programme
Ouvrir. Le déroulement du programme bascule alors vers l’entrée du sous-programme du sous-
programme Ouvrir. Le sous-programme Ouvrir ouvre la porte du garage et arrive ainsi sur la
sortie du sous-programme. A cet endroit, le programme se branche à nouveau sur le programme
principal. Après la fin du sous-programme Ouvrir, le programme principal attend 10 secondes. Le
déroulement du programme bascule alors vers le sous-programme Fermer, qui ferme la porte du
garage. Après la fin du sous-programme Fermer, le programme principal arrive sur l’élément de fin
qui termine le programme.
34
F
ROBOPro
d’un ou plusieurs fichiers ROBO Pro enregistrés dans un dossier. Un groupe propre s’affiche dans
la sélection des groupes pour chaque fichier de ce dossier.
Dans le menu Fichier sous Liste des bibliothèques personnelles, vous pouvez choisir dans
quel dossier vous souhaitez enregistrer votre bibliothèque personnelle. Le répertoire standard pour
votre bibliothèque personnelle est C:\Programme\ROBOPro\Bibliothèque personnelle. Si vous
disposez d’un répertoire utilisateur personnel sur votre ordinateur, il est recommandé d’y créer un
dossier propre et d’utiliser celui-ci.
Astuce: Au début, vous pouvez indiquer le dossier dans lequel vous enregistrez vos pro-
grammes ROBO Pro pour la Liste des bibliothèques personnelles. Vous avez ainsi accès
plus rapidement à tous les sous-programmes de tous les fichiers dans votre dossier de tra-
vail.
35
F
ROBOPro
Dans le champ Signes / Formes, vous trouverez tous les éléments graphiques
de fond usuels comme le rectangle, le cercle, l’ellipse, le polygone et d’autres.
Dans le champ Signes / Texte, vous trouverez les objets Texte en différentes
tailles. Dans les autres groupes du menu Dessiner, vous trouverez les fonc-
tions servant à modifier les couleurs et les propriétés similaires des éléments
sélectionnés. L’utilisation détaillée des fonctions de dessin est expliquée au
chapitre 10 Fonctions de dessin à la page 134. Regardez également les fonc-
tions du menu principal sous Dessiner.
Vous pouvez également déplacer les raccordements du sous-programme, mais vous ne pouvez
pas supprimer ou ajouter de nouveaux raccordements. Dans le symbole du sous-programme, il y a
toujours un raccordement pour chaque entrée ou sortie du sous-programme de la fonction du
programme. Les éléments de raccordement sont également créés automatiquement lorsque vous
sélectionnez la création manuelle de symbole.
Dès que vous quittez la fenêtre de traitement des symboles, tous les appels
du sous-programme dans le programme principal ou dans les autres sous-
programmes sont adaptés en conséquence. Veuillez noter que, si les
raccordements étaient déjà raccordés, une légère confusion peut se pro-
duire lors de l’appel d’un sous-programme lorsque vous déplacez des
raccordements dans un sous-programme. Les extrémités des lignes de liaison ne se trouvent
parfois plus sur le bon raccordement, ce qui est indiqué par une croix sur l’extrémité de la ligne et
sur le raccordement. (Voir image). Généralement, il suffit de cliquer n’importe où sur la ligne de
liaison avec le bouton gauche de la souris. La ligne est alors remise en place automatiquement.
Dans les sous-programmes contenant de nombreuses liaisons, il se peut que vous deviez encore
retravailler la ligne.
4.4 Tango
Jusqu’ici vous avez seulement découvert des programmes vraiment simples et vous attendez
peut-être impatiemment de découvrir de nouveaux éléments de programme et de nouvelles possi-
bilités. Cependant, avant de nous occuper des variables et autres choses plus compliquées au
chapitre suivant, nous souhaitons tout d’abord voir avec vous ce qu’il est possible de faire avec les
éléments de programmation du niveau 2. Comment pouvez-vous, par exemple, apprendre à
danser le tango à votre robot mobile ? Pour les « Nerds »Σ: Le tango se danse sur une musique à
2/4 de temps. Le pas de base comprend 8 pas sur 3 temps. Pour les hommes, les pas
s’enchaînent comme suit :
• Un pas lent vers l’avant avec le pied gauche (1/4 de temps)
• Un pas lent vers l’avant avec le pied droit (1/4 de temps)
• Puis, un pas « de balancier » de 4/8 de temps. Ici, les pieds bougent peu, voire pas du tout ;
seul le poids du corps se déplace. Tout d’abord, le poids du corps passe pendant 1/8 de
temps sur le pied gauche, situé à l’arrière, puis pendant 1/8 de temps sur le pied droit, situé à
l’arrière, et ensuite encore 1/8 de temps sur le pied gauche, situé à l’arrière. Le mouvement
de balancier se termine par une pause de 1/8 de temps.
Σ
Le terme « Nerd » est un terme anglais désignant une personne ne sortant jamais sans
son ordinateur et préférant expliquer à son professeur de mathématiques comment telle
chose fonctionne plutôt qu’aller danser.
36
F
ROBOPro
• Viennent ensuite trois pas rapides : Faire tout d’abord un petit pas vers l’arrière avec le pied
droit, de manière à se retrouver à nouveau à côté du pied gauche. Faire alors un pas latéral
avec le pied gauche et, pour finir, remplacer le pied droit à côté du pied gauche. Ces trois
pas durent chacun 1/8 de temps et se terminent pas une nouvelle pause de 1/8 de temps.
Pour les dames, la suite de pas est symétrique ; cela signifie que la gauche et la droite, ainsi que
les mouvements en arrière et en avant, sont inversés. Répétez le tout jusqu’à ce que la musique
s’arrête, jusqu’à ce que vous ayez atteint l’extrémité de la pièce ou jusqu’à ce que vous commen-
ciez à vous embêter. Dans ces deux derniers cas, demandez conseil à un professeur de danse.
Mais revenons-en à la robotique. Peut-être possédez-vous déjà un jeu de construction fischer-
technik pour robot mobile. Les robots de ces jeux de construction disposent le plus souvent de
deux roues d’entraînement, dotées chacune d’un moteur indépendant. Ces robots sont comman-
dés de la même manière qu’un véhicule chenillé. Lorsque les deux moteurs d’entraînement
tournent dans le même sens, le robot avance tout droit. Lorsqu’un moteur s’arrête, le robot décrit
une courbe.
Bien entendu, il est également possible de faire reculer ces robots en ligne droite ou le long d’une
courbe. Lorsque les deux moteurs d’entraînement tournent dans des sens opposés, le robot
tourne sur lui-même, en restant sur place. Essayez maintenant de traduire les pas du tango en
tours de roue. Un quart de temps doit alors durer un tour de roue. Nous obtenons alors :
• Roue gauche : 1 rotation vers l’avant (généralement : moteur M2 vers la gauche).
• Roue droite : 1 rotation vers l’avant (généralement : moteur M1 vers la gauche).
Vient alors le « mouvement de balancier ». Cependant, notre robot ne peut naturellement pas
bouger son corps sans bouger les « pieds ». Le pas latéral du troisième temps également très
compliqué pour un robot. Nous effectuons donc une légère rotation au 2ème temps et avançons
légèrement au 3ème temps de manière à simuler le pas latéral. Pour le deuxième temps, nous
procédons comme suit :
• Roue gauche : rotation vers l’arrière (généralement : moteur M2 vers la droite).
• Roue droite : rotation vers l’avant.
• Roue gauche : rotation vers l’arrière.
Les commandes « à gauche, vers l’arrière », mais aussi « à droite, vers l’avant » font tourner le
robot vers la gauche. Pour le 3ème temps, nous procédons comme suit :
• Roue droite : ½ rotation vers l’arrière.
• Tout droit : ½ rotation vers l’avant.
• Roue droite vers l’arrière et roue gauche vers l’avant : ½ rotation.
Nous faisons ainsi tourner le robot légèrement vers la droite, puis avançons tout droit (vers l’avant,
à gauche) pour simuler le pas latéral vers la gauche ; pour finir, nous replaçons le robot tout droit.
37
F
ROBOPro
Essayons maintenant de « traduire » cette « suite de pas » dans ROBOPro. La mise en œuvre
diffère selon que vous utilisez un TXT ou un TX Controller avec moteurs codeurs ou un modèle
avec commutateurs d’impulsions. Ces deux cas sont traités séparément dans les deux chapitres
suivants : 4.4.1 Commande de moteur par commutateurs d’impulsions à la page 38 et 4.4.2 Com-
mande par moteurs codeurs à la page 41.
38
F
ROBOPro
de la même manière. Lorsque vous utilisez le compteur d’impulsions, par contre, vous êtes sûr
que les deux roues parcourent exactement la même distance, même lorsque l’accu est vide ou
lorsqu’une roue tourne un peu plus lentement que l’autre.
Il ne nous manque plus que les sous-programmes pour le pas d’1/8 de temps vers l’avant et pour
la rotation sur place d’1/8 de temps. Pour ce faire, procédez exactement comme pour les autres
pas ; la seule différence est que vous devez allumer les deux moteurs plutôt qu’un seul. La seule
question est la suivante : « Comment faire avec les commutateurs d’impulsions ? » Il n’est pas
possible de simplement placer deux compteurs d’impulsions l’un à la suite de l’autre. Le pro-
gramme attend alors tout d’abord 4 demi-impulsions du premier moteur, puis 4 demi-impulsions de
l’autre moteur. Il serait plus simple d’attendre un seul des deux moteurs ; cela poserait cependant
un problème si les deux moteurs ne tournent pas à la même vitesse. La meilleure solution est de
démarrer les deux moteurs et d’attendre jusqu’à ce qu’un des compteurs d’impulsions change.
Arrêtez alors immédiatement le moteur dont le commutateur de pulsations a changé et attendez
ensuite jusqu’à ce que le second commutateur de pulsations change ; arrêtez alors le second
moteur. Tout cela est malheureusement compliqué car vous ne savez pas si le commutateur
d’impulsions est ouvert ou fermé au départ. Vous avez quatre possibilités lorsque vous utilisez
deux commutateurs d’impulsions : Par chance, un sous-programme existe déjà dans la biblio-
thèque pour cette fonction. Créez un sous-programme « Tout droit 1/8 » et ajoutez le sous-
programme « SyncSchritt » de la bibliothèque du même nom dans le dossier « ROBO Mobile Set
». Si vous ne savez plus comment procéder, veuillez consulter le chapitre 4.2 Bibliothèque des
sous-programmes qui se trouve en page 34.
Les sous-programmes « SyncSchritt » représenté est brièvement expliqué ci-dessous pour les
plus curieuses. Si l’aperçu du sous-programme vous suffit, passez simplement les paragraphes et
tâches suivantes. Vous pouvez très bien utiliser un sous-programme sans comprendre comment il
fonctionne – l’important est de comprendre ce que vous êtes en train de faire.
39
F
ROBOPro
Le sous-programme demande tout d’abord les états des deux commutateurs d’impulsions I1 et I2.
Selon que l’état de I1 et I2 est 0 ou 1, le sous-programme bascule vers 4 branches différentes du
programme. La branche totalement à droite est utile lorsque I1 et I2 ont la valeur 1 au départ. Le
sous-programme doit alors logiquement attendre que I1 ou I2 obtiennent la valeur 0. Ceci est
possible grâce aux deux éléments de branchement de la boucle. Tant que la valeur de I1 et I2 est
1, le programme tourne en rond. Cependant, dès que le statut d’une des deux entrées est 0, le
moteur concerné est immédiatement arrêté. Le sous-programme attend ensuite que le statut de la
seconde entrée soit 0 grâce à un élément « Attendre une entrée » et éteint alors le second moteur.
La boucle dans laquelle les deux entrées sont attendues est nécessaire car vous ne pouvez pas
savoir lequel des deux moteurs tourne plus vite et, par conséquent, la valeur de quel commutateur
d’impulsions changera le plus rapidement. Les 3 autres branches fonctionnent de la même ma-
nière ; ils se basent cependant sur d’autres statuts de départ et attendent donc l’état final opposé à
l’état initial. Dans la seconde branche de gauche, les valeurs de départ sont par exemple I1=1 et
I2=0 ; vous pouvez facilement le vérifier en suivant le chemin des deux premiers éléments du
branchement. La seconde branche attend donc que I1=0 et I2=1. Si vous souhaitez créer le pro-
gramme vous-même, veillez bien à ce que les valeurs initiales du commutateur d’impulsions soient
dans chaque branche et à ce que vous attendez par conséquent.
Si vous avez déjà feuilleté le chapitre suivant pour en savoir plus sur les variables, essayez
d’écrire un sous-programme ayant la même fonction, mais en utilisant des variables. C’est très
simple car vous pouvez au départ enregistrer la valeur des deux commutateurs d’impulsions dans
deux variables avec des éléments de commande = et avez uniquement besoin d’une branche du
programme dans laquelle vous pourrez comparer la valeur actuelle des entrées avec les valeurs
des variables.
Mais revenons-en au tango : L’objectif du sous-
programme SyncSchritt est donc d’écrire un sous-
programme « Tout droit 1/8 » avançant tout droit pen-
dant 4 demi-impulsions. Lorsque vous démarrez les
moteurs M1 et M2 et que vous lancez le sous-
programme SyncSchritt, les moteurs s’arrêtent à nou-
veau après un demi-pas. Vous devez ainsi faire cela 4
fois, idéalement au moyen d’un élément en forme de
boucle.
Si vous avez été très attentif, vous devez maintenant
craindre que les moteurs ne s’arrêtent à la fin du sous-
programme SyncSchritt et redémarrent juste après. Le
plus lent des deux moteurs marque une très courte
pause entre son arrêt et son rallumage ; celle-ci est
nécessaire pour compenser les vitesses des deux mo-
teurs. Ceci est cependant inoffensif pour les moteurs. Dans les faits, l’interface régule également
la vitesse du moteur en l’allumant et en l’éteignant en permanence. C’est ce qu’on appelle la PWM
(modulation de la largeur des impulsions). Sur le moteur le plus rapide, l’arrêt et le rallumage sont
tellement rapide que le moteur ne les remarque même pas. Dans le sous-programme SyncSchritt,
vous pouvez cependant également renoncer à éteindre le second moteur ; les deux moteurs
s’arrêtent alors dès que la boucle est achevée. En programmation également, il est possible
d’atteindre son objectif de différentes façons.
Essayez et vous constaterez qu’un robot avance vraiment plus droit avec le sous-programme
SyncSchritt que lorsque les deux moteurs s’allument simplement pendant un certain nombre
d’impulsions.
40
F
ROBOPro
Le dernier sous-programme dont nous avons encore besoin doit permettre au robot de faire une
rotation vers la droite de 4 demi-pas, tout en restant à la même place. C’est assez intéressant car
vous pouvez utiliser le même programme « SyncSchritt » que pour le sous-programme « Tout droit
1/8 ». Le sous-programme « SyncSchritt » arrête en effet uniquement les moteurs ; la commande
« Stop » ne dépend pas de leur sens de rotation. Il vous suffit simplement de démarrer le moteur
M1 dans la boucle en le faisant tourner vers la droite plutôt que vers la gauche. Les commutateurs
d’impulsions ne dépendent pas du sens de rotation. Peu importe que les moteurs tournent vers
la gauche ou vers la droite ; la valeur des commutateurs d’impulsions passent toujours de 0⇒1
et de 1⇒0. Pour créer le sous-programme « Rotation 1/8 », vous devez donc copier simplement
le sous-programme « Tout droit 1/8 » et modifier le sens de rotation.
41
F
ROBOPro
• Gauche 1/8R (identique à « Gauche 1/4 », mais 37, plutôt que 75 impulsions et vers l’arrière,
donc moteur de droite)
• Droite 1/8 (identique à « Droite 1/4 », mais 37, plutôt que 75 demi-impulsions)
• Droite 1/8 R (identique à « Droite 1/8 », mais vers l’arrière, donc moteur de
droite)
Les pauses d’1/8 de temps ne peuvent naturellement pas être ajoutées via le
compteur d’impulsions, car aucune roue ne bouge pendant les pauses. Nous
utilisons ici un temps de renvoi. Sur les maquettes standard du kit « ROBO TX
Training Lab », 37 impulsions correspondent à env. 0,3 seconde. Selon la
transmission et le moteur, cela peut cependant être différent sur votre maquette.
Créez également un sous-programme pour la pause d’1/8 de temps.
Indépendamment de l’entrée et de la sortie du sous-programme, ce sous-
programme ne contient qu’un seul élément, vous avez cependant besoin de cette pause à deux
reprises. Si vous créez un sous-programme pour cela, vous pouvez légèrement modifier la durée
de la pause.
Vous allez sans doute dire que nous pourrions également utiliser un temps de renvoi et pas
d’extension de commande du moteur pour les pas. Ainsi, nous n’aurions pas besoin d’adapter la
durée des pauses et celle des pas. Il y aurait cependant un inconvénient : les moteurs de gauche
et de droite ne tournent jamais exactement à la même vitesse ; le robot ne pourrait donc pas
danser deux fois de la même manière. Lorsque vous utilisez l’extension de la commande du
moteur, par contre, vous êtes sûr que les deux roues parcourent exactement la même distance,
même lorsque l’accu est vide ou lorsqu’une roue tourne un peu plus lentement que l’autre.
Il ne nous manque plus que les sous-programmes pour le pas d’1/8 de
temps vers l’avant et pour la rotation sur place d’1/8 de temps.
L’extension de la commande du moteur offre également la possibilité
de commander deux moteurs en même temps. Pour cela, on dispose
des actions Synchrone et Distance de synchronisation. L’action
Synchrone veille à ce que deux moteurs codeurs tournent
exactement à la même vitesse, ce qui permet au robot d’avancer tout
droit. Toutefois, les moteurs codeurs ne garantissent pas non plus un
mouvement parfaitement droit, car il y a toujours un peu de glissement
au niveau des roues. Dans notre exemple, les moteurs M1 et M2
doivent tourner à la même vitesse sur une distance équivalant à 75
impulsions. Pour ce faire, vous devez utiliser l’action « Distance de
synchronisation ». Dans le cas des moteurs synchronisés, le signal
« But atteint » ne sera émis que lorsque les deux moteurs auront
atteint la position désirée. Il suffit donc d’attendre l’un des deux
signaux « But atteint ». N’oubliez pas d’arrêter les deux moteurs à la
fin !
Essayez et vous constaterez qu’un robot avance vraiment plus droit
avec l’action Distance de synchronisation que lorsque les deux moteurs sont commandés séparé-
ment via l’action Espacement.
Le dernier sous-programme dont nous avons encore besoin doit permettre au robot de faire une
rotation correspondant à 37 impulsions vers la droite, tout en restant à la même place. Pour cela
aussi, nous utiliserons l’extension de la commande du moteur avec l’action Distance de
synchronisation. Dans le cas du sous-programme « Rotation 1/8 » cependant, les deux moteurs
42
F
ROBOPro
tourneront dans des directions différentes. Pensez au sens de rotation que doivent avoir les
moteurs M1 et M2 pour que le modèle tourne à droite tout en restant à la même place.
Vous trouverez le programme Tango terminé dans le répertoire d’installation de ROBOPro, sous :
Programmes d'exemple\Manuel\Tango Moteur codeur\TangoSolo.rpp
Programmes d'exemple\Manuel\Tango Commutateur impulsions\TangoSolo.rpp
Si vous possédez votre propre robot, essayez le programme que vous avez créé ou le programme
déjà terminé.
Vous vous dites sans doute : « C’est bien, mais pour danser, il faut être deux. » C’est très facile
d’écrire un programme exécutant les pas de la dame en fonction des pas de l’homme. Il vous suffit
d’inverser la gauche et la droite, ainsi que les mouvements vers l’avant et vers l’arrière. Chargez
tout d’abord votre programme reprenant les pas de l’homme et sauvegardez-le sous un nouveau
nom, par ex. TangoSoloDame.rpp. Modifiez ensuite les sous-programmes, par ex. Gauche 1/4
en Droite 1/4 A. Pour ce faire, vous devez modifier M2 en M1 et le sens de rotation doit passer de
gauche à droite. Vous pouvez modifier le nom du sous-programme en cliquant sur l’onglet Pro-
priétés et en y saisissant un nouveau nom. Le nom se modifie automatiquement dans le
programme principal dans lequel le sous-programme est lancé.
43
F
ROBOPro
Le sous-programme Touner 1/8 reste identique. Pouvez-vous nous dire pourquoi ? Permutez la
gauche et la droite (M1 et M2 dans le sous-programme), ainsi que les mouvements vers l’avant et
vers l’arrière (moteur gauche/droite) dans Tourner 1/8 et comparez ce sous-programme modifié
avec le sous-programme original.
Si vous possédez deux robots mobiles, chargez maintenant le programme TangoSolo.rpp dans le
premier et le programme TangoSoloDame.rpp dans le second. Si vous ne possédez qu’un robot,
vous pouvez éventuellement faire ce test avec une autre personne possédant également un robot.
Lors du chargement, vous devez indiquer que le programme doit être démarré via une touche de
l’interface. Placez alors les deux robots face à face, avec un léger décalage, comme indiqué sur
l’illustration, et démarrez les deux robots en même temps en appuyant brièvement sur la touche de
démarrage (TXT ou TX-Controller) ou sur la touche PROG des deux interfaces.
Si vous avez bien démarré les deux robots en même temps, ceux-ci danseront le tango en rythme
pendant un moment. Cependant, si les moteurs ou batteries ne sont pas parfaitement identiques,
les moteurs ne tournent pas exactement à la même vitesse et – tôt ou tard – les robots ne sont
plus en rythme. Vous verrez à la section suivante comment vous pouvez parvenir à ce que les
deux robots restent en rythme pendant une plus longue période.
44
F
ROBOPro
par ondes radio, sans avoir besoin de câble de connexion. WiFi, Bluetooth et RF Data Link vous
offrent encore bien plus : WiFi, Bluetooth et RF Data Link permettent à deux robots d’échanger
des informations et donc, de communiquer.
Au niveau 2, les éléments de pro-
gramme comprennent un sous-groupe
Envoyer, recevoir avec deux éléments.
L’élément de gauche est l’émetteur et
l’élément de droite, le récepteur.
L’élément émetteur envoie le message
bonjour au TXT Controller, au TX
Controller ou à l’interface ROBO (ci-après désignée uniquement TXT Controller) avec le numéro
d’appel radio 1, NAR 1 en abrégé. Le numéro d’appel radio est une sorte de numéro de téléphone
indiquant à quel contrôleur (Controller) le message doit être envoyé. Vous en apprendrez plus à ce
sujet au point Fehler! Verweisquelle konnte nicht gefunden werden. Paramètres radio pour
l’interface Robo à la page 49 et 4.5.2 Paramètres Bluetooth pour TX Controller à la page 51.
Le récepteur, représenté à droite sur l’illustration, fonctionne comme un branchement du pro-
gramme : Si vous recevez le message bonjour, l’élément se connecte sur la sortie Oui (O) ; dans
le cas contraire, il se connecte sur la sortie Non (N).
Supposons que l’élément « Emetteur » est appelé par un programme sur le contrôleur avec le
numéro d’appel radio (numéro de téléphone) 2. Il envoie alors le message bonjour par ondes
radio à l’interface dont le numéro d’appel radio est 1 car celui-ci a été indiqué comme récepteur
dans l’émetteur. L’interface dont le numéro d’appel radio est 1 remarque qu’il a reçu un message «
Hallo ». Lorsqu’un élément « Récepteur » demandera à nouveau à cette interface si elle a reçu un
message bonjour, la réponse sera Oui, puis à nouveau Non jusqu’à ce qu’un nouveau message
bonjour soit reçu. Le récepteur ne peut pas savoir à partir de quelle interface le message a été
envoyé†. Pour pouvoir faire la différence, différents messages doivent être envoyés.
Le message est un mot au choix, comme - par exemple – bonjour. Cependant, pour des raisons bonjour
techniques, seuls les trois premiers chiffres ou lettres du message sont pris en compte. Vous =
pouvez indiquer plus de trois caractères ; cependant, « bonjour », « bonsoir » ou « bonbon » bonsoir
donneront le même message, c’est-à-dire « bon ». Aucun différence n’est également faite entre les
majuscules et les minuscules, ainsi qu’entre les caractères spéciaux (espaces, !?,% et autres). XY!
et XY? équivaudront donc à un message identique. Une différence est faite entre les chiffres : XY1
et XY2 sont donc des messages différents.
45
F
ROBOPro
La synchronisation des deux robots Tango avec les
éléments « Emetteur » et « Récepteur » est dé-
sormais un jeu d’enfant. Au début du cycle de pas,
le premier robot envoie un message « Voulez-vous
danser » et l’autre robot, un message « Oui, dan-
sons », puis le programme démarre. Etant donné
que les messages ne peuvent pas être aussi longs,
appelons-les SH pour « Synchronisation Homme »
et SD pour « Synchronisation Dame ». Deux sous-
programmes de synchronisation sont représentés à
droite. Le sous-programme de gauche est exécuté
pour le robot « Homme » avec le numéro d’appel
radio 1 et envoie tout d’abord un message SH à la
« dame » dont le numéro d’appel radio est 2. L’«
homme » attend alors le message SD de la « dame ».
46
F
ROBOPro
permettant de diriger un moteur ou une variable. Dans ROBOPro, le terme « Commande » est
donc généralement utilisé par les messages.
Ajoutez maintenant un des sous-programmes de synchroni-
sation représentés sur la page précédente dans les
programmes TangoSolo.rpp et TangoSoloDame.rpp.
Appelez ces sous-programmes Sync. Vous pouvez bien
entendu également créer les sous-programmes de sorte que
ceux-ci demandent à la « dame » et à l’« homme » de
danser. Vous pouvez appeler le sous-programme dans le
programme principal au début d’un cycle de pas, comme
représenté dans l’image de droite. Vous trouverez les pro-
grammes terminées dans le répertoire d’installation de
ROBOPro, sous
Programmes d'exemple\Manuel\Tango Moteur codeur\
Programmes d'exemple\Manuel\Tango Commutateur
impulsions \
TangoSyncHomme.rpp
TangoSyncDame.rpp
Chargez les deux programmes dans chaque robot et lancez les programmes. Avec l’interface
Robo et le Data Link, vous constaterez que les robots dansent uniquement lorsque le programme
est tout d’abord lancé pour la « dame ». Cela vient du fait que l’« homme » est le premier à en- ROBO-IF
voyer un message SH que la « dame » attend ce message. Si l’« homme » est démarré le premier,
le message part dans le vide et la « dame » attend, attend et attend encore... Si, par contre, la «
dame » est démarrée la premier, elle attend le message SH qui lui sera envoyé lorsque l’« homme
» sera démarré. Ceci n’est cependant pas très pratique, et tout particulièrement si vous avez
oublié quel robot est l’« homme » et quel robot est la « dame ».
Ce problème ne se pose pas avec TX Controller puisque l’« homme » n’envoie le message qu’une
fois la liaison Bluetooth établie avec la « dame ».
TX-
Mais ne serait-il pas possible de faire ça avec l’interface Robo ? Controller
C’est très simple : L’« homme » doit re-
nouveler sa demande jusqu’à ce que la «
dame » réponde. A chaque fois que l’« ROBO-IF
homme » a envoyé le message, il attend
un instant pour voir si la « dame » lui
répond. Dans l’exemple de droite, l’«
homme » envoie le message SH et attend
– en boucle – 10 fois 0,01 secondes, soit
1/10 de seconde, pour voir si la « dame »
répond. Si la « dame » ne répond pas
pendant ce temps, l’« homme » envoie à
nouveau son message SH.
47
F
ROBOPro
Vous vous demandez sans doute pourquoi l’« homme » ne peut pas simplement envoyer un
message SH en boucle et immédiatement remarquer s’il a reçu un message SD. Cela vient du fait
ROBO-IF que le transfert du message de l’« homme » vers la « dame » dure 1/100 à 2/100 de seconde. Le
transfert du message en retour prend le même temps. Même lorsque le programme est déjà lancé
sur la « dame », cela peut encore prendre jusqu’à 4/100 de seconde jusqu’à ce que la réponse
arrive. Pendant ce temps, l’« homme » peut envoyer en grand nombre de messages SH, tous
transmis à la « dame ». Pour la première synchronisation, cela n’a aucune importance ; cependant,
les messages SH superflus restent enregistrés dans l’élément « Récepteur » du programme «
Dame ». Au début du cycle de pas suivant, la « Dame » a alors déjà reçu un message SH, sans
que l’« homme » ait envoyé de nouveau message. La « dame » n’attend donc plus l’« homme ».
L’« homme » doit donc attendre suffisamment longtemps avant de répéter son message.
L’« homme » peut bien entendu également attendre 1/10 de seconde avant l’envoi et voir s’il a
reçu une réponse. Attendre 10 fois 1/100 de seconde en boucle présente cependant l’avantage
ROBO-IF que l’« homme » peut presque immédiatement reprendre le cours de son programme lorsqu’il
reçoit la réponse de la « dame ». Vérifiez maintenant si le programme fonctionne mieux lorsque
vous modifiez le sous-programme Sync dans TangoSyncHomme.rpp, comme indiqué ci-dessus.
Les robots doivent alors toujours démarrer dès que le programme est lancé sur le second robot,
indépendamment du robot démarré le premier.
Si vous laissez danser vos robots jusqu’à ce que leurs batteries soient vides, une synchronisation
par cycle de pas ne suffit plus. Les robots se synchronisent au début de chaque cycle de pas,
mais – pendant le cycle – vous voyez clairement qu’ils ne sont plus en rythme lorsque les batteries
arrivent en fin de vie. L’idéal est d’intégrer une synchronisation supplémentaire après chaque pas.
Il est cependant clair que les deux programmes s’exécutent de manière à ce que vous puissiez
éviter les répétitions. Pour que la synchronisation de départ et la synchronisation des pas ne se
mélangent pas, vous devez utiliser deux sous-programmes différents Sync1 et Sync2 utilisant
chacun des messages différents, par exemple SH1, SD1 et SH2, SD2. Vous trouverez les pro-
grammes terminées dans le répertoire d’installation de ROBOPro, sous
Programmes d'exemple\Manuel\Tango Moteur codeur\
Programmes d'exemple\Manuel\Tango Commutateur impulsions\
TangoHomme.rpp
TangocDame.rpp
Vous y trouverez un programme TangoMoniteurDeCommande.rpp. Si vous disposez d’un
troisième TX-Controller ou d’une troisième interface dotée d’un module ROBO RF Data Link, vous
pouvez lancer ce programme en mode Online pendant que les deux robots dansent le tango. Le
programme indique alors à l’écran les messages ayant été envoyés. Le programme utilise des
éléments de niveau 3 et vous ne devez actuellement pas chercher à comprendre comment fonc-
tionne le programme.
48
F
ROBOPro
utilisent différentes fréquences. Vous pouvez également modifier la fréquence lorsque le RF Data
Link ne fonctionne pas correctement avec la fréquence utilisée. Des nombreux systèmes radio –
par exemple un réseau PC sans fil – utilisent la même zone de fréquence (2,4 GHz) que le ROBO
RF Data Link. Lorsque le RF Data Link est perturbé par d’autres systèmes radio, une modification
de la fréquence permet de résoudre les problèmes. Veuillez cependant noter que vous devez alors
modifier les paramètres de tous les modules RF Data Link et du module radio du PC ; en effet,
tous les appareils d’un groupe doivent utiliser la même fréquence.
Toutes les interfaces ROBO dotées d’un RF Data Link réglées sur la même fréquence doivent
posséder un numéro d’appel radio différent, compris entre 1 et 8. Le numéro d’appel radio 0 est
attribué au module PC du RF Data Link, la « boîte rouge ». Un maximum de 8 interfaces dotées
d’un module radio intégré et un module PC RF Data Link peuvent donc communiquer. Le numéro
d’appel radio est comme le numéro de téléphone d’une interface sur le réseau radio. Les numéros
1 à 8 peuvent être affectés, selon votre préférence, à un maximum de 8 interfaces.
La case Activer est presque toujours cochée. Vous pouvez cependant désactiver le module radio
d’une interface lorsque vous n’utilisez pas celui-ci dans une maquette et que vous souhaitez
économiser du courant sans démonter le module.
Lorsque vous avez procédé à tous les réglages, vous pouvez sauvegarder ces paramètres au
moyen du bouton Inscrire sur l’interface de l’interface. En règle générale, ces paramètres sont
enregistrés dans la mémoire Flash. Les paramètres sont alors conservés même lorsque vous
éteignez l’interface. Si vous souhaitez juste réaliser un court test, vous pouvez également enregis-
trer les paramètres dans la mémoire temporaire.
Vous ne devez pas vous occuper de la version du microprogramme – c’est-à-dire de la version du
programme de commande interne du RF Data Link. ROBOPro vous demande automatiquement
d’actualisation la version lorsque cela est nécessaire.
Pour faciliter la communication entre les deux robots Tango, connectez tout d’abord un des deux
robots à l’interface USB du PC et ouvrez la fenêtre de test de l’interface. Il se peut éventuellement
que vous deviez tout d’abord appuyer sur le bouton COM-USB et sélectionner l’interface. Basculez
dans l’onglet Info de la fenêtre de test de l’interface et réglez-y la fréquence sur 2 et le numéro
d’appel radio sur 1; enregistrez alors les paramètres au moyen du bouton Inscrire sur l’interface.
Fermez alors la fenêtre de test de l’interface, connectez l’autre robot à l’interface USB et réglez la
fréquence sur 2 et le numéro d’appel radio sur 2.
49
F
ROBOPro
50
F
ROBOPro
COM/USB, plus aucune liste de sélection ne s’affiche parce que le module radio du PC est la
seule unité joignable. Si d’autres interfaces sont encore directement raccordées à l’USB et que la
liste de sélection apparaît, sélectionnez le module radio du PC. Un message d’erreur vous indi-
quant qu’aucune interface n’a été trouvée apparaît alors lorsque vous ouvrez la fenêtre de test de
l’interface. Ceci ne pose cependant aucun problème car vous ne souhaitiez modifier que les para-
mètres du Data Link. Si vous modifiez la fréquence du module radio du PC et appuyez à nouveau
sur le bouton COM/USB, le module radio du PC et les deux interfaces apparaissent à nouveau car
ils ont tous les trois la même fréquence.
Pourquoi devez-vous tout d’abord modifier les fréquences des interfaces, puis seulement la fré-
quence du module du PC ? Regardez ce qu’il se passe lorsque vous modifiez tout d’abord la
fréquence du module du PC.
Il peut en effet arriver que les modifications ne produisent leurs effets qu’après quelques secondes.
Si la liste de sélection du bouton COM/USB ne correspond pas à la configuration actuelle, ap-
puyez à nouveau sur celui-ci. Si vous ne pouvez plus « joindre » une interface par ondes radio,
connectez-la directement à l’interface USB du PC et contrôlez les paramètres du RF Data Link
pour l’interface.
Paramètres
Bluetooth
Chaque TXT ou TX Controller reçoit un
numéro d’appel radio propre, compris
entre 1 et 8 ; cette valeur peut être
configurée dans la fenêtre des
paramètres Bluetooth. Dans les
programmes ROBOPro, le numéro
d’appel radio est utilisé comme une sorte
de numéro de téléphone pour identifier
les différents contrôleurs. Vous devez
d'abord activer tous les TXT ou TX
Controller sur le PC en tant que
périphériques Bluetooth. La marche à suivre est expliquée dans la notice du TX Controller†.. Votre
PC requiert à cet effet une interface Bluetooth interne ou un adaptateur USB Bluetooth. Connectez
tous les contrôleurs ROBO TX au PC et allumez-les. Lancez ROBO Pro. Passez par le point de
menu COM/USB pour sélectionner un TXT ou TX Controller à relier en ligne avec ROBO Pro via
l'USB ou Bluetooth. Ensuite, ouvrez la fenêtre des paramètres Bluetooth de ROBO Pro a fenêtre
des paramètres Bluetooth via l’option de menu Configuration Bluetooth ou via le bouton de la
barre d’outils Bluetooth. La liste des TXT ou TX Controller se charge automatiquement dès que
vous appuyez sur le bouton Analyse.
Selon l’adaptateur Bluetooth utilisé, il se peut que les noms des interfaces n’apparaissent pas
dans la liste. Dans ce cas, vous pouvez sélectionner consécutivement les interfaces COM
correspondantes avec le bouton COM/USB et identifier les interfaces en effectuant un test
d’interfaces. En plus de cela, vous devez attribuer manuellement un port COM à chaque TXT ou
†
Pour les pros du Bluetooth qui n’ont pas besoin de manuel pour cette opération, la clé principale
est 1234.
51
F
ROBOPro
TX Controller en utilisant l’option définir port COM. Dans la plupart des cas cependant, cette
action s’effectue de façon automatique.
La liste des TXT ou TX Controller reconnus est toujours triée par numéro d’appel radio (NAR, ou
RCN en anglais). Pour modifier les numéros d’appel radio, il suffit de sélectionner une ligne de la
liste et d’appuyer sur le bouton Haut ou Bas. Si vous choisissez par exemple la ligne du numéro
d’appel radio 2 et appuyez sur le bouton Haut, le contrôleur passe à la ligne supérieure et reçoit le
numéro d’appel radio 1. Le contrôleur de la ligne 1 passe, quant à lui, à la ligne inférieure et
obtient le numéro d’appel radio 2. Vous pouvez aussi sélectionner la ligne désirée, puis saisir le
NAR dans le champ situé à côté du bouton Définir sur lequel vous devrez cliquer ensuite.
Après avoir configuré les numéros d’appel radio, vous devez indiquer les contrôleurs qui vont être
connectés au réseau de transmission radio. Ceci englobe généralement tous les contrôleurs de la
liste. Il arrive toutefois, notamment dans les écoles, que les contrôleurs d’un autre groupe
expérimental apparaissent dans la liste. Choisissez les contrôleurs avec lesquels votre programme
doit communiquer en cochant les cases situées devant les lignes figurant dans la liste.
Le téléchargement de plusieurs programmes sur
diverses interfaces étant onéreux, ROBOPro vous offre
la possibilité d’attribuer un fichier ROBOPro.rpp à
chaque TXT ou TX Controller de la liste. Pour ce faire,
utilisez les boutons Assigner et Effacer prévus à cet
effet. La fenêtre de téléchargement possède une option
qui permet de télécharger tous les programmes en une
seule opération.
Central de communication
Central
52
F
ROBOPro
53
F
ROBOPro
N’oubliez pas de régler ROBO Pro sur Niveau 3 (ou plus) dans le menu Niveau !
Imaginez-vous que vous découvriez une machine fascinante dans un des recoins inexplorés d’un
musée et que vous vouliez absolument la reproduire avec Fischertechnik. En étudiant la machine,
vous oubliez cependant le temps et ne remarquez pas que tous les autres visiteurs ont quitté le
musée. Ce n’est qu’après la fermeture du musée que vous avez suffisamment étudié la machine
pour pouvoir la reproduire. Mais vous allez devoir passer une mauvaise nuit tout seul dans le
musée avant de pouvoir vous en aller. Pour que cela n’arrive plus, vous demandez au directeur du
musée de programmer un compteur de visiteurs qui compte tous les visiteurs entrant et sortant et
allume une lampe d’alarme rouge tant qu’il y a des visiteurs dans le musée. Mais comment faire ?
Comment compter quelque chose avec ROBO Pro ? La réponse est... avec des Variables.
54
F
ROBOPro
Vous envoyez les commandes à la variable au moyen d’un élé-
ment de commande. Comme la plupart des autres éléments de
programme, l’élément de commande a, sur sa partie supérieure,
une entrée de programme bleue et, sur sa partie inférieure, une
sortie de programme bleue. Ce qui est nouveau, c’est qu’il a
également un raccordement orange sur son côté droit. Il s’agit
d’une sortie de commande. A chaque fois que le déroulement
passe sur l’élément de commande, il envoie une commande à
tous les éléments raccordés via cette sortie. La variable a une
entrée de commande adaptée sur son côté gauche. Si vous reliez
la sortie de commande à l’entrée de commande, ROBO Pro trace
une ligne orange à la place des liaisons bleues habituelles. Les
éléments de programme peuvent envoyer des commandes ou des
informations par ces lignes orange et peuvent ainsi échanger des
informations.
Le programme représenté à droite envoie tout d’abord une com-
mande = 1 à la variable Var. Une commande se compose
généralement d’une commande à proprement parlé, comme =, et
d’une valeur, comme 1. La commande = 1 met la variable sur 1. Après une seconde, le pro-
gramme envoie un ordre +1 à la variable. La variable ajoute alors 1 à sa valeur et a alors une
valeur 2. Après une nouvelle seconde, le programme envoie la commande –1. La variable a alors
à nouveau une valeur 1.
Essayez maintenant de concevoir ce programme simple dans ROBO Pro. Vous trouverez les
éléments de commande dans le groupe Commandes, les variables dans le groupe Variables,
Timer,... Si vous lancez le programme en Mode Online, vous verrez comment la valeur des va-
riables change.
Vous vous dites sans doute : “Je peux voir la valeur des variables,
mais qu’est-ce que je peux faire avec ça ?“ C’est très simple : La
variable a un raccordement orange sur sa droite via lequel vous
pouvez envoyer des messages avec la valeur actuelle à tous les
éléments raccordés. Certains éléments de ROBO Pro ont une
entrée orange à gauche et peuvent être reliés à la sortie des va-
riables. Par exemple, vous trouverez dans le groupe Branchement,
Attente,... un élément de branchement Oui / Non que n’envoie pas
directement une requête à une entrée, mais peut envoyer une requête à une valeur quelconque,
entre autres la valeur d’une variable.
Le compteur de visiteurs du musée peut ainsi être programmé comme suit :
55
F
ROBOPro
56
F
ROBOPro
Des procédures indépendantes sont alors utilisées pour I1 et I2. Lorsque le bouton-poussoir I1 est
enfoncé, la procédure pour I2 reste indépendante et peut continuer à surveiller le bouton-poussoir
I2. Pour envoyer une requête aux valeurs de comptage et pour allumer et éteindre la lampe
d’alarme, une procédure propre est alors utilisée.
Comme vous le voyez, il n’y a pas de problèmes pour accéder à une seule variable au départ de
plusieurs procédures. Vous pouvez envoyer des commandes provenant de plusieurs procédures à
une variable et utiliser la valeur d’une variable dans plusieurs procédures. Les variables sont donc
adaptées aux échanges d’informations entre procédures.
Le directeur du musée est tellement enchanté de votre génial compteur de visiteurs qu’il vous
demande de résoudre un autre problème : le musée a organisé une exposition. Etant donné que
tous les visiteurs veulent voir la nouvelle exposition, il y a une telle foule que plus personne ne
peut rien voir. Le directeur aimerait limiter le nombre de visiteurs de cette exposition à 10. Le
directeur a fait placer des croisillons à l’entrée et à la sortie de l’exposition. Le croisillon d’entrée
peut être verrouillé électroniquement. Maintenant il n’a plus besoin que d’un programmeur compé-
tent... Ce programmeur, c’est vous !
Essayez de développer le programme décrit avec ROBO Pro. A la base, ce programme fonctionne
comme le compteur de visiteurs. Simulez le verrouillage électronique de l’entrée par une lampe
rouge sur M1 ; celle-ci doit s’allumer lorsque 10 personnes se trouvent dans l’exposition.
57
F
ROBOPro
Au départ, le panneau de commande est une surface grise vide. Vous
pouvez placer sur cette surface des affichages et des éléments de
commande que vous trouverez dans la fenêtre des groupes
d’éléments sous Eléments de commande. Parmi les éléments de
commande, vous trouverez des boutons, des régulateurs à coulisse et
d’autres choses. Sous Affichages, vous trouverez des affichages
textuels, des lampes d’avertissement et des affichages sous forme
d’une aiguille rotative.
Attention: Un panneau de commande fait partie d’un sous-programme. Si vous avez des
sous-programmes, veillez à enregistrer le panneau de commande sous Programme princi-
pal et pas sous un sous-programme ! Plus tard, il sera intéressant d’enregistrer plusieurs
panneaux de commande.
Si vous avez dessiné un panneau de commande et que celui-ci disparaît soudainement par la
suite, vous avez sans doute sélectionné un sous-programme dans la barre des sous-
programmes. Basculez sur Programme principal et le panneau de commande devrait être
là.
Comme vous le voyez, un élément de commande peut également être utilisé pour envoyer une
commande à deux variables en même temps. La commande - 1 n’est pas envoyée à la variable
Général, car les commandes ne sont transmises le long des lignes orange que dans le sens des
flèches. La commande +1 est quant à elle transmise aux deux variables. Il ne s’agit cependant que
d’un exemple. Généralement, il est plus simple et clair d’utiliser un second élément de commande.
Astuce : Lorsque des lignes orange se branchent, il est souvent plus pratique de dessiner les
lignes de l’objectif à l’origine. Si, dans l’exemple ci-dessus, vous souhaitez tracer la ligne pour
la variable Général, cliquez d’abord sur l’entrée de la variable Général et reliez ensuite la
ligne avec le point de branchement en retournant en arrière. Si, au contraire, vous souhaitez
58
F
ROBOPro
commencer une ligne orange sur une ligne orange existante, vous devez double-cliquez avec
le bouton gauche de la souris à l’endroit où vous voulez débuter la nouvelle ligne.
Essayez ! Dès que vous aurez lancé le programme en Mode Online, l’affichage affichera dans le
panneau de commande le nombre de visiteurs ayant traversé le croisillon de l’entrée.
59
F
ROBOPro
Nota Bene : Si vous voulez utiliser plus d’un affichage dans un panneau de commande, il est
important de donner un nom différent à chaque affichage afin de pouvoir les différencier lors
de la liaison avec le programme. Pour ce faire, cliquez avec le bouton droit de la souris sur
l’affichage dans le panneau de commande. Vous pouvez alors introduire un nom sous le
champ ID / Nom. Si vous reliez ensuite une sortie du panneau de commande avec
l’affichage, ce nom apparaît dans la fenêtre de sélection de la sortie du panneau de com-
mande. Etant donné que, pour le moment, nous n’avons qu’un affichage, le nom n’a pas
d’importance et nous conserverons donc le nom Texte.
Le programme n’est pas encore tout à fait parfait. Il manque encore un bouton-poussoir pour
remettre le compteur à 0. Nous ne devons cependant pas utilisez de bouton-poussoir normal, mais
bien un bouton sur le panneau de commande.
Vous trouverez le bouton de commande dans la fenêtre d’éléments sous le
groupe Eléments de commande / Eléments de commande. Sélectionnez
Panneau de commande dans la barre de fonction et ajoutez un bouton sur
votre panneau de commande à côté de l’affichage textuel. L’inscription Bouton n’est évidemment
pas appropriée, elle peut cependant facilement être modifiée via la fenêtre de propriétés. Pour ce
faire, cliquez sur le bouton avec le bouton droit de la souris, introduisez, p.e. 0000 dans Texte de
l’inscription et confirmez avec OK.
Tout comme pour l’affichage textuel, nous avons besoin d’un élément de
programme reliant le bouton au déroulement du programme. Pour ce faire,
sélectionnez à nouveau Fonction dans la barre de fonctions. Vous trouve-
rez l’élément représenté Entrée du panneau de commande dans la
fenêtre d’élément dans le groupe Entrées, Sorties. Placez cet élément dans le déroulement du
programme sous le déroulement actuel.
Maintenant, vous devez encore relier l’entrée du
panneau de commande avec le bouton. Pour ce
faire, cliquez avec le bouton droit de la souris
sur l’élément Entrée du panneau de commande.
Les éléments de commande sont, comme les
affichages, classés par sous-programmes, car
chaque sous-programme peut avoir un panneau
de commande propre. Sélectionnez le bouton
0000 et confirmez avec OK.
Vous avez peut-être remarqué qu’il est possible
de régler cet élément sur tous les types
d’entrées possibles via la barre d’onglets de la
fenêtre de propriétés. Ceci ne sera cependant
expliqué qu’au prochain chapitre Entrée de
commande pour sous-programmes.
Vous pouvez envoyer une requête à la valeur
envoyée par l’entrée du panneau de commande
avec un élément de branchement. Vous avez déjà utilisé cet élément pour envoyer une requête à
la variable. Le programme terminé, avec remise à zéro, est semblable à la représentation sui-
vante :
60
F
ROBOPro
Tant que le bouton 0000 est enfoncé, le compteur général reçoit une commande = 0 mettant le
compteur à 0.
5.4 Timer
Le directeur du musée ne sait plus quoi faire sans vous et vous nomme son conseiller en informa-
tique. Un tel poste apporte son lot de gloire et d’honneur, mais aussi de travail... Dans le musée, il
y a de nombreuses maquettes se mettant en mouvement par une pression sur un bouton. Certains
visiteurs appuient cependant relativement longtemps sur les boutons de sorte que les maquettes
chauffent et qu’elles doivent souvent être réparées. Le directeur aimerait que les maquettes soient
en mouvement lorsque le bouton est enfoncé, mais seulement pour un maximum de 30 secondes.
Lorsque la maquette a fonctionné une fois, une pause de 15 secondes doit être prévue avant que
cette maquette ne puisse à nouveau être mise en mouvement.
Hmm, pas de problème... C’est sans doute ce que vous pensez : quelques attentes, quelques
branchements de programme et c’est bon... Allons-y calmement ! Après un moment, vous consta-
terez que ce n’est pas si simple, et ce, pour deux raisons :
• Pendant les 30 secondes, le programme doit envoyer une requête au bouton pour savoir si
celui-ci a été relâché avant la fin des 30 secondes. Ce problème peut être résolu en lançant
deux procédures parallèles, voir point 5.2 Variables et procédures multiples à la page 56.
• Si un visiteur relâche le bouton après 5 secondes et réappuie sur celui-ci après 15 secondes,
l’attende de 30 secondes doit être redémarrée. Une attente de 5 + 15 = 20 secondes s’est
cependant déjà écoulée et est encore active. Même avec des procédures parallèles, il est
impossible de redémarrer une attente. Ce serait éventuellement possible avec deux attentes
dans trois procédures que vous pourriez démarrer en alternance, mais on aurait vite des
maux de tête à force de réfléchir.
61
F
ROBOPro
N’y a-t-il pas une solution plus simple ? Et si... en utilisant
des Variables de Timer ou Timer. Un Timer fonctionne
comme une variable normale. Le Timer affiche un chiffre
que vous pouvez modifier avec les commandes =, + et –.
La différence avec le Timer réside dans le fait qu’il se
remet à 0 régulièrement de lui-même. Vous pouvez régler
la durée d’une étape de comptage par paliers, entre un
millième de seconde et une minute. Avec des Timers, il
est possible de résoudre des problèmes de commande du
temps beaucoup plus facilement qu’avec des attentes.
Voyons comment nous pouvons arranger ça avec un
Timer ?
Bien... Dès que le visiteur appuie sur le bouton sur I1, la
maquette démarre et vous mettez le Timer sur 30 x 1
seconde = 30 secondes avec une commande =. Envoyez-
lui alors une requête en boucle pour savoir si la période
de 30 secondes est écoulée ou si le bouton sur I1 a été
relâché. Si un des deux critères d’interruption est rempli,
arrêtez la maquette et attendez 15 secondes. Tout repart
ensuite depuis le début.
Les programmes deviennent peu à peu de plus en plus
exigeant. Mais essayez de résoudre ce problème : Déve-
loppez un programme de même type avec des attentes
plutôt que des Timers ! Attention : Il s’agit d’une mis-
sion très importante qui n’a été imaginée que pour les
personnes qui aiment plancher sur des énigmes ! Tous les autres peuvent passer directe-
ment au prochain chapitre. Il existe deux solutions : vous pouvez utiliser deux attentes
démarrées en alternance dans des procédures propres. Etant donné qu’il y a une période de repos
de 15 secondes, une des deux attentes se terminera au plus tard après le second passage de
sorte qu’elle puisse à nouveau être démarrée. L’autre solution serait de reproduire un Timer avec
une variable normale et un élément Attente avec une attente courte d’une seconde, p.e.
62
F
ROBOPro
même interrupteur et commande le même moteur. Cela vient du fait que, dans un élément de
sortie Moteur, p.ex., la commande pour le moteur (droite, gauche ou stop) et le numéro de sortie
Moteur (M1...M8) forment une unité. Etant donné qu’il n’y a cependant qu’un sous-programme, il
s’agit toujours du même programme. Si vous modifiez le numéro de la sortie Moteur dans votre
appel du sous-programme, ce numéro sera modifié dans touts les appels existants du sous-
programme. Vous devriez alors copier le sous-programme 7 fois, donner un nom différent à
chaque sous-programme et adapter manuellement toutes les entrées et sorties.
Mais il est possible de résoudre ce problème beaucoup plus facilement.
Pour ce faire, il faut séparer les commandes des symboles Moteur. Il est
alors possible de positionner les commande (gauche, droite, stop) dans le
sous-programme et les éléments Moteur dans le programme principal. Vous
envoyez alors une commande gauche, droite ou stop au programme principal via un élément de
commande – avec lequel vous avez déjà fait connaissance pour les variables – dans le déroule-
ment du sous-programme ; vous pourrez alors transmettes les commandes aux différents moteurs.
Pour le moteur, il existe un élément Moteur représentant seulement un moteur sans indiquer ce
que le moteur doit faire. Cet élément a une entrée de commande sur laquelle vous pouvez en-
voyer des commandes. Les éléments du groupe Eléments de fond peuvent être remplacés comme
suit par un élément de commande et un élément Moteur :
Dans la ligne supérieure, vous voyez à chaque fois un élément Moteur du groupe Eléments de
fond. La seconde ligne représente la combinaison d’un élément de commande du groupe Com-
mandes et un élément Moteur du groupe Entrées, Sorties, ayant exactement le même effet. Les
éléments supérieurs ne sont en fait que des raccourcis ou des simplifications des combinaisons de
la ligne inférieure. Les deux envoient au moteur M1 une commande droite, gauche ou stop.
Ceci est également valable pour les requêtes envoyées aux interrupteurs :
Dans la ligne supérieure, vous voyez à nouveau des éléments du groupe Eléments de fond. La
rangée inférieure reprend une combinaison d’une entrée digitale et d’un élément du groupe Bran-
chement, Attente,... Vous trouverez l’élément orange Entrée digitale dans le groupe Entrées,
Sorties, comme l’élément Moteur.
Cette astuce vous permet de séparer la logique du déroulement d’un programme des entrées et
des sorties. Il vous manque cependant encore quelque chose. Si les éléments Moteur et Interrup-
63
F
ROBOPro
teur doivent se trouver dans le programme principal et les commandes, dans un sous-programme,
les éléments Moteur et Interrupteur doivent pouvoir être reliés avec le sous-programme via un
chemin. Les éléments de raccordement nécessaires se trouvent dans le groupe Sous-
programme I/O.
Vous pouvez envoyer des commandes extérieures à un sous-programme via
une entrée de commande de sous-programme. L’élément Entrée digitale
(Interrupteur) envoie sa nouvelle valeur via la ligne orange lorsque le statut
de l’entrée change (avec une „commande =“). Vous pouvez donner un nom à
l’entrée dans la fenêtre de dialogue.
La sortie de commande de sous-programme vous permet d’envoyer des
commandes à partir d’un sous-programme. Vous pouvez ainsi envoyer les
commandes gauche, droite, stop à un moteur à partir d’un sous-programme.
Vous pouvez également donner un nom à cet élément dans la fenêtre de
dialogue.
Vous disposez maintenant de toutes les données pour votre Timer pour plusieurs maquettes
avec sous-programmes :
Le Sous-programme Time est quasiment identique au programme du point précédent. Les élé-
ments Attendre une Entrée digitale I1 au début et dans la boucle sont seulement remplacés par
des éléments Attendre... avec raccordements de données pour les lignes oranges provenant du
groupe Branchement, Attente,.... Les deux sont reliés à l’entrée de commande du sous-
programme Interrupteur. Les deux éléments Moteur au début et à la fin du programme ont été
remplacés par des éléments de commande. Les deux envoient leur commande à la sortie de
commande du sous-programme Moteur.
Le sous-programme Time est appelé à quatre reprises dans le Programme principal. L’entrée de
commande du sous-programme Interrupteur a généré automatiquement le raccordement orange
64
F
ROBOPro
T sur le côté gauche du symbole vert du sous-programme. Le raccordement M sur le côté droit est
généré par la sortie de commande du sous-programme Moteur. Le raccordement T du symbole
de sous-programme est toujours relié avec un des interrupteurs I1 à I4. Un des moteurs M1 à M4
est alors raccordé au raccordement M. De cette façon, chaque appel du sous-programme Time
envoie une requête à un autre interrupteur et commande un autre moteur !
Essayez de reproduire le sous-programme et le programme principal représentés ci-dessus et
testez-les. Vous devez concevoir le sous-programme en premier lieu car celui-ci ne pourra pas
être ajouté au programme principal dans le cas contraire. Si vous avez des problèmes avec le
sous-programme, relisez le chapitre 4 Niveau 2 : Travailler avec des sous-programmes à la page
29.
Nota Bene : Vous trouverez de plus amples informations sur les entrées de commande au
point: 6.3 Envoyer des commandes au choix aux sous-programmes, à la page 74.
65
F
ROBOPro
gique.
Pour tester ce programme, il est utile de réduire le temps de la boucle de 5 minutes à une seconde.
Vous vous demandez sans doute comment vous pourrez lire les valeurs enregistrées dans la liste.
Il y a deux possibilités : vous pouvez lire les valeurs comme pour les autres variables et les exploi-
ter dans votre programme. Etant donné que la liste comprend plusieurs éléments, sélectionnez
tout d’abord le numéro de l’élément que vous voulez lire sur l’entrée de données de gauche avec
la description I. La valeur de cet élément est alors envoyée à la sortie de données R, sur la droite.
ROBO Pro peut également
enregistrer toutes les données
de la liste dans un fichier sur
votre ordinateur ; vous pourrez
alors exploiter ces données,
p.ex., dans Excel. Etant donné
que, dans le cas présent, vous
ne voulez que voir et comparer
les luminosités et températures,
cette solution est très pratique.
ROBO Pro enregistre les va-
leurs dans un fichier .CSV
(comma separated values =
valeurs séparées par des vir-
gules). Les fichiers .CSV sont
des fichiers textes comprenant
une ou plusieurs colonnes avec
à chaque fois une rangée de
données. Vous pouvez égale-
ment enregistrer plusieurs
rangées de mesure comme la
température et la luminosité dans différentes colonnes d’un fichier .CSV. Les colonnes sont sépa-
rées par des virgules. Dans les pays dans lesquels 0,5 est écrit avec une virgule et non pas avec
un point (p.e. l’Allemagne), le signe de séparation pour les colonnes est souvent un point-virgule
(;). Si vous avez des problèmes pour échanger des fichiers .CSV entre ROBO Pro et, p.ex., Micro-
soft Excel, vous pouvez modifier le séparateur de colonnes dans la fenêtre de propriétés de la
liste.
Vous pouvez régler le nom du fichier .CSV et la colonne dans laquelle le contenu d’une liste doit
être enregistré dans la fenêtre de propriétés de la liste sous Enregistrer un fichier .CSV. Les
données sont enregistrées lorsque le programme s’achève en Mode Online ou lorsque vous
sélectionnez le point Enregistrer des fichiers .CSV dans le menu Fichier pendant que le pro-
gramme est en cours (Online ou Téléchargement). En Mode Téléchargement, vous pouvez
séparer ROBO Interface de votre ordinateur pour l’inscription des données et la raccorder à nou-
veau pour l’enregistrement.
Après avoir lancé le programme ci-dessus en Mode Online, vous pouvez ouvrir le fichier .CSV
créé par ROBO Pro avec les données dans Microsoft Excel ou dans un autre programme de
tableur. Si vous ne possédez pas de programme de tableur, vous pouvez également utiliser le
Windows Editor (Notepad.exe) que vous trouverez le plus souvent dans le menu de démarrage de
Windows sous Accessoires.
66
F
ROBOPro
Tant que le programme est lancé en Mode Online, vous pouvez également voir les données dans
une liste en cliquant avec le bouton droit de la souris sur l’élément Liste.
5.7 Opérateurs
Votre programme d’inscription de la luminosité et de la température a bien fonctionné, mais vous
constatez que la température dans la salle d’exposition n’a rien à voir avec le soleil. Comme vous
le constatez, certains visiteurs ont confondu la commande de l’air climatisé de la salle d’exposition
avec la commande d’une maquette et ont sans arrêt appuyé sur celle-ci. Ce n’est donc pas un
miracle si la température de la salle d’exposition s’est détraquée !
Mais vous pouvez résoudre ce problème simplement, avec une serrure à combinaison électro-
nique. La serrure à combinaison doit posséder un clavier avec des touches de 1 à 6. Si trois
chiffres sont encodés correctement les uns à la suite des autres, la serrure à combinaison doit
libérer le couvercle de la commande de l’air climatisé via un aimant.
A première vue, une serrure à combinaison de ce type est simple : le
programme attend simplement que les bonnes touches sont enfoncées
dans le bon ordre. Vous voyez un programme de ce type pour la combi-
naison 3-5-2 sur la droite. Lorsqu’on y regarde de plus près, cette
solution présente cependant un problème : Il est possible de forcer cette
serrure très facilement en appuyant 3 fois de suite sur toutes les touches
de 1 à 6. En effet, en procédant ainsi, vous êtes sûr d’appuyer toujours
sur la bonne touche. Comme le disait si bien Albert Einstein : „Pourquoi
faire simple quand on peut faire compliqué“. Le programme doit non
seulement savoir si les bonnes touches sont enfoncées, mais aussi si
une mauvaise touche est enfoncée. Le programme ressemble à ceci :
Ce programme n’ouvre la serrure que si les touches 3 5 2 sont enfoncées sans qu’une autre
touche ne soit enfoncée entre-temps. Si, par exemple, la touche 3 est enfoncée, le programme
attend d’abord que la touche soit relâchée. Si une autre touche que la touche 5 est ensuite enfon-
67
F
ROBOPro
cée, le programme recommence au début. Le programme fonctionne donc correctement, mais ce
n’est ni simple, ni clair. Il est également très important de modifier le code. Mais pas de panique,
c’est également très simple grâce aux Opérateurs. Il y a différents types d’opérateurs. Vous les
trouverez dans le groupe Opérateurs sous Eléments de programme. Pour la serrure à combi-
naison, nous avons tout d’abord besoin d’un Opérateur Ou.
On peut raccorder plusieurs signaux aux entrées de l’Opérateur Ou (anglais or).
L’opérateur donne toujours 1 à la sortie lorsqu’au moins une des entrées est 1 (ou
est plus grande que 0). Lorsque l’on raccorde plusieurs boutons aux entrées Opéra-
teur Ou, la sortie de l’opérateur est toujours 1 lorsqu’au moins un des boutons est
actionné. Le nombre d’entrées peut être réglé jusqu’à 26 dans la fenêtre de proprié-
tés de l’opérateur. On peut donc raccorder les 6 touches à un opérateur. Vous vous
demandez sans doute comment on peut simplifier la serrure à combinaison ? C’est très simple...
Avec l’opérateur, vous pouvez à chaque étape attendre qu’une touche soit enfoncée. Vous pouvez
ensuite vérifier si c’est la bonne touche. Vous n’avez donc plus besoin de 7 éléments de pro-
gramme par chiffre, mais bien de 2.
Les boutons sur les entrées I1 à I6 sont rassemblés par un Opérateur Ou à 6 entrées. Si au moins
un des boutons est actionné, l’opérateur Ou envoie une valeur initiale 1, ou 0. Avec un élément
Attendre..., le programme attend qu’un bouton soit enfoncé. On teste ensuite s’il s’agit du bon
bouton. Si oui, on attend à nouveau qu’une touche soit enfoncée. Si une mauvaise touche a été
enfoncée, le programme reprend au début.
Modifiez le programme ci-dessus de sorte qu’il utilise des éléments de commande du panneau de
commande plutôt que des boutons. Pour ce faire, tracez tout d’abord un panneau de commande
avec 6 boutons portant les inscriptions 1 à 6. Modifiez ensuite les entrées digitales dans la fenêtre
de propriétés. Vous devez remplacer les branchements avec des entrées de données par des
entrées du panneau de commande.
68
F
ROBOPro
La serrure à combinaison fonctionne maintenant parfaitement, mais ce n’est toujours pas très
facile de modifier le code (3 5 2). Pour ce faire, il faut changer les entrées en trois éléments de
branchement. Pour la commande de l’air climatisé du musée, il n’est pas nécessaire de modifier le
code régulièrement ; cependant, si vous utilisez la serrure à code pour une alarme, il est préfé-
rable de modifier le code régulièrement. Ce serait évidemment plus simple si l’on pouvait
enregistrer le code dans une variable. On pourrait alors modifier le code automatiquement. Si, par
exemple, une alarme silencieuse se déclenche dans l’installation, il serait possible de remplacer le
code normal par un code d’alarme défini.
Afin de pouvoir comparer le chiffre introduit avec la variable du code, les chiffres introduits doivent
être enregistrées dans une variable. Au départ, la variable avec la valeur initiale doit avoir une
valeur 0. Si vous appuyez sur la touche 3, le variable doit avoir la valeur 3. Après avoir appuyé sur
la touche 5, la valeur 35 et, finalement, après avoir appuyé sur la touche 2, la valeur 352.
La serrure à combinaison avec variable de code suit deux procédures. Dans la procédure de
gauche, un nombre est attribué à chaque touche avec quelques Opérateurs Multiplication et un
Opérateur Plus. La touche 1, le nombre 1 ; la touche 2, le nombre 2 ; et ainsi de suite. Les touches
envoient une valeur 1 ou 0 et, lorsque l’on multiplie cette valeur par un nombre fixe X, on obtient
une valeur 0 ou X. Etant donné que les valeurs sont 0 lorsque les touches ne sont pas enfoncées,
il est possible d’additionner toutes les valeurs et d’obtenir ainsi un nombre comme valeur de
touche. Dès qu’une touche est enfoncée, la variable initiale est attribuée 10 fois à la valeur précé-
dente additionnée à la valeur de la touche enfoncée. La multiplication par 10 déplace la valeur
précédente de la valeur initiale d’une dizaine (35 donne, par exemple, 350).
La procédure de droite attend que la touche OK du panneau de commande soit enfoncée après
l’introduction du code. La variable de code ayant la valeur 352 lorsque le code est bien introduit est
alors comparée avec la variable initiale. Si les deux ont une valeur semblable, l’aimant d’ouverture
se détache, sinon non. La variable initiale est finalement remise à 0. Les variables Initial et Code
sont comparées en comparant leur différence par rapport à 0 Vous auriez également pu utiliser un
élément de comparaison.
Si vous enfoncez simultanément deux touches, les valeurs de ces deux touches s’additionnent.
Par exemple, si vous enfoncez les touches 3 et 6 simultanément, on obtient la valeur 9. Vous
pouvez ainsi fabriquer une serrure ultrasécurisée pour laquelle il faut parfois appuyer sur plusieurs
touches simultanément. Imaginez sur quelles touches et dans quel ordre vous devez appuyer pour
ouvrir la serrure avec un code de 495. Veillez à ce que l’élément Attendre... continue le pro-
gramme lorsque la valeur s’élève, pas seulement lorsqu’elle passe de 0 à 1.
69
F
ROBOPro
La serrure à combinaison fonctionne-t-elle aussi pour des codes à deux ou à quatre chiffres ? Si
oui, jusqu’à combien de chiffres fonctionne-t-elle et pourquoi ? Comment cela se passe-t-il avec
les autres programmes de serrure à combinaison ?
70
F
ROBOPro
N’oubliez pas de régler ROBO Pro sur Niveau 4 (ou plus) dans le menu Niveau !
Au niveau 3, vous vous êtes occupé en détail de la façon dont vous pouvez traiter des données au
moyen de commandes et, par exemple, commander des moteurs. Vous avez ainsi exclusivement
utilisés des commandes, telles que la commande =, ou encore les commandes Droite, Gauche et
Stop. Au niveau 4, ces deux idées – c’est-à-dire l’envoi de commandes via des liaisons orange et
l’utilisation de commandes propres – sont reliées.
71
F
ROBOPro
branche sur la sortie N. Comme vous le savez, dans ROBOPro, une commande se compose d’un
nom et d’un chiffre, la valeur de la commande. Lorsque l’élément « Attendre une commande » a
reçu la commande qu’il attendait, la valeur de la commande est disponible sur la sortie V.
Vous pouvez ainsi créer très facile-
ment le sous-programme souhaité.
Chacune des 5 commandes pos-
sibles est alors interrogée par
l’élément « Attendre une com-
mande », dans une boucle sans fin.
Lorsqu’une commande correspon-
dante est reçue, la valeur de la
commande est transmise aux com-
mandes « droite » et « gauche »
envoyées aux deux sorties Moteur
M1 et M2. Lorsque, par exemple, le
sous-programme reçoit une com-
mande « avant » de valeur 8, la
valeur 8 de la sortie V du filtre de
commande est transmise à deux
éléments de commande envoyant
alors aux deux moteurs une com-
mande « droite » dont la valeur
représente la vitesse. Cependant, ce
n’est pas très pratique d’utiliser ici un
seul élément de commande « à
droite » envoyant la commande aux
deux moteurs. Dans de telles cons-
tructions, il est souvent très difficile
de distinguer les lignes de com-
mande des deux moteurs de sorte
que, souvent, d’autres commandes
sont également envoyées aux deux
moteurs.
Dans notre exemple, la sortie V du
filtre de commande « Stop » n’est pas raccordée car l’élément de commande « Stop » n’a besoin
d’aucune valeur.
72
F
ROBOPro
L’illustration de droite montre com-
ment il est possible de structurer un
sous-programme de commande
pour un robot à 2 roues avec un filtre
de commande. Le filtre de com-
mande supérieur transforme – par
exemple – la commande droite en
commande =. Les sorties Moteur
peuvent également traiter des com-
mandes = d’une valeur allant de -8 à
8. Etant donné que, pour faire tour-
ner la maquette vers la droite, les
deux moteurs doivent tourner dans
des directions différentes, la valeur
de la commande = du moteur M2
doit porter un opérateur -. Pour la
commande gauche, la valeur du
moteur M1 sera par contre négative.
Les mouvements vers l’avant et vers l’arrière sont plus simples car les deux moteurs tournent dans
le même sens.
Avec le filtre de commande, il n’est pas absolument nécessaire de modifier les commandes. Les
commandes d’entrée et de sortie du dernier filtre de commande ont toutes deux des valeurs Stop.
Grâce à cet élément, les commandes Stop sont directement transmises aux moteurs. Vous avez
cependant besoin d’un filtre de commande pour que d’autres commandes telles que gauche ou
droite ne soient pas envoyées directement aux sorties Moteur.
Le gros avantage du filtre de commande par rapport à l’élément « Attendre une commande » du
point précédent est que vous n’avez besoin d’aucune procédure. Ceci permet d’économiser de
l’espace mémoire et le traitement de ces commandes est immédiat ; vous ne devez donc pas
attendre la prochaine commutation de la procédure.
Lorsque vous utilisez un filtre de commande de ce type, vous devez veiller à ne pas mélanger les
lignes de données des deux moteurs. Le plus simple est que toutes les flèches finales aboutisse-
ment sur une seule et même ligne de données, comme vous pouvez le voir sur l’illustration ci-
dessus. Il est parfois plus simple d’utiliser deux filtres de commande pour une commande de
manière à avoir deux sorties séparées.
Sur le programme ci-dessus, le robot tourne sur lui-même sur place au moyen d’une commande
droite. Essayez de modifier le programme de sorte que M1 tourne et M2 reste à l’arrêt. Pour ce
faire, vous avez besoin de deux filtres de commande pour la commande « à droite ». Le premier
transforme la commande en une commande = et le second en une commande « Stop ». La valeur
de la commande est ignorée en cas de commande « Stop ».
73
F
ROBOPro
Si vous envoyez une commande = à une entrée Commandes au choix, les commandes ne
sont pas répétées au démarrage du sous-programme. Il peut alors arriver que la valeur
transmise par l’entrée du sous-programme ne corresponde pas à la valeur effective de
l’entrée.
74
F
ROBOPro
75
F
ROBOPro
Vous pouvez le faire très facilement en modifiant l’Attribution de l’Interface dans la fenêtre de
propriétés du Programme principal :
76
F
ROBOPro
• La partie droite de la fenêtre est seulement importante si vous avez raccordé plusieurs
Interfaces différentes à un bus USB. Si vous cliquez sur USB sous Interface, vous pouvez
sélectionner une des Interfaces sous Liste des Interfaces USB.
Attention : il faut savoir, en comparaison avec l’ancien ROBO Interface, que vous pouvez
raccorder un seul ROBO TX Controller via USB ou Bluetooth. Ce Controller servira de Master
auquel vous pouvez raccorder jusqu’à 8 ROBO TX Controller comme extensions.
Si vous désirez utiliser plusieurs ROBO Interfaces sur le bus USB, vous devez d’abord attri-
buer un numéro de série à chaque Interface. Normalement, toutes les Interfaces sont
fournies avec le même numéro de série pour éviter tout problème en cas d’échange
d’Interfaces. Le système d’exploitation Windows ne reconnaît cependant que des Interfaces
avec des numéros de série différents. Vous en apprendrez plus sur ce sujet dans le point 7.5
Modifier le numéro de série de l’interface du ROBO Interface à la page 78.
• Dans le champ Indiquer une Interface, vous pouvez choisir comment le programme doit
indiquer l’Interface choisie. Il y deux possibilités : Si vous sélectionnez Numéro de série, le
programme enregistre le numéro de série du ROBO Interface. Même si vous raccordez et
enlevez d’autres ROBO Interface au bus USB, le programme peut retrouvez l’Interface choi-
sie à tout moment au moyen du numéro de série. Cependant, il existe un désavantage : le
programme ne fonctionnera plus qu’avec une Interface ayant un numéro de série identique.
Si vous désirez utiliser une Interface avec un autre numéro de série, vous devrez modifier
l’attribution de l’Interface ou le numéro de série. Pour éviter les problèmes de numéro de sé-
rie, il y a une autre possibilité : Rang. Si vous sélectionnez ce point, le programme enregistre
le rang dans la liste plutôt que le numéro de série. Ceci peut provoquer un certain désordre
lorsque vous ajoutez ou supprimer une Interface sur le bus USB ; le programme fonctionne
cependant de la même façon avec l’une ou l’autre Interface.
77
F
ROBOPro
78
F
ROBOPro
pour une maquette, il peut être peu pratique d’indiquer la totalité des numéros de série. Dans
ce cas, il est plus simple de régler le numéro de série standard de vos Interfaces, p.e., sur 1,
2, 3,... et d’utiliser ce numéro. Après avoir modifié ou sélectionné le numéro de série, vous
devez encore appuyer sur le bouton Inscrire sur l’Interface. Après avoir modifié le numéro
de série, vous devez débrancher l’alimentation en courant et la rebrancher.
Attention : Si le numéro de série est modifié, il se peut que le pilote doive être réinstallé ;
pour ce faire sous Windows, vous devez disposer de droits Administrateur. Si vous modifiez
le numéro de série mais ne pouvez pas réinstaller le pilote car vous n’avez pas de droits Ad-
ministrateur, vous ne pourrez plus avoir accès à l’Interface via l’interface USB. Dans ce cas,
vous pouvez débrancher l’Interface de l’alimentation en courant et gardez le bouton Port en-
foncé lorsque vous reconnectez l’alimentation en courant. L’Interface démarre alors avec le
numéro de série 1 et est reconnue par le pilote déjà installé. Le numéro de série n’est cepen-
dant pas modifié définitivement ; en effet, au prochain démarrage, le numéro de série
précédent sera utilisé si vous n’appuyez pas à nouveau sur le bouton Port. Pour modifier dé-
finitivement le numéro de série, procédez comme nous l’avons vu plus haut.
79
F
ROBOPro
8.1.1 Démarrer
Dans un programme, une procédure commence toujours par un élément de
démarrage. Si cet élément de programme ne se trouve pas au début du pro-
gramme, la procédure ne peut pas être traitée. Si un programme comprend
plusieurs procédures, chacune de ces procédures doit commencer par un élé-
ment de démarrage. Les différentes procédures seront alors lancées simultanément.
Les propriétés de l’élément de démarrage ne peuvent pas être modifiées. C’est pourquoi, contrai-
rement à la plupart des autres éléments, aucune fenêtre de propriétés ne s’ouvre lorsque vous
cliquez sur l’élément avec le bouton droit de la souris.
8.1.2 Terminer
Pour terminer une procédure, il faut relier la sortie du dernier élément avec
l’élément de fin. Une procédure peut également se terminer à plusieurs endroits
avec cet élément. Il est également possible de relier les sorties de différents
éléments avec un seul élément de fin. Une procédure peut cependant également
avoir la forme d’une boucle sans fin et ne pas contenir d’élément de fin.
Les propriétés de l’élément de fin ne peuvent pas être modifiées. C’est pourquoi, contrairement à
la plupart des autres éléments, aucune fenêtre de propriétés ne s’ouvre lorsque vous cliquez sur
l’élément avec le bouton droit de la souris.
80
F
ROBOPro
sélection des entrées C1-C4 du ROBO TX Controller comme simples entrées digitales.
• Les boutons M1E-M4E permettent d’interroger une des quatre entrées internes de ROBO
Pro. Les entrées sont placées sur 1 dès qu’un moteur, entré via un élément d’Extension de
la commande du moteur, a atteint la position respective.
• Dans le champ Interface / Extension, vous pouvez choisir si vous souhaitez utiliser une
entrée de l’Interface ou une entrée du module d’extension. Vous trouverez plus
d’informations sur ce sujet au chapitre 7 Commander plusieurs interfaces à la page 75.
• Dans le champ Type du capteur vous pouvez choisir le capteur raccordé à l’entrée. Le plus
souvent, des sondes sont raccordées aux entrées analogiques, mais aussi des transistors
photo et des relais à contacts scellés. ROBO Pro règle la Nature de l’entrée de l’entrée uni-
verselle automatiquement sur le capteur sélectionné. Vous pouvez aussi régler la Nature de
l’entrée indépendamment du capteur à partir du niveau 4.
• Dans le champ Permuter les raccordements 1/0, vous pouvez permuter les positions des
sorties 1 et 0 du branchement. Normalement, la sortie 1 se situe en-dessous et la sortie 0, à
droite. Il peut être pratique d’avoir la sortie 1 à droite. Appuyez sur Permuter les raccorde-
ments 1/0, les deux raccordements seront alors inversés dès que vous cliquerez sur OK
pour fermer la fenêtre.
81
F
ROBOPro
8.1.5 Attente
L’élément Attente vous permet de retarder le
déroulement d’une procédure jusqu’à un moment
donné.
Si vous cliquez avec le bouton droit de la souris sur
l’élément, la fenêtre de propriétés s’affiche. Vous pouvez alors intro-
duire l’attente en secondes, minutes ou heures. L’intervalle de temps
pour l’attente va de 1 milliseconde (un millième de seconde) à 500
heures (presque 3 semaines). Cependant, la précision de la mesure
du temps varie en fonction de la longueur de l’attente.
La liste suivante donne la précision de la mesure pour différentes attentes :
Attente Précision
Jusqu’à 30 secondes 1/1000 de seconde
Jusqu’à 5 minutes 1/100 de seconde
Jusqu’à 50 minutes 1/10 de seconde
Jusqu’à 8,3 heures 1 seconde
Jusqu’à 83 heures 10 secondes
82
F
ROBOPro
83
F
ROBOPro
Astuce : Parfois, un moteur ne peut être actionné que dans un sens, p.e. une bande trans-
porteuse. Dans ce cas, vous pouvez utiliser une Sortie Lampe pour ce moteur ; vous
utiliserez alors un raccordement de moins.
84
F
ROBOPro
qu’un pin de raccordement. Vous pouvez donc commander 8 lampes ou vannes magnétiques
isolées. Raccordez alors l’autre raccordement de la lampe à la douille massique du ROBO TX
Controller (┴).
Astuce: Lorsque vous ne voulez raccorder que quatre lampes, vous pouvez également utili-
sez une sortie Moteur pour des lampes. C’est fort pratique cas ainsi les deux raccordements
de la lampe peuvent être directement raccordés à la Sortie de l’Interface et vous ne devez
pas les relier tous les pôles négatifs séparément à la douille massique.
85
F
ROBOPro
L’élément Attendre une entrée attend qu’une entrée de
l’Interface ait un statut particulier ou se modifie d’une
certaine manière.
Si vous cliquez avec le bouton droit de la souris sur
l’élément, la fenêtre de propriétés s’affiche :
• Dans le champ Attendre..., vous pouvez sélection-
ner quel type de modification ou de statut doit être
attendu. Si vous choisissez 1 ou 0, l’élément attend
que l’entrée soit fermée (1) ou ouverte (0). Si vous
choisissez 0 -> 1 ou 1 -> 0, l’élément attend que le
statut de l’entrée passe d’ouvert à fermé (0->1) ou
de fermé à ouvert (1->0). Dans le dernier cas,
l’élément attend que l’entrée se modifie, peu im-
porte si elle passe du statut ouvert à fermé ou le
contraire. Au point 3.6 Autres éléments de pro-
gramme à la page 23, vous comprendrez mieux
comment vous pouvez relier cet élément à l’élément Branchement.
• Dans le champ Entrée digitale, vous pouvez définir à laquelle des 8 entrées digitales I1 à I8
doit être envoyée la requête. Vous choisissez une des entrées universelles via I1..I8. Les
autres entrées sont décrites au chapitre 8.1.3 Branchement Digital à la page 80.
• Dans le champ Interface / Extension, vous pouvez choisir si vous souhaitez utiliser une
entrée de l’Interface ou une entrée d’un module d’extension ou d’une seconde Interface.
Vous trouverez plus d’informations sur ce sujet au chapitre 7 Commander plusieurs inter-
faces à la page 75.
• Dans le champ Type du capteur vous pouvez choisir le capteur raccordé à l’entrée. Le plus
souvent, des sondes sont raccordées aux entrées digitales, mais aussi des transistors photo
et des relais à contacts scellés. ROBO Pro règle la Nature de l’entrée de l’entrée universelle
automatiquement sur le capteur sélectionné. Vous pouvez aussi régler la Nature de l’entrée
indépendamment du capteur à partir du niveau 4.
86
F
ROBOPro
De nombreuses maquettes Fischertechnik utili-
sent des engrenages d’impulsion. Ces
engrenages actionnent un interrupteur quatre fois
par rotation. Des tels engrenages d’impulsion
vous permettent d’allumer un moteur pour un
certain nombre de rotations plutôt que pour une
certaine durée. Pour ce faire, il faut compter le
nombre d’impulsions sur une entrée de
l’Interface. A cet effet, vous pouvez
utiliser l’élément Compteur
d’impulsions qui attend un nombre définissable
d’impulsions.
87
F
ROBOPro
8.1.12 Son
L'élément Son permet de faire défiler des sons enregistrés sur le
ROBOTICS TXT Controller comme fichiers au format .wav. Un clic
avec le bouton droit de la souris sur cet élément affiche la fenêtre des
propriétés :
• Dans la fenêtre du Son, vous
pouvez sélectionner l'un des sons
disponibles. Le TXT Controller
permet d'essayer respectivement
d'écouter les sons au préalable via
le menu de l'écran tactile sur Test
– Son.
• Si le bouton Patienter jusqu'à la
fin du son est coché, le déroule-
ment du programme ne se
poursuivra qu'après le défilement
intégral du son.
• Vous pouvez décider du nombre de défilements consécutifs du son comme vous le souhaitez.
Sélectionnez la valeur 0 pour obtenir une boucle infinie.
88
F
ROBOPro
89
F
ROBOPro
servés. Vous en apprendrez plus sur les numéros de groupe réservés au point consacré à
l’élément « Récepteur ».
• Sous Canal de transmission, vous pouvez définir comment le message doit être transmis
d’un point de vue purement technique. Cette sélection n’est pas disponible au niveau 2 et les
messages sont toujours envoyés par ondes radio (sauf à soi-même). Par ondes radio signi-
fie que le message est envoyé via Bluetooth (ROBO RF Data Link). Si Radio (également à
soi-même) est sélectionné, le message est également envoyé à l’interface ayant envoyé le
message. Pour que cela fonctionne, une cible doit être sélectionnée sous Interface / Elé-
ment cible ; celle-ci comprend également l’interface envoyant le message, c’est-à-dire – par
exemple – à toutes les interfaces ou à un groupe de récepteurs. Vous pouvez également
envoyer un message uniquement à l’interface envoyant le message. Cette fonction peut être
– par exemple – utilisée pour les communications entre différentes procédures. A partir du
niveau 4, ROBO Interface prend également en charge l’envoi de commandes via l’interface
sérielle COM de l’interface ROBO. Pour ce faire, vous devez connecter deux interfaces à un
câble nul modem en série.
• Sous Optimisation (à partir du niveau 4), vous pouvez déterminer si des commandes iden-
tiques doivent être envoyées à plusieurs reprises. Pour de nombreuses commandes, il n’y
existe aucune différence si la commande est envoyée une ou plusieurs fois. Sans optimisa-
tion, une commande envoyée à plusieurs reprises en boucle remplit le tampon de transfert du
RF Data Links de sorte que d’autres commandes ne peuvent pas être envoyées aussi rapi-
dement. Il est donc utile d’effacer les commandes identiques. Généralement, vous ne
souhaiterez effacer une commande que lorsque celle-ci est identique à la dernière com-
mande sauvegardée dans le tampon. Lorsque, dans ce mode, vous envoyez – par
exemple – 2x Start et 2x Stop, seuls 1x Start et 1x Stop seront transmis. Cependant, si vous
envoyez rapidement des commandes « Start », « Stop », « Start » et « Stop », et non pas
deux commandes identiques à la suite une de l’autre, les commandes sont transmises sans
être modifiées. Vous pouvez cependant également indiquer que les commandes doivent être
effacées lorsqu’elles sont identiques à une commande quelconque sauvegardée dans le
tampon. Pour la plupart des commandes, l’optimisation ne joue cependant aucun rôle impor-
tant et il est recommandé d’utiliser le mode Normal. Un exemple est la commande Ajouter
permettant d’ajouter des éléments à une liste. Dans une liste, il existe une différence si un
élément est ajouté 1x ou 2x. Au niveau 2, l’option Effacer si identique à la dernière com-
mande placée dans le tampon est toujours sélectionnée.
• Dans le champ Type de données vous pouvez choisir si la commande envoyée est un
chiffre entier ou un chiffre à virgule flottante. Voir également le chapitre 13 Calcul avec des
nombres décimaux – arithmétique à virgule flottante (à partir du niveau 3) à la page 150.
90
F
ROBOPro
Fenêtre de propriétés de l’élément « Emetteur »
• Indiquez la commande devant être reçue par le
« récepteur » sous Commande reçue. Comme
expliqué pour l’« émetteur », seuls les trois pre-
miers chiffres ou lettres du nom sont pris en
compte. Vous devez encore choisir si le récep-
teur ne doit réagir qu’aux commandes
directement envoyées à l’interface, c’est-à-dire
avec un numéro d’appel défini, ou aux com-
mandes envoyées à toutes les interfaces. Vous
pouvez également sélectionner les deux options.
Comme précédemment décrit pour l’émetteur,
vous pouvez également envoyer des messages
à un groupe déterminé à partir du niveau 4. De
tels messages sont reçus par tous les éléments
« Récepteur » pour lesquels ce groupe a été in-
diqué. Les groupes 10 à 255 peuvent être
utilisés selon vos préférences. Les groups 0 à 8
correspondent aux numéros d’appel radio 0 à 8.
Le groupe 9 est réservé pour les envois à toutes
les interfaces. Lors de l’envoi de message, il n’existe aucune différence si celui-ci est envoyé
au groupe 1 ou au numéro d’appel radio 1. A la réception, il est cependant possible
d’indiquer un numéro d’appel radio car chaque interface connait son propre numéro d’appel
radio. En indiquant un groupe de récepteurs de 1 à 8 pour le récepteur, vous pouvez cepen-
dant recevoir des messages initialement conçus pour une autre interface. Les groupes de
récepteurs inférieurs à 10 peuvent cependant seulement être utilisés à partir du niveau 5.
• Sous Interface sérielle COM (à partir du niveau 4 uniquement pour ROBO Interface), vous
pouvez indiquer si l’élément peut également recevoir des messages de l’interface COM. Il
s’agit ici d’un réglage global indiquant si l’interface COM doit être activée ou non. Si un seul
émetteur ou récepteur utilise l’interface COM dans un programme, tous les éléments « Ré-
cepteur » peuvent recevoir des messages de l’interface COM.
• Dans le champ Type de mémoire tampon vous pouvez décider de l’attribution des com-
mandes reçues à la mémoire local ou global. Si vous sélectionnez global, l’élément pourra
aussi recevoir des commandes si le sous-programme de l’élément respectif n’est pas actif.
• Sous Permuter les raccordements O/N, vous pouvez permuter les positions des sorties J et
N du branchement. Normalement, la sortie Oui (O) se trouve en bas et la sortie Non (N), à
droite. Il est cependant souvent plus pratique d’avoir la sortie Oui à droite. Cochez Permuter
les raccordements O/N ; les raccordements O et N seront alors permutés dès que vous
fermerez la fenêtre en cliquant sur OK.
91
F
ROBOPro
Fenêtre de propriétés de l’élément « Emetteur »
• Sous Commande reçue, vous devez indiquer si le
récepteur ne doit réagir qu’aux commandes directe-
ment envoyées à l’interface, c’est-à-dire avec un
numéro d’appel défini, ou aux commandes envoyées
à toutes les interfaces. A partir du niveau 4, vous
pouvez également sélectionner un groupe bien défini.
Vous en saurez plus sur les groupes de récepteurs
en consultant les deux points précédents Emetteur
(Niveau 2) et Récepteur / Branchement à la réception
d’une commande (Niveau 2). Au contraire du niveau
2 « Récepteur », vous ne pouvez sélectionner qu’une option au niveau 3 « Récepteur ». Si
vous souhaitez recevoir des commandes avec différentes cibles, vous pouvez cependant in-
terconnecter les sorties de deux ou plusieurs éléments « Récepteur » avec une sélection
différence. Vous pouvez tout particulièrement interconnecter des récepteurs avec différents
groupes.
• Sous Interface sérielle COM (à partir du niveau 4), vous pouvez indiquer si l’élément peut
également recevoir des messages de l’interface COM. Pour ce faire, consultez le point pré-
cédente Récepteur / Branchement à la réception d’une commande (Niveau 2)
92
F
ROBOPro
standard de 4 commandes doit amplement suffire car un programme traite le plus souvent
les commandes reçues le plus vite possible.
93
F
ROBOPro
(à partir du niveau 3) à la page 150.
2
8.2.7 I C Écriture (niveau 4)
Cet élément envoie des ordres de commande ou des données à
l‘interface I2C du contrôleur TX. L‘interface I2C est disponible au niveau
du raccordement EXT2. L’interface standard I2C est utilisée pour le
raccordement de capteurs et d’activateurs d’autres fabricants (autres
que fischertechnik) au contrôleur TX. L’utilisation de l‘interface I2C
requiert une certaine expérience dans l’utilisation de composants électroniques ainsi que
l’utilisation d’appareils de mesure correspondants.
Tu trouveras, dans la fenêtre des éléments, sous Bibliothèque / I2C, des sous-programmes pour
différents modules I2C fréquemment utilisés. Tu peux également ouvrir les fichiers de bibliothèque
directement comme programme ROBO Pro. Le programme principal des bibliothèques contient un
programme d’essai pour chaque module. Les fichiers de bibliothèque se trouvent dans le réper-
toire d’installation ROBO Pro sous Bibliothek\I2C.
L’élément I2C Écriture envoie, via l’interface I2C, un octet d’adresse et entre 1 et 4 octets de
données. L’adresse d’appareil à 7 bits et le bit d’écriture sont ensuite envoyés. Une sous-adresse
longue de 0-2 octets est ensuite créée et enfin, 1 ou 2 octets de données sont envoyés. Du point
de vue du protocole I2C, il n’y a pas de différence entre la sous-adresse et les données. Bon
nombre de modules I2C nécessitent toutefois qu’une sous-adresse puis, seulement ensuite, les
données soient envoyées après l’adresse de l’appareil. Le protocole précis est obtenu à partir de
la feuille de données d’un module I2C.
2
Fenêtre de propriété de l’élément I C Écri-
ture
• Sous Adresse d’appareil, tu entres l’adresse d’appareil
à 7 bits (sans bit R/W). Pour certains appareils,
l’adresse doit être saisie sous forme d’adresse à 8 bits
(avec R/W Bit). Dans ce cas, tu dois diviser l’adresse en
2, par exemple 0x60 au lieu de 0xC0.
Les adresses d’appareil 0x50.0x57 (=0xA0…0xAF sous
forme d’adresse à 8 bits) sont utilisées en interne par le
contrôleur TX et ne peuvent pas être utilisés pour des
modules externes.
• Sous Sous-adresse, tu peux saisir une sous-adresse à 8 ou 16 bits. Voir également
Longueur de sous-adresse ci-dessous.
• Sous Entrée de données, tu peux définir si les données sont fixes et si elles sont saisies
plus bas sous Valeur de données ou si l’élément doit utiliser une entrée de données.
• Sous Valeur de données, tu peux entrer la valeur de données à envoyer si aucune entrée
de données n’est utilisée.
• Sous Longueur de sous-adresse, tu peux sélectionner si une sous-adresse est utilisée.
Tous les modules I2C n’utilisent pas des sous-adresses, on peut ainsi également indiquer
Aucune sous Longueur de sous-adresse. Si tu utilises une sous-adresse longue de 16 bits,
tu peux définir quel octet doit être transmis en premier, entre l’octet avec la valeur la plus
haute (MSB=Most Significant Byte) et l’octet avec la valeur la plus basse (LSB=Least Signifi-
cant Byte).
94
F
ROBOPro
2
8.2.8 I C Lecture (niveau 4)
Cet élément lit des données à partir de l’interface I2C du contrôleur TX.
Les remarques relatives à l’élément I2C Ecriture s’appliquent aussi à
cet élément.
Lorsqu’une sous-adresse est utilisée, l’élément I2C Lecture envoie
d’abord un octet d’adresse dans le mode Ecriture puis la sous-adresse longue d’1 ou 2 octets.
L’élément effectue ensuite un redémarrage au niveau du bus I2C, envoie à nouveau l’adresse
d’appareil, cette fois en mode Lecture, et lit ensuite 1-2 octets de données. Si aucune sous-
adresse n’est utilisée, l’octet d’adresse est immédiatement envoyé en mode Lecture, puis les
données sont lues.
2
Fenêtre de propriété de l’élément I C Lec-
ture
• Sous Adresse d’appareil, tu entres l’adresse d’appareil
à 7 bits (sans bit R/W). Pour certains appareils,
l’adresse doit être saisie sous forme d’adresse à 8 bits
(avec R/W Bit). Dans ce cas, tu dois diviser l’adresse en
2, par exemple 0x60 au lieu de 0xC0.
Les adresses d’appareil 0x50.0x57 (=0xA0…0xAF sous
forme d’adresse à 8 bits) sont utilisées en interne par le
contrôleur TX et ne peuvent pas être utilisés pour des modules externes
• Sous Sous-adresse, tu peux saisir une sous-adresse à 8 ou 16 bits. Voir également
Longueur de sous-adresse ci-dessous
• Sous Longueur de sous-adresse, tu peux sélectionner si une sous-adresse est utilisée.
Tous les modules I2C n’utilisent pas des sous-adresses, on peut ainsi également indiquer
95
F
ROBOPro
Aucune sous Longueur de sous-adresse. Si tu utilises une sous-adresse longue de 16 bits,
tu peux définir quel octet doit être transmis en premier, entre l’octet avec la valeur la plus
haute (MSB=Most Significant Byte) et l’octet avec la valeur la plus basse (LSB=Least Signifi-
cant Byte).
• Sous Longueur de données, tu peux choisir si l’élément lit des données de 8 ou 16 bits à
partir du module I2C. Pour les données de 16 bits, tu peux, comme pour la sous-adresse, dé-
terminer quel octet doit être lu en premier, entre l’octet avec la valeur la plus haute
(MSB=Most Significant Byte) et l’octet avec la valeur la plus basse (LSB=Least Significant
Byte)
• Sous Vitesse, tu peux sélectionner la vitesse I2C. Elle peut être de 100 kHz ou de 400 kHz.
Si Tous les modules I2C raccordés prennent en charge 400kHz, tu dois utiliser 400kHz, si-
non, tu dois utiliser 100 kHz
• .Sous Gestion des erreurs, tu peux choisir ce qui se passe lorsque le module I2C raccordé
ne peut pas traiter les données envoyées. Tu as le choix entre Répéter jusqu’au succès,
Répéter 10 fois et Interrompre immédiatement. Pour les deux dernières options, une sortie
d’erreur supplémentaire en bas à droite est attribuée à l’élément
• .L’option Laisser ouvert produit le même effet que pour l’élément I2C Ecriture
96
F
ROBOPro
97
F
ROBOPro
cet élément est expliquée en détail au point 5.5 Entrées de commande pour sous-programmes à la
page 62.
Fenêtre de propriétés
• Entrez le nom de l’entrée de commande sous Nom. Le pictogramme vert du sous-
programme n’affiche que les deux premiers caractères.
• Sous Type de données vous choisissez si la valeur de la
commande est un chiffre entier ou un chiffre à virgule flottante.
Voir également le Chapitre 13 Calcul avec des nombres déci-
maux – arithmétique à virgule flottante (à partir du niveau 3) à
la page 150.
98
F
ROBOPro
Les limites de valeur allant de -32767 à 32767 viennent du fait que l’ordinateur compte en système
binaire et non décimal comme nous. Dans le système binaire, 32767 est un nombre lisse, comme
9999 dans le système décimal. Mais nous ne devons pas nous occuper de cela car l’ordinateur
transforme tous les chiffres du système binaire en chiffres du système décimal. On ne remarque
donc cette particularité que dans les valeurs maximales des variables et lorsqu’il y a un dépasse-
ment de capacité lors du calcul.
Fenêtre de propriétés des Variables
• Dans le champ Nom, vous pouvez donner un nom à la
variable.
• Dans le champ Valeur Initiale, vous pouvez introduire la
valeur initiale de la variable. La variable conserve cette va-
leur tant qu’elle ne reçoit pas de nouvelle valeur via une
commande =, + ou–.
• Dans le champ Type de données vous pouvez choisir si
la commande envoyée est un chiffre entier ou un chiffre à
virgule flottante. Voir également le chapitre 13 Calcul avec
des nombres décimaux – arithmétique à virgule flottante
(à partir du niveau 3) à la page 150.
• Le point Durée de vie n’est intéressant que pour les
variables des sous-programmes et sera précisément expliqué au point suivant „Variable Lo-
cale“. Pour les variables dans les programmes principaux, les deux réglages ont le même
effet.
99
F
ROBOPro
sieurs procédures, le sous-programme a, pour chaque procédure, une valeur indépendante pour
les variables locales. Les variables locales n’existent que tant que le sous-programme dans lequel
elles sont définies tourne. La valeur initiale des variables locales n’est donc pas attribuée au
lancement du programme, mais bien à chaque démarrage du sous-programme en question. Etant
donné qu’un sous-programme est généralement censé être identique à chaque appel, il est bien
plus pratique de fixer la valeur initiale des variables à chaque appel. Les variables locales ne se
„souviennent“ pas des appels précédents du même sous-programme.
Dans le programme principal, les variables locales et globales se comportent de la même façon
car le programme global et le programme principal sont lancés au même moment. Les variables
locales sont cependant plus efficaces dans le déroulement du programme. Les éléments de listes
doivent cependant être plutôt définis de manière globale car la mémoire des variables globales est
plus vaste que celle des variables locales.
8.4.3 Constantes
Une constante a une valeur, comme une variable,
mais cette valeur ne peut pas être modifiée par le
programme. Vous pouvez relier une constante avec
une entrée de données d’un symbole de sous-programme lorsque
le sous-programme doit toujours utiliser la même valeur. Les cons-
tantes sont également très pratiques pour les calculs avec des
opérateurs. Vous trouverez un exemple à la fin du point 5.7 Opéra-
teurs à la page 67.
Fenêtre de propriétés des constantes :
• Sous Type de données vous choisissez si la valeur de la constante est un chiffre entier ou
un chiffre à virgule flottante. Voir également le Chapitre 13 Calcul avec des nombres déci-
maux – arithmétique à virgule flottante (à partir du niveau 3) à la page 150.
• Entrez la valeur de la constante sous·Valeur.
100
F
ROBOPro
Le nombre de période devant être décomptée est généralement
attribué à la variable de Timer par une commande = d’un élément de
commande. L’exemple ci-contre montre le décompte de 100 pé-
riodes de 10 ms chacune. Ce qui correspond à une durée de 1000
ms = 1 seconde. La précision est alors de 10 ms.
Grâce aux variables de Timer, il est possible de résoudre des problèmes compliqués de mesure
du temps ou de renvoi. Lorsqu’un robot doit, p.e., interrompre ses recherches après 20 secondes,
vous pouvez définir une variable de Timer sur 20 x 1 seconde (ou 200 x 0,1 seconde) au début de
la recherche et demander régulièrement au programme de recherche si la valeur du Timer est
toujours supérieure à 0. Vous pouvez également remettre le Timer à sa valeur initiale en cours de
recherche.
Si vous souhaitez mesurer le temps, vous devez définir la variable de Timer sur la plus grande
valeur positive possible au début (30000 ou 32767), afin qu’il reste beaucoup de temps à la valeur
de Timer 0. Si vous voulez savoir combien de temps s’est déjà écoulé, il vous faut alors soustraire
la valeur actuelle du Timer de la valeur initiale.
Fenêtre de propriétés des Variables de Timer
• Dans le champ Renvoi, vous pouvez définir la valeur initiale
de la Variable de Timer. Généralement, cette valeur est 0 et
l’on règle la valeur de la Variable de Timer au moment voulu
avec une commande =. Lorsque le Timer doit se déclencher
au démarrage du programme ou d’un sous-programme, la va-
leur correspondante peut être introduite ici.
• Dans le champ Unité de temps, vous pouvez choisir la taille
des périodes utilisées par la variable de Timer pour décomp-
ter.
• Dans le champ Type de Variable de Timer, vous pouvez
décider si le Timer est une variable globale ou locale (voir
point 8.4.2 Variable locale à la page 99).
8.4.5 Liste
L’élément Liste correspond à une variable dans laquelle non pas une mais
plusieurs valeurs peuvent être enregistrées. Le nombre maximal de valeurs
pouvant être enregistrées dans une liste est déterminé dans la fenêtre de
propriétés de l’élément.
Vous pouvez attacher ou supprimer des valeurs à la fin de la liste. De plus,
vous pouvez modifier ou lire une valeur quelconque de la liste ou permuter une valeur quelconque
de la liste avec la première valeur de la liste. Il est impossible d’ajouter ou de supprimer directe-
ment une valeur au milieu ou au début de la liste. Il est cependant possible de concevoir un
programme adapté pouvant réaliser ces fonctions.
Les fonctions suivantes d’une liste sont utilisées en envoyant des commandes à l’élément raccor-
dé à l’entrée S (pour Ecrire). Les commandes suivantes peuvent être envoyées à l’entrée S :
101
F
ROBOPro
L’entrée I (pour Index) vous permet de sélectionner un élément précis de la liste. Pour ce faire,
une commande = est envoyée à l’entrée I avec le numéro de l’élément souhaité. Le premier élé-
ment a donc le numéro 0. Il est possible d’attribuer une nouvelle valeur à l’élément sélectionné via
la sortie I en envoyant une commande = avec la nouvelle valeur à l’entrée S.
La sortie R (pour Retour) peut envoyer une requête à l’élément sélectionné via l’entrée I. Si
l’entrée I ou la valeur de l’entrée sélectionnée par l’entrée I est modifiée, la liste envoie la valeur
actuelle de l’entrée sélectionnée à l’élément raccordé à la sortie R.
La sortie I permet de voir si l’index enregistré sur l’entrée I est valable. Si N est le nombre
d’éléments, la valeur enregistrée sur l’entrée I doit être comprise entre 0 et N-1. Si c’est le cas, la
sortie I envoie une commande = d’une valeur N à tous les éléments raccordés ; dans le cas con-
traire, la valeur est 0.
Fenêtre de propriétés des
Listes
• Vous pouvez entrer un
nom pour la liste dans
le champ Nom.
• Dans le champ Taille
Maximale, vous pouvez
déterminer le nombre
maximal d’éléments de
la liste. Cette taille ne
peut pas être dépassée
par les commandes At-
tacher.
• Dans le champ Taille
Initiale, vous pouvez
définir le nombre
d’éléments de la liste au
démarrage.
• Dans le champ Liste
des Valeurs Initiales,
vous pouvez fixer les valeurs initiales de la liste. Vous pouvez retravailler la liste au moyen
des boutons situés à droite de celle-ci.
102
F
ROBOPro
• Dans le champ Charger à partir d’un fichier .CSV, vous pouvez sélectionner un fi-
chier .CSV compatible avec Excel et dans lequel la liste ira chercher ses valeurs. Dans le
champ de sélection du milieu, vous pouvez sélectionner la colonne du fichier .CSV devant
être utilisée. Le fichier est directement chargé et affiché dans le champ Liste des Valeurs
Initiales. Si vous lancez le programme ou réalisez un Téléchargement, ROBO Pro essaie à
nouveau de charger les valeurs actuelles dans le fichier. Si cela ne fonctionne pas, les va-
leurs enregistrées dans le champ Liste des Valeurs Initiales sont utilisées.
• Dans le champ Enregistrer au format .CSV, vous pouvez entrer un fichier dans lequel le
contenu de la liste devra être enregistré à la fin du programme. Ceci ne fonctionne cependant
qu’en Mode Online et pour des listes statiques (voir point suivant). Le contenu de la liste est
inscrit dans la colonne sélectionnée. Dans le champ Séparateur de colonnes, vous pouvez
choisir si les colonnes de la liste doivent être séparées par des virgules ou des points-
virgules. Dans les pays où 0.5 est écrit avec un point, le séparateur de colonnes sera généra-
lement une virgule. Etant donné que, en Allemagne, 0,5 est écrit avec une virgule, on
utilisera généralement un point-virgule comme séparateur de colonnes. Si vous avez des
problèmes pour importer un fichier .CSV ROBO Pro dans Microsoft Excel, p.e., essayez
d’utiliser un autre séparateur de colonnes.
• Dans le champ Liste du type de données vous pouvez choisir si la liste devra contenir des
chiffres entiers ou des chiffres à virgule flottante. Voir également le chapitre 13 Calcul avec
des nombres décimaux – arithmétique à virgule flottante (à partir du niveau 3) à la page 150.
• Dans le champ Durée de vie des données de la liste, vous pouvez décider si les éléments
de la liste sont des variables globales ou locales (voir chapitre 8.4.2 Variable locale à la page
99). Le type Global est recommandé pour les grandes listes (taille maximale de plus de 100
éléments), étant donné que le programme met plus d’espace mémoire à la disposition des
variables globales que des variables locales.
103
F
ROBOPro
Fenêtre de propriétés des Eléments de commande
• Dans le champ Commande, vous pouvez sélection-
ner la commande souhaitée dans une liste reprenant
toutes les commandes possibles.
• Dans le champ Valeur, introduisez la valeur chiffrée
devant être transmise avec la commande. Ce champ
reste vide si aucune valeur ne doit être transmise.
• Dans le champ Description de la valeur, vous
pouvez introduire un petit texte indicatif qui sera affi-
ché avec la valeur dans l’élément de commande (p.e.
X= ou T=). L’indication doit expliquer de quel type de
valeur il s’agit. Elle ne sert cependant que de commentaire et n’a pas de fonction.
• Dans le champ Type de données vous pouvez choisir si la commande envoyée est un
chiffre entier ou un chiffre à virgule flottante. Voir également le chapitre 13 Calcul avec des
nombres décimaux – arithmétique à virgule flottante (à partir du niveau 3) à la page 150.
• Dans le champ Entrée de Données pour Valeur de Commande, vous pouvez déterminer si
l’élément de commande doit avoir une entrée de données orange sur son côté gauche pour
les valeurs à transmettre. La valeur peut être introduite directement dans l’élément de com-
mande pour tous les éléments de commande ou être lue via une entrée de données sur le
côté gauche de l’élément de commande. Il est donc possible de commander un moteur avec
une vitesse variable dans un circuit de réglage.
8.5.1 = (Attribuer)
La commande = attribue une valeur au récepteur. Généralement, cette
commande est utilisée pour attribuer une valeur aux variables, variables de
Timer, éléments de listes ou sorties du panneau de commande.
La commande = n’est cependant pas envoyée que par des éléments de
commande, mais aussi par tous les éléments de programme ayant des sorties de données. Tous
les éléments envoient des commandes = lorsque la valeur d’une sortie change. Un élément
d’entrée digitale envoie par exemple une commande = 1 lorsque l’interrupteur raccordé à l’entrée
est fermé et une commande = 0 lorsque l’interrupteur est ouvert. Aucun élément de commande
n’est cependant utilisé. Des éléments de commande = sont pour ainsi dire incorporés dans tous
les éléments de programme ayant des sorties de données.
Toutes les entrées de données des éléments de programme ROBO Pro peuvent au minimum
traiter la commande =. La commande = est donc la commande la plus utilisée de ROBO Pro.
8.5.2 + ( Plus )
La commande + est envoyée à des variables ou à des variables de Timer
pour augmenter la valeur de la variable. La commande + permet de trans-
mettre une valeur quelconque qui sera ajoutée à la variable. Etant donné que
la valeur transmise avec la commande peut également être négative, cette
commande peut également diminuer la valeur de la variable. Voir point 8.4.1
Variable à la page 98 et point 8.4.4 Variable de Timer à la page 100.
104
F
ROBOPro
8.5.3 – ( Moins )
La commande – est utilisée comme la commande + décrite ci-dessus. La
seule différence est que cette commande soustrait la valeur transmise de la
valeur de la variable.
8.5.4 Droite
La commande Droite est envoyée à un élément Sortie Moteur pour faire
tourner le moteur vers la droite. Voir point 8.7.4 Sortie Moteur à la page 112.
La valeur est une vitesse comprise entre 1 et 8.
8.5.5 Gauche
La commande Gauche est envoyée à l’élément Sortie Moteur pour faire
tourner le moteur vers la gauche. Voir point 8.7.4 Sortie Moteur à la page
112.
La valeur est une vitesse comprise entre 1 et 8.
8.5.6 Stop
La commande Stop est envoyée à l’élément Sortie Moteur pour arrêter le
moteur. Voir point 8.7.4 Sortie Moteur à la page 112.
Aucune valeur n’est transmise avec la commande Stop.
8.5.7 In
La commande In est envoyée à un élément Sortie Lampe pour allumer la
lampe. Voir point 8.7.5 Sortie Lampes à la page 113. Une commande In peut
également être envoyée à des éléments Sortie Moteur, elle correspond à la
commande Droite. Pour les moteurs, il vaut mieux utiliser la commande
Droite car le sens de rotation est ainsi directement reconnaissable.
La valeur de la luminosité ou de l’intensité va de 1 à 8.
8.5.8 Out
La commande Out est envoyée à un élément Sortie Lampe pour éteindre la
lampe. Voir point 8.7.5 Sortie Lampes à la page 113. Une commande Out
peut également être envoyée à des éléments Sortie Moteur, elle correspond
à la commande Stop.
Aucune valeur n’est transmise avec la commande Out.
105
F
ROBOPro
8.5.9 Texte
La commande Texte est une commande particulière car la commande
envoyée à l’élément raccordé n’est pas un chiffre, mais bien un texte
quelconque. Il n’y a cependant qu’un élément de programme pouvant
traiter la commande Texte : l’affichage textuel d’un panneau de com-
mande. Vous trouvez de plus amples informations au point 9.1.2
Affichage textuel à la page 129.
106
F
ROBOPro
Ce branchement de programme possède une entrée de
données A sur la gauche de l’élément. Celle-ci lit une
valeur provenant le plus souvent d’un élément d’entrée
(voir point 8.7.1 à 8.7.6 à partir de la page 110). L’entrée
de données A peut également être reliée à des sorties
de données de variables, variables de Timer ou opéra-
teurs (voir point 8.8 Opérateurs à la page 118). La
valeur sur l’entrée de données A est comparée par
l’élément avec une valeur fixe, pouvant être définie
librement. Selon que la comparaison est bonne ou non,
l’élément se branche sur la sortie J ou N.
Fenêtre de propriétés des Branchements
• Dans le champ Condition, introduisez dans le
champ sur la gauche la valeur avec laquelle la valeur de l’entrée A doit être comparée.
Toutes les opérations de comparaison habituelles sont disponibles pour la comparaison.
• Dans le champ Type de données vous pouvez choisir si la commande envoyée est un
chiffre entier ou un chiffre à virgule flottante. Voir également le chapitre 13 Calcul avec des
nombres décimaux – arithmétique à virgule flottante (à partir du niveau 3) à la page 150.
• Si vous sélectionnez Permuter les raccordements J/N, les sorties J et N seront inversées dès
que vous fermerez la fenêtre de propriétés en appuyant sur OK. Pour remettre les raccorde-
ments J/N à leur position initiale, vous pouvez les permuter à nouveau.
La comparaison la plus utilisée est A>0. Cela signifie que le déroulement du programme se
branche sur la sortie J lorsque la valeur donnée sur l’entrée de données A est plus grande que 0.
Vous pouvez ainsi exploiter les entrées digitales fournissant 1 ou 0. Il peut également être utile
d’exploiter les variables de Timer et de nombreuses autres valeurs avec la comparaison A>0.
Nota Bene : Cet élément n’existe pas pour les chiffres à virgule flottante, étant donné que les
chiffres à virgule flottante présentent des erreurs d’arrondi et qu’il n’est pas utile de demander
si deux valeurs sont exactement identiques. Vous pouvez procéder à une comparaison sur 2
voies via un branchement de programme. Voir chapitre 8.6.1 Branchement (avec entrée de
données) à la page 106.
107
F
ROBOPro
8.6.3 Comparaison
L’élément de programme Comparaison permet de comparer les
valeurs des deux entrées de données A et B. Selon qu’A est plus petit,
plus grand ou identique à B, l’élément se branche sur la sortie de
gauche, de droite ou centrale. L’utilisation la plus courante de cet
élément est la comparaison d’une valeur théorique avec une valeur
réelle. Selon la position de la valeur théorique par rapport à la valeur
réelle, le moteur peut, p.ex., tourner vers la gauche ou vers la droite et
s’arrêter.
L’élément de programme Comparaison ne peut pas être réglé et n’a donc pas de fenêtre de
propriétés.
Nota Bene : Cet élément n’existe pas pour les chiffres à virgule flottante, étant donné que les
chiffres à virgule flottante présentent des erreurs d’arrondi et qu’il n’est pas utile de demander
si deux valeurs sont exactement identiques. Vous pouvez effectuer une comparaison sur 2
voies avec un opérateur relationnel (voir chapitre 8.8.2 Opérateurs relationnels à la page 118)
et un branchement du programme (voir chapitre 8.6.1 Branchement (avec entrée de don-
nées) à la page 106.
8.6.4 Attente
Cet élément permet de programmer une Attente dans le déroulement du pro-
gramme. L’attente commence lorsque le tour de cet élément arrive dans le
déroulement du programme. Dès que l’attente donnée est terminée, le déroule-
ment continue. Voir également le point 3.6.1 Attente sur la page 22.
8.6.5 Attendre...
L’élément de programme Attendre...
retarde le déroulement du programme
jusqu’à ce que l’entrée de données de
l’élément change ou passe à un statut
déterminé. Il existe 5 versions de cet
élément : L’élément de gauche attend jusqu’à ce que la valeur de l’entrée augmente. Toutes les
augmentations sont alors prises en compte, comme un passage de 2 à 3, et pas seulement les
108
F
ROBOPro
modifications de 0 à 1. Le second élément attend que la valeur de l’entrée diminue et l’élément du
milieu attend une modification, peu importe qu’il s’agisse d’une augmentation ou d’une diminution.
Le troisième élément est souvent utilisé pour les engrenages d’impulsions. Le quatrième et le
cinquième élément n’attendent pas une modification, mais bien que l’entrée ait le statut Oui (>0)
ou Non (<=0). Lorsque l’on se trouve déjà en présence du statut voulu, l’élément n’attend pas. Les
trois premiers éléments attendent par contre toujours une modification de l’entrée.
Fenêtre de propriétés des Attentes de modification
• Dans le champ Type de modification, vous pouvez
choisir entre les 5 types de fonctions décrites ci-dessus.
• Lorsque Reconnaître les modifications lorsqu’inactif
est coché, l’élément reconnaît également les modifica-
tions qui se sont passées lorsque ce n’était pas le tour de
l’élément dans le déroulement du programme. Dans ce
cas, l’élément enregistre la dernière valeur connue.
Lorsque l’élément est à nouveau lancé, le déroulement
du programme se poursuit directement lorsque la valeur
s’est modifiée de la façon voulue entre-temps. De cette façon, il est presque impossible de
rater une modification parce que le programme était en train de faire autre chose.
109
F
ROBOPro
110
F
ROBOPro
111
F
ROBOPro
Ces entrées ne sont pas de véritables
entrées, mais des entrées logiques de
la commande des moteurs codeurs.
De plus amples informations vous sont
données au chapitre 12.6.2 Extension
de la commande du moteur au niveau
3 à la page 147.
Fenêtre de propriétés des entrées
de commande du moteur :
• Vous pouvez régler le moteur,
pour lequel vous voulez voir le
signal de position atteinte, sous
entrée de commande du moteur.
• Sous Interface / Extension,
vous pouvez décider de
l’utilisation d’une entrée de
l’Interface, d’un module
d’extension ou d’une deuxième
Interface De plus amples infor-
mations vous sont données au
chapitre 7 Commander plusieurs interfaces à la page 75.
• A vous de régler sous Liaison si l’entrée doit toujours être liée ou uniquement si le sous-
programme, qui contient l’entrée, est exécuté. La différence possède seulement de
l’importance lors du raccordement d’autres éléments globaux, tels que des variables globales
ou des opérateurs, à l’entrée dans un sous-programme.
112
F
ROBOPro
113
F
ROBOPro
Fenêtre de propriétés des Eléments de sortie Lampe
• Dans le champ Sortie Lampe, vous pouvez
choisir quels raccordements de sorties de
l’Interface doivent être utilisés. Sélectionnez les
sorties des modules d’extension dans Interface
/ Extension.
• Dans le champ Résolution, vous pouvez choisir
si voulez commander l’intensité de la sortie sur 8
étape (de 1..8) ou dans 512 pas (de 1..512).
• Dans le champ Interface / Extension, vous
pouvez choisir si vous souhaitez utiliser une sor-
tie de l’Interface ou une sortie d’un module
d’extension ou d’une seconde Interface. Vous
trouverez plus d’informations sur ce sujet au
chapitre 7 Commander plusieurs interfaces à la
page 75.
• Dans le champ Image, choisissez l’image de l’utilisateur raccordé à la sortie. Dans la plupart
des cas, il s’agira d’un Lampe. Vous pouvez cependant également raccorder un électroai-
mant, une valve magnétique ou un moteur à une sortie Lampe. Un moteur raccordé à une
sortie Lampe ne peut cependant tourner que dans un sens.
114
F
ROBOPro
Fenêtre de propriétés des Entrées du Pan-
neau de Commande
Chaque programme principal ou sous-
programme peut avoir un panneau de com-
mande. Les éléments de commande sont listés
sous le nom du programme. Si vous n’avez pas
encore enregistré d’élément de commande,
aucun élément n’apparaît dans la liste. Vous
devez donc tout d’abord dessiner le panneau de
commande avant de pouvoir relier une entrée
du panneau de commande avec un élément de
commande.
Le choix dans le champ Interface / Extension
est ignoré pour les entrées du panneau de
commande car il ne s’agit pas vraiment
d’entrées d’un module de l’Interface.
115
F
ROBOPro
116
F
ROBOPro
Fenêtre des propriétés des entrées IR :
Dans la fenêtre des
propriétés, vous pouvez
définir quel joystick
vous voulez interroger
dans quelle direction.
Vous disposez de deux
variantes pour chaque
direction :
• Vous pouvez
toujours soit inter-
roger seulement
une direction (p.
ex. Joystick gau-
che à gauche).
Dans ce cas, l'en-
trée IR ne réagit
que si vous dé-
placez le joystick
s'y rapportant vers
la gauche et four-
nit une valeur située entre 1 et 15 suivant la déviation. Vous pouvez p. ex. utiliser cette va-
riante pour allumer une lampe au choix dans chaque direction.
• Mais vous pouvez aussi sélectionner l'option Joystick gauche gauche-droite et interroger
toute la zone du joystick complètement. Dans ce cas, l'entrée IR fournit les valeurs -15 (ex-
trême gauche) jusqu'à +15 (extrême droite), 0 correspond à la position centrale. Cette
interrogation est particulièrement bien appropriée à la commande des moteurs parce que les
valeurs négatives permettent de commander le moteur à gauche et les valeurs positives
permettent de commander le moteur à droite. Vous pouvez tout simplement appliquer la
plage de valeurs -15...+15 de l'entrée IR aux vitesses du moteur de 1 à 8. Le moteur continue
de fonctionner à la vitesse la plus élevée si la valeur est > à 8. Pour la résolution en 512 vi-
tesses, vous pouvez convertir les valeurs en les multipliant par 34.
Dans la fenêtre des propriétés, vous pouvez
aussi interroger les deux boutons ON et OFF
de l'émetteur et p. ex. appliquer une tension
à la sortie. Ces deux boutons fournissent les
valeurs 0 et 1. Sous Configuration interrup-
teurs DIP, vous pouvez définir si l'entrée IR
doit réagir lors de toutes les positions de
commutation (<tous>) des deux interrupteurs
DIP ou uniquement lors d'une position de commutation déterminée, p. ex. <0-1>. Ce réglage
permet notamment d'utiliser plusieurs télécommandes simultanément sans interférences réci-
proques.
117
F
ROBOPro
8.8 Opérateurs
Les éléments de programme de ce groupe sont des Opérateurs. Les opérateurs ont une ou plu-
sieurs entrées de données orange. Les valeurs des entrées de données sont reliées à une valeur
par l’opérateur et transmises à la sortie de l’opérateur par une commande =.
Fenêtre de propriétés des Opérateurs
Tous les opérateurs utilisent la même fenêtre
de propriétés. Vous pouvez transformer un
opérateur en un autre opérateur via cette
fenêtre de propriétés.
• Dans le champ Opération, vous pouvez
choisir comment l’opérateur doit relier
ses entrées. Les différentes fonctions
sont décrites dans les deux points sui-
vants.
• Dans le champ Nombre d’entrées, vous
pouvez le nombre d’entrées que doit
avoir l’opérateur.
Lorsque l’opérateur Moins a plus de deux entrées, toutes les valeurs des autres entrées sont
soustraites de la valeur de l’entrée A. Lorsque l’opérateur Moins n’a qu’une entrée, l’opérateur
inverse le signe de la valeur d’entrée.
Lorsque l’opérateur Divisé a plus de deux entrées, la valeur de l’entrée A est divisée par les
valeurs de toutes les autres entrées.
égal inégal Plus petit Plus petit égal Plus grand Plus grand égal
118
F
ROBOPro
A=B A≠B A<B A≤B A>B A≥B
La valeur de sortie est 1, sinon 0, si la comparaison est juste. La valeur de sortie est toujours un
chiffre entier, même si les valeurs d’entrée sont des nombres à virgule flottante.
Sauf l’opérateur inégal, vous pouvez utiliser tous les opérateurs relationnels, même avec plus de 2
entrées. Le résultat est alors 1, si la condition pour A et B ainsi que pour B et C est juste. Ceci
vous permet aussi de constater si une valeur se situe dans les limites supérieures et inférieures
alléguées avec un seul opérateur.
Et Ou Non
A>0 et B>0 A>0 ou B>0 A <= 0
Les opérateurs logiques interprètent une valeur plus grande que 0 à l’entrée comme étant oui ou
vraie et une valeur plus petite ou égale à 0 comme étant non ou fausse. Les entrées digitales
fournissent une valeur de 0 ou 1 de sorte que 0 sera interprété comme fausse et 1 comme vraie.
L’opérateur Et envoie une commande = avec une valeur 1 aux éléments raccordés à la sortie
lorsque la valeur est vraie, donc > 0, sur toutes les entrées. Dans le cas contraire, l’élément envoie
une commande = avec une valeur 0.
L’opérateur Ou envoie une commande = avec une valeur 1 aux éléments raccordés sur la sortie
lorsque la valeur d’au moins une des entrées est vraie, donc >0. Dans le cas contraire, l’élément
envoie une commande = avec une valeur 0.
L’opérateur Non envoie une commande = avec une valeur 1 aux éléments raccordés sur la sortie
lorsque la valeur à l’entrée est fausse, donc <= 0. Dans le cas contraire, l’élément envoie une
commande = avec une valeur 0.
Le fonctionnement des opérateurs logiques peut également être reproduit avec plusieurs éléments
de branchement. Il est cependant plus clair de relier plusieurs entrées par des opérateurs.
119
F
ROBOPro
7 128 = 27 15 -32768 = 215
Les bits 0 et 1 ont par exemple été placés sur 1 pour le nombre 3, parce que 20 + 21 = 3. Les bits
opérateurs exécutent les mêmes opérations que les opérateurs logiques, sauf qu’ils les appliquent
à chaque bit. 3 AND 6 donnent la valeur 2, parce que le bit 21 est l’unique bit placé dans 3 = 20 +
21 de même que dans 6 = 21 + 22. Veuillez considérer que le nombre -32768, pour lequel seul le
bit 215 est placé sur 1, possède une importance particulière dans ROBOPro et qu’il est utilisé pour
des erreurs ou pour rien. Vous créez une variable pour cette valeur en n’entrant rien comme valeur
(vide).
8.8.5 Fonctions
Les fonctions sont similaires aux opérateurs, sauf qu’elles n’ont qu’une seule entrée. Les fonctions
trigonométriques de racine carrée, exponentielle et logarithmique appartiennent à ces fonctions.
Nota Bene 1 : Le calcul des fonctions est très compliqué dans la plupart des cas. Le nombre
de fonctions à interpréter par commande est limité étant donné que le TX Controller garantit
que chaque opération peut exécuter une commande au moins 1000 x par seconde. Les ré-
seaux de lignes de données de couleur orange sont toujours traités dans une commande,
sans qu’ils soient répartis. Il est recommandé, de ce fait, de ne pas afficher trop de fonctions
l’une après l’autre dans un réseau de couleur orange.
Nota Bene 2 : ROBOPro ne se sert pas d’une arithmétique d’une précision élargie pour le
calcul des fonctions. La précision des résultats se situe habituellement environ 2 bits au-
dessous de la précision maximale possible de la virgule flottante 48 bits. La précision des
résultats est estimée approximativement et consignée au résultat.
120
F
ROBOPro
Fenêtre de propriétés des
fonctions
Toutes les fonctions utilisent la
même fenêtre de propriétés.
• Vous réglez la fonction
mathématique que
l’élément doit calculer sous
Fonction. Les explications
des différentes fonctions
vous sont données aux
deux sections ci-après.
• Sous Type de données
vous choisissez si la valeur
de la fonction est un chiffre
entier ou un chiffre à virgule
flottante. Voir également le chapitre 13 Calcul avec des nombres décimaux – arithmétique à
virgule flottante (à partir du niveau 3) à la page 150. Toutes les fonctions sont uniquement
disponibles avec une virgule flottante, sauf la fonction abs.
Fonctions de base
Abs Valeur absolue : rend la valeur positive d’une valeur, p. ex. 3,2 -3,2
Sqrt Racine carrée (anglais : square root) : indique la racine carrée d’une valeur, p.
ex. 1,4142... de 2.0
121
F
ROBOPro
122
F
ROBOPro
123
F
ROBOPro
L’élément Attendre une entrée attend qu’une entrée de l’Interface ait
un statut particulier ou se modifie d’une certaine manière.
Si vous cliquez avec le bouton droit de la souris sur l’élément, la
fenêtre de propriétés s’affiche :
• Dans le champ Attendre..., vous pouvez sélectionner quel type
de modification ou de statut doit être attendu. Si vous choisissez
1 ou 0, l’élément attend que l’entrée soit fermée (1) ou ouverte
(0). Si vous choisissez 0 -> 1 ou 1 -> 0, l’élément attend que le
statut de l’entrée passe d’ouvert à fermé (0->1) ou de fermé à
ouvert (1->0). Dans le dernier cas, l’élément attend que l’entrée
se modifie, peu importe si elle passe du statut ouvert à fermé ou
le contraire. Au point 3.6 Autres éléments de programme sur la
page 23, vous comprendrez mieux comment vous pouvez relier
cet élément à l’élément Branchement.
• Dans le champ Entrée digitale, vous pouvez définir à laquelle
des 8 entrées digitales I1 à I8 doit être envoyée la requête.
• Dans le champ Interface / Extension, vous pouvez choisir si
vous souhaitez utiliser une entrée de l’Interface ou une entrée d’un module d’extension ou
d’une seconde Interface. Vous trouverez plus d’informations sur ce sujet au chapitre 7 Com-
mander des modules d’extension et des interfaces multiples sur la page 75.
• Dans le champ Image, vous pouvez choisir une image pour le capteur raccordé à l’entrée. Le
plus souvent, on raccorde des interrupteurs aux entrées digitales, mais on peut également
raccorder des transistors photo ou des relais à contacts scellés.
124
F
ROBOPro
Nombre d’impulsions. Avec les engrenages d’impulsions, on utilise souvent la troisième so-
lution : Ici, l’élément compte aussi bien les modifications 0 -> 1 que les modifications 1 -> 0,
de sorte que 8 impulsions sont comptées par rotation de l’engrenage.
• Dans le champ Entrée digitale, vous pouvez définir à laquelle des 8 entrées digitales I1 à I8
doit être envoyée la requête.
• Dans le champ Interface / Extension, vous pouvez choisir si vous souhaitez utiliser une
entrée de l’Interface ou une entrée d’un module d’extension ou d’une seconde Interface.
Vous trouverez plus d’informations sur ce sujet au chapitre 7 Commander des modules
d’extension et des interfaces multiples sur la page 75.
• Dans le champ Image, vous pouvez choisir une image pour le capteur raccordé à l’entrée. Le
plus souvent, on raccorde des interrupteurs aux entrées digitales, mais on peut également
raccorder des transistors photo ou des relais à contacts scellés.
125
F
ROBOPro
Les capteurs Fischertechnik habituels (Résistance NTC, Transistor photo et résistance photo)
transforme la taille de mesure (température ou intensité de la lumière) en résistance. Vous devez
donc raccorder ces capteurs aux entrées AX et AY. Les entrées de tension A1 et A2 ont été
conçues pour tous les capteurs ayant une tension entre 0 et 10 V.
ROBO Interface n’est pas pourvu d’une douille pour l’entrée AV. Celle-ci est toujours raccordée à
la tension d’alimentation de l’Interface. De cette façon, vous pouvez par exemple surveiller la
tension de votre accumulateur et éteindre votre maquette avant que la batterie ne soit vide.
Des capteurs Fischertechnik spéciaux peuvent être raccordés aux entrées des capteurs de dis-
tance D1 et D2 ; ceux-ci peuvent par exemple mesure la distance par rapport à un obstacle.
Intelligent Interface n’a que deux entrées analogiques, EX et EY. Ces entrées correspondent
aux entrées AX et AY de ROBO Interface. Les autres entrées analogiques ne peuvent pas
être utilisées avec Intelligent Interface !
126
F
ROBOPro
d’informations sur ce sujet au chapitre7 Commander des modules d’extension et des inter-
faces multiples sur la page 75.
Dans la fenêtre de propriétés des entrées analogiques, on remarque à nouveau que ROBO Pro
n’utilise qu’un seul élément pour toutes les entrées ; dans la fenêtre de propriétés de cet élément,
vous pouvez passer à tous les types d’entrée grâce aux onglets. Par souci de simplification, plu-
sieurs éléments d’entrée sont déjà disponibles dans la fenêtre d’élément.
127
F
ROBOPro
Vous pouvez ajouter des éléments de commande dans la surface grise vide. Un panneau de
commande appartient toujours au programme principal ou au sous-programme dans lequel vous
vous trouviez au moment de la création de ce panneau de commande. Il est donc important de
sélectionner le bon sous-programme dans la barre des sous-programmes avant de concevoir le
panneau de commande. Le plus souvent, le panneau de commande est créé dans le Programme
principal.
Les panneaux de commande contiennent des affichages et des éléments de commande. Les
affichages vous permettent d’afficher des valeurs de variables ou des messages textuels. Les
éléments de commande fonctionnent quant à eux comme des boutons supplémentaires ou des
entrées analogiques.
Chaque élément de commande que vous insérez dans le panneau de
commande correspond dans le programme à un élément Entrée du pan-
neau de commande (pour les éléments de commande) ou à une Sortie
du panneau de commande (pour les affichages). Vous pouvez ainsi
établir un lien entre votre programme et votre panneau de commande via
ces éléments de programme. Vous trouverez ceux-ci dans le groupe
d’éléments Entrées, Sorties. Selon le type d’élément de commande avec
lequel vous reliez ces éléments de programme, un symbole différent sera affiché. Il n’y a que deux
éléments dans la liste d’éléments : un pour les affichages et une pour les éléments de commande.
9.1 Affichages
Les affichages sont utilisés comme des sorties de l’Interface. La valeur d’un affichage peut être
déterminée au moyen d’une commande =.
128
F
ROBOPro
Entrées, Sorties.
Vous déterminez la valeur de l’appareil de mesure en envoyant
une commande = à la sortie du panneau de commande appro-
priée du programme. Presque tous les éléments de programme
avec des sorties analogiques envoient une commande = lorsque
leur valeur change. Vous pouvez par exemple relier directement des entrées analogiques ou des
variables avec la sortie du panneau de commande.
Fenêtre de propriété des Appareils de mesure
• Dans le champ ID / Nom, vous devez tout d’abord
introduire un nom pour l’appareil de mesure. Le nom
est important pour que vous puissiez différencier plu-
sieurs appareils de mesure dans votre programme.
• Dans le champ Couleur de l’arrière-plan, vous
pouvez choisir une autre couleur que le blanc.
• Dans le champ Valeur Minimale et Valeur Maximale,
introduisez les valeurs correspondant aux extrémités
gauche et droite de l’échelle de l’indicateur. Si une
des valeurs est plus petite que 0 et l’autre, plus
grande que 0, le trait 0 sera plus long que les autres.
• L’échelle se compose de traits longs et de traits courts. Vous pouvez déterminer la longueur
des traits longs et des courts sous Ecart Marques courtes / longues. Si les deux ont la
même valeur, seules des marques longues seront visibles.
129
F
ROBOPro
130
F
ROBOPro
9.2.1 Bouton
L’Elément de commande Bouton peut être utilisé comme un interrupteur
Fischertechnik raccordé à une des entrées de l’Interface.
Le programme envoie une requête au bouton via une Entrée du panneau
de commande. Vous trouverez l’Entrée du panneau de commande dans
le groupe d’éléments Entrées, Sorties.
131
F
ROBOPro
Dès que vous avez relié l’entrée du panneau de commande avec le régula-
teur au moyen de la fenêtre de propriétés, le symbole change et le nom du
panneau de commande (p.e. Principal) et du régulateur apparaissent.
Vous pouvez raccorder l’entrée du panneau de commande appartenant au
régulateur à tous les éléments de programme possédant une entrée de
données, comme c’est le cas pour les entrées analogiques de l’Interface.
Très souvent, le régulateur est raccordé à un élément de commande possé-
dant une entrée de données, de sorte que le régulateur commande la vitesse
d’un moteur, par exemple.
132
F
ROBOPro
Fenêtre de propriétés des Régulateurs
• Dans le champ ID / Nom, vous devez tout d’abord
enter un nom pour le régulateur. Le nom est im-
portant car il vous permet de distinguer différents
régulateurs dans votre programme.
• Dans le champ Couleur de la coulisse, vous
pouvez modifier la couleur de la coulisse. Pour ce
faire, cliquez sur Traiter.
• Dans les champs Valeur Minimale et Valeur
Maximale, introduisez un champ de valeur pour le
régulateur. Si vous voulez utiliser le régulateur
pour commander la vitesse d’un moteur, cette gamme de valeurs doit aller de 1 à 8.
133
F
ROBOPro
10 Fonctions de dessin
ROBO Pro dispose des fonctions de dessin habituelles. Vous les trouverez dans la fenêtre des
groupes d’éléments sous Dessiner. Dans le sous-groupe Formes, vous trouverez des outils de
dessin pour différentes formes géométriques de base. Le sous-groupe Texte contient les outils de
texte pour différentes tailles de police. Les autres sous-groupes contiennent des fonctions pour
modifier la couleur et l’épaisseur des traits.
Les fonctions de dessin vous permettent d’illustrer vos panneaux de commande et vos pro-
grammes afin que leurs différentes fonctions apparaissent plus clairement. Vous trouverez, par
exemple, ci-dessous un panneau de commande pour un robot, dessiné au moyen de ces fonc-
tions :
Les boutons, affichages de coordonnées et lampes des commutateurs de fin sont à chaque fois
indiqués dans la même couleur que les axes eux-mêmes dans la représentation schématique du
robot. Le panneau de commande est ainsi beaucoup plus clair.
L’utilisation des fonctions de dessin ne devrait pas poser de gros problèmes. Seuls quelques
points sont donc expliqués ci-dessous ; il s’agit des points qui pourraient ne pas être clairs à
première vue.
• Les objets graphiques comme les rectangles ou les cercles ne sont pas, comme dans de
nombreux autres programmes, étirés en gardant le bouton de la souris enfoncé, mais bien au
moyen de deux clics sur le bouton de la souris : un dans le coin supérieur gauche et l’autre
dans le coin inférieur droit.
• Le texte n’est pas traité dans une fenêtre de dialogue, mais directement dans la zone de
travail. Lorsque vous ajoutez un objet Texte, celui-ci apparaît tout d’abord sous la forme d’un
cadre bleu clair. Vous pouvez alors simplement taper votre texte et il apparaît directement
dans la zone de travail. Vous pouvez également ajouter du texte provenant du Presse-papier
avec les touches CTRL+V.
134
F
ROBOPro
• Après avoir dessiné un objet, vous pouvez le retravailler en déplaçant les petites manettes
bleues. Certaines manettes vous permettent également de tourner ou de déformer l’objet. Un
rectangle a deux manettes sur son bord supérieur gauche. Si vous déplacez les deux ma-
nettes les plus grandes, vous pouvez arrondir les angles du rectangle. Vous pouvez achever
les modifications en cliquant sur le bouton droit de la souris ou avec la touche ESC de votre
clavier.
• Si vous voulez retravailler l’objet ultérieurement, sélectionnez la fonction Traiter du menu
Dessiner. Si vous cliquez ensuite sur un objet, les manettes bleu clair apparaissent à nou-
veau.
• De nombreux objets ont deux modes de dessin et de travail ou plus. Vous pouvez basculer
entre les différents modes avec la touche Tabulations de votre clavier pendant que vous des-
sinez ou travaillez le dessin. Pour un cercle, vous pouvez par exemple choisir si vous devez
donner deux points de la circonférence ou bien le point central et un point de la circonférence.
Pour le polygone, vous pouvez basculer entre un travail au moyen de point et des fonctions
comme "tourner". Pour les objets Texte, vous pouvez choisir le travail du texte, ainsi que la
modification de la taille du texte ou l’angle d’inclinaison.
• Dans le menu Dessiner, vous trouverez la fonction Objet à l’avant-plan / à l’arrière-plan.
Ces fonctions vous permettent de faire glisser tous les éléments sélectionnés (marqués en
rouge) vers l’avant ou vers l’arrière, de sorte que les autres objets soient recouverts ou re-
couvrent ces objets.
• Avec la fonction Snap de la trame du menu Dessiner, vous permet d’afficher ou non la
trame du dessin. Veillez cependant à ce que la trame soit affichée lorsque vous travaillez
dans votre programme car tous les éléments sont adaptés à la trame.
• Pour les objets Texte, vous pouvez modifier l’orientation du texte en appuyant sur la touche
CTRL et une touche de 1 à 9 du pavé numérique. Ceci est seulement possible lorsque la
lampe Num-Lock du clavier est allumée. Si ce n’est pas le cas, vous devez d’abord enfoncer
la touche Num-Lock.
135
F
ROBOPro
11 Fonctions de la caméra
ROBO Pro soutient l'emploi de la caméra USB de Fischertechnik à partir de la version 4.x. Le
raccordement de la caméra peut se faire à l'interface USB du serveur du ROBOTICS TXT Control-
ler (raccord USB1). Les images de la caméra sont transmises au PC via le câble USB ou sans fil
par WiFi, puis affichées dans ROBO Pro. En plus, vous pouvez utiliser la caméra comme capteur
pour détecter des couleurs, des mouvements, des lignes et un ballon. L'utilisation des champs du
capteur de la caméra est possible en mode Online, de même qu'en mode de téléchargement.
Il est également possible de raccorder la caméra à un port USB du PC et de l'utiliser en mode
Online ensemble avec le ROBO TX Controller ou la ROBO Interface. Le raccordement direct de la
caméra à ces périphériques est impossible.
Dans cette fenêtre, vous pouvez décider du raccordement de la caméra au TXT Controller ou au
PC. En cliquant sur allumer la caméra, vous pouvez afficher l'image de la caméra dans l'écran de
la caméra sans que vous deviez démarrer le programme ROBO Pro ouvert en mode Online ou de
téléchargement.
Dans l'écran de la caméra, vous pouvez aussi ajouter les champs du capteur à l'aide desquels un
robot devra p. ex. suivre une ligne.
L'écran valeurs des capteurs de la caméra branchée permet d'afficher les valeurs fournies par
tous les champs du capteur ajoutés. Ainsi, vous savez toujours quelles sont les valeurs dispo-
nibles actuellement et l'ampleur de leurs données.
Nous en reparlerons plus avant dans le texte.
136
F
ROBOPro
La taille de l'élément affiché à l'écran est modifiable via le menu
Dessiner – Traiter.
137
F
ROBOPro
Si vous voulez définir les couleurs avec exactitude, vous pouvez aussi utiliser le détecteur de ligne.
138
F
ROBOPro
Le raccourci vers l'élément d'entrée est établi au moyen du Nom.
Les champs largeur minimale
des lignes et largeur maximale
des lignes indiquent dans
quelle plage la largeur de la
ligne doit se situer. N'agrandis-
sez pas la zone plus que
nécessaire, afin ne pas prolon-
ger la durée de calcul outre
mesure et de ne détecter que ce
qui est vraiment une ligne
comme ligne. Mais la zone ne
devrait pas être trop petite, étant
donné que les lignes deviennent
floues et semblent plus larges
ou plus étroites lors de mouve-
ments rapides. L'unité pour la
largeur correspond à l'échelle
affichée avec l'élément. Nous
vous recommandons, de préfé-
rence, de bien vous faire une
idée de la ligne dans la fenêtre
de la caméra branchée, de
mesurer la largeur à l'aide de l'échelle et d'utiliser +/-20 % jusqu'à 50 % de la largeur mesurée.
Le champ contraste minimal permet de régler à quel point la ligne doit ressortir du fond. Un
contraste de 100 % est une ligne d'un noir profond sur un blanc clair. N'oubliez pas que les ré-
flexions peuvent fortement diminuer le contraste des maquettes mobiles.
Le champ Nombre de lignes permet de régler le nombre de lignes que l'élément du capteur doit
détecter. L'élément peut détecter jusqu'à 5 lignes et fournit une séquence d'éléments d'entrée
séparée pour chaque ligne. Les lignes sont triées et affichées suivant la position sur l'échelle, en
sachant que les lignes à l'extrémité négative de l'échelle sont affichées en premier.
La case Blanc et noir permet de basculer entre la détection de lignes foncées sur un arrière-plan
blanc et la détection de lignes claires sur un arrière-plan foncé.
La sélection Détection de couleur permet de régler si l'élément du capteur ne doit que détecter
des lignes noires et blanches ou également des lignes de couleur. Une ligne rouge sur fond blanc
possède p. ex. le même contraste qu'une ligne noire en mode couleur. Nous vous recommandons,
de ce fait, ne renoncer au mode couleur pour les lignes noires. En mode couleur, l'élément du
capteur fournit aussi des entrées pour les composantes de la couleur, par analogie au champ du
détecteur de couleur. Dans le mode Couleur exacte, l'élément du capteur utilise le fond blanc
pour la balance précise des blancs de la lumière. Les couleurs ainsi déterminées sont précises et
reproductibles, mais différent parfois considérablement de celles déterminées via le champ du
capteur de la détection de couleur.
La sélection Position et détection de la largeur précision permet de régler le temps que l'élé-
ment du capteur doit utiliser pour calculer la position et la largeur de la ligne avec autant
d'exactitude que possible.
139
F
ROBOPro
Vous pouvez régler la plage de valeurs de l'échelle sur valeur minimale / valeur maximale. Vous
devez adapter le réglage de la largeur si vous modifiez ces valeurs. Le champ Pas de progres-
sion permet de régler l'écart entre les traits de marquage sur l'échelle.
L'élément du capteur fournit
de 4 à 7 champs d'entrée par
ligne suivant le mode. Soit un
total de jusqu'à 35 champs
d'entrée. Les principaux
champs d'entrée sont le
Contraste et la Position. Le
contraste indique à quel point
la ligne ressort du fond. Si le
contraste n'atteint pas la
valeur seuil réglée, le résultat
est 0, et ceci permet d'utiliser
le contraste pour savoir si une
ligne a été détectée ou non.
La Position est le milieu de la
ligne exprimé en coordonnées
de l'échelle. La Largeur est la largeur de la ligne exprimée en coordonnées de l'échelle. En plus et
suivant le mode couleur, l'élément du capteur fournit aussi une luminosité de la ligne B/W et une
couleur R (rouge), G (verte), B (bleu).
140
F
ROBOPro
idée de l'objet via la prévisualisation de la caméra, de mesurer la taille à l'aide de l'échelle et
d'utiliser +/-20 % de la taille mesurée.
Le champ Dégagement permet de sélectionner des dégagements préalablement intégrés (voir
chapitre 11.3.5). Si une zone de détection contient des éléments colorés de la maquette, vous
pouvez exclure ces aires de la zone de détection. Tous les dégagements portant le même nom
sont pris en considération.
La Zone des valeurs de l'échelle permet de régler dans quelle zone les valeurs doivent se trou-
ver sur l'axe X et l'axe Y de la grille. La valeur Y maximum est automatiquement réglée de sorte
que le système des coordonnées donne la même graduation dans le sens X et Y. Le champ
Lignes X/Y de la grille permet de régler l'écart entre les lignes de la grille.
L'élément du capteur
fournit 4 champs d'en-
trée. Les principaux
champs d'entrée sont
Contraste et X/Y. Le
contraste indique à quel
point l'intensité de la
couleur de l'objet diffère
par rapport au fond. Si
le contraste n'atteint pas
la valeur seuil réglée, le
résultat est 0, et ceci
permet d'utiliser le
contraste pour savoir si
un objet a été détecté
ou non. La coordonnée
X/Y est le milieu de
l'objet exprimée en coordonnées de la grille. La Taille est le diamètre de l'objet, également expri-
mé en coordonnées de la grille.
11.3.5 Dégagement
Cet élément sert à supprimer certains secteurs de la zone de détection du détec-
teur de balle, p. ex. si la zone contient des éléments colorés de la maquette que le
programme pourrait prendre pour une balle par mégarde.
La taille du champ est modifiable ultérieurement via le menu Dessiner/Traiter.
Le Nom est sélectionné dans l'écran du détecteur de balle et doit être identique pour tous les
dégagements à utiliser dans le même détecteur de balle. Tous les dégagements portant le même
nom sont pris en considération.
141
F
ROBOPro
142
F
ROBOPro
143
F
ROBOPro
Vous pouvez charger le programme sur une ROBO Interface de même que sur un ROBOTICS
TXT Controller, si votre programme utilise uniquement les entrées énumérées ci-dessus et si vous
avez aussi attribué le mode d’entrée aux entrées universelles I1-I8 sur le ROBOTICS TXT Control-
ler. La permutation s’effectue alors automatiquement, dès que vous démarrez le programme en
Mode Online ou en Mode de téléchargement. Vous êtes donc parfaitement capable de concevoir
un programme dans l’environnement de la ROBO Interface avec des entrées de la ROBO Inter-
face, mais de sélectionner un ROBOTICS TXT Controller sous COM/USB.
144
F
ROBOPro
Vous pouvez aussi décider du mode d’entrée indépendamment du type de capteur à partir du
niveau 4.
Certains capteurs exigent différents modes d’entrée dans le ROBOTICS TXT Controller, bien qu’ils
soient tous raccordables aux entrées I1-I8 de la ROBO Interface. Ceci s’applique principalement
au dépisteur, qu’il est impératif d’exploiter avec le mode d’entrée Digital 10V sur le ROBOTICS
TXT Controller. ROBOPro utilise l’image du capteur existant jusqu’à présent comme type de
capteur pour choisir le mode d’entrée correct lors de la conversion des programmes et de la pro-
grammation indépendante de l’Interface.
145
F
ROBOPro
Si vous voulez déplacer un moteur avec un
nombre d’impulsions déterminé, vous devez
choisir Action puis Espacement et entrer la
Vitesse, Direction et la Distance.
La sélection de Action puis Synchrone
permet de synchroniser le régime de deux
moteurs. Vous pouvez aussi décider d’une
Direction pour les deux moteurs. La Vitesse
est uniquement réglable pour les deux mo-
teurs, étant donné qu’ils devront tourner tous
les deux à la même vitesse.
La sélection Action puis Distance de syn-
chronisation combine un nombre
d’impulsions déterminé avec la synchronisa-
tion du régime de 2 moteurs
La sélection Action puis Stop permet
d’arrêter les moteurs à tout moment, de faire
cesser le synchronisation et d’effacer une distance résiduelle non encore parcourue, le cas
échéant. Nous vous recommandons d’arrêter les moteurs avec cet élément si vous les avez dé-
marrés avec celui-ci. Ceci est nécessaire pour pouvoir réutiliser les autres éléments Moteur usuels.
Sachez, si vous avez déterminé une distance, que l’élément n’attend pas
jusqu’à l’atteinte de la distance prédéterminée, mais qu’il passe immédiate-
ment au prochain élément du programme. Le programme peut donc
continuer de travailler et stopper les moteurs dès la survenance de certains
événements. Chaque moteur dispose d’une entrée interne M1E à M4E, que
vous pouvez interroger via l’élément de branchement ou l’élément Attendre
une entrée en vue de tester si le moteur a atteint son but.
Les entrées de M1E à M4E deviennent 1, dès que le moteur respectif atteint
le nombre d’impulsions prédéterminé (distance). Les entrées demeurent 1
jusqu’à l’affectation d’une nouvelle distance au moteur. Nous vous recom-
mandons donc d’attendre comme pour l’image sur 1. Si vous commandez 2
moteurs en synchronisation, vous devez uniquement lancer la requête
d’atteinte du but pour le premier moteur et non pour les deux. Les entrées
de moteurs synchronisés ne deviennent 1 qu’après l’atteinte du but par les
deux moteurs.
Vous trouverez un exemple d’utilisation de cet élément au point 4.4 Tango à la page 36.
146
F
ROBOPro
147
F
ROBOPro
12.7 Écran
Cet Écran permet de commander les programme comme sur un panneau de commande et d'affi-
cher les données d'état sur l'affichage du ROBOTICS TXT Controller. Le dessin s’affiche comme
pour un panneau de commande en cliquant sur l’onglet TXT/TX Display :
L’écran est doté d’un régulateur coulissant et d’un bouton comme pour le panneau de commande.
Il dispose d’un affichage textuel des données d’état. La structure de l’affichage se sert d’un élé-
ment de ligne et d’un élément rectangulaire.
Pour modifier la taille d’un élément de commande, vous devez passer par le point de menu
Dessiner / Traiter
La liaison entre les éléments de l’écran et la programme s’effectue via des entrées et sorties
comme pour le panneau de commande.
148
F
ROBOPro
La commande de l'écran monochromatique du
ROBO TX Controller s'effectue via les deux
boutons de l'interface. Vous pouvez basculer
entre les différents éléments de commande en
appuyant sur le bouton de gauche ou de droite.
L’élément de commande est modifié en ap-
puyant sur le bouton de gauche ou de droite
plus longtemps. Un régulateur coulissant est
déplacé et un bouton est actionné.
Vous devez entrer un numéro d’ordre pour
chaque élément de commande dans la fenêtre
de propriétés. Ce numéro décide de l’ordre
d’apparition des éléments sélectionnés à l’aide
des boutons.
Nota Bene : Vous devez appuyer simultanément sur les deux boutons de l’écran sur
l’Interface pour stopper un programme en téléchargement, qui utilise les fonctions du Display.
L'écran couleur du ROBOTICS TXT Controller permet, par contre, une commande directe et
confortable des éléments affichés à l'écran via la fonction d'effleurement.
Chaque sous-programme est attribuable à un autre contenu, comme pour les panneaux de com-
mande. L’affichage change cependant automatiquement dans TX Display dès que vous accédez à
ou que vous quittez un sous-programme. Ceci a pour effet de faciliter considérablement la concep-
tion de commandes de menu compliquées. Il est cependant recommandé de commander tous les
programmes contenus dans le TX Display en se servant d’un seul déroulement. Il se pourrait qu’il
soit difficile, au cas contraire, de prévoir les contenus de TX Display à afficher dans quelle situation.
149
F
ROBOPro
150
F
ROBOPro
moins de place. L’exposant est habituellement représenté par les caractères d’exposant habituels
dans le domaine technique, par exemple k (kilo) pour mille comme dans km (kilomètre). Les carac-
tères d’exposant sont les suivants :
A supposer que l’exposant d’un nombre se situe au-dehors de cette zone, ce qui se produit uni-
quement pour les erreurs de calcul dans la plupart des cas, l’erreur est affichée par ?FORMAT?.
Il va de soi que vous pouvez aussi afficher les nombres à virgule flottante via les formats habituels
des ordinateurs et calculatrices de poche. Vous vous servez de la commande Texte dans un tel
cas. Elle vous propose les options suivantes :
151
F
ROBOPro
Exemple :
Deux constantes sont cumulées et le résultat est affiché durant
5 secondes. L’affichage est effacé par la suite (Entrée \c dans
la commande Texte) et le mot "fin" s’affiche.
Veuillez prendre les observations de formatage suivantes en
considération :
• Vous pouvez varier le nombre des décimales valables de
même que le nombre des chiffres dans l’exposant dans
tous les formats.
• Vous pouvez utiliser un point ou une virgule comme
séparateur décimal.
• Le point ou la virgule doit être précédé(e) d’au moins 2 # caractères, un pour le signe et un
pour au moins un chiffre devant la virgule.
ROBOPro utilise les codes suivants pour afficher des situations particulières et des erreurs
• 0 est utilisé pour représenter un 0 exact (sans erreur) ou des nombres par exemple inférieurs
à ±10-2500
• ?FORMAT? L’affichage du nombre est impossible via le format sélectionné.
• ?OVERFLOW? Le calcul a provoqué une transition arithmétique. Une division par 0 a par
exemple menée à une transition.
• ?NAN? „Pas de nombre“ (anglais : Not A Number) est le résultat d’un calcul invalide, tel que
la racine de -1.
• ?UNDEFINED? Cette valeur est par exemple utilisée pour les entrées des sous-programmes
avant de leur attribuer une valeur.
• ?LOST? s’affiche par exemple pour 0/0
• ?CORRUPTED? Ceci ne devrait pas se produire. Si vous disposez d’un programme affichant
cette valeur, nous vous prions de l’envoyer au service de fischertechnik.
• ??.?? Voir chapitre suivant.
152