La communication (commandes et demandes d'informations) avec le rack électronique de commande des motorisations s'effectue via une liaison série RS232 configurée comme suit :
8 bits, 9600Bds, pas de contrôle de parité, 1 bit de stop, pas de handshake matériel ni de XON/XOFF.
Les commandes sont envoyées sous forme de chaînes de caractères ASCII. Les informations sont lues également sous forme de chaînes de caractères.
Pour les commandes, l'emploi de caractères minuscules et/ou majuscules est indifférent. Si la commande est accompagnée d'un paramètre, le caractère séparateur entre la commande et son paramètre doit être un espace ou une tabulation ('\t').
Pour être validée par le rack de l’électronique , la chaîne de caractères envoyée doit se terminer par le caractère "Carriage Return" ('\r') ou "New Line" ('\n')
Le tampon de réception de l’électronique a une taille limitée à 16 caractères. Si la chaîne envoyée excède 16 caractères, seuls les 16 premiers seront pris en compte.
La syntaxe des informations en retour (électronique vers ordinateur maître) est identique à celle des commandes envoyées et se termine par les caractères " Carriage Return" ('\r') et "New Line"('\n').
Rappel :
toutes les commandes de paramétrage, initialisation et mouvement s’appliqueront au moteur sélectionné par la commande SEL.
Commande |
Paramètre |
Limites |
Description |
SEL |
Numéro moteur |
[1-6] |
Sélection moteur |
?SEL |
Aucun |
|
Lecture du numéro de moteur sélectionné |
INIT |
Aucun |
|
Commande d’initialisation du moteur sélectionné (voir plus bas) |
MVT |
+- nombre de micropas |
[+/- 999999] |
Commande de déplacement |
STOP |
Aucun |
|
Arrêt du mouvement en cours |
VMIN |
pas /sec |
[TBC] |
Paramétrage de la vitesse minimale |
?VMIN |
Aucun |
|
Lecture de VMIN |
VMAX |
pas /sec |
[TBC] |
Paramétrage de la vitesse maximale |
?VMAX |
Aucun |
|
Lecture de VMAX |
ACC |
Pas/sec2 |
[1-TBC] |
Paramétrage de l’accélération |
?ACC |
Aucun |
|
Lecture de ACC |
?POS |
Aucun |
|
Lecture de POS |
MPAS |
Code |
[1-6] |
Code du nombre de µpas/pas |
?MPAS |
Aucun |
|
Lecture de MPAS |
INT |
Code |
[0-TBC] |
Code d’intensité moteur |
?INT |
Aucun |
|
Lecture de INT |
JEU |
pas |
[0-TBC] |
Valeur de rattrapage de jeu en micropas |
?JEU |
Aucun |
|
Lecture de JEU |
OFFSET |
pas |
[1-TBC] |
Décalage de la position 0 par rapport au fin de course origine en micropas |
?OFFSET |
Aucun |
|
Lecture de OFFSET |
?ST |
Aucun |
|
Lecture de l’état
en zone XRAM |
?ETAT |
Aucun |
|
Lecture de l’état
en zone EEPROM |
?FDC |
Aucun |
|
Lecture de l’état
des fins de course du moteur sélectionné |
L |
0 (éteint) à 7 (maxi) |
[0-7] |
Commande de luminosité de l’afficheur |
?L |
Aucun |
|
Lecture de la luminosité de l’afficheur |
B |
|
[0-1] |
Commande de clignotement de l’afficheur |
TAB |
Aucun |
|
Réinitialisation
par défaut de tous les paramètres moteurs |
? ? |
Aucun |
|
Retourne le code de retour de la dernière commande exécutée
|
?INFO |
Aucun |
|
Retourne un tableau de tous les paramètres des moteurs
|
Code |
Description |
0 |
OK |
1 |
Commande inconnue |
2 |
Erreur de paramètres |
3 |
Erreur de time out |
4 |
Erreur de syntaxe |
5 |
Commande non disponible |
6 |
Moteur non connecté |
7 |
Fin de course + (aller) activé |
8 |
Fin de course – (origine) activé |
9 |
Moteur non alimenté |
10 |
Non utilisé |
11 |
Erreur interne ( grosse erreur hardware) |
Code |
0 |
1 |
2 |
3 |
4 |
5 |
Intensité (A) |
0.25 |
0.50 |
0.75 |
1.00 |
1.25 |
1.50 |
Code |
1 |
2 |
3 |
4 |
5 |
6 |
µpas/pas |
1 |
2 |
4 |
5 |
8 |
10 |
Tous les paramètres moteur sont réinitialisés aux valeurs suivantes :
VMIN = 300 vitesse mini en pas/sec
VMAX = 600 vitesse maxi en pas/sec
ACC = 20 accélération en pas/sec2
MPAS = 5 (8µpas/pas) nombre de µpas/pas
INT = 2 ( 0.75A) intensité moteur
ETAT = 0 Mot d’état du moteur (8 bits, voir tableau plus bas)
La commande ?INFO permet d'afficher les paramètres de tous les moteurs :
VMIN (pas/sec) |
VMAX (pas/sec) |
ACC (pas/sec²) |
INT (A) |
MPAS (µpas) |
POSITION (µpas) |
OFFSET (µpas) |
JEU (µpas) |
La lecture périodique, par le logiciel du micro-contrôleur , des informations d’états dynamiques du système va permettre de gérer l’affichage et d’exercer, si besoin est, des actions sur le comportement en cours du système lui-même.
Par exemple : si le moteur est en mouvement et qu’un fin de course est activé ; l’affichage devra être actualisé et le mouvement arrêté.
Autre exemple : quand une fin de mouvement est détectée, la position atteinte doit être réactualisée dans la table des positions en EEPROM et sur l’afficheur.
Ces informations dynamiques sont stockées en zone de mémoire RAM du micro-contrôleur.
Important : les informations de mouvement en cours, initialisation en cours, initialisation effectuée seront aussi stockées en zone EEPROM. En cas de problème (coupures de courant, plantage de la manip), ces infos pourront être lues pour savoir si un mouvement était en cours lors du plantage.
Paramètre |
Valeur |
|
Commentaires |
Mouvement en cours MVT |
0-1 |
Dynamique |
Si valeur =1 : le moteur sélectionné bouge |
Fin de mouvement FMVT |
0-1 |
Dynamique |
Si valeur =1 : fin de mouvement détectée |
Initialisation en cours INIT |
0-1 |
Dynamique |
Si valeur=1 : le moteur sélectionné est en phase d’initialisation |
Initialisé INIT OK |
0-1 |
Statique |
Si valeur = 1 : le moteur sélectionné est initialisé |
Time out |
0-1 |
Dynamique |
Si valeur = 1 : le moteur sélectionné est en erreur de time out |
FDC+ |
0-1 |
Dynamique |
Si valeur = 1 : le fin de course + est activé |
FDC- |
0-1 |
Dynamique |
Si valeur = 1 : le fin de course – (origine) est activé |
Ces informations d’états sont accessibles via la commande ?ST (pour statut) et s’appliquent au moteur précédemment sélectionné par la commande SEL. La réponse est un mot de 16 bits avec la correspondance donnée ci-dessous.
Infos en mémoire XRAM (commande ?ST) |
|||||||
LSB |
|||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FDC+ |
FDC- |
TIMOUT |
INIT OK |
NU |
INIT |
FMVT |
MVT |
MSB |
|||||||
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
|
|
|
|
Numéro moteur |
Les informations contenues en EEPROM sont accessibles via la commande ?ETAT , seules sont disponibles les infos MVT, INIT et INIT_OK. La réponse est un mot de 8 bits avec la correspondance donnée ci-dessous.
Infos en mémoire EEPROM |
|||||||
LSB |
|||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
NU |
NU |
TIMOUT |
INIT OK |
NU |
INIT |
NU |
MVT |
Commande ?FDC
Valeur |
Description |
0 |
Aucun fin de course actif |
1 |
Fin de course – (origine) activé |
2 |
Fin de course + (aller) activé |
3 |
Moteur non connecté ( 2 fins de courses activés) |
La commande INIT déclenche l'initialisation du moteur sélectionné. Cette initialisation s'effectue comme ceci :
Le moteur se dirige vers le fin de course origine (FDC-).
Lorsqu'il est atteint, il s'en éloigne pour y retourner à petite vitesse avec plus de précision.
Enfin, le moteur se décale du FDC- de OFFSET et affiche la position 0 (zéro).