Vous êtes sur la page 1sur 152

F

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

1 Introduction – Commander des maquettes Fischertechnik avec


ROBO Pro
Vous vous êtes sans doute déjà demandé comme cela fonctionne lorsque des robots, comme s’ils
étaient mus par des mains de fantômes, accomplissent certaines tâches. Mais ce n’est pas seule-
ment le cas des vrais robots ; dans de nombreux autres domaines, nous nous occupons des
techniques de commande et d’automatisation, même chez Fischertechnik. Déjà d’ici deux cha-
pitres, nous concevrons ensemble un petit programme de commande pour une porte de garage
automatique et nous apprendrons ainsi comment on peut, au moyen du logiciel ROBO Pro pour
Windows, résoudre et tester de telles tâches de commande. L’utilisation de ROBO Pro est donc
très simple. Les programmes de commande, plus précisément les organigrammes et par la suite
les organigrammes de données – comme nous le verrons plus tard –, sont presque exclusivement
élaborés sur l’interface utilisateur graphique.
Afin de pouvoir commander votre maquette Fischertechnik via votre ordinateur, vous avez besoin,
en plus du logiciel de commande ROBO Pro, d’une Interface, servant d’agent de liaison entre
l’ordinateur et la maquette. Les commandes du logiciel sont alors converties de sorte que, par
exemple, des moteurs puissent être commandés et des signaux puissent être traités par des
capteurs. Chez fischertechnik, vous trouverez le ROBOTICS TXT Controller (N° d'article 522429),
le ROBO TX Controller (N° d'article 500995), et les interfaces plus anciennes telles que la ROBO
Interface (N° d’article 93293) et l’Intelligent Interface (N° d’article 30402). Toutes ces interfaces
peuvent être utilisées avec ROBO Pro. Cependant, avec Intelligent Interface, ROBO Pro ne prend
en charge que le mode Online. L’ancienne Interface parallèle (N° d’article 30520) n’est absolument
plus soutenue par ROBO Pro.
Encore quelques mots sur l’organisation de ce manuel. Celui-ci se divise en deux parties. La
première partie (chapitres 1 à 4) décrit les procédures essentielles à accomplir lors de la pro-
grammation avec ROBO Pro. Vous recevrez de nombreuses informations et bases pour la
programmation en général et pour l’utilisation du logiciel ROBO Pro.
La seconde partie reprend les chapitres 5 à 7 et vous initie aux fonctions avancées de programma-
tion.
A partir du chapitre 8, vous trouverez essentiellement des outils de référence. Ainsi, lorsque vous
vous serez familiarisé avec l’utilisation de ROBO Pro après la première partie et que vous cher-
cherez des informations bien particulières, vous trouverez dans ces derniers chapitres des
explications détaillées sur les différents éléments de programmes.

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 !

1.1 Installation de ROBO Pro


Conditions requises pour l’installation de ROBO Pro :
• Un ordinateur personnel (généralement appelé PC) équipé de Windows XP, Vista, 7 ou 8

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.

1.2 Installation du pilote USB


Après l'installation du logiciel ROBOPro, cette étape s'accomplit automatiquement dès le raccor-
dement du ROBOTICS TXT Controller, du ROBO TX Controller ou de la ROBO Interface au port
USB.

Information importante pour l'installation du pilote USB


Le pilote USB ne peut être installé que par un utilisateur possédant des droits
d’administrateur sur l’ordinateur. Si le programme d'installation signale que vous n'êtes pas
autorisé à installer le pilote USB, vous devez demander à l'administrateur de votre systè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 :

1.2.1 Installation du pilote USB dans Windows Vista, 7, 8


Le message suivant s'affiche en premier :

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.

1.2.2 Installation du pilote USB dans Windows XP


L'installation sous Windows XP diffère nettement de celle des autres versions de Windows. C'est
aussi pour cette raison qu'elle est reproduite séparément.

6
F
ROBOPro

Cliquez sur Installer le logiciel automatiquement (recommandé), puis sur Suivant.


Après avoir appuyé sur Suivant, le message suivant peut apparaître sous Windows XP :

Afin d’installer le pilote, cliquez sur Poursuivre l’installation.

7
F
ROBOPro
Le message suivant apparaît finalement :

Cliquez sur Achever afin de conclure l’installation du pilote USB.

1.3 Premiers pas


Impatient ? Démarrez alors le programme ROBO Pro. Pour ce faire, cliquez sur le bouton Démar-
rer de la barre de tâche et choisissez ensuite Programmes ou Tous les programmes et ROBO
Pro. Dans le dossier du menu Démarrer, vous trouverez les entrées suivantes :

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

Ouvrez le fichier \Level3\Motor start stop.rpp :

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

2 Petit test du matériel avant la programmation


Afin de pouvoir tester les programmes de commande que nous créerons plus tard, l’Interface doit
être raccordée à l’ordinateur. Cependant, le logiciel doit être réglé en fonction de l’Interface utilisée
(ROBOTICS TXT Controller, ROBO TX Controller ou ROBO Interface) et la liaison avec l’interface
doit être testée. C’est ce que nous ferons au prochain chapitre.

2.1 Raccordement de l’Interface au PC


Ceci ne devrait pas poser de gros problèmes. Le câble de liaison fourni avec l’Interface est raccor-
dé à l’Interface et à une interface USB de l’ordinateur.
Les raccordements de ces interfaces se trouvent généralement sur la face arrière de l’ordinateur.
La position exacte des raccordements est décrite avec précision dans les instructions d’utilisation
de votre ordinateur, veuillez donc vous y référer. Les raccordements USB peuvent également se
trouver sur la face avant de votre ordinateur. N’oubliez pas d’alimenter l’Interface en électricité
(bloc d’alimentation ou batterie). Les raccordements particuliers à chaque Interface sont décrits
avec précision dans les instructions d’utilisation.

2.2 Pour que la liaison soit bonne – Mises au point de l’Interface


Pour que la liaison entre l’ordinateur et l’Interface fonctionne correctement, l’Interface utilisée doit
être sélectionnée dans ROBO Pro. Pour ce faire, démarrez ROBO Pro via l’entrée ROBO Pro du
menu Démarrer, sous Programmes ou Tous les programmes. Appuyez ensuite sur le bouton
COM/USB de la barre d’outils. La fenêtre suivante apparaît :

Vous pouvez alors choisir l’interface, mais aussi le type d’interface.

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.

2.3 La liaison n’est pas bonne – Il n’y a pas de liaison avec


l’Interface !?
Si, malgré une interface correctement configurée (cf. plus haut), le message suspendu apparaît,
veuillez vérifier les points suivants. Il peut également être utile de demander conseil à quelqu’un
qui s’y connait :
• Alimentation en courant :
L’Interface est-elle correctement alimentée en courant ? Si vous utilisez des batteries ou des
accumulateurs pour l’alimentation en courant, il est possible que des accumulateurs vides ne
fournissent plus assez de tension. Si la tension de la batterie ne dépasse pas 6 V, le proces-

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).

2.4 Tout fonctionne – Test de l’Interface


Après que la liaison ait été correctement établie, nous pouvons tester l’Interface et les maquettes
qui y sont raccordées au moyen du test de l’Interface. Comme nous l’avons déjà mentionné, la
Test fenêtre de test montre les différentes entrées et sorties du Controller :
• Entrées universelles I1–I8
I1-I8 sont les entrées universelles du ROBOTICS TXT Controller et du ROBO TX Controller.
Elles permettent de raccorder des capteurs de différente nature. Il y a des capteurs digitaux
(soit numériques) et des capteurs analogiques. Vous pouvez régler l’entrée universelle en
fonction du capteur, que vous voulez raccorder.
• Les capteurs digitaux acceptent uniquement les états
0 et 1 ou Oui et Non. Les deux entrées universelles
sont habituellement réglées sur le type d’entrée Digi-
tal 5kOhm. Ces entrées digitales servent au
raccordement de capteurs, tels que les interrupteurs
(mini-bouton), de même qu’au raccordement de photo-
transistors (détecteur de luminosité) ou de relais à
contacts scellés (capteurs magnétiques). Vous pouvez contrôler la fonction de ces entrées
en raccordant par exemple un mini-bouton (Article n° 37783) à I1 de l’Interface. (servez-vous
des contacts 1 et 3 du bouton contacteur). L’affichage I1 sera alors coché dès que vous ac-
tionnez le bouton. Si vous avez raccordé le bouton dans l’autre sens (contacts 1 et 2), la
coche s’affiche immédiatement et disparaît dès l’actionnement du bouton.
• Le réglage Digital 10V est nécessaire pour le dépisteur aux infrarouges.
• Analogique 10V permet p. ex. de commander le capteur chromatique ou de mesurer des
tensions de 0 à 10 Volts, notamment la tension d’alimentation des accus. La valeur respec-
tive est affichée en mV (millivolts).

14
F
ROBOPro

• Vous vous servez de l’entrée·Analogique 5kOhm pour la mesure de la température de la


résistance NTC et la mesure de la luminosité de la photorésistance. Cette valeur est affichée
en Ohm (Ω = résistance électrique).
• Le réglage Espacement permet finalement de commander le capteur d'espacement ultraso-
nique (vous pouvez exclusivement utiliser la version TX du capteur d'espacement, N°
d'article 133009, avec un câble de raccordement à trois conducteurs pour le ROBOTICS TXT
Controller et le ROBO TX Controller).
• Entrées de compteur C1-C4 Ces entrées sont destinées au comptage d’impulsions rapides
avec une fréquence de jusqu’à 1000 impulsions par seconde. Mais vous pouvez aussi vous
en servir comme entrées digitales pour des boutons (entrée cependant non appropriée au
dépisteur). Si vous raccordez un bouton à cette entrée, chaque actionnement du bouton (=
impulsion) aura pour effet d’augmenter la valeur du compteur de 1. Ces impulsions permet-
tent p. ex. de faire rouler un robot sur un certain parcours.
• Sorties moteur M1–M4
M1 – M4 sont les sorties de l’Interface. C’est ici que vous raccordez les actionneurs. Il peut p.
ex. s’agit de moteurs, d’électroaimants ou de lampes. Les 4 sorties moteurs se prêtent à une
commande de leur vitesse et de la direction à emprunter. Le régulateur coulissant est destiné
à la commande de la vitesse. Vous pouvez choisir entre une résolution grossière avec 8 vi-
tesses ou une résolution plus précise avec 512 étapes. Les éléments de programme des
niveaux 1 et 2 utilisent exclusivement la résolution grossière, tandis que certains éléments
sont utilisables en résolution de précision à partir du niveau 3. La vitesse est affichée comme
chiffre à côté du régulateur coulissant. Si vous voulez tester une sortie, vous devez raccorder
un moteur à cette sortie, p. ex. M1.
• Sorties lampe O1–O8
Les sorties moteur sont également utilisables comme une paire de sorties individuelles en al-
ternative. Elles permettent de commander des lampes, mais également des moteurs qui
doivent se diriger dans une direction (p. ex. un transporteur à bande). Si vous voulez tester
ces sorties, vous devez raccorder un raccordement de la lampe à la sortie, O1 par exemple.
Raccordez ensuite l’autre raccordement de la lampe à une des douilles massiques du ROBO
TX Controller (⊥).
• Modules Master / extension
Les différentes interfaces permettent aussi de raccorder d'autres interfaces du même type ou
des modules d'extension. (voir le mode d'emploi du périphérique concerné). Vous pouvez
choisir le périphérique raccordé, auquel vous voulez accéder via la fenêtre de test, à l’aide de
ces boutons. .

15
F
ROBOPro

3 Niveau 1: Mon premier programme de commande


Après avoir testé le matériel, c’est-à-dire l’Interface et les interrupteurs et moteurs y étant raccor-
dés, dans le chapitre précédent, nous allons maintenant nous pencher sur la programmation. Mais
que veut vraiment dire „programmation“ ? Imaginez-vous qu’un robot, par exemple, est raccordé à
notre Interface. Ce robot est cependant tellement bête qu’il ne peut pas fonctionner tout seul. Par
chance, nous sommes un peu plus intelligents que lui. Nous pouvons dire très précisément au
robot ce qu’il doit faire. Comment ? Voyons, que s’est-il passé au chapitre précédent lorsque nous
avons réglé la sortie Moteur M1 sur „Gauche“ ? Bravo ! Nous avons allumé le moteur. Si ce mo-
teur avait actionné la pince de notre robot, p. ex., nous n’aurions rien fait d’autre que de lui dire :
"Attrape l’objet !". Nous ne voulons cependant plus déclencher chacun des mouvements de la
main, mais bien que le robot le fasse „automatiquement“. Pour ce faire, nous devons conserver en
mémoire tous les mouvements à accomplir de manière isolée de sorte que le robot puisse les
traiter les uns après les autres ; en d’autres termes, nous devons concevoir un programme qui
commandera le robot à notre place. En langage spécialisé, nous appelons cela très logiquement
un programme de commande.

3.1 Créer un nouveau programme


Avec le logiciel ROBO Pro, vous disposez d’un merveilleux outil pour développer un tel pro-
gramme de commande et pour le tester au moyen d’une Interface raccordée. Pas de panique,
Nouveau
nous n’allons pas directement programmer un robot. Nous nous contenterons tout d’abord de
tâches de commande simples. Pour ce faire, nous devons créer un nouveau programme. Dans la
barre d’outils, vous trouverez une entrée „Nouveau“. Si vous cliquez sur cette entrée avec le
bouton gauche de la souris, un nouveau programme vide est créé :

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

3.2 Les éléments du programme de commande


Nous pouvons maintenant nous mettre au travail et concevoir notre premier
programme de commande. Nous allons le faire en suivant un exemple
concret :

Description des fonctions:


Imaginez-vous une porte de garage s’ouvrant automatiquement. Peut-être
en possédez-vous une à la maison ! Lorsque vous arrivez en voiture devant
le garage, une pression sur le bouton de l’émetteur suffit pour que la porte
s’ouvre, actionnée par un moteur. Le moteur doit fonctionner suffisamment
longtemps pour que la porte du garage soit totalement ouverte.
Il est cependant fort compliqué et peu concret de traduire une commande
en mots. C’est pourquoi des organigrammes sont utilisés pour représenter
les différentes actions devant être accomplies les unes après les autres et
les conditions devant être remplies pour que ces actions se réalisent. Dans
le cas de notre commande, la condition pour que l’action „Allumer le mo-
teur“ s’accomplisse est que le bouton doit être enfoncé. La lecture d’un
organigramme de ce type est simple : Il faut toujours suivre les flèches pas
à pas ! Ce qui nous donne le mode de fonctionnement de la commande –
les différentes étapes ne peuvent être accomplies que dans l’ordre donné
par les flèches, jamais autrement. Sinon, aurions-nous besoin de faire tout
le travail ? Non ?
Avec l’aide de notre logiciel ROBO Pro, nous pouvons tracer précisément cet
organigramme et ainsi créer le programme de commande pour le matériel rac-
cordé (Interface, Moteurs, interrupteurs, etc.). Le reste est pris en charge par le
logiciel, comme c’est également le cas dans les utilisations industrielles de grande
envergure ! Nous pouvons ainsi nous concentrer essentiellement sur la conception
de l’organigramme.
Vous composez l’organigramme au moyen d’éléments de programme. Encore un
nouveau terme ? Rien de bien grave ! Dans ROBO Pro, les éléments isolés à partir
desquels l’organigramme est conçu sont appelés éléments de programme. L’action
„Allumer le moteur“ veut simplement dire que l’Interface doit effectivement allumer
le moteur y étant raccordé ! Vous trouverez les éléments de programme dispo-
nibles dans la fenêtre d’élément sur la gauche.

3.3 Ajouter, déplacer et modifier un élément de pro-


gramme
Il s’agit maintenant de concevoir l’organigramme pour notre commande de porte de garage au
moyen des éléments de programme de la fenêtre d’éléments. Tous les éléments de programme
disponibles peuvent être pris dans la fenêtre d’éléments et ajoutés à la fenêtre du programme.

17
F
ROBOPro

Ajouter des éléments de programme


Pour ce faire, déplacez la souris sur le symbole de l’élément de programme
souhaité et cliquez une fois sur celui-ci avec le bouton gauche de la souris.
Placez ensuite la souris à l’endroit souhaité dans la fenêtre du programme (la
grande surface blanche) et cliquez à nouveau. Vous pouvez également déplacer
l’élément de programme de la fenêtre d’éléments à la fenêtre du programme en gardant le bouton
de la souris enfoncé. Un programme commence toujours avec un élément de démarrage.
L’élément de démarrage est l’élément arrondi avec le petit bonhomme vert en mouvement. Es-
sayez tout d’abord avec cet élément de programme : Cliquez une fois avec le bouton gauche de la
souris sur l’élément de démarrage dans la fenêtre d’élément, déplacez la souris vers le haut de la
fenêtre de programme et cliquez à nouveau avec le bouton gauche de la souris.
Il faut ensuite insérer dans l’organigramme un élément qui envoie une
requête à une entrée et qui, en fonction du statut de cette entrée, la
branche sur l’un ou l’autre chemin du programme. Cliquez dans la
fenêtre d’éléments sur l’élément représenté à droite et déplacez en-
suite la souris sous l’élément de démarrage inséré précédemment. Si
l’entrée supérieure de l’élément de branchement se situe un ou deux
points de trame sous la sortie de l’élément de démarrage, une ligne de
liaison apparaît dans la fenêtre du programme. Si vous cliquez à
nouveau sur le bouton gauche de la souris, l’élément de branchement est inséré et automatique-
ment relié avec l’élément de démarrage.

Déplacer des éléments de programme et des groupes


Après avoir été inséré, un élément de programme peut être déplacé à l’endroit souhaité en main-
tenant le bouton gauche de la souris enfoncé. Si vous désirez déplacer plusieurs éléments en
même temps, vous pouvez d’abord étirer un cadre autour de ces éléments en maintenant le bou-
ton gauche de la souris enfoncé. Pour ce faire, vous devez cliquer avec le bouton gauche de la
souris dans une zone vide, maintenir le bouton enfoncé et étirer un rectangle contenant les élé-
ments souhaités. Les éléments du rectangle seront alors représentés avec un bord rouge. Si vous
déplacez alors un des éléments rouges avec le bouton gauche de la souris, tous les éléments
rouges seront déplacés. Vous pouvez également marquer en rouge des éléments isolés en cli-
quant sur les éléments avec le bouton gauche de la souris tout en maintenant la touche de
Majuscule enfoncée (il s’agit de la touche Majuscule/minuscule (shift)). Si vous cliquez avec le
bouton gauche de la souris dans une zone vide, tous les éléments marqués en rouge redevien-
dront normaux.

Copier des éléments de programme et des groupes


Il existe deux solutions pour copier des éléments de programme. Vous pouvez procéder comme
pour un déplacement, mais en enfonçant la touche CTRL du clavier avant de déplacer l’élément.
Les éléments ne sont alors plus déplacés, mais bien copiés. Cette fonction ne vous permet ce-
pendant que de copier des éléments au sein même du programme. Si vous désirez copier des
éléments d’un programme à un autre, vous pouvez utiliser le presse-papier de Windows. Sélec-
tionnez tout d’abord certains éléments comme décrit précédemment pour le déplacement
d’éléments. Si vous appuyez ensuite sur les touches CTRL+C du clavier ou que vous appelez le
point de menu Traiter / Copier, tous les éléments sélectionnés seront copiés dans le presse-
papier Windows. Vous pouvez alors basculer dans un autre programme et y insérer les éléments
en enfonçant les touches CTRL+V ou en utilisant la fonction Traiter / Ajouter. Vous pouvez
également ajouter à plusieurs reprises des éléments copiés une seule fois. Si vous désirez dépla-

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.

Effacer des éléments et Fonction Annuler


Effacer des éléments est également très simple. Vous pouvez supprimer tous les éléments mar-
qués en rouge (voir point précédent) en appuyant sur la touche Effacer (Delete) de votre clavier.
Vous pouvez également supprimer des éléments isolés avec la fonction d’effacement. Pour ce Effacer
faire, cliquez sur le bouton représenté ci-contre dans la barre d’outils et ensuite sur l’élément que
vous voulez supprimer. Essayez un peu ! Vous pourrez ensuite replacer l’élément supprimé. Afin
de remettre en place l’élément effacé, vous pouvez également utiliser la fonction Annuler dans le
menu Traiter. Ce point vous permet de revenir en arrière et de supprimer toutes les modifications
apportées au programme.

Traiter les propriétés des éléments de programme


