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
-
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 KBBonjour 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,
BenjaminBonjour,
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 !
BenjaminBonjour,
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 KBBonjour 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 KBHello.
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
ChristopheDo 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?
-
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::kAI_Config_PolarityBipolar, // Bipolar -> signed values
tMSeries::tAI_Config_FIFO_Data::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 ?
MerciAvec 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
gopalHi,
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
-
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
-
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
-
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 ========= =====