Beispiel #1
0
        //--------------------------------------------------------------
        // METHODE AFFICHAGE DES COURBES
        //--------------------------------------------------------------

        public void Graphique()
        {
            //------------------------Courbe Vitesse-----------------------------//


            mGrapheVitesse = ZDGrapheVitesse.GraphPane;                 // créer un volet


            mGrapheVitesse.Title.Text = "Courbe de la vitesse";         // titre


            mGrapheVitesse.YAxis.Title.Text = "Vitesse";                // titres des axes
            mGrapheVitesse.XAxis.Title.Text = "temps";



            GraphVitesse = mGrapheVitesse.AddCurve(null, ListEchantillonVitesse, Color.Blue, SymbolType.None);      //ajouter les points sur le volet



            ZDGrapheVitesse.AxisChange();                       //dessin
            ZDGrapheVitesse.Refresh();


            //------------------------Courbe Tension-----------------------------//



            mGrapheTension = ZDGrapheTension.GraphPane;              // créer un volet

            mGrapheTension.Title.Text = "Courbe de la tension";      // titre


            mGrapheTension.YAxis.Title.Text = "tension";                // titres des axes
            mGrapheTension.XAxis.Title.Text = "temps";



            GraphTension = mGrapheTension.AddCurve(null, ListEchantillonTension, Color.Red, SymbolType.None);           //ajouter les points sur le volet



            ZDGrapheTension.AxisChange();               //dessin
            ZDGrapheTension.Refresh();
        }
Beispiel #2
0
        //--------------------------------------------------------------
        // METHODE APPEL DU TIMER10
        //--------------------------------------------------------------


        private void Timer10_Tick(object sender, EventArgs e)
        {
            i++;                                //incrémentation à chaque coup de timer pour affichage des courbes

            //--------------------------------------------------------------
            // AFFICHER TEMPS QUE METS LE MOTEUR POUR ARRIVER A LA CONSIGNE
            //--------------------------------------------------------------
            if ((Convert.ToDouble(lblvitesse.Text) < Convert.ToDouble(lblconsigne.Text) * 0.95) || (Convert.ToDouble(lblvitesse.Text) > (Convert.ToDouble(lblconsigne.Text) * 1.05)))
            {
                lbltps.Text = Convert.ToString(100 * i);
            }

            //--------------------------------------------------------------

            if (bchoix == true)                                       //si la commande provient de App (BTN GO)
            {
                dCVitesse = System.Convert.ToDouble(txtVitesse.Text); //récupération de la vitesse textbox
                string dC = txtCharge.Text;                           //récupération de la charge textbox
                dC      = dC.Replace('.', ',');                       //remplacement du . en ,
                dCharge = double.Parse(dC);                           //passage en double
            }
            else                                                      //Si la commande provient du client
            {
                dCVitesse = mServer.dS;                               //on récupère les valeurs demandées par le client
                dCharge   = mServer.dT;
            }


            mcommande.Commande(dCVitesse, dCharge);                             //on appelle la fonction Commande qui s'occupe de la régulation
            this.lbltension.Text = mcommande.sTension;                          //on affiche en tps réel
            this.lblvitesse.Text = mcommande.svitesse;
            this.lblcourant.Text = mcommande.scourant;


            ListEchantillonVitesse.Add(i, mcommande.dVitesse[mcommande.i]);         //on rajoute les points sur les courbe vitesse et tension
            ListEchantillonTension.Add(i, mcommande.dtension[mcommande.i]);
            ival = true;                                                            //nécessaire pour Reset()

            ZDGrapheVitesse.Refresh();                                              //on rafraîchit  les courbes(+ évite le lag)
            ZDGrapheVitesse.AxisChange();
            ZDGrapheTension.Refresh();
            ZDGrapheTension.AxisChange();
        }