Si vous cliquez avec le bouton droit de la souris sur un élé-
ment de programme dans la fenêtre de programme, une
fenêtre de dialogue apparaît dans laquelle vous pouvez modi-
fier les propriétés des éléments. La fenêtre de propriétés d’un
élément de branchement est représentée à droite.
• Les boutons I1 à I8 vous permettent de décider à quelle
entrée de l’Interface doit être envoyée la requête. Les en-
trées de C1D-C4D servent d’entrées de comptage, si
vous les utilisez comme entrées numériques. Nous parle-
rons plus avant des entrées de M1E à M4E.
• Les autres entrées C1D..C4D et M1E..M4E seront expli-
quées au chapitre 8.1.3 Branchement digital à la page 80.
• La sélection Interface / Extension sera expliquée au
chapitre 7 Commander plusieurs interfaces à la page 75.
• Le champ du Type du capteur vous permet de sélec-
tionner une image pour le capteur raccordé à l’entrée. Les entrées digitales sont le plus sou-
vent utilisées avec des interrupteurs, mais aussi avec des transistors photos ou des relais à
contacts scellé. Le type d’entrée des entrées universelles de I1 à I8 du ROBOTICS TXT Con-
troller ou du ROBO TX Controller est réglé automatiquement dès la sélection du capteur.
• Le champ Permuter les raccordements 1/0 vous permet de permuter la position des sorties
1 et 0 de l’élément de branchement. Normalement, la sortie 1 est en bas et la sortie 0 à droite.
Il est cependant souvent plus pratique d’avoir la sortie 1 à droite. Cochez Permuter les rac-
cordements 1/0 ; les raccordements 1 et 0 seront alors permutés dès que vous fermerez la
fenêtre en cliquant sur OK.

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.

3.4 Lier les éléments de programme


Maintenant que vous savez comment ajouter des éléments dans le programme de commande,
nous pouvons nous atteler à la tâche d’achever notre programme de commande. Repensez à la
description du fonctionnement de la commande de notre porte de garage – ne nous manque-t-il
rien ? Evidemment ! Nous avons déjà allumé le moteur en appuyant sur l’interrupteur mais, lors-
que la porte est ouverte, le moteur doit s’éteindre automatiquement ! Dans la pratique, nous y
parvenons grâce à ce que nous appelons un commutateur de fin. Il s’agit d’un interrupteur posi-
tionné sur la porte de garage de sorte qu’il soit actionné au moment où le moteur a totalement
ouvert la porte. Et comme pour l’allumage du moteur, ce signal peut être utilisé pour éteindre le
moteur. Pour la requête envoyée au commutateur de fin, nous pouvons à nouveau utiliser un
élément de branchement.

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.

Supprimer des lignes de déroulement du programme


Pour supprimer des lignes, vous devez procéder de la même manière que pour supprimer des
éléments de programme. Cliquez simplement sur la ligne avec le bouton gauche de la souris de
sorte qu’elle soit marquée en rouge. Appuyez ensuite sur la touche Effacer (Delete) du clavier
pour effacer la ligne. Vous pouvez également sélectionner plusieurs lignes en gardant la touche de
majuscule enfoncée (touche de basculement entre les Majuscules et les minuscules) et en cliquant
sur les lignes avec les boutons gauches de la souris. Pour marquer plusieurs lignes, vous pouvez
également étirer un cadre autour de ces lignes. Vous pouvez alors supprimer toutes les lignes
marquées en rouge en une fois en appuyant sur la touche Delete.

3.5 Test du premier programme de commande


Afin de pouvoir tester notre premier programme de commande, vous devez construire une petite
maquette. Pour ce faire, il suffit de raccorder un interrupteur sur I1 et I2 et un moteur sur M1 (sur
l’Interface).

21
F
ROBOPro

Note Bene : Le raccordement de l’Interface à l’ordinateur et le réglage de l’Interface ont déjà


été réalisés au chapitre précédent ; vous pouvez relire les indications à ce sujet dans ce cha-
pitre.

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 :

Sous „Enregistrer sous“, choisis-


sez le répertoire dans lequel vous
voulez enregistrer le programme.
Introduisez un nom non attribué
dans le champ „Nom du fichier“,
p.ex. PORTE-GARAGE et confir-
mez en cliquant sur
„Enregistrer“ avec le bouton
gauche de la souris.

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 Autres éléments de programme


Si vous essayez votre programme de commande sur une vraie maquette de porte de garage, la
porte est maintenant ouverte. Comment la fermer maintenant ? Nous pouvons évidemment redé-
marrer le moteur en appuyant sur un interrupteur ! Nous voulons cependant tester une autre
solution et faire ainsi connaissance avec un nouvel élément de programme. Pour ce faire, réenre-
gistrez le programme sous un nouveau nom (Nous aurons encore besoin de l’organigramme
actuel plus tard). Pour ce faire, utilisez le point Enregistrer sous... dans le menu Fichier et intro-
duisez un nom de fichier non attribué.

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.

3.6.2 Attendre l’entrée


Outre l’élément Attente, il
existe deux autres élé-
ments qui attendent un événement avant de poursuivre le déroulement
du programme. L’Elément Attendre l’entrée représenté à gauche
attend jusqu’à ce qu’une entrée de l’Interface ait un statut particulier ou
se modifie d’une certaine manière. Il existe 5 variantes de cet élément :

Symbole

Attendre Entrée=1 Entrée=0 Permuter 0-1 Permuter 1-0 Permutation


(fermé) (ouvert) (ouvert après (fermé après quelconque
fermé) ouvert) (1-0 ou 0-1)
Même fonc-
tion mais
avec bran-
chement

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.

3.6.3 Compteur d’impulsions


De nombreuses maquettes de robots Fischertechnik utilisent égale-
ment des engrenages d’impulsion. Les engrenages actionnent un
interrupteur à quatre reprises à chaque rotation. De tels engrenages
d’impulsion peuvent allumer un moteur pour un nombre défini de
rotations plutôt que pour une période fixe. Pour ce faire, il faut compter
le nombre d’impulsions sur une entrée de l’Interface. L’Elément du compteur d’impulsions
représenté à gauche a été créé à cet effet et attend un nombre à déterminer d’impulsions. Avec

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.

3.6.4 Boucle de comptage


L’élément Boucle de comptage
vous permet de lancer une partie
précise d’un programme à plu-
sieurs reprises. Le programme
représenté, par exemple, allume
et éteint 10 fois une lampe rac-
cordée à M1. L’élément boucle
de comptage possède un comp-
teur intégré. Lorsque la boucle de comptage va arriver sur
l’entrée =1, le compteur se positionne sur 1. Par contre,
lorsque la boucle de comptage va arriver sur l’entrée +1, 1
est ajouté au compteur. Selon que le compteur est plus
grand que la valeur que vous avez programmée ou pas, la
boucle de comptage se branche sur la sortie Oui (J) ou sur
Non (N). La sortie Oui est donc utilisée lorsque la boucle a
été parcourue autant de fois que programmé dans la valeur
du compteur. Si la boucle doit effectuer d’autres parcours, la
boucle de comptage se branche sur la sortie Non. Comme pour les éléments de branchement,
vous pouvez permuter les sorties Oui et Non dans la fenêtre de propriétés.

3.7 Utilisation en mode Online ou en mode Téléchargement


Quelle est la différence ?
Jusqu’à maintenant, nous avons testé nos programmes de commande en Mode Online. Vous
pouvez ainsi suivre le déroulement du programme car l’élément actif est toujours marqué en rouge
sur l’écran. Le Mode Online est utilisé pour comprendre les programmes ou détecter les erreurs. Start

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 :

Mode Avantage Inconvénient


d’utilisation
Online • Possibilité de suivre le déroulement • Obligation de garder
du programme sur l’écran l’ordinateur et l’Interface reliés
• Très grande rapidité de déroulement
même pour des programmes de
grande taille
• Possibilité de commander plusieurs
interfaces simultanément
• Prise en charge de l’ancienne Intelli-
gent Interface
• Possibilité d’utilisation de panneaux
de commande
• Possibilité de suspendre et de re-
prendre le déroulement du
programme
Téléchargement • Possibilité de séparer l’ordinateur et • Pas de prise en charge de
l’Interface après le Téléchargement l’ancienne Intelligent Interface
• Impossibilité de suivre le
déroulement du programme
sur l’écran

Utiliser le mode Téléchargement

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.

3.8 Trucs et Astuces

Modifier les lignes de liaison


Lorsque vous déplacez des éléments, ROBO Pro s’efforce d’adapter les lignes de liaison en
conséquence. Si une des lignes adaptées devait ne pas vous convenir, vous pouvez légèrement
modifier les lignes de liaison en cliquant sur celles-ci avec le bouton gauche de la souris et en
déplaçant la ligne en gardant le bouton enfoncé. En fonction de l’endroit où la souris se trouve sur
la ligne, un point d’angle ou une arrête de la ligne sera déplacé. Ceci sera indiqué par différents
curseurs :

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é.

Modifier les lignes de liaisons une fois


Des lignes de liaisons peuvent également être tracées lors du déplacement d’éléments de pro-
gramme. Si vous déplacez un élément de programme de sorte que son entrée se trouve un ou
deux points de trame sous la sortie d’un autre élément, une ligne de liaison apparaît entre ces
deux éléments. Ceci est aussi valable si une sortie est déplacée vers une entrée. L’élément de
programme peut ensuite être placé dans sa position définitive ou d’autres liaisons peuvent être
tracées pour les entrées et sorties restantes :

28
F
ROBOPro

4 Niveau 2: Travailler avec des sous-programmes


Après avoir créé et testé avec succès votre premier programme de commande, vous êtes prêt
pour ROBO Pro Niveau 2. Sélectionnez maintenant l’entrée Niveau 2 : Sous-programme dans le
menu Niveau. Vous remarquerez directement la différence : La fenêtre d’éléments a disparu et
vous trouverez à sa place, sur le bord gauche, deux fenêtres superposées :

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

4.1 Mon premier sous-programme


Un sous-programme ressemble fort à un programme comme ceux que vous avez rencontrés
jusqu’ici. Afin de pouvoir vous en rendre compte dans les détails, il va falloir créer un nouveau
Nouveau
programme et, dans celui-ci, un sous-programme vide. Pour ce faire, cliquez sur Nouveau pro-
gramme et ensuite sur le bouton Nouveau SP de la barre d’outils. Une fenêtre apparaît alors dans
laquelle vous pouvez introduire un nom et une description pour votre sous-programme.
Nouveau Le nom ne doit pas être trop long (env. 8-10 lettres) car,
SP dans le cas contraire, le symbole du sous-programme sera
très grand. Vous pourrez bien entendu modifier plus tard
toutes les saisies que vous réalisez ici.
Dès que vous fermez la fenêtre Nouveau Sous-
programme avec OK, le nouveau sous-programme
apparaît dans la barre des sous-programmes :

Vous pouvez à tout moment basculer entre le programme principal et le sous-programme en


cliquant sur le nom du programme dans la barre des sous-programmes. Etant donné que les deux
programmes sont encore vides, il n’y a pas encore de différences.
Nous allons maintenant diviser la commande de notre porte de garage du chapitre précédent (voir
point 3.6 Autres éléments de programme à la page 23 ) en sous-programmes. Ce programme se
composait de quatre unités de fonctionnement :
• Attendre jusqu’à ce que l’interrupteur I1 soit actionné
• Ouvrir la porte
• Attendre 10 secondes
• Fermer la porte
L’ouverture et la fermeture seront désormais divisées en deux sous-programmes. Vous pouvez
appeler les deux sous-programmes au départ du programme principal avec un seul symbole.
L’attente de l’interrupteur I1 et l’attente de 10 secondes restent dans le programme principal car
les deux se composent d’un seul et unique élément. Vous avez déjà créé un nouveau programme
avec un sous-programme nommé Sous-programme 1. Ouvrir et Fermer seraient cependant de
bien meilleurs noms pour les deux sous-programmes. Vous pouvez renommer le sous-programme
déjà créé en sélectionnant tout d’abord le sous-programme 1 dans la barre des sous-programmes,
pour autant qu’il ne soit pas déjà sélectionné.

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.

Elément de démar- Démarre une nouvelle procédure indépendante


rage

Entrée du sous- Le déroulement du programme passe ici du programme


programme principal au sous-programme

Vous trouverez l’entrée du sous-programme dans la fenêtre des groupes


d’éléments sous Sous-programme I/O. Placez maintenant l’entrée du sous-
programme en haut dans la fenêtre de programme du sous-programme Ouvrir. Vous pouvez
également donner un nom différent à l’élément d’entrée du sous-programme pour remplacer le
nom Entrée, ce n’est cependant nécessaire que lorsque vous écrirez un sous-programme avec
plusieurs entrées.
La suite du déroulement du programme dans un sous-programme est identique à la partie Ouver-
ture du programme principal que nous avions jusqu’ici : Allumez le moteur M1 avec un sens de
rotation vers la gauche, attendez jusqu’à ce que l’interrupteur sur l’entrée I2 soit éteint et éteignez
le moteur.
Pour terminer le sous-programme, utilisez une sortie du sous-programme. La différence entre la
sortie du sous-programme et l’élément de fin est la même qu’entre l’entrée du sous-programme et
l’élément de démarrage.

31
F
ROBOPro

Elément de fin Termine le déroulement du programme d’une pro-


cédure indépendante

Sortie du sous- Le déroulement du programme repasse du sous-


programme programme au programme principal.

Le sous-programme achevé doit plus ou moins ressembler à ceci :

Veillez à ce que le sous-programme ait bien


été introduit sous Ouvrir et non sous Pro-
gramme principal. Basculez à nouveau de
Ouvrir à Programme principal dans la
barre des sous-programmes. Vous voyez
maintenant la fenêtre de programme vide,
comme auparavant. Comme d’habitude,
ajoutez un élément de démarrage dans le
programme principal (pas une entrée du
sous-programme !). Ajoutez également dans
le programme principal une requête envoyée
à l’interrupteur sur I1, qui doit ouvrir la porte
de garage.
Vous pouvez maintenant ajouter votre
nouveau sous-programme dans le programme principal (ou un autre sous-programme) comme s’il
s’agissait d’un élément de programme habituel. Vous le trouverez dans la fenêtre des groupes
d’éléments sous Programmes chargés et le nom de votre programme. Si vous n’avez pas encore
enregistré le fichier, son nom est sans-nom1. Si vous avez chargé plusieurs fichiers Programme,
vous pouvez également sélectionner des sous-programmes appartenant à d’autres fichiers. Vous
pouvez ainsi utiliser très simplement des sous-programmes provenant d’un autre fichier.
Dans le groupe d’éléments Programmes chargés / sans-nom1, vous trouverez deux symboles
de sous-programmes verts. Le premier porte le nom Programme principal et est le symbole du
programme principal. Il sera rarement utilisé comme sous-programme; ceci est cependant possible,

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 :

Programme principal Ouvrir Fermer

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.

4.2 Bibliothèque des sous-programmes


Vous pouvez très bien copier des sous-programmes d’un fichier dans un
autre fichier en chargeant les deux fichiers et en ajoutant un sous-
programme d’un fichier dans l’autre fichier via le groupe d’éléments Pro-
grammes chargés. Pour les sous-programmes les plus utilisés, c’est
encore plus simple, il suffit d’utiliser la Bibliothèque. ROBO Pro contient
une bibliothèque de sous-programmes finis que vous pouvez utiliser très
simplement. Vous pouvez également créer votre propre bibliothèque dans
laquelle vous pourrez enregistrer les sous-programmes que vous utilisez le
plus souvent.

4.2.1 Utiliser la bibliothèque


La Bibliothèque est répartie sur plusieurs groupes. Vous y trouverez p. ex. des sous-programmes,
que vous pouvez utiliser pour les maquettes composées de certains jeux de construction. Dans le
groupe Advanced, vous trouverez les sous-programmes que vous pouvez utiliser pour tous les
types de maquettes. La plupart des sous-programmes du groupe Advanced exigent cependant
des techniques du Niveau 3 qui ne seront vues qu’au chapitre suivant.
Si vous passez avec la souris sur un des symboles de
sous-programme, une courte description apparaît. Si
vous ajoutez un sous-programme dans votre pro-
gramme, vous pouvez afficher une description précise
en sélectionnant le sous-programme dans la barre des
sous-programmes et en cliquant sur Description dans la barre de fonction :

Attention: Lorsque vous ajoutez un sous-programme provenant de la bibliothèque, d’autres


sous-programmes utilisés par ce sous-programme sont en partie ajoutés. Vous pouvez sup-
primer tous les sous-programmes en sélectionnant la fonction Annuler du menu Traiter.

4.2.2 Utiliser la bibliothèque personnelle


Après vous être entraîné un moment avec ROBO Pro, vous avez sans doute quelques sous-
programmes que vous utilisez plus souvent. Pour ne pas devoir à chaque fois rechercher et char-
ger les fichiers correspondant, vous pouvez créer votre propre bibliothèque de sous-programmes ;
celle-ci fonctionnera comme la bibliothèque prédéfinie. Votre bibliothèque personnelle se compose

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.

Organiser ma bibliothèque personnelle


Il n’y a pas de fonctions spéciales pour modifier une bibliothèque dans ROBO Pro. C’est cepen-
dant très simple. Si vous souhaitez ajouter ou supprimer des sous-programmes dans un groupe de
bibliothèque, vous devez tout d’abord charger le fichier correspondant. Vous trouverez ce fichier
dans le répertoire que vous avec choisi sous Liste des bibliothèques personnelles. Vous pou-
vez maintenant, p.ex. charger un second fichier ou déplacer un sous-programme du groupe
Programmes chargés vers le programme principal de la bibliothèque. Dans la bibliothèque, le
programme principal n’est pas vraiment un programme, mais seulement une collection de tous les
sous-programmes de la bibliothèque. Le programme principal n’est pas affiché dans la fenêtre
d’éléments des bibliothèques. Vous pouvez évidemment supprimer des sous-programmes d’une
bibliothèque ou les modifier.
Si vous avez modifié et enregistré un fichier de la bibliothèque, vous devez sélectionner le point
Actualiser la bibliothèque personnelle dans le menu Fichier. La liste des fichiers de la fenêtre
des groupes est alors actualisée.

4.3 Traiter les symboles des sous-programmes


Comme vous l’avez vu au chapitre précédent,
ROBO Pro crée automatiquement des symboles
de sous-programme verts pour vos sous-
programmes. Vous pouvez aussi créer vos
propres symboles exprimant mieux ce que font
vos sous-programmes. Pour ce faire, vous devez
basculer de création de symbole automatique à
manuelle dans la fenêtre de propriétés du sous-
programme. Vous pouvez ensuite passer de
Propriétés à Symbole dans la barre de fonctions
et y traiter le symbole du sous-programme. Vous
trouverez les fonctions de dessin dans la fenêtre
des groupes d’éléments sous Dessiner.

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.

4.4.1 Commande de moteur par commutateurs d’impulsions


L’idéal est de commencer par différents sous-programmes pour les
différents pas. Un sous-programme pour le premier pas « Roue
gauche : 1 rotation » est représenté à droite. En règle générale, le
moteur d’entraînement de la roue gauche est raccordé à la sortie
d’interface M2 et le commutateur d’impulsions correspondant à
l’entrée d’interface I2 ; la gauche symbolise ici un mouvement vers
l’avant.
Pour le premier pas, allumez le moteur M2 de gauche (pleine vitesse)
et attendez 8 demi-impulsions sur l’entrée I2. « 8 demi-impulsions »
signifie que vous devez compter aussi bien les flancs 0⇒1 que 1⇒0.
Vous pouvez sélectionner des éléments dans la fenêtre de propriétés
du compteur de pulsations. Un tour de roue correspond dans
beaucoup de modèles à 8 demi-impulsions. Cela peut toutefois varier
selon la transmission et la disposition du commutateur d’impulsions
(16 demi-impulsions/tour par exemple).
Arrêtez le moteur M2 dès que les 8 impulsions sont entrées. Le sous-
programme est terminé. Ce sous-programme peut, par exemple, être
appelé « Gauche 1/4 ».
Vous avez besoin des sous-programmes suivants pour les autres pas :
• Droite 1/4 (identique à « Gauche 1/4 » avec M1 et I1, plutôt que M2 et I2)
• Gauche 1/8R (identique à « Gauche 1/4 », mais 4, plutôt que 8 demi-impulsions et vers
l’arrière, donc moteur de droite)
• Droite 1/8 (identique à « Droite 1/4 », mais 4, plutôt que 8 demi-impulsions)
• Droite 1/8 R (identique à « Droite 1/8 », mais vers l’arrière, donc moteur de droite)
Les pauses de 1/8 de temps ne peuvent naturellement pas être ajoutées via le
compteur de pulsations car aucune roue ne bouge pendant les pauses. Nous
utilisons ici un temps de renvoi. Sur les maquettes standard du set ROBO Mobile,
4 demi-impulsions correspondent à env. 0,3 secondes. Selon la transmission et
le moteur, cela peut cependant être différent sur votre maquette. Créez égale-
ment un sous-programme pour la pause de 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 de
compteur d’impulsions pour les pas. Vous ne devriez ainsi pas adapter la durée des pauses et la
durée de pas. Il y aurait cependant un inconvénient : les moteurs de gauche et de droite ne tour-
nent pas toujours exactement à la même vitesse ; le robot ne pourrait donc pas danser deux fois

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.

