Version initiale
Dependencies: mbed
Fork of Le_Pont_V10116 by
Pilote.h
00001 /*******************************************************************/ 00002 /* */ 00003 /* Pilote */ 00004 /* */ 00005 /* Objet de pilotage de variateur */ 00006 /* */ 00007 /* */ 00008 /*******************************************************************/ 00009 #ifndef _PILOTE_ 00010 #define _PILOTE_ 00011 00012 #include "mbed.h" 00013 #include <Serial.h> 00014 #include "Constantes.h" 00015 #include "Variable.h" 00016 #include "time.h" 00017 00018 // Etat des ordres variateur 00019 #define AUCUN 0 00020 #define ATTENTE 1 00021 #define VALIDE 2 00022 #define DEFAUT 3 00023 00024 // Ordres variateur 00025 #define ORDRE_AUCUN 0x0 00026 #define ORDRE_ARRET 0x41 00027 #define ORDRE_MONTE 0x4D 00028 #define ORDRE_DESCEND 0x44 00029 #define ORDRE_FREIN 0x46 00030 #define ORDRE_LECTURE 0x4C 00031 #define ORDRE_CONFIGURE 0x43 00032 00033 // Parametres variateur 00034 #define NB_PARAM_VARIATEUR 15 00035 #define VERSION 0x00 00036 #define STARTUP 0x01 00037 #define INCREMENT 0x02 00038 #define SEUIL_DEMARRAGE 0x03 00039 #define ACCELERATION 0x04 00040 #define DECELERATION 0x05 00041 #define KPV 0x06 00042 #define KIV 0x07 00043 #define KDV 0x08 00044 #define KA 0x09 00045 #define CONSIGNE 0x0A 00046 #define ETAT_EL 0x0B 00047 #define ETAT_SL 0x0C 00048 00049 // Etats du frein du moteur 00050 #define SERRE 0 00051 #define DESSERRE 1 00052 00053 #define LONGUEUR_CHAINE_EMISSION 100 00054 #define LONGUEUR_CHAINE_RECEPTION 100 00055 00056 #define TIMEOUT_RECEPTION_ms 200 00057 #define DELAI_COMMANDE_ARRET_ms 500 00058 00059 /** Class Pilote 00060 * Pilotage de variateur de pile de pont via liaison série et protocole 3R 00061 */ 00062 class Pilote 00063 { 00064 public: 00065 /** Constructeur 00066 * @param Id : Identifiant de l'instance 00067 */ 00068 Pilote ( S16 Id); 00069 00070 /** Initialise et ouvre le port série 00071 * @param Baudrates : Vitesse de la liaison série 00072 * @param bits : Bits de données 00073 * @param Stop : Bits de stop 00074 */ 00075 void Init ( int Baudrates, int bits, int Stop) ; 00076 /** Ordre de marche de la pile 00077 * @param Mode : Mode de fonctionnement 00078 * @param Sens : Sens de déplacement 00079 * @param Hauteur : Hauteur cible (mm) 00080 * @param Vitesse : Consigne de vitesse (tr/min) 00081 */ 00082 void Marche ( U8 Mode, U8 Sens, S16 Hauteur, S16 Vitesse ) ; 00083 /** Ordre d'arret de la pile 00084 */ 00085 void Arret (void) ; 00086 /** Commande manuelle du frein 00087 * @param Etat : Etat du frein {SERRE,DESSERRE} 00088 */ 00089 void Frein ( U8 Etat ) ; 00090 /** Lecture d'un parametre du variateur 00091 * @param Num_Parametre : numéro du parametre à lire 00092 */ 00093 void Lecture ( U16 Num_Parametre ) ; 00094 /** Configuration d'un parametre du variateur 00095 * @param Num_Parametre : numéro du parametre à configurer 00096 * @param Valeur : nouvelle valeur du parametre 00097 */ 00098 void Configure ( U16 Num_Parametre , S32 Valeur ) ; 00099 /** Etalonnage de hauteur de la pile 00100 * @param Points1 : Hauteur en points de la mesure basse 00101 * @param Hauteur1 : Hauteur en mm de la mesure basse 00102 * @param Points2 : Hauteur en points de la mesure haute 00103 * @param Hauteur2 : Hauteur en mm de la mesure haute 00104 */ 00105 void Etalonnage (S16 Points1, S16 Hauteur1 , S16 Points2 , S16 Hauteur2 ) ; 00106 /** Reception de la réponse du variateur 00107 */ 00108 void Reception ( void ) ; 00109 00110 /**Pointeur du port série*/ 00111 Serial* pPort ; 00112 /**Hauteur courante de la pile (mm)*/ 00113 S16 Hauteur_Courante ; 00114 /**Vitesse courante de la pile*/ 00115 S16 Vitesse_Courante ; 00116 ///Hauteur de la pile (pts) 00117 S16 Mesure_Courante ; 00118 ///Hauteur cible du mouvement en cours (mm) 00119 S16 Hauteur_Cible ; 00120 ///Identifiant de l'instance 00121 S16 Id ; 00122 ///Compteur de timeouts de la liaison série 00123 S16 Compteur_Timeout ; 00124 ///Deplacement en cours (ARRET, MONTE, DESCEND) 00125 U8 Etat_Deplacement ; 00126 ///Etat de la commande manuelle de frein (SERRE, DESSERRE) 00127 U8 Etat_Frein ; 00128 ///Etat de la liaison série 00129 U8 COM_OK ; 00130 ///Tableau de paramètres du variateur 00131 S32 Parametres_Vario_S32[NB_PARAM_VARIATEUR] ; 00132 00133 private: 00134 void Emission ( U8 *pChaine , U8 Longueur ) ; 00135 U8 Chaine_A_Emettre[LONGUEUR_CHAINE_EMISSION] ; 00136 U8 Chaine_Recue[LONGUEUR_CHAINE_RECEPTION] ; 00137 Timer Chrono_Pilote ; 00138 Timer Chrono_Arret ; 00139 U8 *pEmission ; 00140 U8 *pReception ; 00141 U8 Nb_Caracteres_Recus ; 00142 U8 Statut_Ordre_En_Cours ; 00143 U8 Ordre_En_Cours ; 00144 U8 Dernier_Ordre_Confirme ; 00145 F32 MM_par_Points ; 00146 F32 MM_Offset ; 00147 int Debut_Emission_ms ; 00148 int Fin_Reception_ms ; 00149 int Age_Ordre_Arret_ms ; 00150 00151 }; 00152 00153 #endif
Generated on Tue Jul 12 2022 23:24:06 by
1.7.2
