Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

synchonisation lecture ecriture

Bonjour,

 

j'uitlise une carte PCIe 6341 pour générer une rampe de potentiel envoyée à un appareil et je récupère un potentiel au retour. Pour cela, j'ai un module en VB6 qui génère la rampe de potentiel (TH_volta) et récupère le potentiel (TH_lecturecourant). La forme de la rampe est stockée auparavant dans le tableau_E et le signal est récupéré dans le tableau_I.

Ca marche sans message d'erreur. Mon probleme est que lorsque la frequence augmente les deux signaux se désynchronisent. En gros, les points du tableau_E ne correspondent plus à ceux du tableau_i.

 

Avez-vous une idée ?

Merci. Cordialement !

 

    '----------------- GENERATION SIGNAL EN SORTIE-----------------
DaqmxErr = DAQmxCreateTask("", TH_volta)            'tache génération du signal triangulaire
DaqmxErr = DAQmxCreateAOVoltageChan(TH_volta, DAQmx_device & "/" & DAQmx_output_channel, "Uin", _
                                                                -1 * gammeV, gammeV, DAQmx_Val_VoltageUnits2_Volts, "")

DaqmxErr = DAQmxCfgSampClkTiming(TH_volta, "OnboardClock", frequence, DAQmx_Val_Rising, _
                                                           DAQmx_Val_AcquisitionType_FiniteSamps, nb_points * nb_cycles)
DaqmxErr = DAQmxWriteAnalogF64(TH_volta, nb_points * nb_cycles, True, -1, _         

                                                  DAQmx_Val_GroupByScanNumber, tableau_Eeff(0), nb_sample_ecrit, ByVal 0&)

    '---------------- MESURE DE LA VOIE i ------------------------
DaqmxErr = DAQmxCreateTask("", TH_lecturecourant)   ' tache récupération du courant (sous forme d'un potentiel)
DaqmxErr = DAQmxCreateAIVoltageChan(TH_lecturecourant, DAQmx_device & "/" & DAQmx_inputY_channel, _

                                                              "Courant", DAQmx_Val_InputTermCfg_RSE, -1 * gammeI, gammeI, _

                                                              DAQmx_Val_VoltageUnits2_Volts, "")
DaqmxErr = DAQmxCfgSampClkTiming(TH_lecturecourant, "OnboardClock", frequence, DAQmx_Val_Rising, _

                                                           DAQmx_Val_AcquisitionType_HWTimedSinglePoint, _
                                                           nb_points * nb_cycles)
DaqmxErr = DAQmxReadAnalogF64(TH_lecturecourant, nb_points * nb_cycles, -1, _

                                                       DAQmx_Val_GroupByScanNumber, tableau_i(0), nb_points * nb_cycles, _

                                                       1, ByVal 0&)
DaqmxErr = DAQmxStartTask(TH_lecturecourant)

 

0 Compliments
Message 1 sur 1
5 523 Visites