4.4.2 Commande par moteurs codeurs


L’idéal est de commencer par différents sous-programmes pour les
différents pas. Un sous-programme pour le premier pas « Roue
gauche : 1 rotation » est représenté à droite. En règle générale, le
moteur d’entraînement de la roue gauche est raccordé à la sortie
d’interface M2 et le commutateur d’impulsions correspondant à l’entrée
d’interface I2 ; la gauche symbolise ici un mouvement vers l’avant.
Pour le premier pas, allumez le moteur M2 de gauche (pleine vitesse)
et attendez 75 impulsions complètes sur l’entrée C2. Lorsqu’on parle
de 75 impulsions complètes, on entend par là 75 permutations 0 1,
suivies chacune d’une permutation 1 0. Pour les moteurs codeurs,
on utilisera l’élément Moteur codeur pour faire démarrer le moteur et
l’arrêter après un nombre prédéterminé d’impulsions. Ouvrez à cet
effet la fenêtre de propriétés et sélectionnez l’action Espacement,
puis saisissez 75 comme nombre d’impulsions dans le champ
Distance.
L’élément n’attend pas jusqu’à ce que le moteur atteigne son but. En
effet, le programme peut exécuter d’autres tâches lorsque le moteur
est en marche. Dans ce cas-ci, cependant, nous voulons attendre jusqu’à ce que le moteur at-
teigne son but. Pour cela, chaque sortie Moteur dispose d’une propre entrée « But atteint ». Dans
le cas du moteur M2, cette entrée est M2E.
Un moteur codeur requiert deux connexions au TXT ou au TX Controller : une sortie Moteur
M1...M4 et une entrée de compteur C1...C4. L’entrée de compteur utilisée par le moteur codeur a
toujours le même numéro que la sortie Moteur. Il est donc impossible de modifier le numéro de
compteur dans la fenêtre des propriétés de l’extension de commande du moteur.
La commande du moteur arrête ce dernier lorsqu’il atteint la position cible. L’action Espacement
doit donc être désactivée une fois que le moteur a atteint cette position. Après cela, le moteur ne
réagit plus aux commandes normales du type « à gauche » ou « à droite » par exemple. Vous
devez alors utiliser à nouveaule eMoteur codeur, cette fois-ci avec l’option Stop du menu Action.
Ceci n’est toutefois nécessaire que si vous souhaitez commander le moteur par le biais de
l’élément moteur standard. En effet, le moteur réagit aux actions de l’Extension de commande
du moteur même si l’option Stop du menu Action n’est pas activée.
Pour les autres pas, vous aurez besoin des sous-programmes suivants :
• Droite 1/4 (identique à « Gauche 1/4 » avec M1 et M1E, plutôt que M2 et M2E)

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.

4.4.3 Programme principal Tango


Après avoir regroupé tous les sous-programmes, vous pouvez créer le programme principal. Rien
de compliqué là-dedans. Vous verrez à quoi doit ressembler votre programme principal en haut de
la page suivante.
Grâce au programme principal représenté, le robot reproduit les pas du tango en boucle, à l’infini.
Essayez d’utiliser une boucle de comptage pour répéter la séquence de tango 5 fois dans une
boucle. Pour ce faire, copiez le contenu du programme principal au moyen d’Editer/Copier et
d’Editer/Coller dans un nouveau sous-programme et ajoutez une entrée et une sortie de sous-
programme. Vous pouvez alors exécuter ce sous-programme 5 fois dans la boucle.

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.

4.5 Tango 2 : communication via WiFi, Bluetooth ou RF Data Link


Pour rester en rythme, les deux robots Tango doivent « se concerter ». Le TXT-Controller est
équipé d'un module radio intégré de connexion au réseau WiFi et Bluetooth et le TX-Controller
peut être relié via Bluetooth. Pour l’interface Robo, vous pouvez vous procurer en option le module
ROBO RF Data Link. Le ROBO RF Data Link se compose de deux modules radio. Le module
radio de l’interface est intégré sous forme de disque dans l’interface ROBO ; le module radio du
PC – dans le boîtier rouge – est raccordé au PC via un câble USB. Jusqu’ici, vous avez sans
doute utilisé les liaisons radio uniquement pour pouvoir commander votre robot mobile en ligne,

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.

† A partir du niveau 4, les groupes de récepteurs sont disponibles à cette fin.

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 ».

La fenêtre de propriétés de l’élément « Emetteur » est


représentée à droite. Sous Envoyer une commande,
vous pouvez sélectionner une commande (un mes-
sage) de la liste ou créer une commande propre.
Sous Interface cible, vous pouvez choisir si la com-
mande doit être envoyée à une interface portant un
numéro d’appel radio défini ou à toutes les interfaces.

A gauche, vous voyez la fenêtre de propriétés de


l’élément « Récepteur ». Comme pour l’émetteur,
vous pouvez y sélectionner une commande (un message). 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 commandes envoyées à toutes les interfaces. Vous pouvez égale-
ment sélectionner les deux options. Vous pouvez également sélectionner comment permuter les
raccordements Oui et Non sur chaque élément de branchement.
Jusqu’ici, nous avons parlé de « messages ». Cependant, dans les fenêtres de propriétés de
l’émetteur et du récepteur et, plus tard, au niveau 3, nous utiliserons le terme « Commande ». Ces
termes ont la même signification en ce qui concerne le transfert de données. Le fait qu’un mes-
sage soit une commande ou non dépend de l’interprétation et non du type de transfert. Au niveau
3, vous entendrez beaucoup parler de messages ; il s’agit alors – par exemple – de commandes

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.

4.5.1 Paramètres radio pour l’interface Robo


Chaque interface ROBO reçoit un numéro d’appel radio propre, entre 1 et 8, et une fréquence ;
ces deux valeurs peuvent être réglées dans la fenêtre Info de le test de l’interface. Dans
Tester l’illustration ci-dessous, vous pouvez voir les paramètres du ROBO RF Data Link, en haut à droite.
l’interface
Tous les modules RF Data Link devant échanger des messages entre eux doivent être réglés sur
la même fréquence. La fréquence est indiquée sous forme d’un chiffre compris entre 2 et 80. La
fréquence peut être modifiée lorsque plusieurs groupes de robots doivent communiquer dans une
même pièce, par exemple dans une école ou lors d’une compétition, indépendamment les uns des
autres. Tous les robots appartenant à un groupe utilisent la même fréquence. Différents groupes

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

Conditions requises pour la communication radio


Même lorsque deux interfaces échangent directement des messages via les modules RF Data
Link – comme dans le cas des deux robots Tango –, le module radio PC rouge est nécessaire.
Celui-ci sert de « central téléphonique » pour tous les autres modules et doit donc être raccordé à
l’interface USB d’un PC. Le PC doit être allumé et ne peut pas passer en mode veille ou économie
d’énergie pour que le module radio du PC reste en permanence alimenté. Le module radio du PC
doit également être réglé sur la même fréquence que les modules radio des interfaces. Le numéro
d’appel radio du module radio PC est réglé sur 0 et ne peut pas être modifié.
Pour régler la fréquence du module radio PC, raccordez le module PC à l’interface USB du PC.
Vous pouvez alors régler la fréquence via l’onglet Info de la fenêtre de test de l’interface, comme
vous le feriez pour un autre module radio. Si le module radio PC ne peut « joindre » aucune inter-
face dotée d’un module radio intégré – par exemple parce la fréquence n’est pas encore la même
–, vous recevez un message d’erreur lorsque vous ouvrez la fenêtre de test de l’interface. Le
message d’erreur indique cependant uniquement qu’aucune interface n’a été trouvée et que, par
conséquent, aucune entrée ou sortie n’est disponible. Vous pouvez cependant procéder aux
réglages dans la fenêtre Info malgré le message d’erreur.

Sélection des interfaces via le bouton d’interfaces (COM/USB)


Jusqu’ici, vous avez probablement le plus souvent uniquement
travaillé avec une interface ROBO. Dès que vous raccordez au
PC plus d’une interface ROBO ou plus d’un module radio PC
doté de plus d’une interface ROBO joignable par ondes radio,
vous vous demandez à quelle interface doit être connecter
ROBOPRo lorsqu’un programme est démarré en mode Online,
lorsqu’un programme est chargé ou lorsque la fenêtre de test de
l’interface est ouverte. La sélection des interfaces apparaît
lorsque vous appuyez sur le bouton des options de l’interface
(Bouton COM-USB). Si vous y choisissez USB et que ROBOPro
trouve plus d’une interface sur le port USB ou le réseau radio, la
fenêtre de sélection de droite s’ouvre. Dans cet exemple, le
module radio PC d’un RF Data Link est raccordé à l’interface
USB du PC. Le module radio PC a trouvé via les ondes radio
deux interfaces ROBO dotées du RF Data Link ; celles-ci portent les numéros d’appel radio 1 et 2.
Dans cette fenêtre, vous pouvez choisir laquelle des deux interfaces doit être utilisée pour les
opérations futures. En règle générale, vous sélectionnez ici une des interfaces et non le ROBO RF
Data Link.
Si vous sélectionnez le RF Data Link comme représenté en haut de l’illustration, ROBOPro se
connecte à l’interface dont le numéro d’appareil radio est le plus petit, 1 dans notre exemple. Il
existe cependant une différence importante : Lorsque vous choisissez le RF Data Link lui-même,
les paramètres de l’onglet Info de la fenêtre de test de l’interface se rapportent au module radio du
PC, et non au module radio de l’interface connectée par ondes radio. Vous pouvez ainsi – par
exemple – modifier la fréquence des deux modules radio des interfaces et du module radio du PC
via les ondes radio sans devoir raccorder les interfaces au PC au moyen du câble USB. Pour ce
faire, sélectionnez tout d’abord une des interfaces au moyen du bouton COM/USB, modifiez la
fréquence dans la fenêtre de test de l’interface et fermez la fenêtre de test de l’interface. Si vous
appuyez alors à nouveau sur le bouton COM/USB, l’interface dont vous avez modifié la fréquence
disparaît de la liste car elle ne peut plus être « jointe » par le module radio du PC. Sélectionnez
alors la seconde interface et modifier la fréquence. Si vous appuyez à nouveau sur le bouton

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.

4.5.2 Paramètres Bluetooth pour le TXT ou le TX Controller

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

Contrôleur 2 Contrôleur 3 Contrôleur 4 Pour assurer l’échange d’informations


entre trois contrôleurs ou plus, on utilise
une topologie en étoile. L’un des
contrôleurs joue alors le rôle de Central de communication, tel qu’indiqué dans l’illustration à
gauche. Lorsque le contrôleur numéro 2 souhaite échanger des informations avec le numéro 3, les
messages passent par le central de communication. Le choix du contrôleur jouant le rôle de
central de communication est souvent sans importance. Dans le cas des robots mobiles qui
risquent de se trouver hors de la portée du signal radio, ce choix peut toutefois s’avérer important.
Cette option peut également être configurée dans la fenêtre des paramètres Bluetooth. Un autre
aspect important réside dans la difficulté et le manque de fiabilité de la liaison online établie avec
le central de communication. Ceci est dû au fait que le PC joue le rôle de central pour la liaison
online, et que le contrôleur principal représente le central de communication pour certaines
connexions Bluetooth, alors qu’il ne l’est pas pour d’autres. Comme dit précédemment, cela
fonctionne, mais les temps d’établissement de la connexion sont nettement plus longs.

52
F
ROBOPro

Où sont enregistrés les différents paramètres ?


Les données de sélection des contrôleurs (cases cochées au début des lignes) et d’affectation des
programmes ROBOPro aux contrôleurs sont contenues dans un programme ROBOPro. En cas
d’un téléchargement multiple, tous les programmes reprennent les paramètres Bluetooth du
programme depuis lequel le téléchargement a été lancé. Par contre, les données d’attribution des
numéros d’appel radio aux Controllers sont sauvegardées sur le PC au lieu d’être enregistrées
dans le programme ROBOPro. Ainsi, il devient plus facile de remplacer les programmes ROBOPro
par d’autres.

53
F
ROBOPro

5 Niveau 3: Variables, Panneau de commande et Cie

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.

5.1 Variables et commandes


Une variable est un élément pouvant
afficher un chiffre. Introduisez un Nom
dans la fenêtre de propriétés ; celui-ci doit
donner des indications sur le type de
chiffe enregistré dans la variable. Dans le champ Valeur initiale,
vous pouvez indiquer quel chiffre doit être enregistré dans la
variable au début du programme. Dans le champ Type de
donnée vous pouvez choisir si la variable doit être un chiffre
entier (p. ex. 1, 2 ou 3) ou un chiffre décimal, également nom-
mé chiffre à virgule flottante (p. ex. 1,3457). Nous n’utilisons
que des chiffres entiers pour commencer. Le réglage de la
Durée de vie sera expliqué au chapitre 8.4.2 Variable locale à
la page 99)
Le réglage Type de variables est expliqué au point 8.4.2 Variable locale à la page 99).
Le chiffre enregistré dans la variable peut être modifié en envoyant des ordres à cette variable.
Une variable comprend 3 ordres différents : =, + et –. La commande = remplace le chiffre enregis-
tré par un nouveau chiffre. Les commandes + et – ajoutent ou soustraient quelque chose au chiffre
enregistré.

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

Le croisillon à l’entrée du musée actionne le bouton-poussoir sur I1, le croisillon à la sortie du


musée actionne le bouton-poussoir sur I2. Dès que I1 est actionné, le programme envoie une
commande + 1 à la variable Compteur. Le programme attend ensuite que le bouton-poussoir sur
I1 soit à nouveau relâché. Il se passe la même chose avec le bouton-poussoir sur I2 ; dans ce cas,
une commande – 1 est envoyée à la variable Compteur. A chaque fois que le compteur change,
l’état du compteur est contrôlé. Lorsque la variable Compteur a une valeur > 0, la lampe d’alarme
rouge sur M1 s’allume, dans le cas contraire, elle est éteinte.
Reproduisez maintenant le programme représenté ci-dessus et testez-le. Dès que vous appuyez
sur le bouton-poussoir sur I1 et que vous le relâchez, la lampe d’alarme sur M1 s’allume. Si vous
actionnez le bouton-poussoir sur I2, elle s’éteint à nouveau. Si vous actionnez I1 à plusieurs
reprises, I2 doit être actionné autant de fois pour que la lampe d’alarme s’éteigne. Essayez de voir
ce qu’il se passe si 5 visiteurs arrivent, que 2 s’en vont et que 3 arrivent à nouveau. Combien de
fois devez-vous alors actionné le bouton-poussoir I2 pour que la lampe d’alarme s’éteigne à nou-
veau ?

5.2 Variables et procédures multiples


Peut-être avez-vous remarqué en testant le compteur de visiteurs qu’un problème survenait lors-
que I1 et I2 étaient actionné en même temps. Tant qu’un des boutons-poussoirs est enfoncé, le
programme ne peut pas réagir aux autres boutons-poussoirs. Après que les visiteurs soient pas-
sés respectivement par les croisillons d’entrée et de sortie au même moment, il y a des problèmes
de comptage. Vous pouvez corriger ces erreurs en utilisant plusieurs procédures en parallèle.
Jusqu’ici tous les programmes n’avaient qu’un seul élément de démarrage. Vous pouvez cepen-
dant utilisez plusieurs éléments de démarrage. Tous les déroulements ayant un élément de
démarrage propre seront alors traités en parallèle. Les spécialistes parlent alors de Procédures
parallèles. Cette technique vous permet de modifier le programme du compteur de visiteurs
comme suit :

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.

5.3 Panneaux de commande


Après avoir résolu le problème de l’exposition, le directeur du musée a encore une nouvelle mis-
sion pour vous : Il aimerait savoir combien de visiteurs visitent son musée par jour. Un programme
capable de compter n’est plus un problème pour vous, mais comment afficher une valeur ? Bien
entendu, vous pourriez lancer le programme en Mode Online et montrer au directeur du musée sur
quelle variable il peut contrôler la valeur. Mais pour un profane comme le directeur du musée, c’est
encore fort compliqué. Il lui faut quelque chose de plus simple !
Pour de telles situations, vous trouverez des panneaux de commande dans ROBO Pro. Un pan-
neau de commande est une page propre sur laquelle vous pouvez placez des affichages et des
boutons de commande. Chargez le programme du compteur de visiteurs et basculez vers Pan-
neau de commande dans la barre de fonctions.

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à.

Pour le compteur de visiteurs, prenez un Affichage textuel (peu


importe la couleur) dans la fenêtre d’éléments Eléments de com-
mande / Affichages et placez-le dans le panneau de commande.
Le nombre de visiteurs du musée doit maintenant être affiché dans cet affichage.
Vous devez cependant ajouter une seconde variable à votre programme ; cette variable doit
compter le nombre de visiteurs à l’entrée sans supprimer les visiteurs à la sortie. Pour ce faire,
basculez à nouveau sur Fonction et ajouter la variable Général comme suit :

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.

Maintenant vous avez un affichage textuel dans le panneau de commande


et une variable que vous aimeriez afficher dans cet affichage. Comment
relier les deux ? Etant donné que l’affichage textuel et la variable se trou-
vent sur deux pages différentes, il serait difficile de relier les deux au moyen
d’une ligne. C’est pourquoi il existe un élément spécial transmettant la valeur devant s’afficher sur
le panneau de commande à l’affichage correspondant. L’élément représenté ci-dessus Sortie du
panneau de commande se situe à la fin du groupe Entrées, Sorties. Ajoutez donc une sortie du
panneau de commande à votre programme à côté de la variable Général et reliez le raccordement
droit de la variable au raccordement gauche de la sortie du panneau de commande.
Etant donné que vous aurez généralement plus
d’un affichage dans un panneau de commande,
vous devez également signaler à la sortie du
panneau de commande vers quel affichage il
doit envoyer les valeurs de la variable. Vous
pouvez le faire très simplement via la fenêtre de
propriété de l’élément. Si vous cliquez avec le
bouton droit de la souris sur la sortie du pan-
neau de commande, vous voyez une liste de
sélection reprenant tous les affichages déjà
insérés dans le panneau de commande. Etant
donné que chaque sous-programme peut avoir
un panneau de commande propre, les pan-
neaux de commande sont classés par sous-
programmes. Dans notre exemple, il n’y a pas de sous-programme, seulement un programme
principal. Dans celui-ci, il y a un affichage avec le nom Texte. Sélection-
ner celui-ci et cliquez sur OK.
Dès que vous avez raccordé la sortie du panneau de commande avec
l’affichage, le symbole change, tout comme l’inscription. La sortie du panneau de commande que
nous avons utilisée établit une liaison avec l’affichage textuel nommé Texte dans le (sous-
)programme PRINCIPAL.
Après avoir inséré la sortie du panneau de commande et l’avoir reliée avec l’affichage textuel ;
votre programme est semblable à ceci :

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.

5.5 Entrées de commande pour sous-programme


Comme toujours, votre programme fonctionne et Fischertechnik se réjouit car toutes les maquettes
du musée vont être équipées avec ROBO Interface. Malheureusement, les caisses du musée sont
vides, comme c’est souvent le cas dans les institutions publiques. Le directeur aimerait donc
acquérir le moins de ROBO Interface possible. Une ROBO Interface a en effet quatre sorties
Moteur et suffisamment d’entrées pour commander quatre maquettes. Etant donné que la plupart
des maquettes ne peuvent tourner que dans un sens, vous pouvez commander jusqu’à 8 ma-
quettes via les sorties unipolaires O1 à O8.
Le directeur du musée économise ainsi beaucoup d’argent. Pour ce faire, vous devez maintenant
copier le programme 7 fois et adapter les entrées et sorties. Est-ce bien sûr ? Ne serait-il pas
possible de faire ça avec des sous-programmes ?
Cela pourrait être possible, mais un problème se poserait alors : Si
vous utilisez des requêtes envoyées aux interrupteurs et les éléments
Moteur usuels du groupe Eléments de fond dans votre sous-
programme, chaque appel du sous-programme envoie une requête au

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 :

