!
|
(*Si pas de WRITE_CMD en cours, alors initialisation des défauts*)
|
IF NOT Ring.CMD_IN_PROGR THEN Ring.ACTION_CMD := 409;
|
|
WRITE_CMD(Ring);
|
|
END_IF;
|
!
|
(*Si pas de WRITE_CMD en cours, alors écriture (set) de la puissance optique*)
|
|
IF NOT Ring.CMD_IN_PROGR THEN Ring.ACTION_CMD := 2545;
|
||
Ring.PARAM_CMD_3 := 51.5;
|
//Paramètre 3 : puissance optique = 51.5
|
|
WRITE_CMD(Ring);
|
||
END_IF;
|
!
|
(*Si pas de WRITE_CMD en cours, alors lecture (get) du rapport de transmission*)
|
|
IF NOT Ring.CMD_IN_PROGR THEN Ring.ACTION_CMD := 1551;
|
||
WRITE_CMD(Ring);
|
||
END_IF;
|
||
!
|
(*Si WRITE_CMD terminé et si pas de défaut, alors la valeur du rapport de transmission est accessible dans retour 1*)
|
|
IF NOT Ring.CMD_IN_PROGR AND NOT Ring.CMD_ERR
|
||
THEN BAUD_RATE: = Ring.RETURN_CMD_1;
|
//rapport de transmission dans retour 1
|
|
END_IF;
|
!
|
(*Si pas de WRITE_CMD en cours, alors déplacer l'axe réel 3*)
|
|
IF NOT Axis_3.CMD_IN_PROGR THEN Axis_3.ACTION_CMD := 513;
|
||
Axis_3.PARAM_CMD_1 := 0;
|
//Paramètre 1 : type de mouvement = absolu
|
|
Axis_3.PARAM_CMD_3 := 105.2;
|
//Paramètre 3 : position = 105.2
|
|
|
Axis_3.PARAM_CMD_4 := 5.0;
|
//Paramètre 4 : vitesse = 5
|
WRITE_CMD(Axis_3);
|
||
END_IF;
|
!
|
(*Si pas de WRITE_CMD en cours, alors lire la position de l'esclave suiveur*)
|
|
IF NOT Follow.CMD_IN_PROGR THEN Follow.ACTION_CMD := 537;
|
||
Follow.PARAM_CMD_3 := 102.5;
|
//Paramètre 3 : position du maître = 102.5
|
|
WRITE_CMD(Follow);
|
||
END_IF;
|
||
!
|
(*Si WRITE_CMD terminé et si pas de défaut, alors la position de l'esclave est accessible dans retour 2*)
|
|
IF NOT Follow.CMD_IN_PROGR AND NOT Follow.CMD_ERR
|
||
THEN SLAVE_POSITION :=Follow.RETURN_CMD_2;
|
//position dans retour 2
|
|
END_IF;
|