Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : valeur analogique -> tempature [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (sojojo)

mardi 7 juin 2005 à 11:17:45 | valeur analogique -> tempature

sojojo

   Bonjour a tous, j'ai un petit problème à résoudre et si quelqu'un pouvait m'aider ca me ferait super plaisir.
   Je dispose d'une carte d'acquisition qui posède des E/S TOR et des entrées analogiques. Sur les entrées analogioques, je branches un générateur de courant et sur l'interface graphique, je dois écrire la valeur correspondante en température, débit pression ... Le problème c qu'il éxiste déjà un programme mais il ne fonctionne pas et il utilise des fonctions dont je n'ai pas encore compris le fonctionnement.
si ca peut aider quelqu'un :

______________________________________________________________
Private Sub Timer1_Timer()
  Dim result As Integer
  Dim i As Integer, J As Integer, d As Integer, K As Integer
 
  Dim l As Long
  Dim di_data As Long
  Dim p As Integer
  Dim m As Single
  Static vt(15) As Variant
  Dim PrevP(15) As Long
  Dim Status(15) As Long
  Dim Intermédiaire As Long
  
Dim moinsde1vot As Integer
moinsde1vot = Int(2047.5 + (2047.5 / 20 * LimiteValiditéEntréesAna))
Conf_Hydr.Mesure_Capteur_Temp.Caption = Format(TempératureEau, "#00.0") & " °C"

'Analog-Digital Input
For i = 0 To 7
 '   If Conf_Hydr.Timer Then
            'result = AI_ReadChannel(card, i, range_value(0), d)
            result = AI_ReadChannel(card_number, i, range_value(0), d)
            l = d
                If card_type Then
            TempératureEau_Etat = True
              If i = 0 And d <> 0 Then

                    If PrevP(i) <> -1 Then Conf_Hydr.Mesure_Capteur_Temp.Caption = Format(TempératureEau, "#00.0") & " °C"
                    PrevP(i) = TabTempératureEau(IndexTournant)
                     
                If d < moinsde1vot Then
                    TempératureEau_Etat = False
                Else
                    TempératureEau_Etat = True

                   TabTempératureEau(IndexTournant) = (d - CLng(2457)) * CLng(100) / CLng(1638)
                   TempératureEau = CoefFiltrePremOrdre * Filtre(TabTempératureEau()) + (1 - CoefFiltrePremOrdre) * TempératureEau

                    Indic_Mesures.Température.Caption = Format(TempératureEau, "#00.0")
Conf_Hydr.Mesure_Capteur_Temp.Caption = Format(TempératureEau, "#00.0") & " °C"
                End If


            End If
            If TempératureEau < 0.1 Then TempératureEau = 0
            DoEvents
          
          
            If i = 1 And d <> 0 Then
                    Vitesse_Etat = True
                    TabVitesse(IndexTournant) = (d - 2457) * CLng(3000) / 1638
                    ValVitesse = CoefFiltrePremOrdre * Filtre(TabVitesse) + (1 - CoefFiltrePremOrdre) * ValVitesse
                Else
                    Vitesse_Etat = False
                    'Vitesse = 0
            End If
 
            If ValVitesse < 10 Then ValVitesse = 0
            DoEvents

            If i = 2 And d <> 0 Then
                    Débit_Etat = True
                    TabDébit(IndexTournant) = (d - 2457) * CLng(160) / 1638
                    ValDébit = CoefFiltrePremOrdre * Filtre(TabDébit) + (1 - CoefFiltrePremOrdre) * ValDébit
                Else
                    Débit_Etat = False
            End If
  
            If ValDébit < 1 Then ValDébit = 0
            DoEvents
  
  
            If i = 3 And d <> 0 Then
                    Pression3_Etat = True
                    TabPression3(IndexTournant) = ((d - 2457) / 1638) - 1
                    Pression3 = CoefFiltrePremOrdre * Filtre(TabPression3) + (1 - CoefFiltrePremOrdre) * Pression3
                Else
                Pression3_Etat = False
            End If ''

            If Pression3 > 0 Then Pression3 = 0
           DoEvents '


            If i = 4 And d <> 0 Then
                    Pression2_Etat = True
                    TabPression2(IndexTournant) = (d - 2457) * 10 / 1638
                    Pression2 = CoefFiltrePremOrdre * Filtre(TabPression2) + (1 - CoefFiltrePremOrdre) * Pression2
                Else
                    Pression2_Etat = False
            End If

            If Pression2 < 0.01 Then Pression2 = 0
            DoEvents
           

            If i = 5 And d <> 0 Then
                    Pression1_Etat = True
                    TabPression1(IndexTournant) = (d - CLng(2457)) * 10 / 1638
                    Pression1 = CoefFiltrePremOrdre * Filtre(TabPression1) + (1 - CoefFiltrePremOrdre) * Pression1
            Else
                    Pression1_Etat = False
            End If

            If Pression1 < 0.01 Then Pression1 = 0
            DoEvents
  '  End If
End If
Next i
TraitementCommEtCarte
RafraichissementAnalogique
End Sub
_____________________________________________________________

Public Function Filtre(Anale() As Double) As Double
   
    Dim TabInter(31) As Double
    Dim Boucle1 As Byte
    Dim Boucle2 As Byte
    Dim IndexMin As Byte
    Dim ValInter As Double
   
    For Boucle1 = 0 To 31
        TabInter(Boucle1) = Anale(Boucle1)
    Next
   
    For Boucle1 = 0 To 30
        IndexMin = Boucle1
        For Boucle2 = Boucle1 + 1 To 31
            If TabInter(IndexMin) < TabInter(Boucle2) Then
                IndexMin = Boucle2
            End If
        Next
        If IndexMin <> Boucle1 Then
            ValInter = TabInter(Boucle1)
            TabInter(Boucle1) = TabInter(IndexMin)
            TabInter(IndexMin) = ValInter
        End If
    Next
   
'    Conf_Hydr.List1.Clear
   
'    For Boucle1 = 0 To 15
'        Conf_Hydr.List1.AddItem TabInter(Boucle1)
'    Next
   
    Filtre = 0
   
    For Boucle1 = 12 To 19
        Filtre = Filtre + TabInter(Boucle1)
    Next

    Filtre = Filtre / 8
   
End Function
_______________________________________________________
Merci beaucoup

Sojojo


mardi 7 juin 2005 à 11:22:55 | Re : valeur analogique -> tempature

econs

Administrateur CodeS-SourceS
> il éxiste déjà un programme mais il ne fonctionne pas

Et qu'est ce qui ne va pas ? La compilation ? L'exécution ?
As-tu un message d'erreur ou bien as-tu juste un mauvais résultat ?


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.

mardi 7 juin 2005 à 11:27:21 | Re : valeur analogique -> tempature

econs

Administrateur CodeS-SourceS


En plus, difficile de t'aider quand des variables comme LimiteValiditéEntréesAna, CoefFiltrePremOrdre ou des procédures comme TraitementCommEtCarte et RafraichissementAnalogique débarquent d'on-ne-sait-où ...

Comment peut-on deviner ce qu'elles font ?

Il va falloir poser des questions plus pointues ...

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.

mardi 7 juin 2005 à 11:29:03 | Re : valeur analogique -> tempature

sojojo

le problème c'est ke le programme fonctionnait avec une autre carte d'aquisition. il n'y a pas d'erreur de compil mais, j'ai beau faire varier le courant du générateur la température par exemple ne se modofie pas...
je ne comprend pas pourquoi!!

Sojojo

mardi 7 juin 2005 à 11:31:19 | Re : valeur analogique -> tempature

sojojo

[FICHIER D'INITIALISATION DU LOGICIEL HYDRODACTA 2002]

Constante Filtre 1er ordre:
0.8

Limite de validité entrées analogiques (mA):
2.5

Constante puissance hydraulique:
0.01342

Début régulation chauffe (%):
90
30000

Intensité à vide I0 (A) :
0.26

Puissance à vide W0 (W) :
24.5

Résistance à chaud d'un enroulement R0 (Ohms) :
18

Vitesse de synchronisme Ns (t/min) :
2997

Epaisseur du trait à l'impression des courbes :
3


mardi 7 juin 2005 à 11:32:39 | Re : valeur analogique -> tempature

sojojo

en se qui concerne traitementcommetcarte et traitementanalogique, ils n'itervienent pas dans le calcul des valeurs.



Cette discussion est classé dans : end, etat, filtre, boucle1, coeffiltrepremordre


Répondre à ce message

Sujets en rapport avec ce message

prob de ftp <--> URGENT [ par sylver ] voila j'utilise une source qui n'est pas de moi'--------------------------------------------------------'--------------------------------------------- prob de ftp <--> URGENT [ par sylver ] voila j'utilise une source qui n'est pas de moi'--------------------------------------------------------'--------------------------------------------- probleme lors de la reouverture de mon programme [ par Chrisly74 ] bonjour j'ai un probleme je n'arrive pas a réouvrir mon programme lorsque je le ferme une premiere fois et que j'essai de le réouvrir ça ne fonctionne Problème avec les classes en vb.net <Hellppppp!!!!> [ par eka808 ] Salut à tous J'ai le code suivant pour le moment '**Ma Classe** Public Class Voiture     Function démarre(ByVal contact)         I dedoublons sur crystal report [ par fahdboujadi ] Bonjour!svp sur crystal report j'ai inseré un group par une certaine reference . mais je veux supimer les phrase en double. ca marche pas avec la mise Combobox liées [ par nico39 ] Bonjour ,j' ai besoin d'utiliser deux Combobox, qui doivent fonctionner ainsi :- les deux sont déjà créées ( de mainère graphique, pas programmée), et Infos tags dans fichier texte. [ par ratel3 ] Bonjour.Je cherche à récupérer les infos des tags mp3 dans un fichier texte pur. Si le texte est lisible, il est plein de caractères cachés rendant sa Voir un état sur réseau avec un accés "Read Only" [ par patrick55 ] Bonjour, j'ai un petit souci sur le Préview et l'impression de cette liste en réseau. Seules les personnes qui ont accés à la base de donné en modific problème en réalisant ma call liste , qui peut m'aider? [ par kobejul08 ] Voici le début de ma call liste quelqu'un pourrait me raiguiller sur le droit chemin?Merci d'avance'Private Sub Form_Load()'Call Liste(Type:=Copieur)'


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.