Programme principal Sous-programme Time

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.

5.6 Listes (Arrays)


Après que toutes les maquettes du musée aient été équipées avec votre système économique de
commande, le problème suivant du directeur du musée ne se fait pas attendre : Une des pièces
dans laquelle se trouvent d’antiques pièces de collections de très grande valeur a connu ces
derniers temps des variations de température pouvant endommager les œuvres. Vous supposez
bien que ce problème est dû au rayonnement du soleil. Pour pouvoir contrôler cette relation, vous
devez fabriquer un appareil enregistrant la luminosité et la température. ROBO Interface dispose
de plusieurs entrées analogiques et vous savez déjà comment il est possible d’enregistrer des
valeurs au moyen de variables. Tout ceci ne devrait pas poser problème... Pour enregistrer deux
valeurs toutes les 5 minutes pendant 12 heures, 288 variables sont nécessaires ! Votre pro-
gramme serait alors énorme et peu clair. Est-il possible de simplifier tout cela avec des sous-
programmes ? Oui, mais il y a une bien meilleure façon d’y arriver : L’élément Liste (les program-
meurs appellent ça un „Array“).
Dans une liste, il n’est pas seulement possible d’enregistrer une valeur, mais bien toute une
liste de valeurs. Au début, la liste est généralement vide. Si vous envoyez une commande
Attacher à l’entrée de données en haut à gauche avec la description S, la valeur donnée
dans cet élément de commande est attachée à la fin de la liste. La longueur maximale de la liste
peut être réglée entre 1 et 32767 via la fenêtre de propriétés de l’élément Liste. Le programme
d’enregistrement de la température et de la luminosité est ainsi très simple :
Le capteur de température est raccordé à
l’entrée analogique AX et le capteur de lumi-
nosité, à l’entrée analogique AY. Le
programme lit les deux valeurs en boucle
toutes les 5 minutes et les ajoute à une liste
via la commande Attacher.

Nota Bene: Lors de l’ajout de l’élément de


commande, vous devez activer l’option En-
trée de données pour la valeur de
commande dans la fenêtre de propriétés.
Une entrée de données apparaît alors sur la
gauche de l’élément de commande ; vous
pouvez alors y raccorder une entrée analo-

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

6 Niveau 4 : Commandes définies par l’utilisateur

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.

6.1 Traitement des commandes dans une procédure


Vous avez certainement déjà écrit un programme commandant un robot sur deux roues ou un
véhicule chenillé. Peu importe que le véhicule doive aller à gauche, à droite, tout droit, reculer ou
avancer, vous devez envoyer aux deux moteurs des commandes Droite, Gauche ou Stop. Vous
deviez alors toujours savoir quel moteur actionnait la roue gauche et quel moteur, la roue droite et
si le moteur devait tourner vers la gauche ou vers la droite pour que le véhicule avance. Cepen-
dant, les personnes aussi intelligentes que nous ont toujours des tas d’idées en tête, et ne se
soucient pas de tels minuscules détails.
Ce problème peut bien entendu être résolu en créant des sous-programmes pour chaque opéra-
tion ; il serait cependant plus élégant de pouvoir créer un sous-programme possédant à la fois une
entrée et une sortie de commande et ne devant donc plus envoyer que des commandes « vers
l’avant », « vers l’arrière », « gauche », « droite » et « stop » pour commander correctement les
deux moteurs.
Vous allez maintenant sans doute dire qu’il existe dans les éléments de com-
mande de ROBOPro une commande « gauche » et une commande « droite »,
mais aucune commande « vers l’avant » ou « vers l’arrière ». Mais nos bons
vieux éléments de commande peuvent toujours vous suspendre. Pour le plaisir,
vous allez maintenant créer un nouveau programme : intégrez un élément de
commande au choix dans le programme principal et indiquez simplement « avant » dans la fenêtre
de propriétés de la commande. Vous constaterez alors... que ça fonctionne !
La question suivante est celle-ci : Que faire avec un tel élément de commande ? Aucun élément
ne peut en effet traiter de telles commandes. Si vous envoyez par exemple la commande « vers
l’avant » à une sortie Moteur et essayez de démarrer le programme, ROBOPro vous indique «
Aucune entrée raccordée ne peut traiter la commande « vers l’avant » ». A partir du niveau 4, vous
disposez de deux éléments totalement insignifiants, mais très performants pouvant traiter les
commandes les plus variées : les éléments « Attendre une commande » et « filtre de commande ».
Vous trouvez ces deux éléments à la fin du groupe d’éléments Envoyer, recevoir.
Grâce à ces deux éléments, il est possible de développer un sous-
programme grâce auquel vous pourrez commander un robot à deux
roues via les commandes « avant », « arrière », « droite » et «
gauche ». Essayez tout d’abord avec l’élément « Attendre une
commande ». Vous pouvez envoyer des commandes au choix à
cette élément grâce à l’entrée de commande C. L’élément attend
cependant toujours uniquement une commande bien particulière-
ment que vous aurez définie. Lorsque l’élément reçoit cette
commande, le déroulement du programme se branche sur la sortie O ; dans le cas contraire, il se

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.

6.2 Filtre de commande


Le problème du point précédent peut également être résolu avec le filtre de
commande. Le filtre de commande permet de « renommer » les commandes.
Lorsqu’une commande particulière est envoyée à l’entrée de gauche,
l’élément envoie une autre commande aux éléments raccordés à la sortie de
droite ; la valeur de cette commande est cependant la même que celle de la commande reçue à
l’entrée. Il est ainsi possible de transformer, par exemple, une commande = en un commande pour
le moteur, telle que « à droite » ou « à gauche ». Le filtre de commande permet également tout
particulièrement de transformer des commandes propres au choix en commandes standard RO-
BOPro de sorte que des commandes propres permettent de déclencher une action.

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

6.3 Envoyer des commandes au choix aux sous-programmes


Au point 5.5 Entrées de commande
pour sous-programme, page 62, vous
avez découvert les entrées de com-
mande des sous-programmes. Vous
avez alors seulement raccordé des
éléments d’entrées digitales et analo-
giques aux entrées de commande. De
tels éléments envoient toujours une
commande = lorsque la valeur de
l’entrée change. Si vous souhaitez
envoyer une autre commande à une
entrée de commande d’un sous-
programme, vous devez l’indiquer
dans la fenêtre de propriétés de l’entrée de commande. A partir du niveau 4, une nouvelle option
Type de transmission est ajoutée à la fenêtre de propriétés.
Si vous choisissez ici Uniquement commandes =, vous pouvez uniquement envoyer des com-
mandes = à l’entrée correspondante d’un appel du sous-programme. La dernière commande =
sera également répétée automatiquement lorsque le sous-programme démarrera. Dans le cas
contraire, l’entrée du sous-programme n’aurait pas la bonne valeur au démarrage du sous-
programme. Imaginez-vous qu’un élément Entrée digitale est raccordé à l’entrée du sous-
programme. Ces éléments envoient uniquement des commandes lorsque la valeur à l’entrée de
l’interface est modifiée. Lorsqu’une entrée est fermée, l’élément Entrée digitale envoie une com-
mande « = 1 ». Lorsque le sous-programme démarre après l’envoie de la commande, il est
important que la commande soit à nouveau envoyée après le démarrage du sous-programme.
Dans le cas contraire, la valeur de l’entrée serait erronée jusqu’à ce que la valeur de l’élément
raccordé à l’entrée du sous-programme soit à nouveau modifiée.
Cet envoi automatiquement peut cependant également poser problème et n’est pas recommandé
pour la plupart des commandes. Lorsque – par exemple – vous envoyez une commande « Start »
ou une commande « +1 » à un sous-programme, vous ne souhaitez généralement pas que celle-ci
se répète automatiquement. Les commandes ne sont donc pas envoyées à plusieurs reprises
lorsque vous sélectionnez l’option Commandes au choix.

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

7 Commander plusieurs Interfaces


Avec ROBO TX Controller, vous pouvez commander des maquettes relativement compliquées.
Cependant, pour certains d’entre vous, il faut aller encore plus loin. Si vous n’êtes pas satisfait
avec les entrées et sorties existantes, vous pouvez raccorder jusqu’à 8 autres ROBO TX Con-
troller via la fiche d’extension à 6 broches. Et ceux, qui utilisent encore l’ancienne version ROBO
Interface, disposent de la possibilité de commander jusqu’à 3 ROBO Interface (chacune dotée de
3 extensions I/O) en Mode Online au départ d’un programme.

7.1 Commander les extensions


Peut-être avez-vous déjà remarqué dans les fenêtres de
propriétés des éléments d’entrée et de sortie la liste de
sélection du champ Interface / Extension. Vous pouvez y
choisir sur quelle Interface ou sur quel Module
d’Extension se trouve l’entrée ou la sortie utilisée. Si vous
n’avez pas procédé à un autre réglage (voir point suivant),
la liste comprend les entrées suivantes :
• IF1: Il s’agit du ROBO TX Controller en soi, que
vous pouvez raccorder comme Master à votre PC
• EM1..EM8: Il s’agit des modules d’extension du
ROBO TX Controller à raccorder au Master
Il est donc très facile d’utiliser des modules d’extension.
Tout ce que vous devez faire est de choisir le Controller souhaité (Master ou Extension de 1 à 8)
pour les entrées et sorties. Le mode d’emploi du ROBO TX Controller contient toutes les informa-
tions utiles pour le réglage du ROBO TX Controller en tant qu’extension.

7.2 TXT Controller, TX Controller et ROBO Interface mélangés


La commande simultanée d'un ROBOTICS TXT Controller, d'un ROBO TX Controller et d'une
ROBO Interface au départ d'un programme ne fonctionnement qu'en mode Online. Vous pouvez,
p.ex., raccorder un ROBO TX Controller avec 8 extensions sur USB. En plus, vous raccordez un
ROBO Interface sur COM1 ou USB. Cette Interface peut être équipée d’au plus 3 ROBO I/O-
Extensions. Et parce que tout ceci est loin ce vous satisfaire, vous vous servez également d'un
ROBOTICS TXT Controller avec extension. Afin de pouvoir définir quelle Interface doit être utilisée
dans la fenêtre de propriétés des entrées et sorties, vous devez adapter l’attribution de l’Interface.
Tant que vous ne modifiez par les réglages, vous trouverez les entrées IF1, EM1-EM8 dans les
listes de sélection des entrées et sorties Interface / Extension. Vous pouvez également modifier
ou compléter la liste, et ce, pour plusieurs raisons :
• Pour avoir un meilleur aperçu, vous souhaitez donner un nom autre que IF1 ou EM1 aux
modules ; ce nom reprend la partie de votre machine ou de votre robot commandée par le
module.
• Vous aimeriez permuter deux modules d’extension (par exemple, EM1 et EM2) car ce serait
plus facile pour raccorder le câble, mais ne voulez pas modifier votre programme.
• Vous aimeriez lancer un programme conçu pour ROBO TX Controller avec plus de 3 exten-
sions, avec plusieurs ROBO Interface.

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 :

Vous voyez ici quel module (Master ou Extension)


a reçu les noms IF1 à EM8. Vous pouvez ajouter
une nouvelle Interface avec le bouton Nouveau.
Si vous voulez modifier une entrée de la liste,
sélectionnez-la et cliquez sur Traiter. Dans les
deux cas, la fenêtre suivante apparaît :
• Dans le champ Nom, vous pouvez modifier
le nom du module. Le nom ne doit pas être
trop long car la place du nom de l’Interface
est très petite dans les symboles graphiques.
Si vous modifiez le nom, vous devez égale-
ment modifier le nom du module dans tous
les éléments d’entrée et de sortie utilisant ce
nom.
• Dans le champ Extension, vous pouvez
définir si le nom se rapporte à une Interface
ou à un des modules d’extension 1 à 8.
• Dans le champ Interface, vous pouvez
sélectionner à quelle interface l’Interface est
COM/USB raccordée. Si vous introduisez Sélection de
l’utilisateur, l’interface que vous avez sélectionnée sous COM/USB dans la barre d’outils est
utilisée. C’est le plus simple tant que vous souhaitez utiliser un ROBO TX Controller avec
plusieurs modules d’extension, parce que ceci permet aussi à quelqu’un d’autre d’utiliser
votre programme sans effectuer de modifications. Si vous raccordez également ROBO Inter-
face via USB à votre PC, vous devez le régler sur l’interface à lequel il sera effectivement
raccordé.
• Dans le champ Interface, vous pouvez choisir l’interface que vous voulez raccorder. Si vous
souhaitez utiliser une ancienne ROBO Interface ou Intelligent Interface, l’interface sérielle du
programme peut automatiquement reconnaître de quelle Interface il s’agit (Sélection Auto-
matique).

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.

7.3 Attribution des Interfaces dans les sous-programmes


Normalement, toutes les attributions des Interfaces de votre programme se font dans la fenêtre de
propriétés du Programme principal. Vous pouvez cependant également introduire des attributions
d’Interfaces dans des sous-programmes. Dans le sous-programme, vous pouvez alors utiliser les
attributions d’Interface du sous-programme et du programme principal. Lorsque deux attributions
ont le même nom, l’attribution du sous-programme est prépondérante. Vous pouvez ainsi définir si
vous voulez qu’IF1 accède à l’Interface principale dans le programme principal et que, dans un
sous-programme particulier, IF1 se rapporte à un module d’extension. C’est très pratique lorsque
vous souhaitez commander tout un parc de machines dans lequel chaque machine est comman-
dée par une Interface propre. Vous pouvez ainsi développer les commandes des différentes
machines dans des programmes indépendants ; chaque programme principal accède alors à IF1.
Vous pouvez ensuite regrouper tous les programmes principaux des machines en tant que sous-
programmes dans un programme global. Dans le programme global, vous devrez alors seulement
modifier les attributions des Interfaces, mais pas les noms de chaque entrée et sortie.

77
F
ROBOPro

7.4 Trucs & Astuces


Si vous désirez lancer un programme – conçu
pour ROBO Interface avec 3 modules d’extension
– sur 2 Intelligent Interfaces avec à chaque fois un
module d’extension, vous pouvez utiliser
l’attribution d’Interface représentée ici. Les mo-
dules d’extension 2 et 3 sont alors remplacés par
une autre Intelligent Interface avec un module
d’extension sur COM2.

7.5 Modifier le numéro de série de l’interface du ROBO Interface


Généralement, tous les ROBO Interfaces et ROBO I/O-Extensions sont livrées avec le même
numéro de série. Tant que vous n’utilisez qu’un ROBO Interface sur votre ordinateur, cette solution
est très pratique, car, ainsi, toutes les Interfaces sont semblables pour l’ordinateur et il n’y a pas de
problème lorsque vous changez d’Interface. Cependant, si vous souhaitez utiliser plus d’une
Interface sur un ordinateur via une interface USB, vous devrez tout d’abord modifier le numéro de
série de l’Interface, afin que l’ordinateur différencie les Interfaces et puissent les appeler. Si vous
envoyer une requête à l’Interface via plusieurs interfaces sérielles, ceci n’est pas nécessaire.
Pour modifier le numéro de série, suivez les étapes suivantes :
• Raccordez l’Interface individuelle au bus USB de l’ordinateur.
• Servez-vous sur bouton Environnement de la barre d’outils pour basculer dans la program-
mation des périphériques d’environnement pour ROBO Interface.
• Appuyez sur le bouton COM/USB de la barre d’outils et sélectionnez l’interface USB.
• Ouvrez la fenêtre du test de l’Interface via le bouton Test de la barre d’outils et basculez vers
COM/USB
l’onglet Info :
• Dans le champ Type d’Interface s’affiche
Test le type d’Interface, par exemple ROBO In-
terface ou ROBO I/O Extension.
• Dans le champ Numéro de Série USB,
vous pouvez introduire le numéro de série
que l’Interface utilisera au démarrage.
Chaque Interface contient deux numéros
de série incorporés, un Numéro de série
standard – 1 tant que vous n’introduisez
pas un autre numéro – et un Numéro de
série défini que vous ne pouvez pas mo-
difier et qui est différent pour chaque
Interface. La façon la plus simple d’utiliser
plusieurs Interfaces sur le bus USB est de
régler le bouton de sélection de chaque In-
terface sur Utiliser le Numéro de série
défini. Chaque Interface aura donc avec
certitude un numéro de série propre, inchangeable. Si vous utilisez beaucoup d’Interfaces

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.

• Dans le champ Actualiser le microprogramme, vous pouvez enfin actualiser le programme


de commande interne de votre ROBO Interface dans le cas où Fischertechnik proposerait
une nouvelle version du microprogramme de l’Interface.

79
F
ROBOPro

8 Aperçu des éléments du programme


Touts les éléments de programme disponibles dans ROBO Pro sont organisés dans la suite en
Groupes d’éléments et décrits dans l’ordre dans lequel ils apparaissent dans la fenêtre d’éléments.

8.1 Eléments fondamentaux (Niveau 1)

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.

8.1.3 Branchement digital


Ce branchement vous
permet de diriger le dérou-
lement du programme dans
deux directions indépen-
damment du statut des
entrées digitales I1 à I8. Si,
par exemple, un interrupteur est fermé sur l’entrée
digitale (=1), le programme se branche sur la
sortie 1. Si, au contraire, l’interrupteur est ouvert
(=0), le programme se branche sur la sortie 0.
Si vous cliquez avec le bouton droit de la souris
sur l’élément, la fenêtre de propriétés s’affiche :
• Les boutons I1 à I8 vous permettent de
choisir à quelle entrée universelle du ROBO
TX Controller doit être envoyée la requête.
• Les boutons C1D-C4D sont destinés à la

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.

8.1.4 Branchement analogique


Outre les entrées analo-
giques, ROBO Interface
possède 6 entrées analo-
giques, 2 entrées de
résistance AX et AY, 2 en-
trées de tension A1 et A2 et
deux entrées pour des cap-
teurs d’espacement D1 et D2. Avec ces branchements,
vous pouvez comparer la valeur d’une entrée analogique
avec un nombre fixe et, selon que la comparaison est
bonne ou non, la brancher sur une sortie Oui (J) ou Non
(N).
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 Entrée analogique, vous pouvez
choisir l’entrée du ROBO TX Controller à laquelle
une requête sera envoyée.
• Dans le champ Interface / Extension, vous pouvez
choisir si vous désirez 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 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.

81
F
ROBOPro

Capteur Nature de l’en- Valeur affichée


trée
Résistance NTC Analogique 0-5000 Ohm
photorésistance 5kOhm
Capteur chroma- Analogique10V 0-10000 mV
tique
Capteur Distance 3-400 cm
d’espacement
ultrasonique (Ver-
sion TX Art. n°
133009 avec 3 fils
de câble)
• Des informations complémentaires quant aux différentes entrées analogiques vous sont
données au chapitre 8.7.1 Entrée universelle à la page 110.
• Dans le champ Condition, vous pouvez sélectionner un opérateur de comparaison comme
plus petit (<) ou plus grand (>) et introduire la valeur de comparaison. La valeur de comparai-
son doit être comprise entre 0 et 1023. Si vous lancez un programme avec un branchement
pour des entrées analogiques en Mode Online, la valeur analogique actuelle s’affiche.
• Dans le champ Permuter les raccordements J/N, vous pouvez permuter les positions des
sorties 1 et 0 du branchement. Normalement, la sortie Oui (J) se trouve en bas et la sortie
Non (N), à droite. Il peut être pratique d’avoir une sortie Oui à droite. Appuyez sur Permuter
les raccordements J/N ; les raccordements J et N seront alors inversés dès que vous fer-
merez la fenêtre en cliquant sur OK.

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

Jusqu’à 500 heures 1 minute

8.1.6 Sortie Moteur


