Pertes de données acquisition analogique

Bonjour,
J'utilise dans un VI les cartes NI USB 6008 et 6216 pour de l'acquisition de mesures par les voies analogiques.
Je constate dans les fichiers enregistrés, que j'ai une perte de signal durant le lancement du VI (les valeurs des entrées analogiques passent à zéro, sur toutes les voies).
Auriez-vous, une idée de la provenance de ce type de problème ?
Merci d'avance.

Je ne pense pas que la perte soit liée à l'utilisateur, le phénomène apparait de manière assez aléatoire.
Pour l'enregistrement il ne s'agit pas d'un mode producteur/consommateur
Je joins les images correspondants à la partie acquisition et enregistrement du VI
Pièces jointes :
acquisition.PNG ‏22 KB
enregistrement.PNG ‏38 KB

Similar Messages

  • Mise en oeuvre d'une tache d'acquisition analogique sur plusieurs cartes (6321/6323) et de plusieurs taches de génération analogique sur ces memes cartes (LabWindows CVI10 sous Windows SEVEN)

    Objet : Impossibilité de faire tourner une tache de mesure analogique sur deux cartes 6321, lorsque une ou plusieurs tache(s) de génération analogiques sur ces mêmes cartes existe(nt)…
    Configuration NI :
    Dev1 = Dev2 = carte 6321
    Code de création de la tache de mesure analogique :
                DAQmxCreateTask("",&AIRecordingtaskHandle);
           DAQmxCreateAIVoltageChan(AIRecordingtaskHandle,chan,"",DAQmx_Val_NRSE,min,max,DAQmx_Val_Volts,NULL);
           DAQmxCfgSampClkTiming (AIRecordingtaskHandle, "", rate, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, sampsPerChan);
           DAQmxGetTaskAttribute(AIRecordingtaskHandle,DAQmx_Task_NumChans,&gNumChannels);
    Chan vaut : "Dev1/ai0, Dev1/ai1, Dev1/ai2, Dev2/ai1"
    Code de création des taches de génération analogique :
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C1_DAC0));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C1_DAC0, chan, "", min, max,DAQmx_Val_Volts, ""));  // chan vaut Dev1/ao0
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C1_DAC1));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C1_DAC1, chan, "", min, max,DAQmx_Val_Volts, "")); // chan vaut Dev1/ao1
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C2_DAC0));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C2_DAC0, chan, "", min, max,DAQmx_Val_Volts, "")); // chan vaut Dev2/ao0
    Au premier ReadBinary, le système sort en erreur avec le message suivant : voir pièce jointe
    Notre compréhension de cette erreur : dans le cas où on met en œuvre une tache de mesure analogique sur plus d'une carte, couplée à une ou plusieurs tache(s) de génération analogique sur ces mêmes cartes, il est impossible d'utiliser l'horloge interne pour le cadencement des CAN/CNA.
    Nous avons effectué plusieurs tests :
    Modifications des horloges interne lors de la configuration des taches : "/Dev1/ai/SampleClock" pour la tache de mesure et "Devk/ao/SampleClock" pour les taches de génération analogique : erreur.
    Abandon d'une des taches de génération analogique : même erreur
    Abandon de l'ensemble des taches de génération analogique (la tache de mesure analogique couvre des voies issues des cartes Dev1 et Dev2): pas d'erreur
    Suppression des voies de la carte Dev2 dans la tache d'acquisition analogique : plus d'erreur
    Merci d'avance
    Pièces jointes :
    MsgErreur NIDAQmx.JPG ‏38 KB

    Bonjour Sisyphe42, 
    Les exemples en PJ montrent comment faire du multi-tâches et du multi-cartes sous CVI.
    Cordialement 
    Sabri JATLAOUI - Certified LabVIEW Developer
    Pièces jointes :
    ContAI-ReadDigChan.c ‏8 KB
    SynchAI-AO.c ‏9 KB
    ContinuousAI.c ‏11 KB

  • Acquisition analogique gamme 220V

    Bonjour,
    Je n'arrive pas à trouver une carte qui permet de faire une acquisition analogique simultanée (j'insiste sur simultanée) de plusieurs entrées (4,8 tout au plus) en tension mais qui soit capable de supporter 220V. J'ai trouvé par exemple la 6132 qui permet de faire ça mais elle ne supporte qu'au max 10V :
    http://sine.ni.com/nips/cds/view/p/lang/fr/nid/14109
    En fait à l'heure actuelle, j'utilise un 4071 et 4072 pour mesurer deux tensions qui doivent être synchrones, mais cela est impossible à faire sans une carte de synchronisation et NI m'indique qu'il y aura une dérive dans le temps.
    J'aimerai trouver une carte au format PXI si possible.
    Merci,
    Benjamin

    Bonjour,
    Il existe en effet quelques références dans notre catalogue qui permettent l'échantillonnage simultané pour cette gamme de tensions.
    Ci-dessous une référence en PXIe (express) qui pourrait répondre à vos attentes (sous réserve de specs complètes). Cependant il s'agit d'une carte en PXIe. Il est donc important que vous disposiez d'un chassis adapté. La plupart de nos chassis PXIe disposent par ailleurs d'emplacements pour vos cartes PXI.
    http://sine.ni.com/nips/cds/view/p/lang/fr/nid/208288# (PXIe-4300)
    Toutefois je vous conseille de contacter notre service avant-vente au 01 57 66 24 24 afin d'avoir la proposition technique la plus adaptée à votre besoin.
    http://sine.ni.com/apps/utf8/nicc.call_me
    Bien cordialement,
    Yannick D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Du 30 juin au 25 août, embarquez pour 2 mois de vidéo-t'chat ! Prenez place pour un voyage au coe...

  • Acquisition analogique et numérique

    Bonjour,
    voilà , je dois faire les 2 acquisitions mais avec une condition que l'acquisition analogique (tension) démarre et s'arrete juste quand on appuie sur un bouton poussoir lié à une tache numérique
    j'ai créé 2 taches une analogique et l'autre numérique et j'ai essayé deux solutions:
    1) La 1 : avec un déclenchememt d'état pour la tache numérique ça marchait mais le ptoblème c'est que je veux refaire l'opération à chaque fois je clike sur le bouton , jai essayé avec une boucle while mais en vain.
    2) la 2 : jai opté pour l'acquisition simultanée mais là l'acquisition se fait au meme temps pourtant je veux pas de ça.
    à votre avis c'est quoi la solution adéquate dans ce cas et pour la boucle quesque je peux faire ? Merci
    PS: je travaille sous Labwindows  avec une carte PCIe-6321. 

    Bonjour Leader 06,
    Tu pourrais utiliser un pause trigger.
    Un exemple est déjà implémenté dans CVI:
    Cont Acq&Chart Samples-Int Clk-Pause Trigger.prj
    Cet exemple va te permettre de stopper la tache analogique suivant l'état d'une ligne numérique. cette ligne numérique serait une ligne sur laquelle tu as écrit la valeur de toncontrole booleen se situant sur ton .UIR
    Sinon voici un code que j'avais réalisé pour un autre client mais qui lui était sur LabVIEW. Voici le screen shot du diagramme avec les noms des fonctions te permettant de faire l'équivalent en CVI. A noter que la structure évènement n'existe pas en CVI, mais tu as les callbacks pour cela
    Cordialement,
    Romain DUVAL || Application Engineer Specialist ||Certified LabVIEW Architect (CLA) || Certified TestStand Architect (CTA)
    National Instruments France

  • Acquisition analogique 9205 et châssis Wifi 9163 WLS

    Bonjour,
    Une question technique. Je souhaiterai pouvoir utiliser des cartes d'acquisition (9205, 9225, 9239 etc) dans un châssis Wifi. Certaines ne fonctionnement pas dans ce type de châssis, j'ai pu remarquer.
    http://zone.ni.com/devzone/cda/tut/p/id/8136
    Ce qui s'explique simplement par la résolution, le débit binaire requis et l'émission Wifi.
    Mais d'un point de vue de la maitrise temporelle, cela fonctionne comment ?
    - Est ce que les points capturées par la carte sont horodatées à la carte ou à la réception sur le contrôleur PC ?
    - Point à point ? Y a t'il une resynchro ou une reconstruction de la trame pour l'horodatage ?
    - Comment est gérée la jigue temporelle dans la transmission sans fil ?
    - Que se passe t'il en cas de perte de signal ou d'affaiblissement du signal ?
    Merci !
    Benjamin

    Bonjour,
    Pour vous donner quelques pistes sur la façon dont est gérée la communication en wifi :
    - Les données sont horodatées au niveau du convertisseur, donc sur la carte. Elles sont ensuite envoyées à travers le réseau sans fil.
    - Point à point, on a une analogie avec une communication standard en TCP : l'affichage des points se fait au fur et à mesure que le flag "data ready" est mis à jour. L'horodatage en point à point n'a donc pas vraiment de sens au niveau du module.
    - Qu'appelez-vous la jigue temporelle ?
    - La perte de signal ne pourra se voir que par le biais d'une erreur sur votre VI. De même si l'affaiblissement est trop fort, l'échantillonnage ne peut pas être suivi, et vous tenterez de lire un buffer vide, ou vous aurez un timeout sur la lecture. Le problème actuel est que DAQmx ne fournit pas pour l'heure l'information de la qualité de la liaison, au contraire du WSN par exemple.
    Bien cordialement,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Acquisition analogique et numérique_usb6341

    Bonjour,
    j'utilise une carte d'acquisition USB6341 série X et labview 8.5, je souhaite acquérir un mot binaire de 16Bits (soit 65536mots) et à chacun des mots binaire venir acquérir une valeur d'une rampe analogique.
    Le problème c'est que je n'arrive pas à acquérir tous les mots.
    Ci joint mon VI
    Pouvez vous m'aider svp
    Cordialement
    manu
    Pièces jointes :
    linéarité.vi ‏68 KB

    Bonjour Manu23,
    Tout d’abord, vous devriez cadencer votre VI.
    Où se situe votre erreur exactement? Est-ce à l'enregistrement dans votre fichier TDMS que vous ne récupérez pas toutes les données, ou est ce que vous observez déjà un problème d'acquisition quand vous regardez vos indicateur en face avant?
    Cordialement,
    Mélinda B
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure - Nouveau contenu
    34 sessions partout en Fra...

  • Acquisition analogique,numérique et compteur

    Bonjour a tous,
    Je suis chargé de réaliser un programme pour l'acquisition de mesures pour différents types de capteurs
    Le programme doit être en mesure de traiter les données de capteurs analogiques, numériques et compteurs. Les enregistrements de tous ces capteurs doivent donc être synchroniser. J'ai trouvé un exemple correspondant à mon cas (voir pièce jointe). Mais je souhaiterais savoir si il est possible de réunir toutes les voies virtuelles, correspondant aux différents capteurs (analogique,numérique,compteur), dans un tableau de voies globales DAQmx ; pour ensuite effectuer les enregistrements en fonction du type de la voie globale (analog,num ou compteur).
     En résumé, est-il possible d'effectuer un programme en fonction du type de la tâche DAQmx ?
    Merci d'avance
    Attachments:
    synchro_compteur_ai_7.1[1].vi ‏45 KB

    Hello.
    To get an answer on this part of forum you should post in English.
    Here the same topic.
    Regards.
    Romain D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
    >>Détails et Inscription<<

  • Pertes de données dans PAGES....

    J'ai perdu une journée de travail dans un document sur PAGES, après avoir passé le correcteur automatique.  Il ne semble pas avoir fait de sauvegarde de la journée et le undo ne fonctionne pas.  Est-ce qu'il y a quelque chose à faire....
    Merci.... Je suis une nouvelle utilisatrice du MAC... ;)

    Si vous n'avez jamais sauvegardé, vous aurez perdu tous vos travaux.
    Si vous utilisez Mac OSX 10.8 et sauvegardé, vous pouvez alors cliquer près du haut de la fenêtre du document pour obtenir des versions antérieures de votre travail et de les sélectionner pour revenir à eux.
    Peter

  • Perte de données de traitement

    Bonjour,
    J'ai modifié l'emplacement de l'un de mes dossiers et dans la foulée Lightroom 5 m'a proposé une indexation que j'ai accepté. Il semble qu'après cette action j'ai perdu tous les traitements réalisés sur ce dossier (toutes mes photos 2013). Est il possible de retrouver le travail perdu ?
    Merci beaucoup pour votre aide
    Christophe

    Do you have a recent back up of the catalog?? If so use that. Am not clear on how you lost the settings though can you explain further please?

  • Perte de données

    Bonjour,
    ayant été obligé de nettoyer mon mac j'ai perdu tous mes logiciels.
    comment puis je retrouver mon photoshop elements 10 que j'avais
    j'ai ma clef d'activation
    merci de votre attention
    jrbodin
    `

    Refer to this:
    Direct Download Links for Adobe Software
    Mylenium

  • IMPORTANT : Perte de données Ipad Mini

    Bonjour. J'ai accidentellement restauré mon iPad Mini et ai donc perdu des fichiers importants, notamment deux vidéos réalisées dans le cadre de mon mémoire. Est-ce possible de récupérer ces informations? Merci de me répondre rapidement

    Hi lempika03,
    If you have taken a backup on your computer then you should be able to recover your data by connecting it to your computer and going to "restore backup". If you need additional help you could try going to http://support.apple.com/kb/TS4108
    But if you didnt take backup, i'm not very sure that you can recover your data...
    Cheers,
    RohanZ

  • Acquisition bufferissée tachymetre et mesures analogiques

    Bonjour,
    Voici ma configuration Logicielle : LabView 8.2 - DAQ-MX - Windows XP SP3
    Voici ma configuration matérielle : Carte PCI-6289 - Tachymètre relié sur Compteur 0 (PFI8) - Sondes températures relièes sur Voies 0,1,2 RSE
    Le tachymètre génére 52 tops / TourMoteur et le moteur peut touner à 20000 tr/min soit 17 333.33 impulsion par seconde. Il n'y a pas de bit de sens de rotation.
    Mon but : réaliser une acquisition bufferisée simultanée Tachymètre (convertie en tr/min) et 3 températures.
    D'après vous, quelle est la meilleur méthode pour réaliser cette fonction ? Je ne trouve pas d'exemple labview permettant de réaliser cette fonction. Existe-t-il une note d'application ? Comment dois-je connecté mon tachymètre à ma carte.
    D'avance, merci pour vos réponses.

    Bonjour,
    Attention à la notion de "simultanéité". Une carte de la série M ne peut pas faire d'acquisition analogique simultanée sur plusieurs voies car elle ne possède qu'un seul C A/N pour toutes les voies d'entrée analogique.
    Ainsi, je pense que par "simultanée", vous vouliez en fait faire l'acquisition de température sur 3 voies dans un seul et même programme?
    Dans ce cas là, vous pouvez le faire en utilisant par exemple l'Assistant DAQ dans lequel vous allez paramétrer vos 3 voies Analogiques avec la même fréquence d'échantiollonage et travaillant sur la même gamme.
    Pour le tachymètre, effectivement le meilleur moyen sera d'utiliser le compteur et de faire du "comptage de front" directement.
    Cordialement
    David S.| Certified LabVIEW Associate Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées Techniques LabVIEW 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...

  • NI-6250 stops acquisition in RTX 64bit

    Hello,
    I am using DDK Samples for analog measurement with NI-6232 and NI-6250 PCI cards in a Windows 7 / RTX environment.
    Recently we upgraded to RTX64-bit and compiled our driver for 64bit environment. We now have a problem with the 6250 card ... for some time (from 3 seconds up to 140 seconds in various tests) data acquisition works fine, but then it seems like the card suddenly stops measurement. Debugging suggests that there might be some problem with DMA data transfer, since I can see that the buffer is no longer filled (in function _getBytesInBuffer() /  _writeIdx is no longer changed). Other than that, I currently  have no idea what might cause a problem like this.
    The 6232 card however works just fine in 64-bit, with the exact same driver / system setup.
    Both cards work fine with the same driver in a 32-bit environment.
    Any idea what might cause this problem?

    Analog_DebugInfo("vInitAdcUnit \n");
    tDMAError status = kNoError;
    tBoolean continuous = kTrue; // continous data-aquisition
    unsigned int i = 0; // temp variable
    unsigned int uiGain = 0; // Analog-Input range
    unsigned int uiDmaSizeInBytes = 0;
    unsigned int uiSamplePeriodDivisor = 100; // 20 MHz / divisor = Wandlungsrate
    const unsigned int kEepromSize = 1024;
    u8 eepromMemory[kEepromSize];// read eeprom for calibration information
    // EEPROM read should be done before initializing analog input
    eepromReadMSeries(s_NIPCIBoards[CardNumber].bus, eepromMemory, kEepromSize);
    // Reset board and set Card-Specific parameters
    aiReset(s_NIPCIBoards[CardNumber].board);
    if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6250_DEVICE_ID)
    aiPersonalize(s_NIPCIBoards[CardNumber].board, tMSeries::tAI_Output_Control::kAI_CONVERT_Output_SelectActive_Low);
    uiGain = 1; // See gain-range map in file "ai.h"
    else if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6232_DEVICE_ID)
    aiPersonalize(s_NIPCIBoards[CardNumber].board, tMSeries::tAI_Output_Control::kAI_CONVERT_Output_SelectActive_High);
    uiGain = 0; // See gain-range map in file "ai.h"
    aiClearFifo(s_NIPCIBoards[CardNumber].board);
    // ADC reset only applies to 625x boards
    if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6250_DEVICE_ID)
    adcReset(s_NIPCIBoards[CardNumber].board);
    // ---- Start AI task ----
    aiDisarm(s_NIPCIBoards[CardNumber].board);
    aiClearConfigurationMemory(s_NIPCIBoards[CardNumber].board);
    s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels = 0;
    // Loop over all analog channels
    for (i = 0; i < s_NIPCIBoards[CardNumber].analogChannels; i++)
    if (fGetMessGroupAktiv(Index, i + (CardNumber * NIPCI62XX_MAX_ANALOG_CHANNELS)))
    s_NIPCIBoards[CardNumber].usedChannelList[i] = 1;
    else
    s_NIPCIBoards[CardNumber].usedChannelList[i] = 0;
    if (fGetPrintDebugInfo())
    RtPrintf("Set Channel %d - %d to gain %d \n", i, i + (CardNumber * NIPCI62XX_MAX_ANALOG_CHANNELS), uiGain);
    // Set Analog Channel
    aiConfigureChannel(s_NIPCIBoards[CardNumber].board,
    i, // channel number
    uiGain, // gain -- check ai.h for allowed values
    tMSeries::tAI_Config_FIFO_Data&colon;:kAI_Config_PolarityBipolar, // Bipolar -> signed values
    tMSeries::tAI_Config_FIFO_Data&colon;:kAI_Config_Channel_TypeRSE, // Differential
    (i == s_NIPCIBoards[CardNumber].lastChannel) ? kTrue : kFalse); // last channel must be terminated specifically
    s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels++;
    for (i = 0; i < s_NIPCIBoards[CardNumber].analogChannels; i++)
    if (fGetPrintDebugInfo())
    if (s_NIPCIBoards[CardNumber].usedChannelList[i] == 1)
    RtPrintf("Channel %d used \n", i);
    else
    RtPrintf("Channel %d not used \n", i);
    aiGetRawScalingCoefficients(eepromMemory, 0, 0, 0, &RawScaleCoeff); // intervalIdx 0 -> +/- 10V
    if (fGetPrintDebugInfo())
    RtPrintf("Gain: %f \n", RawScaleCoeff.fGain);
    RtPrintf("Offset: %f \n", RawScaleCoeff.fOffset);
    RtPrintf("kFact: %f \n", RawScaleCoeff.kFact);
    RtPrintf("HighLimit: %.8x \n", RawScaleCoeff.highLimit);
    RtPrintf("LowLimit: %.8x \n", RawScaleCoeff.lowLimit);
    /* if(fGetPrintDebugInfo())
    RtPrintf(" Order: %d c[2]: %d c[1]: %d c[0]:%d \n", ScaleCoeff.order ,(int)(ScaleCoeff.c[2] * 1000) ,(int)( ScaleCoeff.c[1] * 1000) , (int)(ScaleCoeff.c[0]*1000) );
    // No need to continue if there are no used channels
    if (s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels == 0)
    return;
    // Set Card Frequency
    if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6232_DEVICE_ID)
    // On 6232 Card use fix sampling rate of 200k
    uiSamplePeriodDivisor = NIPCI6232_SAMPLE_PERIOD_DIVISOR;
    uiNumberOfSamples = 1;
    uiNumberOfDMABlocks = 2;
    else
    if (uiActiveSlowCard)
    //When there is a slow card in the system, scanrate is limited
    if (uiRequestedScanrate >= NIPCI62XX_FAST_SAMPLING_RATE)
    uiRequestedScanrate = NIPCI62XX_FAST_SAMPLING_RATE;
    Analog_DebugInfo("Active Slow Card found - reducing max sampling rate \n");
    if (uiRequestedScanrate > NIPCI62XX_FAST_SAMPLING_RATE)
    // Highspeed mode, calculate sampling rate
    uiSamplePeriodDivisor = NIPCI62XX_MAX_FREQUENCY / (s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * uiRequestedScanrate);
    uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
    else
    // Normal mode -> fixed 1000kHz sampling rate
    uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
    // On 6250 sampling rate depends on channel and scanrate
    uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE; // TEST !!!!!!!!
    uiNumberOfDMABlocks = NIPCI62XX_NO_OF_SAMPLES;
    // uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE * 2 ; // TEST !!!!!!!!
    // uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE ;
    // Error checking
    //if(uiSamplePeriodDivisor > NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR)
    // uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
    if (uiNumberOfSamples <= 1)
    uiNumberOfSamples = 1;
    if (fGetPrintDebugInfo())
    RtPrintf("Sample Period Divisor: %d \n", uiSamplePeriodDivisor);
    RtPrintf("Sample Rate: %d Hz\n", NIPCI62XX_MAX_FREQUENCY / uiSamplePeriodDivisor);
    RtPrintf("Number of Samples: %d \n", uiNumberOfSamples);
    RtPrintf("Number of DMA Blocks: %d \n", uiNumberOfDMABlocks);
    // Configure Analog Input
    aiSetFifoRequestMode(s_NIPCIBoards[CardNumber].board);
    aiEnvironmentalize(s_NIPCIBoards[CardNumber].board);
    aiHardwareGating(s_NIPCIBoards[CardNumber].board);
    aiTrigger(s_NIPCIBoards[CardNumber].board,
    tMSeries::tAI_Trigger_Select::kAI_START1_SelectPulse,
    tMSeries::tAI_Trigger_Select::kAI_START1_PolarityRising_Edge,
    tMSeries::tAI_Trigger_Select::kAI_START2_SelectPulse,
    tMSeries::tAI_Trigger_Select::kAI_START2_PolarityRising_Edge);
    aiSampleStop(s_NIPCIBoards[CardNumber].board,
    (s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels > 1) ? kTrue : kFalse); // multi channel?
    aiNumberOfSamples(s_NIPCIBoards[CardNumber].board,
    0, // posttrigger samples
    0, // pretrigger samples
    continuous); // continuous?
    aiSampleStart(s_NIPCIBoards[CardNumber].board,
    uiSamplePeriodDivisor,
    3,
    tMSeries::tAI_START_STOP_Select::kAI_START_SelectSI_TC,
    tMSeries::tAI_START_STOP_Select::kAI_START_PolarityRising_Edge);
    aiConvert(s_NIPCIBoards[CardNumber].board,
    19, // convert period divisor
    3, // convert delay divisor
    kFalse); // external sample clock?
    aiClearFifo(s_NIPCIBoards[CardNumber].board);
    /* DMA Settings */
    /* Calculate DMA-Size */
    uiDmaSizeInBytes = s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * sizeof(unsigned short)* (uiNumberOfDMABlocks);
    s_NIPCIBoards[CardNumber].uiDmaRequestSizeInBytes = s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * 2;
    if (fGetPrintDebugInfo())
    RtPrintf("DMA Size: %d bytes \n", uiDmaSizeInBytes);
    RtPrintf("DMA Request Size: %d bytes \n", s_NIPCIBoards[CardNumber].uiDmaRequestSizeInBytes);
    /* Enable dMA */
    s_NIPCIBoards[CardNumber].board->AI_AO_Select.setAI_DMA_Select(1);
    s_NIPCIBoards[CardNumber].board->AI_AO_Select.flush();
    status = s_NIPCIBoards[CardNumber].dma->config(0, tDMAChannel::kRing, tDMAChannel::kIn, uiDmaSizeInBytes, tDMAChannel::k16bit);
    if (status != kNoError)
    if (fGetPrintDebugInfo())
    RtPrintf("Error: dma configuration (%d)\n", status);
    status = s_NIPCIBoards[CardNumber].dma->start();
    if (status != kNoError)
    if (fGetPrintDebugInfo())
    RtPrintf("Error: dma start (%d)\n", status);
    else
    /* Start Measurement here */
    aiArm(s_NIPCIBoards[CardNumber].board, kTrue);
    aiStart(s_NIPCIBoards[CardNumber].board);
    if (fGetPrintDebugInfo())
    RtPrintf("Starting Board & DMA \n");
    Hello,
    sorry it took so long, but I had to setup a new workstation dedicated for debugging this problem. The code above is the entire initialization of the AI measurement. It's based on the aiex3 sample for continuous measurement and DMA data transfer.
    I also have some new information regard the error: On my new test system I am not able to reproduce this the error with PCI-6250 stopping the acquisition. I now have two PC Systems where one shows the problem, the other does not. I will investigate further.
    Previously I said the PCI-6232 card does not show any error, but this is not true. I noticed that on 64-bit modes the AI channels are mixed up. Example: I am measuring 16 channels, and have a 1kHz sinus on channel 1 ... in the acquired data i see the sinus on channels 4, 8 and 12. Again, the code is exactly the same that works fine when compiled for 32-bit.

  • Comment scanner sur un temps long en récupérant les données toutes les s

    Avec une carte PCI-6031E, comment scanner toutes les voies sur un temps long en récupérant les données toutes les secondes (sans perte de données), et surtout en se gardant la possibilité de stopper l'acquisition à tout moment ?
    Merci

    Avec une carte PCI-6031E, comment scanner toutes les voies sur un temps long en récupérant les données toutes les secondes (sans perte de données), et surtout en se gardant la possibilité de stopper l'acquisition à tout moment ?
    Merci

  • Asset accounting depriciation calculation for subsequent  acquisition

    hi,
    i have problem while running the depreciation for asset sub sequent acquisition
    my asst master is 4000
    first acquisition on 01.04.2011 for rs 100000/-
    we calculated depreciationwdv method for april month it's working fine
    my client had done second acquisition for the same asset master  on 01.07.2011 for rs 50000/-
    while running depreciation for july month it's calculating dep for first acquisition as is same , the problem is for second acquisition also it;s is calculating dep from 01.04.2011
    for this in period control method where we have to change the settings
    can anyone help me in this regards
    requirement is very urgent we have to close period for july month
    rggds
    gopal

    Hi,
    Please find the below link it will help full for you,,,,,,,,,
    Assets subsequent acquisition u2013 Calculation  Depreciation over useful life
    Naresh

Maybe you are looking for

  • Print quality issues

    Hello We are having print quality issue when printing PDF's to our Canon iR C2880/C3380 UFR II.  This was the most recent print driver from canons website which was download about 6 weeks ago. version 2.9.  At one time we were having other pring qual

  • SharePoint 2010 and PowerPoint 2010: Open PPTX File in Edit Mode and Open PPSX in in Slide Show Mode

    I have the following issue while opening PowerPoint PPTX file and PPSX from the Document ID link provided by SharePoint 2010. Issue Initially when I opened PPTX file from the DOC ID link from SharePoint 2010, it is opening up in Slide Show mode which

  • ICloud sync not working with BBQ10

    Hello. Having recently swapped my iPhone 5 to BBQ10 I have been hit by an enormous amount of hassle. The main thing being the ability to sync my contacts and calender from my Mac on to the Q10. I have followed the online instructions and it is not wo

  • Error with XSU: oracle.jdbc2.Clob

    When I try to insert data I get the following error. java.lang.NoClassDefFoundError: oracle.jdbc2.Clob void samp10.main(java.lang.String[]) Exception in thread main. I use classes112.zip with Oracle 8.1.7. I have Included following libraries in JDeve

  • Validation in af:query

    Dear All, I have created a af:query by dragging a vo on page, in that i have a createddt field with between clause, and i want the createddt to be mandatory in each search..how can i do it..? Regards, Santosh Component     Version =========     =====