L’élément de programme Sortie Moteur permet de connecter une des
sorties bipolaires M1-M4 de l’Interface. Les sorties de l’Interface
peuvent aussi bien être utilisées pour des moteurs que pour des
lampes ou des électroaimants. Pour les moteurs, la vitesse et le sens
de rotation peuvent être définis.
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 Sortie Moteur, vous pouvez régler
laquelle des quatre sorties Moteur M1 à M4 doit être
utilisée.
• Dans le champ Interface / Extension, vous pouvez
choisir si vous souhaitez utiliser une sortie 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 Comman-
der plusieurs interfaces à la page 75.
• Dans le champ Image, vous pouvez sélectionner
une image qui représentera l’élément Fischertechnik
raccordé à la sortie.
• Dans le champ Action, vous pouvez régler comment la sortie doit être influencée. Vous
pouvez faire tourner un moteur vers la gauche ou vers la droite, ou encore le stopper. Si vous
raccordez une lampe à une sortie Moteur (voir Astuce sous Sortie Lampe), vous pouvez al-
lumer ou éteindre celle-ci.
• Vous pouvez finalement définir une Vitesse ou une Intensité entre 1 et 8. 8 est la plus
grande vitesse, luminosité ou force magnétique, et 1, la plus petite. Pour l’arrêt ou
l’extinction, vous ne devez évidemment pas définir de vitesse.
Voici les symboles de quelques actions et images :

Moteur à droite Moteur à gauche Arrêt du Moteur

Allumer la Lampe Eteindre la lampe

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.

8.1.7 Moteur codeur (niveau 1)


L’élément de programme Moteur codeur est disponibles à partir du niveau 1 en vue d’une com-
mande conviviale des moteurs à générateur d’impulsions (codeur) intégrée.
Cet élément permet de déplacer un moteur
d’un nombre d’impulsions prédéterminé ou de
synchroniser le déplacement de deux moteurs,
avec ou sans spécification d’une distance. Un
clic avec le bouton droit de la souris sur cet
élément affiche la fenêtre de propriétés :
• Choisissez sous Action si vous voulez
déplacer un moteur sur une certaine dis-
tance (Espacement), deux moteurs à
une vitesse identique (Synchrone) ou
deux moteurs sur une certaine distance
à une vitesse identique (Distance de
synchronisation). Sélectionnez l’action
Stop pour annuler ces actions ou pour
arrêter le moteur.
• Choisissez les sorties moteur, qui
doivent agir sur cette action sous Sortie
du moteur 1/2. Vous pouvez choisir un ou deux moteurs selon l’action à effectuer.
• Sous Interface / Extension, vous pouvez décider de l’utilisation d’une sortie du Master ou
d’une sortie d’un module d’extension. Si l’action commande 2 moteurs, les deux sorties mo-
teur doivent être raccordées à la même interface. De plus amples informations vous sont
données au chapitre 7 Commander plusieurs interfaces à la page 75.
• Vous réglez la direction de déplacement des moteurs sous Direction 1/2.
• Vous réglez la vitesse des moteurs sous Vitesse. La vitesse des deux moteurs est identique
si vous voulez commander deux moteurs.
• Vous pouvez entrer le nombre d’impulsions du codeur sous Distance.
De plus amples informations sur l’utilisation de cet élément vous sont données au chapitre 8.1.7
Moteur codeur (niveau 1) à la page 84.

8.1.8 Sortie Lampe (Niveau 2)


L’élément de programme Sortie Lampe vous permet de connecter
une des sorties unipolaires O1-O8 du ROBO TX Controller. Les sor-
ties peuvent soit être utilisées par paire comme Sorties Moteur (voir
plus haut), soit être utilisées de manière isolée comme Sorties Lampe
O1-O8. Contrairement aux Sorties Moteur, les Sorties Lampe n’ont

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.

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 Sortie Lampe, vous pouvez choisir laquelle des
huit sorties O1 à O8 vous voulez utiliser.
• Dans le champ Interface / Extension, vous pouvez choisir si
vous souhaitez utiliser une sortie 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 Com-
mander plusieurs interfaces à la page 75.
• Dans le champ Image, vous pouvez sélectionner une image qui représentera l’élément
Fischertechnik raccordé à la sortie.
• Dans le champ Action, vous pouvez régler comment la sortie doit être influencée. Vous
pouvez allumer ou éteindre une lampe.
• Finalement, vous pouvez aussi régler l’Intensité entre 1 et 8. 8 est la plus grande intensité
ou force magnétique, et 1, la plus petite. Lorsque vous éteignez la lampe, vous ne devez évi-
demment pas régler l’intensité.
Voici les symboles des différentes actions de l’image Lampe :

Allumer la lampe Eteindre la lampe

8.1.9 Attendre une entrée

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.

8.1.10 Compteur d’impulsion

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.

Attention : La commande des Moteurs co-


deurs s’effectue via un élément spécial, qui
freine les moteurs en temps voulu et qui est
plus précis de ce fait. Voir le chapitre 8.1.7 Mo-
teur codeur (niveau 1) à la page 84.

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 Type d’impulsion, vous pouvez choisir quel type d’impulsion doit être comp-
tabilisé. Si vous choisissez 0 -> 1 (croissant), l’élément attend que le statut de l’entrée passe
de ouvert à fermé (0->1) aussi souvent que vous l’avez défini dans le champ Nombre
d’impulsions. Avec 1 -> 0 (décroissant), l’élément attend que le statut de l’entrée passe de
fermé à ouvert aussi souvent que vous l’avez défini dans le champ Nombre d’impulsions.
Avec les engrenages d’impulsions, on utilise souvent la troisième solution : Ici, l’élément
compte aussi bien les modifications 0 -> 1 que les modifications 1 -> 0, de sorte que 8 impul-
sions 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. Vous choisissez une des entrées de comptage via C1D..C4D.
Aucun compteur rapide du matériel ne sera utilisé. La fréquence de comptage maximale at-
teint cependant 100 Hz.
• 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.

87
F
ROBOPro

8.1.11 Boucle de comptage


L’élément Boucle de Comptage vous permet de faire se dérouler une
certaine partie de programme à plusieurs reprises. L’élément Boucle
de Comptage contient un chiffre incorporé. Lorsque la boucle de
comptage passe sur l’entrée =1, le compteur se met sur 1. Lorsque la
boucle de comptage passe sur l’entrée +1, on ajoute 1 au compteur.
Selon que la valeur du compteur est plus grande ou plus petite que la
valeur que vous avez définie, la boucle de comptage se branche sur la
sortie Oui (J) ou Non (N). Vous trouverez un exemple au point 3.6.4
Boucle de comptage à la page 25.
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 Nombre de passages de la boucle, vous
introduisez combien de fois la boucle de comptage doit pas-
ser sur la sortie Non (N) avant que la sortie Oui (J) ne soit
activée. La valeur introduite doit être positive.
• Si vous cliquez sur Permuter les raccordements J/N, les
raccordements J et N seront inversés dès que vous ferme-
rez la fenêtre en cliquant sur OK. En fonction de l’endroit où
se trouve le raccordement J et le raccordement N, la partie de programme répétée se trouve-
ra à droite ou à gauche de la boucle de comptage.

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

8.2 Envoyer, recevoir (Niveau 2-4)


Dans ce groupe d’éléments, vous trouverez des éléments de programme pouvant être utilisés pour
l’envoi et la réception des messages via le ROBO RF Data Link ou via l’interface sérielle de
l’interface ROBO.

8.2.1 Emetteur (Niveau 2)


L’émetteur vous permet d’envoyer une commande ou un message
général, via Bluetooth (via ROBO RF Data Link pour ROBO Interface)
à une autre interface. Plusieurs robots peuvent ainsi par exemple
communiquer entre eux.

Fenêtre de propriétés de l’élément «


Emetteur »
• Sous Envoyer une commande,
vous pouvez indiquer la commande
et – à partir du niveau 3 – la valeur
de la commande. Une commande
se compose d’un nom et d’une va-
leur chiffrée. La valeur chiffrée peut
également être déterminée via une
entrée de données. Pour les noms
de commande n’étant pas sélec-
tionnés dans la liste, seuls les trois
premiers chiffres / lettes sont pris
en compte. Vous pouvez indiquer
plus de trois caractères ; cependant,
« bonjour », « bonsoir » ou « bon-
bon » 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.
• Sous Interface / Elément cible, vous pouvez choisir à quel interface ou élément de pro-
gramme la commande doit être envoyée. Dans la plupart des cas, vous enverrez une
commande à une interface possédant un numéro d’appel radio défini ou à toutes les inter-
faces. A partir du niveau 4, vous avez également la possibilité d’utiliser un groupe entre 10
et 255 comme adresse du destinataire. Les commandes envoyées à un groupe ne sont pas
envoyées à une interface définie possédant un numéro d’appel radio défini, mais bien à des
éléments « Récepteur » dans lesquels le même numéro de groupe est indiqué. Vous pouvez
ainsi – par exemple – définir de qui vient un message en utilisant un autre groupe pour
chaque émetteur. Les numéros de groupes commencent à 10 car les numéros 0 à 9 sont ré-

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.

8.2.2 Récepteur / Branchement à la réception d’une commande


(Niveau 2)
Cet élément est le contraire de l’élément « Emetteur » précédent.
Selon qu’une commande spécifique ait été reçue ou non, l’élément se
branche sur la sortie J ou N.

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.

8.2.3 Récepteur (Niveau 3)


L’élément « Récepteur » décrit au point précédent est essentiellement
conçu pour le niveau 2 ; celui-ci ne peut en effet recevoir que des com-
mandes, et non pas des valeurs de commande. Au niveau 3, l’élément «
Récepteur » peut cependant recevoir des commandes aux choix avec des
valeurs de commande. Pour cet élément, vous ne devez indiquer aucune commande devant être
reçue par l’élément « Récepteur ». L’élément envoie simplement toutes les commandes reçues
aux éléments raccordés à la sortie.

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)

8.2.4 Attendre une commande (Niveau 4)


L’élément « Attendre une commande » est – tout comme l’élément
Récepteur / Branchement à la réception d’une commande (Niveau 2)
– utilisé pour attendre une commande. Cependant, celui-ci n’attend
pas des commandes envoyées par ROBO RF Data Link ou d’autres
interfaces, mais bien des commandes envoyées à l’entrée de com-
mande placée du côté gauche de l’élément. Si vous y raccordez un
Récepteur (Niveau 3), vous obtenez un récepteur de niveau 2.
Cependant, cet élément comporte également une sortie de données, sur la droite. A chaque vous
qu’une commande est reçue et que le déroulement du programme passe sur la sortie O, la valeur
chiffrée envoyée avec la commande est disponible sur la sortie de valeur de la commande V. Les
sorties V et O étant liées, vous ne pouvez pas permuter les sorties O et N pour cet élément. Vous
trouverez un exemple au point 6.1, page 71.
Fenêtre de propriétés pour l’élément « Attendre une commande »
• Sous Commande, vous pouvez sélectionner la commande
que l’élément doit attendre. Vous pouvez également indiquer
une commande propre ; seuls les trois premiers chiffres ou
lettres seront cependant pris en compte. Pour ce faire, consul-
tez la description sous Envoyer une commande au point
8.2.1 Emetteur (Niveau 2), page 89.
• Le réglage concernant la taille du tampon de commandes
ne s’affiche qu’à partir du niveau 5. Comme au niveau 2 « Ré-
cepteur », cet élément retient le nombre de commandes
entrantes. Etant donné que l’élément « Attendre une com-
mande » doit également noter la valeur de la commande pour chaque commande, le nombre
maximum de commandes est cependant limité. Pour les applications courantes, la valeur

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.

8.2.5 Filtre de commande (Niveau 4)


Le filtre de commande permet de « renommer » les commandes. Lorsqu’une
commande particulière est envoyée à l’entrée de gauche, l’élément envoie
une autre commande aux éléments raccordés à la sortie de droite ; la valeur
de cette commande est cependant la même que celle de la commande reçue
à l’entrée. Il est ainsi possible de transformer, par exemple, une commande = en un commande
pour le moteur, telle que « à droite » ou « à gauche ». Vous trouverez un exemple au point 6.2,
page 72.
Fenêtre de propriétés de l’élément « Filtre de commande »
Dans la fenêtre Filtre de commande vous choisissez deux
commandes : la commande telle qu’attendue à l’entrée et la
commande en laquelle celle-ci doit être transformée et
envoyée à la sortie. Vous pouvez également indiquer une
commande propre ; seuls les trois premiers chiffres ou
lettres seront cependant pris en compte. Pour ce faire,
consultez la description sous Envoyer une commande au
point 8.2.1 Emetteur (Niveau 2), page 89.
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.

8.2.6 Remplacer la valeur de la commande (niveau 4)


Cet élément change la valeur de manière similaire au changement du nom
d’une commande dans le filtre de commande (voir section précédente).
Servez-vous du filtre de commande pour créer plusieurs messages avec des
valeurs différentes au départ d’un message. Si vous voulez par exemple
programmer une commande pour une chenille, qui doit comprendre des
commandes telles que gauche, droite ou en avant, vous pouvez vous servir du filtre de commande
pour transformer la commande « gauche » en commande « = » donnée à un élément du moteur et
vous servir de cet élément pour remplacer la valeur de la commande = par 0 ou la valeur négative
et l’envoyer à l’autre moteur. La commande, dont la valeur a été remplacée, est envoyée à l’entrée
B. Vous définissez la nouvelle valeur sur l’entrée W.
Fenêtre de propriétés pour l’élément de remplacement de la
valeur de la commande
• Sous Type de variables pour les entrées vous réglez si
l’entrée W doit retenir la valeur dans les variables locales ou
globales.
• Sous Type de données vous choisissez si la valeur de la
commande (entrante ou sortante) est un chiffre entier ou un
chiffre à virgule flottante. Voir également le Chapitre 13 Calcul
avec des nombres décimaux – arithmétique à virgule flottante

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

• Sous Longueur de données, tu peux choisir si l’élément envoie des données de 8 ou de 16


bits au module I2C. Pour les données de 16 bits, tu peux, comme pour la sous-adresse, dé-
terminer 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 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, sinon,
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.
• Si l’option Laisser ouvert est cochée, l’élément n’envoie à la fin aucun ordre d’arrêt via le
bus I2C. Par ce biais, d’autres données peuvent être envoyées ou lues avec un autre élément
I2C Écriture ou I2C Lecture. Dans la mesure où l’on ne commute pas entre Lecture et Écriture
ou si un ordre de lecture est exécuté avec une sous-adresse, l’adresse d’appareil n’est pas
de nouveau envoyée par les éléments I2C suivants. En cas de commutation entre Lecture et
Ecriture, un redémarrage est effectué au niveau du bus I2C, aucune séquence arrêt-
démarrage. Le bus I2C reste réservé pour le processus actuel, jusqu’à ce que le processus
actuel exécute un élément I2C sans l’option Laisser ouvert. Les autres processus restent blo-
qués tant qu’ils utilisent l’élément I2C.

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

8.3 Sous-programme I/O (Niveau 2-3)


Dans ce groupe d’éléments, vous trouverez les éléments de programme que vous n’utilisez que
dans des sous-programmes.

8.3.1 Entrée du Sous-programme (Niveau 2)


Un sous-programme peut comporter une ou plusieurs entrées du sous-
programme. Via cette entrée, le programme principal ou le sous-programme
d’ordre supérieur fait passer le déroulement du programme sur le sous-
programme. Un pin de raccordement est ajouté sur la partie supérieure du
symbole vert du sous-programme inséré dans le programme d’ordre supérieur pour chaque entrée
du sous-programme. Les raccordements du symbole suivent le même ordre (de gauche à droite)
que les entrées du sous-programme dans le plan de fonctionnement du sous-programme. 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 y donner un nom à l’entrée ; ce nom sera alors affiché sur le symbole. Vous pouvez en lire
plus sur le sujet des sous-programmes au chapitre 4 Niveau 2: Travailler avec des sous-
programmes sur la page 29.

8.3.2 Sortie du sous-programme (Niveau 2)


Un sous-programme peut avoir une ou plusieurs sorties du sous-programme. Via
cette sortie, le sous-programme fait repasser le déroulement du programme au
programme principal ou au sous-programme d’ordre supérieur. Un pin de rac-
cordement est ajouté sur la partie inférieure du symbole vert du sous-programme
inséré dans le programme d’ordre supérieur pour chaque sortie du sous-programme. Les raccor-
dements du symbole suivent le même ordre (de gauche à droite) que les sorties du sous-
programme dans le plan de fonctionnement du sous-programme. 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 y donner un nom à
la sortie ; ce nom sera alors affiché sur le symbole. Vous pouvez en lire plus sur le sujet des sous-
programmes au chapitre 4 Niveau 2 : Travailler avec des sous-programmes à la page 29.

96
F
ROBOPro

8.3.3 Entrée de commande du sous-programme (Niveau 3)


Cet élément vous permet de relier des sous-programmes avec des éléments
d’entrée, comme des interrupteurs dans le programme principal ou dans un
sous-programme de rang supérieur, ou de les alimenter avec des valeurs
provenant d’éléments de variables, comme des coordonnées. Un pin de rac-
cordement est ajouté sur le côté gauche du symbole vert du sous-programme inséré dans le
programme d’ordre supérieur pour chaque entrée de commande du sous-programme. Les raccor-
dements du symbole suivent le même ordre (de haut en bas) que les entrées de commande du
sous-programme dans le sous-programme. L’utilisation de cet élément est expliqué en détail au
point 5.5 Entrées de commande pour sous-programmes sur 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.
• Sous Type de transmission (à
partir du niveau 4), vous pouvez
régler si l’entrée accepte uni-
quement les commandes ’=’ ou
des commandes au choix Vous
devez sélectionner uniquement
les commandes ’=’ si vous vou-
lez raccorder des variables ou
des entrées d’interface à l’entrée
dès l’affichage du sous-
programme. L’entrée du sous-
programme enregistre la valeur
transmise en dernier lieu dans
un tel cas, de manière à ce que la valeur correcte soit disponible dès que le sous-programme
démarre. Si vous choisissez les commandes au choix, vous pouvez également envoyer des
commandes telles que Stop ou d’autres commandes à l’entrée. Ces commandes sont uni-
quement transmises au sous-programme, si le sous-programme respectif est actif. Ceci est
notamment important si le sous-programme comprend par exemple un élément de moteur
auquel vous voulez envoyer des commandes de l’extérieur. De plus amples informations
vous sont données au chapitre 6.3 Envoyer des commandes au choix aux sous-programmes
à la page 74.

8.3.4 Sortie de Commande du sous-programme (Niveau 3)


Cet élément de programme vous permet d’envoyer des commandes, p.e.
gauche, droite, stop, à des moteurs ou à d’autres éléments de sortie se trou-
vant dans le programme principal ou dans un sous-programme de rang
supérieur. Un pin de raccordement est ajouté sur le côté droit du symbole vert
du sous-programme inséré dans le programme d’ordre supérieur pour chaque sortie de com-
mande du sous-programme. Les raccordements du symbole suivent le même ordre (de haut en
bas) que les sorties de commande du sous-programme dans le sous-programme. L’utilisation de

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.

8.4 Variable, Liste, ... (Niveau 3)


Les éléments de programme de ce groupe peuvent enregistrer une ou plusieurs valeurs. Il est
ainsi possible de développer des programmes ayant une mémoire.

8.4.1 Variable (globale)


Une variable peut enregistrer une valeur chiffrée entre -32767 et 32767. La
valeur de la variable est fixée en raccordant un élément de commande = à
l’entrée de commande sur le côté gauche. (Voir point 8.5.1 = (Attribuer) à la
page 104 ). Il est également possible de donner une valeur initiale à la va-
riable via la fenêtre de propriétés ; la variable conservera cette valeur initiale jusqu’à ce qu’elle
reçoive la première commande de modification de la valeur.
ROBO Pro enregistre une seule variable pour tous les éléments de variable ayant le même nom
et dont le Type de Variable est Global. Toutes les variables globales portant le même nom sont
identiques et ont toujours la même valeur, même lorsqu’elles apparaissent dans différents sous-
programmes. Si un de ces éléments de variable est modifié par une commande, tous les autres
éléments de variable portant le même nom seront modifiés. Il existe aussi des variables locales
(voir chapitre suivant) pour lesquelles le système est différent.
Outre la commande =, une variable comprend également les commandes + et –. Si une variable
reçoit, p.e., la commande + 5, elle ajoute la valeur 5 à la valeur de départ. Avec la commande –, la
valeur transmise avec la commande est soustraite de la valeur de départ de la variable.
Attention :
Si la valeur de la variable dépasse les limites de valeur de la variable suite à une commande + ou
–, 65536 est ajouté ou retiré de la valeur de la variable, de sorte que la valeur soit à nouveau
valable. Etant donné que ce comportement n’est généralement pas recommandé, il faut veiller à
ce que cela n’arrive pas.
A chaque fois que la valeur de la variable change, elle envoie une commande = avec la nouvelle
valeur à tous les éléments raccordés à la sortie de commande de la variable. Si vous voulez
observer la valeur d’une variable, vous pouvez raccorder un affichage de panneau de commande
à la sortie de la variable. (Voir point 8.7.6 Entrée du panneau de commande à la page 114).
Voici un aperçu de toutes les commandes pouvant être traitées par l’élément de variable :

98
F
ROBOPro

Commande Valeur Action


= -32767 à Met la valeur de la variable à la valeur transmise avec la com-
32767 mande
+ -32767 à Ajoute la valeur transmise avec la commande à la valeur ac-
32767 tuelle
- -32767 à Soustrait la valeur transmise avec la commande de la valeur
32767 actuelle

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.

8.4.2 Variable locale


Tous les éléments de variables globaux portant le même nom
utilisent une seule et même variable et ont toujours la même valeur.
C’est sans doute ce que vous attendiez et c’est bien entendu ce qui
est pratique avec ce genre d’éléments. Cependant, si vous utilisez
des variables dans des sous-programmes, cela peut vous poser de
gros problèmes. Si votre programme comprend plusieurs procédures en parallèle, un sous-
programme peut être lancé plusieurs fois sur une période. Dans une telle situation, c’est généra-
lement le chaos lorsque le sous-programme utilise la même variable dans toutes ses procédures.
C’est pour cette raison que nous avons créé les Variables locales. Une variable locale se com-
porte presque comme une variable globale, mais il y a une différence : la variable locale n’est
valable que pour le sous-programme dans lequel elle est définie. Même lorsque deux variables
locales dans des sous-programmes différents ont le même nom, ce sont des variables différentes,
indépendantes. Même lorsqu’un sous-programme est lancé plusieurs fois en parallèle par plu-

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.

8.4.4 Variable de Timer


Une Variable de Timer se comporte essentiellement comme une variable. La
différence entre variables normales et statiques existe aussi chez les Va-
riable de Timer. La seule différence vient du fait qu’une Variable de Timer
remet la valeur enregistrée à 0 avec une fréquence déterminée. Dès que la
valeur du Timer est 0, la Variable du Timer s’arrête. Lorsque la valeur du Timer devient négative,
p.e. avec une commande négative, la valeur revient à 0 à l’étape suivante.
La vitesse à laquelle la variable de Timer décompte peut être définie entre 1/1000 de seconde par
palier et 1 minute par palier dans la fenêtre de propriétés. Vous devez garder à l’esprit que la
précision du Timer dépend des paliers définis. Si, p.e., vous définissez votre Timer sur 1 x 10
secondes, la période de 10 secondes suivantes peut se débuter juste après (p.e. déjà après une
seconde) ou seulement après 10 secondes. Le Timer est donc toujours aussi précis que la période
définie. Il vaut donc mieux choisir des périodes de courte durée, comme 10 x 1 seconde ou 100 x
0,1 seconde plutôt que 1 x 10 secondes. Il ne faut choisir une période de une minute que lorsque
le programme doit attendre au moins une heure. Une minute en plus ou en moins n’est alors pas
importante.

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 :

Commande Valeur Action


Attacher -32767 Attache la valeur transmise avec la commande à la fin de la liste. La
à 32767 liste s’agrandit d’un élément. Lorsque la liste atteint sa taille maximale,

101
F
ROBOPro

la commande est ignorée.

Supprimer 0à Supprime le nombre d’éléments donnés à la fin de la liste. La valeur


32767 transmise avec la commande est le nombre d’éléments à supprimer.
Lorsque le nombre est plus grand que le nombre d’éléments de la
liste, tous les éléments de la liste sont supprimés. Si le nombre est 0
ou est négatif, la commande est ignorée.
Permuter 0à Permute l’élément donné avec le premier élément de la liste. La valeur
32767 transmise avec la commande est le numéro de l’élément devant être
permuté.

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.

8.5 Commandes (Niveau 3)


Tous les éléments de programme de ce groupe sont des éléments de com-
mande. Selon leur utilisation, ils peuvent également être appelés Eléments
de communication. Lorsqu’un élément de commande est lancé (c’est-à-dire
quand le déroulement du programme passe dans l’entrée bleue de l’élément
située sur le dessus de celui-ci), l’élément de commande envoie une com-
mande ou une communication à l’élément raccordé à sa sortie gauche. Il existe plusieurs com-
mandes comme droite, gauche, stop, ayant des effets différents sur l’élément raccordé.
Généralement, les éléments raccordés ne comprennent que peu de commandes. Pour chaque
élément de programme, il existe une liste reprenant les commandes qu’ils comprennent et les
effets de ces commandes. La plupart des commandes sont accompagnées d’une valeur. Une
commande Droite est par exemple accompagnée d’une vitesse entre 1 et 8. Une commande Stop
n’aura pas de valeur.

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.

8.5.10 Attacher une valeur


La commande Attacher est une commande spéciale pour les éléments Liste.
Voir point 8.4.5 Liste à la page 101. Cette commande transmet une valeur
qui est ensuite attachée à la fin de la liste. Si la liste est déjà pleine, la com-
mande est ignorée.

8.5.11 Supprimer une (des) valeur(s)


La commande Supprimer est une commande spéciale pour les éléments
Liste. Voir point 8.4.5 Liste à la page 101. Cette commande permet d’effacer
un certain nombre d’éléments à la fin d’une liste. Le nombre voulu est trans-
mis avec la commande sous la forme d’une valeur. Si la valeur transmise est
plus grande que le nombre d’élément de la liste, tous les éléments de la liste
seront supprimés. Pour effacer totalement une liste, il est possible d’envoyer une commande
Supprimer avec la valeur maximale possible de 32767 à un élément de liste.

8.5.12 Permuter des valeurs


La commande Permuter est une commande spéciale pour les éléments Liste.
Voir point 8.4.5 Liste à la page 101. Cette commande permet de permuter un
élément quelconque de la liste avec le premier élément de cette liste. Le
numéro de l’élément avec lequel le premier élément doit être permuté est
transmis avec la commande sous la forme d’une valeur. Attention : le pre-
mier élément d’une liste porte le numéro 0. Lorsque la valeur transmise n’est pas un numéro
d’élément valable, la commande est ignorée par l’élément Liste.

8.6 Comparaison, Attente, ... (Niveau 3)


Les éléments de programme de ce groupe servent tous au branchement du programme et au
renvoi du déroulement du programme.

8.6.1 Branchement (avec entrée de données)

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.

8.6.2 Comparaison avec une valeur fixe


L’élément de programme Comparaison avec une valeur fixe vous
permet de comparer la valeur de l’entrée de données A avec une
valeur fixe pouvant être définie librement. Selon que la valeur donnée
sur l’entrée de données A est plus grande, plus petite ou identique à
la valeur fixe, cet élément de comparaison se branche sur la sortie de
droite, de gauche ou centrale. Généralement, une variable ou une liste est raccordée à l’entrée de
données A de la sortie. L’élément de comparaison peut être remplacé par deux éléments de
branchement. Il est cependant plus aisé dans la plupart des cas de n’utiliser qu’un élément.

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.

Fenêtre de propriétés des Comparaisons


• Dans le champ Valeur de comparaison, vous pouvez intro-
duire la valeur constante avec laquelle la valeur de l’entrée
A doit être comparée.

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.

Fenêtre de propriétés des Attentes :


• Dans le champ Temps, vous pouvez introduire l’attente. Vous
pouvez également utiliser des chiffres avec des virgules comme
1, 2, 3.
• Dans le champ Unité de temps, vous pouvez sélectionner une
unité de temps entre seconde, minute ou heure. Contrairement
aux variables de Timer, l’unité de temps n’a pas d’influence sur
la précision de l’attente. Une attente de 60 secondes et une at-
tente d’1 minute seront identiques.
En mode Experts (Niveau 5), une fenêtre de propriétés élargie apparaît ; celle-ci est semblable à
la fenêtre de propriétés des variables de Timer.

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.

8.6.6 Compteur d’impulsions


Cet élément de programme attend un
certain nombre d’impulsions sur le côté
gauche de l’entrée de données avant de
continuer le déroulement du programme.
Ce qui est très pratique pour des tâches
simples de positionnement avec des engrenages d’impulsion. Pour des positionnements plus
compliqués, p.e. avec une valeur variable, des sous-programmes avec des variables doivent être
utilisés.
Fenêtre de propriétés des Compteurs d’Impulsion
• Dans le champ Nombre d’Impulsions, introduisez le nombre
d’impulsions qu’il faut attendre avant de poursuivre le déroule-
ment du programme.
• Dans le champ Type d’Impulsions, vous pouvez choisir entre
trois types d’impulsion : 0-1, 1-0 ou quelconque.
Pour cet élément, il est impossible de reconnaître des modifications
survenues lorsque l’élément était inactif, comme c’était le cas avec
l’élément Attendre... simple.

8.7 Entrées / Sorties d’Interface,...


Ce groupe d’éléments de programme contient tous les éléments d’entrées et de sorties. Vous avez
appris comment les utiliser au chapitre 4.4 Niveau 3 : Variables, Panneau de Commande & Cie à
la page 36.

109
F
ROBOPro

8.7.1 Entrée universelle


Le TX Controller dispose de 8 entrées universelles I1..I8, utilisables comme
entrées digitales ou analogiques. Vous pouvez raccorder des boutons et
tous les capteurs du programme actuel de fischertechnik à ces entrées.

Fenêtres de propriétés des Entrées univer-


selles :
• Dans le champ Entrée universelle, vous
pouvez sélectionner quelle entrée de
l’Interface doit être utilisée. Les entrées
des modules d’extension peuvent être sé-
lectionnées dans le champ Interface /
Extension.
• Dans le champ Type du capteur, vous
pouvez sélectionner le capteur raccordé à
l’entrée.
• Vous décidez si l’entrée doit être une
entrée analogique ou une entrée digitale
sous Mode d’entrée et également si cette
entrée doit réagir à la tension ou à la résis-
tance ou du raccordement d’un capteur
d’espacement ultrasonique. De plus amples informations vous sont données au chapitre 12.5
Entrées universelles, type de capteur et mode d’entrée à la page 144. Le mode d’entrée est
automatiquement déterminé par ROBOPro à l’aide du capteur sélectionné. Mais vous pouvez
aussi décider du mode d’entrée à partir du niveau 4. Cette fonction peut par exemple être
utile pour le phototransistor. ROBOPro met le mode d’entrée digital 5kOhm (D 5k) à disposi-
tion pour le phototransistor. Vous pouvez utiliser le phototransistor ensemble avec une
ampoule lentille comme barrière lumineuse qui est soit interrompue (= 0) soit fermée (= 1). Si
vous utilisez cependant le mode d’entrée analogique 5kOhm (A 5k) pour le phototransistor,
vous pouvez différencier de nombreuses nuances de clair à obscur.
• 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.
• 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.
Plus précisément, il n’y a qu’un seul élément de programme par type d’entrées. Les onglets dans
le haut de la fenêtre de propriétés vous permettent de changer de type d’entrée à tout moment. Ce
qui est particulièrement pratique pour basculer entre Interrupteur, Entrées IR et Entrées de pan-
neau de commande.

110
F
ROBOPro

8.7.2 Entrée de compteur


TC Controller dispose non seulement de 8 entrées universelles I1..I8 mais
également de 4 entrées de compteur C1..C4. Vous pouvez uniquement
raccorder des capteurs numériques et les codeurs des moteurs codeurs à
ces entrées de compteur. Chaque entrée de compteur de ROBOPro est
dotée de deux différentes entrées de compteur, telles que C1C et C1D pour l’entrée C1. L’entrée
C1D se comporte comme une entrée numérique habituelle, tandis que l’entrée C1C compte le
nombre d’impulsions exercées sur l’entrée C1. Vous pouvez remettre le compteur à zéro via
l’envoi d’une commande de remise à zéro à l’élément respectif du moteur. Les compteurs sont
utilisés par la commande des moteurs codeurs et il est interdit de s’en servir à d’autres fins si
aucun moteur codeur n’est raccordé à la sortie du moteur respective (p. ex. M1 pour C1).
Fenêtre de propriétés des entrées
de compteur
• Choisissez un compteur ou une
entrée numérique sous entrée
de compteur.
• Sélectionnez une image du
capteur raccordé à l’entrée sous
image.
• 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 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.
La fenêtre de propriétés des entrées de compteurs met à nouveau en évidence que ROBO Pro
utilise un seul élément pour toutes les entrées, que vous pouvez appliquer à tous les modes
d’entrée en passant par les onglets. Différents éléments à entrer sont déjà prévus afin de vous
faciliter votre choix.

8.7.3 Position atteinte du moteur

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.

8.7.4 Sortie Moteur


L’élément Sortie Moteur vous permet de commander une des 4 sorties
Moteur bipolaires de ROBO Interface ou Intelligent Interface. Une sortie
Moteur utilise toujours 2 raccordements de l’Interface alors qu’une sortie
Lampe n’en utilise q’un. Vous en saurez plus sur la différence entre Sortie
Moteur et Sortie Lampe aux points 8.1.6 Sortie Moteur à la page 83 et 8.1.8 Sortie Lampe.
Une commande peut être envoyée à une Sortie Moteur via un élément de commande afin que la
sortie soit connectée. Un élément Moteur peut traiter les commandes suivantes :

Commande Valeur Action


Droite 1à8 Le moteur tourne vers la droite avec une vitesse 1 à 8
Gauche 1à8 Le moteur tourne vers la gauche avec une vitesse 1 à 8
Stop Aucune Le moteur s’arrête
In 1à8 Comme Droite
Out Aucune Comme Stop
= -8 à 8 Valeur -1 à -8 (ou -512) : Le moteur tourne vers la gauche
ou Valeur 1 à 8 (ou 512): Le moteur tourne vers la droite

112
F
ROBOPro

-512 à 512 Valeur 0: Le moteur s’arrête

Un élément de moteur peut aussi recevoir des commandes de l’extension de la commande du


moteur (Synchrone, Distance, Remise à zéro) expliqué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 Eléments Moteur
• Dans le champ Sortie Moteur, vous pouvez choisir quels
raccordements de sorties de l’Interface doivent être utilisés.
Sélectionnez les sorties des modules d’extension dans Inter-
face / 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 sortie de l’Interface ou une sor-
tie 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 moteur. Vous pouvez cependant également raccorder un électroai-
mant, une valve magnétique ou une lampe à une sortie Moteur.

8.7.5 Sortie Lampe


L’élément Sortie Lampe vous permet de commander une des 8 sorties
Lampe unipolaires O1-O8 d’une ROBO Interface ou Intelligent Interface.
Une sortie Lampe utilise toujours un seul raccordement de sortie de
l’Interface. L’autre raccordement de l’utilisateur est relié à une douille mas-
sique. Vous pouvez allumer ou éteindre un utilisateur raccordé de la sorte, mais pas changer sa
polarité. Vous en saurez plus sur la différence entre Sortie Moteur et Sortie Lampe aux points
8.1.6 Sortie Moteur à la page 83 et 8.1.8 Sortie Lampe.
Une commande doit être envoyée à un élément Lampe via un élément de commande pour con-
necter la sortie. Un élément Lampe peut traiter les commandes suivantes :

Commande Valeur Action


In 1à8 La lampe s’allume avec une intensité de 1 à 8
Out Aucune La lampe s’éteint
= 0à8 Valeur 1 à 8: La lampe s’allume
Valeur 0: La lampe s’éteint

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.

8.7.6 Entrée du panneau de commande


ROBO Pro vous offre la possibilité de dessiner un panneau de commande
propre pour votre maquette. Vous en saurez plus sur ce sujet au chapitre
8.9 Aperçu des éléments de commande et des panneaux de commande à
la page 122. De cette manière, vous pouvez commander vos maquettes
confortablement installé devant votre ordinateur. Des boutons, des régulateurs à coulisse et des
éléments de saisie sont à votre disposition dans le panneau de commande. Une requête peut être
envoyé à ces éléments peut connaître leur statut dans le programme via l’élément Entrée du
Panneau de Commande. Les boutons fournissent une valeur de 0 ou 1. Les régulateurs à cou-
lisse fournissent une valeur dans un champ définissable (normalement jusqu’à 100).
Les panneaux de commande ne peuvent être utilisés qu’en Mode Online. Vous en saurez plus au
chapitre 3.7 Utilisation en mode Online ou en mode Téléchargement Quelle est la différence ? à la
page 25.

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.

8.7.7 Sortie du panneau de


commande
ROBO Pro vous offre la possibilité de dessiner un panneau de commande
propre pour votre maquette. Vous en saurez plus sur ce sujet au chapitre
8.9 Aperçu des éléments de commande et des panneaux de commande à
la page 122. Outre les boutons et autres éléments de saisie pour la com-
mande de votre maquette, vous pouvez ajouter des éléments d’affichage dans votre panneau de
commande. Les éléments d’affichage vous permettent, par exemple, d’afficher les coordonnées
des axes d’un robot ou l’état d’un commutateur de fin. Les valeurs affichées peuvent être modi-
fiées en ajoutant un élément Sortie du panneau de commande dans votre programme et en
envoyant une commande = à cet élément, p.e. en y raccordant une variable, une entrée analo-
gique ou un élément de commande.
Les panneaux de commande ne peuvent être utilisés qu’en Mode Online. Vous en saurez plus au
chapitre 3.7 Utilisation en mode Online ou en mode Téléchargement Quelle est la différence ? à la
page 25.
Fenêtre de propriétés des Affi-
chages du panneau de commande
Chaque programme principal ou sous-
programme peut avoir un panneau de
commande. Les affichages du pan-
neau 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 com-
mande avant de pouvoir relier une
entrée du panneau de commande
avec un élément de commande.

115
F
ROBOPro

8.7.8 Entrée de la caméra


ROBOPro soutient la caméra USB fischertechnik à partir de la version
4.X. Dans la fenêtre de la caméra (voir chapitre 11), vous pouvez insérer
des champs pour le capteur de la caméra, qui permettent de détecter
des couleurs, un mouvement, une ligne ou un ballon. L'interrogation des
champs du capteur s'opère dans la programme via l'élément Caméra Entrée.
Fenêtre des propriétés des entrées de la caméra
La fenêtre des propriétés de l'entrée de la caméra énumère
les champs d'entrée de tous les champs du capteur de la
caméra, qui sont intégrés à la fenêtre de la caméra du pro-
gramme. La liste est vide si aucun champ de capteur n'a été
intégré.
Le chapitre 11.3 vous indique quels champs d'entrée sont
fournis par quel champ du capteur.

8.7.9 Entrée IR (TXT Controller)


Un récepteur infrarouge adapté à l'émetteur du fischertechnik
Control Set, Art. n°. 500881, est incorporé au ROBOTICS TXT
Controller. Par conséquent, vous pouvez utiliser l'émetteur pour
télécommander une maquette de robot via le signal infrarouge ou
activer des fonctions quelconques d'une maquette. L'émetteur
infrarouge dispose de deux joysticks (manettes) que vous pouvez déplacer vers le haut et le bas et
à gauche et à droite au départ de la position centrale. La position centrale fournit la valeur 0 ; la
déviation du joystick permet d'obtenir les valeurs de 1 à 15 dans toutes les directions
(15 = déviation maximale). Ensuite, vous pouvez importer ces valeurs via l'entrée IR et les traiter
dans le programme 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.

8.8.1 Opérateurs arithmé-


tiques
ROBO Pro vous propose les quatre opérations élémentaires comme Opérateurs. Les symboles,
pour deux entrées, sont ceux-ci :

Plus Moins Multiplié Divisé Moins


A+B A–B A*B A/B -A

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.

8.8.2 Opérateurs relationnel


La comparaison des valeurs s’effectue via 6 opérateurs relationnels :

é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.

8.8.3 Opérateurs logiques


Pour la liaison d’entrées digitales, ROBO Pro met trois opérateurs logiques à votre disposition :

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.

8.8.4 Bits opérateurs


Une variable d’un nombre entier est composée de 16 bits individuels dans ROBOPro. Vous pou-
vez enregistrer un 0 ou un 1 pour chacun de ces bits. Les bits sont alors transformés en nombre
via l’attribution d’un carré à chaque bit :
Bit Valeur du nombre Bit Valeur du nombre
0 1 = 20 8 256 = 28
1 2 = 21 9 512 = 29
2 4 = 22 10 1024 = 210
3 8 = 23 11 2048 = 211
4 16 = 24 12 4096 = 212
5 32 = 25 13 8192 = 213
6 64 = 26 14 16384 = 214

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).

et ou non Exclusif Glisser à gauche / à


Ou droite
Bit est rem- Bit est rem- Bit est rem- Bit est remplacé Les bits dans A sont
placé s’il est placé s’il est placé s’il n’est s’il est placé en déplacés de B positions
placé en A et placé en A ou pas placé en A ou B, mais non vers la droite (vers les
B B A dans les deux bits plus élevés) ou vers
la droite (vers les bits
plus bas).

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

Fonctions exponentielles et logarithmiques


exp Fonctions exponentielle base e : rend pour une valeur x la puissance x du
nombre d’Euler e, donc ex
exp10 Fonctions exponentielle base10 : rend pour une valeur x la puissance x de 10,
donc 10x ou 100.0 pour x=2.0
log Logarithme base e : détermine pour une valeur x, de combien de puissances on
doit élever le nombre d’Euler pour obtenir x.
log10 Logarithme base 10 : détermine pour une valeur x, dans quelle puissance on
doit élever le nombre 10 pour obtenir x. x=1000 donne par exemple le résultat 3.0

Fonctions trigonométriques et fonctions d’inversion


Toutes les fonctions trigonométriques et fonctions d’inversion existent pour deux différents angles,
à savoir pour les degrés (1 cercle = 360 degrés) et les rayons (1 cercle = 2 pi).

121
F
ROBOPro

sin360 / sin2pi Sinus : rend pour une valeur x le sinus de l’angle x


cos360 / cos2pi Cosinus : rend pour une valeur x le cosinus de l’angle x
tan360 / tan2pi Tangente : rend pour une valeur x la tangente de l’angle x
asin360 / asin2pi Arc du sinus : rend pour une valeur de sinus x l’angle approprié
acos360 / acos2pi Arc du cosinus: rend pour une valeur du cosinus x l’angle approprié
atan360 / atan2pi Arc de la tangente: rend pour une valeur de tangente x l’angle appro-
prié

8.9 ROBO Interface

8.9.1 Branchement digital (ROBO Interface)


Ce branchement vous permet de diriger le
déroulement du programme dans deux direc-
tions indépendamment du statut des entrées
digitales I1 à I8. Si, par exemple, un interrupteur
est fermé sur l’entrée digitale (=1), le pro-
gramme se branche sur la sortie 1. Si, au
contraire, l’interrupteur est ouvert (=0), le programme se branche sur
la sortie 0.
Si vous cliquez avec le bouton droit de la souris sur l’élément, la
fenêtre de propriétés s’affiche :
• Les boutons I1 à I8 vous permettent de choisir à quelle entrée
de l’Interface 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 du module d’extension ou d’une deuxième 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 sélectionner une image pour le capteur raccordé à
l’entrée. Le plus souvent, des interrupteurs sont raccordés aux entrées analogiques, mais
aussi des transistors photo et des relais à contacts scellés.
• 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.

122
F
ROBOPro

8.9.2 Branchement analogique (ROBO Interface)


Outre les entrées analogiques,
ROBO Interface possède 6
entrées analogiques, 2 en-
trées de résistance AX et AY,
2 entrées de tension A1 et A2
et deux entrées pour des
capteurs d’espacement D1 et
D2. Avec ces branchements, vous pouvez comparer la
valeur d’une entrée analogique avec un nombre fixe et,
selon que la comparaison est bonne ou non, la brancher
sur une sortie Oui (J) ou Non (N).
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 Entrée analogique, vous pouvez choisir l’entrée à laquelle une requête sera
envoyée. Toutes les entrées analogiques fournissent une valeur entre 0 et 1023. Vous trou-
verez de plus amples informations sur les différentes entrées analogiques au point 8.9.6
Entrée analogique sur la page 126.
• Dans le champ Interface / Extension, vous pouvez choisir si vous désirez utiliser une entrée
de l’Interface ou une entrée d’un module d’extension ou d’une seconde Interface. Vous trou-
verez 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 Condition, vous pouvez sélectionner un opérateur de comparaison comme
plus petit (<) ou plus grand (>) et introduire la valeur de comparaison. La valeur de comparai-
son doit être comprise entre 0 et 1023. Si vous lancez un programme avec un branchement
pour des entrées analogiques en Mode Online, la valeur analogique actuelle s’affiche.
• Dans le champ Permuter les raccordements J/N, vous pouvez permuter les positions des
sorties 1 et 0 du branchement. Normalement, la sortie Oui (J) se trouve en bas et la sortie
Non (N), à droite. Il peut être pratique d’avoir une sortie Oui à droite. Appuyez sur Permuter
les raccordements J/N ; les raccordement J et N seront alors inversés dès que vous ferme-
rez la fenêtre en cliquant sur OK.

8.9.3 Attendre une entrée (ROBO Interface)

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.

8.9.4 Compteur d’impulsion (ROBO Interface)


De nombreuses maquettes Fischertech-
nik utilisent des engrenages d’impulsion.
Ces engrenages actionnent un interrup-
teur 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.
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 Type d’impulsion, vous pouvez choisir quel
type d’impulsion doit être comptabilisé. Si vous choisissez 0 ->
1 (croissant), l’élément attend que le statut de l’entrée passe de
ouvert à fermé (0->1) aussi souvent que vous l’avez défini dans
le champ Nombre d’impulsions. Avec 1 -> 0 (décroissant),
l’élément attend que le statut de l’entrée passe de fermé à ou-
vert aussi souvent que vous l’avez défini dans le champ

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.

8.9.5 Entrée digitale (ROBO Interface)


L’élément Entrée digitale vous permet d’envoyer une requête à la valeur
d’une des entrées digitales I1 à I8 de l’Interface. Si les deux douilles appar-
tenant à l’entrée sont reliées à l’Interface, l’élément Entrée digitale a une
valeur de 1 sur son raccordement orange ; dans le cas contraire, la valeur
est 0.
Fenêtres de propriétés des Entrées digitales
• Dans le champ Entrée digitale, vous
pouvez sélectionner quelle entrée de
l’Interface doit être utilisée. Les entrées
des modules d’extension peuvent être sé-
lectionnées dans le champ Interface /
Extension.
• Dans le champ Image, vous pouvez
sélectionner l’image du capteur raccordé à
l’entrée. Dans la plupart des cas, il s’agira
d’un Interrupteur. Un relais à contacts
scellés est un interrupteur réagissant aux
champs magnétiques. Il est également
possible de raccorder un transistor photo
à une entrée digitale même s’il s’agit en fait d’un capteur analogique. Raccordé à une entrée
digitale, vous pouvez également utiliser le transistor photo avec une ampoule lentille comme
barrière lumineuse pouvant être interrompue (=0) ou fermée (=1). Si, par contre, vous rac-
cordez le transistor photo à une Entrée analogique, vous pouvez différencier de nombreux
niveaux de clarté ou d’obscurité.
• 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.
Plus précisément, il n’y a qu’un seul élément de programme par type d’entrées. Les onglets dans
le haut de la fenêtre de propriétés vous permettent de changer de type d’entrée à tout moment. Ce
qui est particulièrement pratique pour basculer entre Interrupteur, Entrées IR et Entrées de pan-
neau de commande.

125
F
ROBOPro

8.9.6 Entrée analogique (ROBO Interface)


L’élément Entrée analogique vous permet d’envoyer une requête à la
valeur d’une des entrées analogiques. Contrairement aux entrées digitales
ne pouvant fournir que des valeurs 0 ou 1, les entrées analogiques peuvent
faire la différence entre des niveaux très différents. Toutes les entrées
analogiques fournissent une valeur initiale comprise entre 0 et 1023. Dans ROBO Interface, il y a
cependant différents types d’entrées analogiques mesurant des tailles physiques différentes.Il
existe des entrées analogiques pour les mesures de résistance, pour les mesures de tension et
pour un capteur spécial de mesure de la distance :

Entrée Type d’entrée Zone de mesure


A1, A2 Entrées de tension 0-10,23 V
AX, AY Entrées de résistance 0-5,5 kΩ
D1, D2 Entrées de capteur de distance env. 0-50 cm
AV Tension d’alimentation 0-10 V

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 !

Fenêtre de propriétés des Entrées analo-


giques
• Dans le champ Entrée analogique, vous
pouvez sélectionner l’entrée analogique
souhaitée conformément au tableau ci-
dessus.
• Dans le champ Image, vous pouvez
sélectionner une image pour le capteur
raccordé à l’entrée.
• Dans le champ Interface / Extension,
vous pouvez choisir si vous souhaitez utili-
ser une entrée de l’Interface ou une entrée
d’un module d’extension ou d’une seconde
Interface. Vous trouverez plus

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.

8.9.7 Entrée IR (ROBO Interface)


Un récepteur infrarouge est incorporé à ROBO Interface pour l’émetteur
manuel du IR Control Set de Fischertechnik – N° d’article 30344.
L’émetteur manuel infrarouge n’est pas seulement pratique pour les com-
mandes à distance, mais aussi comme clavier pour vos maquettes. IR
Control Set dispose de deux récepteurs entre lesquels vous pouvez basculer avec les touches 1
et 2 de l’émetteur manuel. Sur ROBO Interface, vous pouvez donc occuper chaque touche de
l’émetteur manuel deux fois. Vous pouvez basculer entre les deux occupations avec les touches
de basculement 1 et 2. Vous pouvez également utilisez les touches 1 et 2 comme des touches
normales.
Dans la fenêtre de propriétés de
l’entrée IR, vous pouvez basculer entre
IR 1, IR 2 et IR 1+2 au moyen de la
barre d’onglets. Si vous choisissez IR 1,
l’élément d’entrée IR ne fournit qu’un 1
lorsque le bouton correspondant sur
l’émetteur est enfoncé et que l’émetteur
a été réglé au préalable sur
l’occupation via la touche 1. Si vous
choisissez IR 2, l’émetteur doit par
contre être réglé sur l’occupation 2
avec la touche 2.
Par contre, si vous choisissez IR 1+2,
peu importe comment est réglé
l’émetteur manuel. Vous pouvez alors
utilisez les touches 1))) et 2))) comme
des entrées.
Dans l’élément de programme, la sélection est indiquée par un 1 ou un 2 blanc en bas à droite sur
le symbole de l’émetteur manuel. Pour IR 1+2, aucun chiffre n’est affiché dans l’élément de pro-
gramme.

127
F
ROBOPro

9 Aperçu des éléments de commande et des panneaux de com-


mande
Des panneaux de commande propres peuvent être définis dans ROBO Pro. Via ces panneaux de
commande, vous pouvez commander confortablement des maquettes complexes. Etant donné
que les panneaux de commande s’affichent sur l’écran de votre ordinateur, ceux-ci ne peuvent
être utilisés qu’en Mode Online. Voir chapitre 3.7 Utilisation en mode Online ou en mode Télé-
chargement Quelle est la différence ? à la page 25.
Pour créer un panneau de commande, sélectionnez Panneau de commande dans la barre de
fonctions :

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 =.

9.1.1 Appareil de mesure


L’appareil de mesure est inspiré d’un instrument à aiguille analo-
gique. Il est souvent utilisé pour afficher la valeur des entrées
analogiques ; vous pouvez cependant l’utilisez pour des variables
ou des éléments de programme.
L’appareil de mesure est commandé au
départ du programme par une sortie du panneau de commande. Vous
trouverez la Sortie du panneau de commande dans le groupe d’éléments

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.

9.1.2 Affichage textuel


Dans un affichage du texte, vous pouvez afficher des valeurs
chiffrées, du texte ou les deux.
L’affichage du texte est commandé par le programme via une sortie du
panneau de commande. Vous trouvez la Sortie du panneau de com-
mande dans le groupe d’éléments Entrées, Sorties.
Dès que vous avez relié la Sortie du panneau de commande avec
l’affichage du texte au moyen de la fenêtre de propriétés, le symbole se
modifie et affiche le nom du panneau de commande (p.e. Principal) et
l’affichage (p.e. Texte).
Vous pouvez afficher le texte dans l’affichage de deux façons :
• Vous pouvez afficher le contenu de l’affichage en envoyant une com-
mande = à la Sortie du panneau de commande appropriée. C’est très
pratique lorsque vous souhaitez utiliser l’affichage pour afficher la valeur
d’une variable ou d’autres éléments de programme car la plupart des
éléments de programme envoient automatiquement une commande = via
leur sorties de données lorsque leur valeur change. La commande = n’écrase que les 6 der-
niers signes de l’affichage. Vous pouvez remplir le reste de l’affichage avec du texte. De
cette façon, vous pouvez ajouter un texte indicatif à la valeur de l’affichage. Lorsque
l’affichage contient plusieurs lignes, vous pouvez également positionner le texte indicatif sur
une ligne propre. Dans les affichages à plusieurs lignes, seuls les 6 derniers signes de la
dernière ligne sont écrasés par la commande =.

129
F
ROBOPro

• La commande Texte vous permet de déterminer le contenu de


l’affichage selon vos envies. La Commande Texte est un élément
de commande spécial pouvant envoyer non pas un chiffre, mais
bien tout un texte via sa sortie. Comme les autres éléments de
commande habituels, l’élément de commande Texte peut égale-
ment avoir une entrée de données. Vous pouvez alors incorporer la valeur chiffrée de l’entrée
de données dans le texte. Lorsque vous envoyez plusieurs commandes Texte à un élément
d’affichage, les textes se raccrochent les uns aux autres. Vous pouvez donc mélanger texte
et chiffres selon vos envies.
Signes de commande des Commandes Texte
Vous pouvez utiliser les signes suivants dans vos éléments de commande Texte pour atteindre
des effets particuliers :

Signe de com- Effet


mande
###### Affiche la valeur de l’entrée de données comme un nombre à 5 chiffres +
un signe
##.## Affiche la valeur de l’entrée de données comme un nombre à deux déci-
males séparées par un point.
##,## Affiche la valeur de l’entrée de données comme un nombre à deux déci-
males séparées par une virgule.
\c Efface l’affichage et place un point d’insertion au début de l’affichage

Fenêtre de propriétés de l’affichage du texte


• Dans le champ ID / Nom, vous devez tout d’abord
donner un nom à l’affichage. Le nom est important
afin de pouvoir différencier plusieurs affichages
dans votre programme.
• Dans le champ Texte, introduisez le contenu de
l’affichage. Ce contenu est conservé jusqu’à ce que
vous envoyiez une commande à l’affichage via le
programme. Lorsque vous envoyez une commande
= à l’affichage, seuls les 6 derniers signes de
l’affichage sont écrasés. Le début du texte reste
identique de sorte que vous pouvez, devant un
chiffre, ajouter une indication disant de quoi il s’agit.
Dans l’exemple représenté, le texte Var= est con-
servé. L’affichage a 10 signes, donc 10-6=4 signes sont conservés.
• Dans le champ Chiffres / Colonnes et dans le champ Lignes, vous pouvez définir combien
de signes peuvent être inscrit dans l’affichage. Dans les affichages à plusieurs lignes, vous
pouvez afficher dans une ligne à part une indication comme Var= ou Visiteurs.
• Dans le champ Couleur de l’arrière-plan et Couleur du texte, vous pouvez modifier le
design de l’affichage. Cliquez sur Traiter... pour sélectionner une couleur ou définir une cou-
leur personnalisée.

130
F
ROBOPro

9.1.3 Lampe de l’affichage


La Lampe de l’affichage est le type d’affichage le plus simple. Elle fonctionne comme un
élément Lampe Fischertechnik raccordé à une sortie de l’Interface.
La lampe de l’affichage est commandée par le programme via une sortie du
panneau de commande. La Sortie du panneau de commande se trouve
dans le groupe d’éléments Entrées, Sorties.
Dès que vous avez reliez la sortie du panneau de commande avec la lampe
de l’affichage au moyen de la fenêtre de propriétés, le symbole se modifie
et le nom du panneau de commande (p.e. Principal) et de la lampe apparaît.
Vous pouvez allumer ou éteindre la lampe en envoyant une commande In ou
Out à la sortie du panneau de commande correspondante de votre programme,
comme vous le faisiez également lorsque vous utilisez les véritables sorties
lampes. Vous pouvez également allumer ou éteindre la lampe de l’affichage
avec une commande =. Si la valeur est supérieure à 0, la lampe s’allume. Si la
valeur est inférieure ou égale à 0, la lampe s’éteint.
Fenêtre de propriétés des Lampes de l’affichage
• Dans le champ ID / Nom, vous devez tout d’abord
entrer un nom pour la lampe de l’affichage. Le nom est
important car il vous permet de distinguer différentes
lampes de l’affichage dans votre programme.
• Dans le champ Couleur, vous pouvez modifier la
couleur de la lampe de l’affichage. Cliquez pour ce
faire sur le bouton Traiter.
• Si Retour au début est coché, la lampe de l’affichage
est allumée jusqu’à ce que l’élément de programme adéquat envoie la première commande.
Dans le cas contraire, la lampe de l’affichage est éteinte au départ.

9.2 Eléments de commande


Les éléments de commande sont utilisés comme des entrées de l’Interface.

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.

Vous pouvez raccorder l’entrée du panneau de commande correspondant


au bouton à tous les éléments de programme possédant une entrée de
données, p.e. à un Branchement, comme vous le faisiez pour un entrée
digitale de l’Interface. Lorsque le bouton est actionné, il fournit une valeur 1,
dans le cas contraire, la valeur est 0.

131
F
ROBOPro

Fenêtre de propriétés des Boutons


• Dans le champ Texte d’Inscription, vous
pouvez introduire une inscription pour le bou-
ton. Il s’agira également du nom grâce auquel
le programme aura accès au bouton. Sur les
boutons, il n’y a pas de champ ID / Nom sup-
plémentaire comme pour les autres éléments
de commande.
• Dans le champ Couleur du bouton et Cou-
leur du texte, vous pouvez modifier le design
du bouton, Pour ce faire, cliquez sur Traiter....
• Si la case Interrupteur à pression est cochée, le bouton ne se comporte pas comme un
bouton, mais bien comme un interrupteur. A la première pression sur le bouton, celui-ci
s’enfonce et reste enfoncé jusqu’à la seconde pression. Dans le cas contraire, le bouton se
comporte vraiment comme un bouton et ressaute directement lorsqu’il est relâché.

9.2.2 Régulateur à coulisse


Vous pouvez utiliser le régulateur comme un potentiomètre raccordé à
une entrée analogique de l’Interface. Contrairement au bouton, le
régulateur peut non seulement avoir des valeurs 0 et 1, mais aussi un
très grand nombre d’autres valeurs, comme une entrée analogique. Le champ de valeurs peut être
réglé dans la fenêtre de propriété. Le régulateur peut, par exemple, être utilisé pour régler la
vitesse du moteur entre 1 et 8.
Le programme envoie une requête au régulateur est via une entrée du
panneau de commande. Vous trouverez l’Entrée du panneau de com-
mande dans le groupe d’élément Entrées, Sorties.

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.

11.1 Fenêtre de la caméra


Les paramétrages de la caméra s'effectuent dans ce que nous appelons la fenêtre de la caméra.
La caméra est l'un des onglets que vous pouvez sélectionner dans un programme ROBO Pro
ouvert :

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.

11.2 Image de la caméra


En plus de l'écran de la caméra, vous pouvez aussi consulter l'image de la caméra d'une autre
façon.
Le groupe d'éléments Elément de commande dispose également de
l'élément Écran de la caméra. Vous pouvez placer cet élément sur
votre panneau de commande. Si vous démarrez votre programme
ROBO Pro en mode Online, cet écran affiche également l'image de la
caméra. Ainsi, vous pouvez p. ex. télécommander votre robot mobile via
le panneau de commande et voyez simultanément où il se rend.

136
F
ROBOPro
La taille de l'élément affiché à l'écran est modifiable via le menu
Dessiner – Traiter.

11.3 Champs du capteur de la caméra


La caméra est un capteur très polyvalent. ROBO Pro fournit diffé-
rents champs du capteur pour la caméra. Il suffit, au départ de la fenêtre de l'élé-
ment dans l'écran de la caméra, de glisser le champ sur la surface de l'image et de
le placer à l'endroit souhaité.
L'emplacement du champ, de même que sa taille, sont aussi modifiables ultérieure-
ment via le menu Dessiner – Traiter.
Un clic avec le bouton droit de la souris sur un élément du capteur intégré ouvre une
boîte de dialogue dans laquelle vous pouvez effectuer différents paramétrages.
Vous pouvez importer la valeur fournie par un champ du capteur dans un élément d'entrée de la
caméra (niveau 3) et la traiter dans un déroulement du programme.

11.3.1 Identificateur de couleurs


Cet élément calcule la couleur moyenne dans un champ rectangulaire.
La taille du champ est modifiable ultérieurement via le menu Dessiner/Traiter.
Tous les points d'image dans le champ sont pris en considération et ceci permet
aussi à cet élément de calculer une valeur moyenne correcte même en cas de
champs très multicolores.
Le raccourci vers les éléments d'entrée est créé dans le champ du Nom que vous pouvez modifier
dans la boîte de dialogue du champ du capteur.
L'élément fournit les 4 valeurs d'entrée
Couleur R, Couleur G, Couleur B et
Couleur BW qui sont synonymes des
parts des couleurs de base du rouge,
du vert et du bleu et de la luminosité
globale exprimées en % (plage de
valeurs de 0 à 100, 0=foncé resp. noir,
100=clair resp. blanc).
N'oubliez pas que la valeur chroma-
tique dépend aussi de l'éclairage. La
couleur de la lumière du soleil et celle
d'une ampoule à incandescence sont
par exemple très différentes, bien que
la lumière de différentes sources de lumière soit ressentie comme blanche par l'être humain. La
caméra tente de compenser la couleur de la lumière par analogie à ce qui se passe dans l'œil
humain. Ceci fonctionne mieux si l'image comprend aussi quelques surfaces blanches sur les-
quelles la caméra peut se baser pour l'équilibrage. Il se pourrait, si toute l'image est très
multicolore, que la compensation de la couleur ne fonctionne pas correctement.

137
F
ROBOPro
Si vous voulez définir les couleurs avec exactitude, vous pouvez aussi utiliser le détecteur de ligne.

11.3.2 Détecteur de mouvement


Cet élément détecte une modification de l'image dans un champ rectangulaire. Vous
pouvez utiliser cet élément pour les capteurs d'alarme ou pour la détection d'un
signal gestuel (faire des signes avec les bras) ou d'objets en mouvement.
La taille du champ est modifiable ultérieurement via le menu Dessiner/Traiter. Le
raccourci vers l'élément d'entrée est établi au moyen du Nom.
Vous devez régler deux paramètres
dans la boîte de dialogue de cet
élément. La Force du mouvement
indique l'intensité du changement de
la luminosité d'un point d'image.
100 % est alors synonyme d'un
changement complet noir sur blanc
ou blanc sur noir. L'Aire de mou-
vement indique quelle partie du
champ rectangulaire doit changer. Si
vous voulez p. ex. détecter une
fourmi sur une feuille de papier blanc, la force du mouvement sera très élevée (50 ou plus), tandis
que l'aire de mouvement sera très petite (1).
L'élément du capteur fournit 2 champs
d'entrée : Mouvement C et Mouve-
ment A.
C correspond à la force du mouve-
ment moyenne. La valeur est définie
en ne tenant que compte de points
d'image situés au-dessus de la valeur
seuil paramétrée.
A indique l'aire de mouvement ou, en
d'autres mots, la partie de la surface
exprimée en % pour laquelle la valeur
seuil de la force du mouvement C a
été dépassée.
Si la valeur paramétrée pour l'aire de mouvement A n'est pas atteinte, la valeur pour la force du
mouvement est 0. Ainsi, vous pouvez simplement comparer l'entrée du mouvement C avec 0 si
vous ne voulez que savoir si le programme a détecté un mouvement.

11.3.3 Détecteur de ligne


Cet élément détecte les lignes qui croisent la ligne de l'élément du capteur. L'élé-
ment détecte la position, la largeur et la couleur de la ligne. Si vous voulez p. ex.
détecter une piste qu'un robot mobile doit longer, vous posez l'élément sur la surface
de l'image par-dessus toute la largeur de gauche à droite à travers l'image.
La taille et la position de la ligne du capteur sont modifiables ultérieurement via le
menu Dessiner/Traiter.

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).

11.3.4 Détecteur de balle


Cet élément détecte des surfaces circulaires de couleur, des balles ou ballons ou
d'autres objets compacts de couleur placés devant un fond blanc/gris/noir et fournit
la taille et la position de l'objet. Cet élément ne fonctionne qu'à condition qu'il n'y ait
qu'un seul élément de couleur dans la zone de détection.
La taille du champ est modifiable ultérieurement via le menu Dessiner/Traiter.
Le raccourci vers l'élément d'entrée est
établi au moyen du Nom.
Le champ contraste de couleur minimal
permet de régler la brillance de la couleur de
l'objet à détecter. 100 % correspond à une
couleur très brillante sur un fond incolore
(gris).
Les champs Taille de balle minimale et
Taille Maximale: indiquent dans quelle
plage la taille de l'objet doit se situer.
N'agrandissez pas la zone plus que néces-
saire, afin de ne pas prolonger le temps de
calcul outre mesure et d'éviter la détection
d'objets que vous ne voulez pas détecter.
Mais la zone ne devrait pas être trop petite, étant donné que les objets deviennent flous et sem-
blent plus grands ou plus petits lors de mouvements rapides. L'unité pour la taille correspond à
l'échelle affichée avec l'élément. Nous vous recommandons, de préférence, de bien vous faire une

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

12 Fonctions pour le TXT et le TX Controller


L'utilisation de ROBOPro 4.X est possible pour le ROBOTICS TXT Controller et le ROBO TX
Controller, de même que pour la ROBO Interface. Vous pouvez concevoir vos programmes RO-
BOPro de manière à ce qu'ils fonctionnent sur la ROBO Interface existante jusqu'à présent et sur
le nouveau TX ou TXT Controller, sans que vous deviez procéder à des modifications. Ceci ne
s'applique cependant pas à tous les programmes ROBOPro, étant donné que la ROBO Interface
et le TX ou le TXT Controller ne sont pas identiques au niveau des entrées et sorties. Les entrées
du ROBOTICS TXT Controller sont identiques à celles du ROBO TX Controller. Pour simplifier la
lecture, nous ne parlerons plus que du ROBOTICS TXT Controller par la suite. Tout ce qui s'ap-
plique à ce Controller, est aussi valable pour le ROBO TX Controller. Le ROBOTICS TXT
Controller dispose, par exemple, de 8 entrées universelles, que vous pouvez également utiliser
comme entrée analogique pour des valeurs de résistance. La ROBO Interface, pour sa part, ne
dispose que de 2 entrées de résistance analogiques (AX et AY). La ROBO Interface est par ail-
leurs aussi dotée d’une entrée analogique interne pour la tension d’alimentation (AV). La mesure
de la tension est également possible via une entrée universelle dans le cas du ROBOTICS TXT
Controller.

12.1 Installation du pilote USB pour le ROBO TX Controller


Le pilote USB pour le ROBO TX Controller se situe dans le répertoire d’installation de ROBOPro et
plus précisément dans la sous-répertoire \Installation pilote USB\TXController. Choisissez le
pilote approprié à votre système d’exploitation Windows dans ce répertoire. L’installation est par
ailleurs identique à celle du ROBO Interface (voir aussi Installation du pilote USB à la page 5).

12.2 Environnement (à partir du niveau 1)


Il est requis en premier lieu, afin de limiter l’affichage aux options effectivement nécessaires au
développement d’un programme et que l’Interface est aussi capable de soutenir, de passer par le
bouton de la barre d’outils et de sélectionner si vous voulez concevoir le programme pour le
ROBOTICS TXT Controller ou la ROBO Interface.
Le bouton modifie son affichage en fonction de l’Interface sélectionnée. Ce bouton et le menu
correspondant « Environnement » ne modifient ni le programme ROBOPro actuel ni l’Interface
raccordée à l’ordinateur (ces réglages d’effectuent via le bouton COM/USB).
Ce bouton modifie seulement les options, qui sont affichées dans les fenêtres de propriétés des
éléments de programme. Les fenêtres de propriété pour un branchement pour le ROBO Interface
et pour le ROBOTICS TXT Controller figurent ci-après.

142
F
ROBOPro

Les éléments d’entrée, qui ne sont pas appropriés à l’Interface sélec-


tionnée, sont entourés d’un trait rouge.
Vous vous servirez habituellement toujours de l’environnement ap-
proprié à l’Interface, que vous possédez, hormis des exceptions ci-
après :
• Vous voulez concevoir un programme capable d’utiliser un
ROBOTICS TXT Controller et une ROBO Interface. Ceci est ef-
fectivement possible en Mode Online. Dans un tel cas, vous devez concevoir les éléments du
programme destinés aux différentes Interfaces dans l’environnement respectif y étant appro-
prié. Vous pouvez commuter l’environnement dans les deux sens à votre guise.
• Vous possédez un ROBOTICS TXT Controller et un ami a mis un programme conçu pour la
ROBO Interface à votre disposition. Vous pouvez utiliser la programmation indépendante de
l’Interface si la configuration de l’entrée est compatible (consultez le chapitre ci-après dans
ce contexte). Il est cependant plus avantageux de demeurer dans le mode de la ROBO In-
terface, s’il ne s’agit que de modifications insignifiantes.
• Vous possédez un ROBOTICS TXT Controller et voulez écrire un programme pour un ami,
qui se sert d’une ROBO Interface. Vous pouvez aussi vous servir de la programmation indé-
pendante de l’Interface dans un tel cas et concevoir le programme dans l’environnement de
la ROBO Interface.
• Les deux points ci-dessus s’appliquent évidemment aussi réciproquement, à supposer que
vous ayez la ROBO Interface et que votre ami travaille avec un ROBOTICS TXT Controller.

12.3 Programmation indépendante de l’Interface


A supposer que votre programme utilise uniquement des entrées disponibles sur la ROBO Inter-
face et sur le ROBOTICS TXT Controller, vous pouvez utiliser votre programme sans nulle
modification avec un ROBOTICS TXT Controller et avec une ROBO Interface. Les entrées sont
permutées comme suit dans un tel cas :

143
F
ROBOPro

ROBO Interface ROBOTICS TXT Controller


D1 (Ultrasonique)* I1 (Ultrasoniquel)*
A1 (analogique 10V) I2 (analogique 10V)
AX (analogique 5kOhm) I3 (analogique 5kOhm)
AY (analogique 5kOhm) I4 (analogique 5kOhm)
I1-I4 (digital) I5-I8 (digital)
I5-I8 (digital) C1D-C4D (digital, sauf pour le dépisteur)**

*Nota Bene : Le ROBOTICS TXT Controller est uniquement approprié au raccordement du


capteur d’espacement ultrasonique avec 3 câbles de raccordement, version TX, Article n°
133009. La ROBO Interface, par contre, est uniquement appropriée au capteur d’espacement
ultrasonique avec 2 câbles de raccordement, Article n°128597.
**Nota Bene : L’abréviation C1D signifie que l’entrée de compteur C1 est utilisée comme
simple entrée digitale. La boîte de dialogue affiche C1C si un élément d’entrée utilise C1
comme entrée de compteur rapide.

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.

12.4 Conversion de programmes


Vous avez la possibilité d’effectuer l’adaptation à une Interface au sein du programme, si vous ne
pouvez ou ne voulez pas vous servir de la programmation indépendante de l’Interface. Le point de
menu Environnement / conversion des entrées adapte toutes les entrées en fonction du tableau
du chapitre précédent à l’environnement sélectionné. Les entrées non attribuées dans le tableau
(D2, A2, AV) ne seront pas converties et devront être modifiées manuellement. Vous pouvez
annuler l’opération en changeant d’environnement et en réaffichant le point de menu.

12.5 Entrées universelles, type de capteur et mode d’entrée


Chaque entrée est dotée d’un mode d’entrée fermement consigné à ROBO Interface. Vous pouvez
par exemple uniquement raccorder des capteurs de résistance à une entrée AX. Le ROBOTICS
TXT Controller, pour sa part, dispose de 8 entrées universelles I1-I8, que vous pouvez permuter
via un programme ROBOPro de manière à pouvoir raccorder différents capteurs. Le mode
d’entrée découle automatiquement du type de capteur. Dans les anciennes versions de ROBOPro,
vous aviez la possibilité de choisir une image du capteur pour les entrées, sauf que cette image
n’était qu’une simple illustration sans la moindre fonction technique. Il est cependant très important
de choisir le type de capteur correct pour toutes les entrées dans le ROBOTICS TXT Controller.
L’entrée ne sera pas réglée correctement au cas contraire.

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.

12.6 Entrées de compteur rapides et extension de la commande


du moteur
Le ROBOTICS TXT Controller dispose de 4 entrées de compteur rapides C1-C4 et d’une com-
mande du moteur intégrée, qui permet de commander les moteurs avec un maximum de précision.
L’extension de la commande du moteur offre les deux fonctions d’un freinage automatique après
avoir parcouru une distance déterminée et de la synchronisation du régime de deux moteurs. Le
moteur M1 est automatiquement affecté à l’entrée de compteur C1, M2 est affecté à C2 etc.
Un nombre d’impulsions est consigné au programme lors du freinage automatique et la com-
mande freine le moteur automatiquement dès l’atteinte de ce nombre. La commande calcule aussi
la distance de freinage du moteur et démarre le freinage si prématurément, que la distance sou-
haitée est atteinte avec la précision requise, même en utilisant des moteurs rapides ou des
générateurs d’impulsions à haute résolution..
La synchronisation du régime commande deux moteurs de telle manière qu’ils effectuent le
même nombre de tours dans un même temps. Cette fonction est très pratique pour les chenilles,
parce qu’elle leur permet de rouler tout droit. La commande du moteur freine l’autre moteur auto-
matiquement dès qu’un moteur ralentit.
Vous pouvez aussi combiner les deux fonctions, ce qui signifie que vous pouvez appliquer un
nombre d’impulsions déterminé à deux moteurs et les faire fonctionner à une vitesse synchroni-
sée..

12.6.1 Moteur codeur (niveau 1)


L’élément de programme Moteur codeur est disponibles à partir du
niveau 1 en vue d’une commande conviviale des moteurs à générateur
d’impulsions (codeur) intégrée.
Cet élément permet de déplacer un moteur d’un nombre d’impulsions
prédéterminé ou de synchroniser le déplacement de deux moteurs,
avec ou sans spécification d’une distance. Un clic avec le bouton droit de la souris sur cet élément
affiche la fenêtre de propriétés :

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

12.6.2 Extension de la commande du moteur dans le niveau 3


La commande du moteur du niveau 3 s’effectue de manière à ce qu’un élément du moteur de
couleur orange envoie certaines commandes.
La commande Synchrone permet de synchroniser un moteur avec un autre moteur. Le moteur 2
est par exemple synchronisé avec le moteur 1 si vous envoyez par exemple la commande Syn-
chrone au moteur 2 avec la valeur 1. Le niveau permet aussi de synchroniser plus de 2 moteurs
entre eux. La synchronisation n’est pas annulée si vous envoyez la commande Synchrone avec la
valeur 0 au moteur.
La commande Distance permet
d’appliquer des impulsions à un moteur.
Le moteur freine dès l’atteinte de ce
nombre d’impulsions. Vous pouvez aussi
effacer la distance déterminée à tout
moment par l’entrée de la valeur 0 pour
la distance.
Vous devez envoyer la commande pour
la distance aux deux moteurs si vous
voulez combiner la synchronisation et la
distance. La commande Synchrone n’est
envoyée qu’à un seul moteur, mais avec
le numéro de l’autre moteur en tant que
valeur.
Les commandes Synchrone et Distance ne démarrent cependant pas le moteur. Pour ce faire, le
programme doit disposer d’une commande Gauche ou Droite ou =.
Vous devez patientez jusqu’à l’atteinte de l’objectif comme pour le niveau 1. Il va de soi que le
niveau 3 comprend également des éléments pour les entrées « But atteint ».
Si l’on souhaite à nouveau contrôler le moteur avec des commandes standard, il faudra d’abord
désactiver les commandes Synchrone et Distance en envoyant une commande Synchrone et
Distance à valeur nulle (0). Mais avant de faire cela, il faut envoyer une commande d’arrêt au
moteur. Les commandes Synchrone et Distance n’arrêtent le moteur que tant que les commandes
sont actives. Si on désactive les commandes sans avoir avant arrêté le moteur, celui-ci se remet
en marche.

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

13 Calcul avec des nombres décimaux – arithmétique à virgule flot-


tante (à partir du niveau 3)
ROBOPro offre aussi la possibilité de calculer avec des nombres décimaux
(également appelés fractions décimales). Ceci vous donne la possibilité
d’effectuer vos calculs non seulement avec des nombres entiers comme 1 et
2, mais également avec des nombres fractionnaires tels que 3,99482925
avec une précision de jusqu’à 9 décimales après la virgule. ROBOPro utilise
la méthode dite de l’arithmétique à virgule flottante dans ce contexte. Elle
est utilisable avec le ROBOTICS TXT Controller en mode Online et en mode
de téléchargement. L’arithmétique à virgule flottante est uniquement utilisable en mode Online
pour ROBO Interface.
Avis aux amateurs d’un maximum de précision : la précision des opérations de calcul s’élève à 48
bits avec une mantisse de 32 bits. Ceci correspond à une précision de plus de 9 décimales après
la virgule.
Les fonctions ci-après sont disponibles dans le Version 2.1.1.0 :
• Variable de virgule flottante
• Liste des virgules flottantes
• Liste des virgules flottantes
Conversion chiffres entiers / virgule flottante et vice-versa

Cet élément se situe dans la fenêtre des


éléments des opérateurs.
• Elément de branchement qui compare un nombre à
virgule flottante avec une constante
• Commande Texte avec formatage de la virgule flottante.
Il n’y a pas d’élément de virgule flottante particulier. La fenêtre de propriétés permet, au contraire,
de permuter le type de données de l’élément du chiffre entier respectif. Les éléments à virgule
flottante sur affichés avec une bordure grasse

13.1 Comparaison de nombres à virgule flottante


L’élément de comparaison à 3 voies n’existe pas pour les nombres à virgule flottante. Ceci trouve
son origine dans le fait qu’on ne devrait pas comparer l’égalité des nombres à virgule flottante,
étant donné qu’un nombre à virgule flottante présente presque toujours des erreurs d’arrondi.
C’est ainsi que le résultat de 10· 0,1 ne donne pas 1, parce que 0,1 ne saurait être représenté
exactement en se servant de nombres binaires à virgule flottante.
Vous pouvez comparer un nombre à virgule flottante avec l’élément de branchement du niveau 3
avec une constante à virgule flottante. De plus, il existe des opérateurs de comparaison.

13.2 Représentation de nombres à virgule flottante


TX-Display ne dispose pas d’autant de place que l’écran d’un ordinateur et c’est pour cette raison
que ROBOPro offre certaines possibilités de représenter les nombres à virgule flottante en prenant

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 :

Abréviation Désignation Exposant


a Atto 10-18
f Femto 10-15
p Pico 10-12
n Nano 10-9
u Mikro 10-6
m Milli 10-3
k Kilo 103
M Mega 106
G Giga 109
T Tera 1012
P Peta 1015
E Exa 1018

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 :

Format Sortie 1 Sortie -0.01 Sortie 1000


####.#### ___1.0000 __-0.0100 ?FORMAT?
##### ____1 ___-0 _1000
##.###^ _1.000 -10.00m _1.000k
##.###^## _1.000^00 _1.000v02 _1.000^03
##.#####^^#### _1.0000E+0000 _1.0000E-0002 _1.0000E+0003

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.

13.3 Calcul de la précision


Contrairement aux systèmes à virgule flottante, ROBOPro calcule aussi le nombre de décimales
(ou de bits) valable pour chaque nombre. Les décimales perdues au cours des calculs sont affi-
chées par « ? » dans le texte. Le calcul 1.00000001 -- 1.00000000 donne la valeur 9.8??n dans
ROBOPro. La différence exacte serait 0.00000001 ou 10n. ROBOPro affiche cependant une
décimale de plus que celles qu’il peut calculer avec précision. La dernière décimale n’indique que
la direction dans laquelle le nombre devra être arrondi. Dans ce cas de 9.8n sur 10n. Si vous
calculez 1.0-1.0 dans ROBOPro, le résultat est ??.??p. Ceci signifie 0 avec une précision
d’environ 99.99p ou 100p, soit 10 puissance -10. Permettez-nous de vous rappeler qu’un véritable
= (sans erreur) existe également, sauf que ceci est très rare.

152