Problème acquisition sur PCI 6032E

Bonjour, je suis actuellement en stage de fin d'étude et il m'ai demandé de réaliser l'aquisition d'un thermocouple. Nous pouvons utiliser qu'une carte PCI 6032E directement et le logiciel labview. Nous avons beaucoup de perturbation et nous ne comprenons pas pourquoi l'aquisition est instable meme en filtre le signal avec un passe bas avant d'enlever les bruits à 50 Hz.
Avez vous une solution?
D'avance merci

Que voulez-vous dire par "acquisition instable"? Vous trouvez les mesures bruitées?
Les mesures de températures avec thermocouple sont très sensibles. Si vous faîtes une mesure toutes les ms, vous risquez de voir beaucoup de bruit dans votre signal. Essayez simplement de moyenner vos mesures sur des intervailles de temps d'au moins 1 seconde;
Aussi, vérifier les spécifications de votre matériel (http://www.ni.com/pdf/manuals/370720c.pdf + thermocouple) pour déterminer l'incertitude sur vos mesures.

Similar Messages

  • Problème arrêt acquisition sur graphique CVI

    bonjour,
    je refais ce poste car je viens de m'apercevoir que je l'avais mis dans le forum anglais
      je fais l'acquisition de température en continue mais je souhaiterais l'arrêter aprés un certain temps
    Le problème c'est que plus je diminue mon sleep plus plus l'acquisition sur le graphique mets de tempsà s'arrêter
    voici mon programme
    #include "graphessai.h"
    #include <windows.h>
    #include <NIDAQmx.h>
    #include <formatio.h>
    #include <analysis.h>
    #include <ansi_c.h>
    #include <cvirte.h>    
    #include <userint.h>
    #define echelletc                30
    #define offsettc                -50
    #define nbpointtc                10
    #define NUM_PLOTS           20100
    #define ABS_DATE_TIME_FORMAT_STRING "%X  %B %#d, %Y"
    #define REL_DATE_TIME_FORMAT_STRING "%#M:%S.%3f"
    #define MSG_FORMAT_STRING "Current window: %s  -  %s"
    static int PanelHandle, PlotArray[NUM_PLOTS] = { 0 }, CurrentPlotIndex;
    static double StartTime;
    static void TakeSample (void);
    double tc1[10];
    double tc_mean;
    double curTime;
    TaskHandle tc1_task; 
    int main (int argc, char *argv[])
        if (InitCVIRTE (0, argv, 0) == 0)
            return -1;  /* out of memory */
        if ((PanelHandle = LoadPanel (0, "Graphessai.uir", PANEL)) < 0)
            return -1;
        DAQmxCreateTask("TC1",&tc1_task);
        DAQmxCreateAIVoltageChan (tc1_task, "PXI1Slot5/ai6", "", DAQmx_Val_RSE, 0, 10, DAQmx_Val_Volts, "");
        DisplayPanel (PanelHandle);
        RunUserInterface ();
        DiscardPanel (PanelHandle);
        return 0;
    int CVICALLBACK QuitCallback (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
        switch (event)
        case EVENT_COMMIT:
            QuitUserInterface (0);
            break;
        return 0;
    static void TakeSample (void)
        double value;
        double i;
        for(i=0;i<20/0.001;i++){
                DAQmxReadAnalogF64 (tc1_task, 10, 10.0, DAQmx_Val_GroupByChannel, tc1, 10, NULL, 0);
        Mean (tc1, 10, &tc_mean);
         if (StartTime == 0.)
            StartTime = curTime;
        GetCurrentDateTime (&curTime);
        value = tc_mean * echelletc+offsettc; 
        // gPlotArray is a circular buffer; if we've looped around, discard the old plot
        if (PlotArray[CurrentPlotIndex])
            DeleteGraphPlot (PanelHandle, PANEL_GRAPH, PlotArray[CurrentPlotIndex], VAL_DELAYED_DRAW);
       PlotArray[CurrentPlotIndex] =PlotXY (PanelHandle, PANEL_GRAPH, &curTime, &value, 1, VAL_DOUBLE,
            VAL_DOUBLE, VAL_CONNECTED_POINTS, VAL_EMPTY_DIAMOND, VAL_SOLID, 1, VAL_RED);
                  Sleep (1);   
            if (++CurrentPlotIndex == NUM_PLOTS)
            CurrentPlotIndex = 0;
    int CVICALLBACK START (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
        switch (event)
            case EVENT_COMMIT:
             TakeSample ();
                break;
        return 0;
    j'aimerais que l'acquisition s'arrête au bout de 20 SEcondes (juste pour l'exemple plus tard il faudra que je l'arrête au bout de 24 h)) mais mon programme s'arrête environ 25 minutes plus tard
    si quelqu'un à une idée elle serait la bienvenue
     Lounette m'a conseillé d'utiliser des mémoires tampons mais je n'ai aucune idée de comment ça marche
    Cordialement

    Bonjour,
    Je pense que le plus "simple" serait d'utiliser les threads.
    En effet tu pourrais soit créer un seul thread avec l'acquisition via DAQmx et l'affichage. Soit créer deux threads un pour l'acquisition qui envoyera ces données à l'autre thread via une file d'attente (Thread Safe Queue). On parle souvent d'architecture producteur / consommateur pour les problèmes LabVIEW.
    Dans tout les cas tu pourras facilement arrêter un thread via les fonctions adéquates comme CmtTerminateThreadPoolThread . Sans avoir de soucis pour attendre l'arrêter de la fonction.
    Je te conseil cet article : http://zone.ni.com/devzone/cda/tut/p/id/3663#toc3
    Cela demande plus de temps de développement mais ça peut être utile.
    Cordialement,
    Da Helmut

  • Continuation on my question "The board PC-LPM-16 , PCI-6032E , PCI-6033 are with conversion sample-hold ?

    In my question I wanted to ask if such cards have a negligible ( not a null ) delay between a channel and another ( for istance 1/max rate of board also at slowly acquisitions ) .
    Is it possible to know the delay of my cards and of the National Instr. cards in general ?

    I will try to explain the interchannel delay of the 6032E, based on the parameters provided in the catalog 2002.
    The maximum sampling speed of the board is for all of the channels. That means, if one channel is read, it can be sampled up to 100KS/s. If three channels are read, each one will be sampled at a maxium of 33.33 KS/s.
    The delay among the samples for consecutive channels is constant, and it is the maximum speed of the board. For this case (pci-6032e), it is 10 us (microseconds) (1/100KS/s).
    On the other hand, if you sample one single channel at 50KS/s, the delay among the samples will be 20 us.
    If two channels are sampled at 20,000 samples per second, the first sample would take place in time 0s, the second would take place in 10 us, the third
    (that is the second of the first channel would be in time 50 ns, the forth (second of second channel) in time 60 ns. Thus, the delay among samples of consecutive channels is always 10 ns, but the delay among consecutive samples of the same channel is defined by the specified sampling frequency. The delay between the sample of the last channel and the first channel is defined then by the sampling frequency and by the number of channels.
    Hope this information is helpful.
    L Aguila
    Application Engineer
    National Instruments

  • The board PC-LPM-16 , PCI-6032E , PCI-6033 are with conversion sample-hol​d ? a

    I have bought for a long time the cards PC-LPM-16 , PCI-6032E , PCI-6033E . Now I have necessity to acquire 16 channels without retard of time among a channel and another; do they have such cards this possibility?
    If they don't have it does a list of the cards that they have the sample-hold exist?

    If you meant if these boards can perform simultaneous sampling. I got this idea because of your sentence "without retard of time among a channel and another". Those boards cannot perform simultaneous sampling, they have a single DAC for sampling all of the channels. Thus, there will always be a time delay between the sampling of one channel and the next one.
    The boards that perform simultaneous sampling are the following PCI-6110, PCI-6111 and PCI-6115.
    I hope this information is helpful, and if this is not the answer to your question. Can you state it more clearly, please? Sorry about this.
    L Aguila
    Applications Engineer
    National Instruments

  • Problème acquisition HDV sur PE12

    Bonjour,
    Avec Première Elements 12 acquisition HDV via port FireWire 1394:
    Dans le panneaux réglage acquisition, savez-vous pourquoi je ne peux pas choisir l'option "Code Temporel" ?
    En effet ce dernier est grisé donc non sélectionnable. Par défaut est coché "Contenu".
    J'ai fait un essai avec ce choix imposé donc, et je me suis retrouvé avec un seul gros fichier de 1 heure.
    Vous comprendrez mon étonnement de ne pas pouvoir capturer par séquence selon le code temorel provenant du caméscope.
    J'ai acheté ce logiciel pour justement monté en HDV et me voilà coincé à l'acquisition.
    Dans l'état actuel des choses, ce logiciel ne me sert à rien.
    J'ai fait un essai d'acquisition avec P.Pro CS6 (V.d'évaluation) ainsi que Végas Pro 11 l 'acquisition HDV se déroule très bien par le time code du caméscope. J'ai donc un fichier par séquence. Il n'y a qu'avec PE12 que ça ne fonctionne pas.
    PC - Seven 64 bits.
    carte Fire Wire : DC-FireWire 800 PCI-Express Controller.
    tous les maj sont récentes ainsi que les pilotes.
    caméscope Sony Z5E.
    Etienne

    Hello,
    For HDV capture  split scene by "Timecode" is not possible, this option is enable only for DV Capture. Please refer to help doc:-
    http://help.adobe.com/fr_FR/premiereelements/using/WS5CDA0F91-60F1-4b79-ABF6-E9E75F498DB2. html#WS2AF26FB5-4C63-4c46-9DB3-7249558F6528
    Thanks,
    Shubhi

  • Acquisition sur USB-6255

    Bonjour,
    J'utilise un boitier USB 6255 avec deux connecteurs 68 pins et les cables correspondant de chez NI. J'ai besoin de contrôler 24 voies en analogique et une 25e voie (somme des 24 précédentes) qui sert de trigger. Normalement chaque voie déclenche individuellement et la voie somme (la 25e) me permet de déclencher l'acquisition. Après analyse des voies, j'ai des voies en doublon (même signal dupliqué sur 2 voies). J'ai cru lire un truc sur le forum anglais au sujet de voies ghosts. Mais je suis en differentiel non référencé et j'utilise une masse qui fonctionne très bien lorsque j'utilise une carte PCI 6071E. Est-ce que cela pourrait être lié à la qualité de la connectique ? Comment faire pour contourner ce problème ?

    Bonjour Greub,
    je ne suis pas sûr d'avoir saisi. Avec la 6071E la mesure multivoie se passe -t-elle bien ?
    Voici une doc qui t'aidera si tu ne l'as pas déjà consultée:
    ghosting
    Cordialement,
    Romain DUVAL || Application Engineer Specialist ||Certified LabVIEW Architect (CLA) || Certified TestStand Architect (CTA)
    National Instruments France

  • Erreur Autotest sur PCI-6115

    Bonjour
    J'ai fait l'acquisition d'une carte PCI-6115, qui fonctionne correctement sur mon pc. Je l'ai ensuite testé sur un autre ordinateur, et elle ne fonctionne pas : sous Measurement and Automation, l'autotest échoue : J'ai une erreur -50101, avec le message "Ni platform services : la ressource demandée n'existe pas..."
    J'ai deja changé de slot PCI, réinstallé DAQMX, sans succés.
    C'est sous Windows XP SP3, Daqmx 9.0.2.
    Que faire ?
    Merci d'avance

    Bonjour.
    Qu'ont vos PC de différents?Votre dernier PC est-il un PC industriel?
    Je vous suggère également d'installer la dernièr version de DAQmx.
    Si cela ne résoud pas le problème, vous pouvez nous contacter au 0157662424 pour qu'on investigue le probème plus en détail.
    Cordialement.

  • Problème acquisition

    Bonjour
    J'ai 2 souci :
    * Le premier concernant les préférences de mon compte ou je suis en "language English", j'ai déjà changé et sauvegardé maintes fois en français, à la connection suivante, je suis de nouveau en anglais.
    * Sur un Vi d'acquisition pour enregistrement vers un fichier .dat , les acquisitions s'arrètent et leur valeur tombent à 0 au bout de quelques minutes , débordement de buffer apparament, pourquoi ?
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Vi Acquisition et enregistrement.vi ‏56 KB

    Bonjour,
    Pour votre première question, le plus simple est de contacter directement le service web de  National Instruments, en passant par le standard téléphonique, au 01 57 66 24 24 et en demandant Melle Remondière. Elle verra directement avec vous comment résoudre le problème, pas à pas.
    Pour votre seconde question, j’aurais besoin de plus de précisions afin de vous aider. Quels sont les  événements qui se produisent ? Est-ce que le Vi vous renvoie une erreur signifiant le débordement du buffer ? Est ce que, au bout d’un certain temps t, le tableau que vous créez se rempli de zéros ou bien est ce le fichier .dat ?
    Un premier pas vers une solution pourrait être de faire l’acquisition des données dans votre fichier binaire au fur et à mesure que l’acquisition se produit, en créant le fichier avant la boucle while et en le fermant ensuite. Cela permettrait de décharger la mémoire au fur et à mesure et d’éviter de perdre des données.   Vous pouvez vous inspirer de l’exemple suivant afin de réaliser cela.
    Vous pouvez consulter les exemples de l’aide LabVIEW de l’arborescence « Fondamentaux\E/S sur fichiers » afin de vous guider dans l’implémentation. Plus particulièrement vous pouvez consulter l’exemple « Acquisition continue et graphe de tension – Ecrire des données sans mise à l’échelle dans un fichier TDMS » qui, bien qu’utilisant des fichiers TDMS, présente un architecture d’enregistrement qui pourrait résoudre votre problème.
    N’hésitez pas à nous recontacter en cas de besoin,
    Cordialement,
    Guillaume H.
    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 2011, le mardi 8 février au CNIT de Paris La Défense

  • Problème affichage sur graphe XY[Labview 8.5]

    Bonjour à tous,
    Je réalise l'acquisition de signaux à partir d'une application de test qui me fournit les coordonnées (X,Y)
    des signaux (voir fichier texte joint). Les coordonnée en X sont données en temps absolu, c'est à dire le nombre
    de seconde écroulé depuis le 1er Janvier 1904. Malheureusement lors de l'affichage sur un graphe (X,Y), je constate
    qu'une partie du graphe n'est pas utilisé! ( Partie représenté en jaune sur l'image jointe) Je ne comprend pas pourquoi!
    Pourriez vous m'éclairer???
    Cordialement.
    S.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    graphe.JPG ‏63 KB

    Bonjour,
    Malheureusement, je ne peux pas vous founir le code associé au fichier pour des raisons de confidentialités
    d'une part. Et d'autre part, il ne vous sera pas possible de l'exploité sans l'environnement associé (composé de nombreux VIs).
    Cordialement.
    S.
    Pièces jointes :
    VIgraphe.JPG ‏31 KB

  • Problème acquisition codeur incrémental

    Bonjour,
    Nous sommes actuellement en train de réaliser un projet d'asservissement numérique de position d'un moteur MCC.
    Nous avons deux soucis majeurs sur notre programme:
    - Afin de mettre le moteur en marche, il nous faut appuyer sur 'Enable drive' et activer 'Ordre moteur' jusqu'ici tout va bien mais en plus de cela nous sommes obligé d'appuyer sur le bouton 'Stop' et cela n'est pas normal.
    - Nous avons 3 voyants nous donnant la position (codeur phase A, B et Z). A vitesse élevée du moteur, le programme temps réel n'arrive pas à suivre et donc les voyants ne s'allument pas au bon moment. Le problème c'est que même à vitesse très réduite (en tournant le moteur manuellement) nous avons exactement le même souci.
    Comment pouvons nous remédier à ces problèmes ?
    Nous avons essayer au préalable de regarder les exemples disponibles sur Labview mais pas de réponses à nos questions.
    Matériel utilisé:
    - Labview 2011
    - Module cRIO NI 9075
    - DC Brushed Servo Drive NI 9505
    - Codeur incrémental HEDS-5540 A13
    Ci-joint vous trouverez le projet réalisé.
    Cordialement,
    Pièces jointes :
    essai2.lvproj ‏61 KB

    Bonjour fredou29,
    Merci d'avoir posté sur le forum de NI.
    En tout premier lieu, le .lvproj "n'est qu'un" fichier xml qui décrit votre projet LabVIEW que vous êtes en train de créer. Du coup il n'y a pas de source. N'hésitez pas à faire un zip de tout votre projet afin que la communauté puisse vous venir en aide .
    Bonne journée
    Flo
    Open Diagram First

  • Problème acquisition de capteurs indépendants

    Bonjour,
    J'ai essayé de développer une application avec 3 capteurs de pression : je souhaiterais faire l'acquisition de données et enregistrer le tout dans un fichier.
    1er probleme : je ne souhaite pas tout le temps faire l'acquisition des 3 capteurs, des fois 1 ou 2 me suffisent. Seulement, si je n'appuie pas sur le bouton "Démarrer" des 3 capteurs, mon programme ne s'enclenche pas. Il y a surement un truc à faire dans mes conditions "Faux" de mes boucles conditions.
    2ème : est-il possible d'enregistrer directement nos résultats dans un fichier Excel et non Word comme je fais actuellment ?
    Merci d'avance pour vos réponses.
    Cordialement,
    Attachments:
    DYSON.vi ‏79 KB

    Bonjour themick89,
    Concernant ta première question, est-ce que l'utilisation d'une boucle événementielle ne pourrait pas répondre à tes attentes?
    Pour ta deuxième question, tu peux regarder ce document.
    Des exemples LabVIEW (écriture/lecture de fichier TDMS) sont aussi à ta disposition dans l'aide LabVIEW en tapant le mot clé TDMS.
    Valentin
    Valentin
    Certified TestStand Architect
    Certified LabVIEW 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;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • Digital triggering for analog acquisition on PCI-6024

    I would like to initiate an analog input scan when a digital line goes low using a PCI-6024 board. I connected the digital line to TRIG, and the analog line to AIN0. I tried using "Acquire N - Multi-Digital Trig.vi"...it almost works. It acquires a scan, but it may (randomly) start at either the rising or falling edge of the trigger, regardless of the rising/falling trigger edge setting. How do I get it to only acquire data on a falling edge?

    Dear Dave -- If you set up your task using MAX, you can specify whether you need to start acquiring at the rising or the falling edge. Using this task in your experiment should effectively take care of the issue.
    You can do the same from LabVIEW as well using the DAQmx Trigger VI and set the acquisition to begin at the rising or falling edge as you may choose it to be.
    HOpe this helps = VNIU

  • écrire et lire sur pci 7344

    Bonjour,
    Je desire transmettre une string pour piloter un moteur gammatic un axe.La carte PCI 7344 doit me permettre de transmettrea l'harmonic drive(variateur
    sc510) mais j'aimerai egalement lire se que me renvoie le variateur.J'ai auparavant essaye motion assistant mais sans succes. Pourriez vous m'indiquer quel methode je dois suivre pour savoir si ce logiciel reconnait le moteur.D'autre part je n'arrive plus à désinstaller ce logiciel sur un autre ordinateur malgre que son repertoire soit effacé(le fichier a été supprimé) mais il doit rester des cles dans la base du registre et je ne peux plus le reinstaller. Que puis je faire pour le forcer a reinstaller? Pourriez vous également m'envoyer les VIs qui permettent d'écrire et lire sur cette
    c
    arte.
    Merci

    Copy d'une autre question que vous avez signalée, satisfaites vous rapportez à la réponse là.

  • Acquisition sur plusieurs voies et traitement desinformations

    J'utilise une carte PCMCIA NI DAQCard-6036E.
    Je rencontre deux probléme qui ne me permettent pas de continuer dans mon application.
    1er Probléme:
    Je ne sais pas comment afficher 4 boutons sur la face avant du VI Acquire&Proc Scans-SW Trig.VI
    Je souhaiterai pouvoir selectionner la voie désiré a l'aide de 4 interrupteurs(4 voies)et les afficher sur le graph(simultanémant).
    Culbuteur Vertical0:channel0
    Culbuteur Vertical1:channel1
    Culbuteur Vertical2:channel2
    Culbuteur vertical3:channel3
    Ce ne doit pas étre compliqué mais je bloque.
    Probléme 2:
    Dans le VI Acquire&Proc Scans-SW Trig.VI un sous VI existe nommé My Data Process.
    Je souhaiterai pouvoir afficher le resultat(indicateur) d
    u traitement sur la face avant du VI Acquire&Proc Scans-SW Trig.VI.
    lorsque je créé l'indicateur il me le place automatiquement sur la face avant du VI My Data Process.
    Je vous remercie pour l'aide que vous pourrez m'apporter face à ces problémes.
    Attachments:
    Acquire&Proc_Scans_-_SW_Trig_roms.vi ‏108 KB
    My_Data_Processing.vi ‏78 KB

    Bonjour Roms,
    1er problème :
    J'ai rectifié votre programme "Acquire&Proc Scans-SW Trig.VI" afin d'afficher 4 interrupteurs sur la face avant et de sélectionner ainsi la (ou les) voies que vous désiriez afficher dans le graphe.
    2ème problème :
    Je ne vois pas pourquoi vous n'arrivez pas à afficher l'indicateur du SousVI "My Data Process". Sachant qu'il a bien été crée. Moi j'arrive bien.
    Je vous envoie quand même ce programme avec quelques petites modifications.
    J'espère que ma réponse répond à vos questions.
    Sanaa TAZI
    Application Engineer
    National Instruments
    Attachments:
    Acquire&Proc_Scans_-_SW_Trig_roms_Exemple.vi ‏139 KB
    My_Data_Processing_exemple.vi ‏81 KB

  • Synchroniser les horloges d'acquisition sur des modules c-DAQ analogiques

    Bonjour,
    J'ai deux modules d'aquisition compact daq : NI9205 (acquisition en tension, horloge d'échantillonnage à 250 KS/s) et NI9227 (acquisition en courant, horloge d'échantillonnage à 50 KS/s).
    J'ai essayé de les mettre dans une seule tâche virtuelle, mais le problème c'est que si j'utilise l'horloge embarquée, j'ai une incompatibilité à cause des horloges différentes entre module.
    J'ai donc essayé de passer via un compteur comme dans l'exemple ci-aprés mais pareil. Comment faut-il faire ?
    Merci par avance pour vos réponses,
    Christophe
    Pièces jointes :
    Essai acquisition continu courant.vi ‏44 KB

    Bonjour.
    Vous n'avez pas besoin de créer une source de cadencement pour votre boucle de lecture.Il suffit simplement de lire vos données avec DAQmx Lire dans une boucle classique. A partir du moment où la fréquence d'acquisition que vous choisissez est dans les spécifications des 2 modules, vous ne devez pas avoir de problème. La fréquence de lecture dépendra du nombre de points que vous avez choisi de lire à chaque tour de boucle dans le VI Daqmx Lire et la boucle se cadencera d'elle même.
    Cordialement.

Maybe you are looking for

  • Mac mini is accessable by ssh, but won't show up in finder

    I have a mac mini running 10.6.8 that I use  primarily as a web server. It is connected to an AIrport Extreme (2nd Generation) via both Ethernet and WiFi. I have never had a problem accessing the machine via ssh. And usually find it in the Finder on

  • I lost the "preset" heading in the develop module.  How do I get it back(been to preferences, preset

    I lost the preset heading in the develop module.  How do I get it back(been to preferences, presets, and etc)?

  • All in One Printers for AE?

    I've just returned to the Mac world after years with Windows. I've spent many hours trying to get an older HP printer to work with both XP SP2 desktop and wireless with my new MacBook Pro. It did work, but with some issues after research on this foru

  • Sales Order Replication / Mirrir Project

    Hi Gurus, <b>I need a expert advice.</b> Here is what is hapenning in our organization project. We are converting the reorganizing the Company code, wbs element etc in brief consolidation of COMPANY CODE. <b>how are we doing ?</b> we have taken a mir

  • MRN2 & complex rules of devalution

    Hi Gurus ! I try to implement the process for devaluation based on movement rate (MRN2). This process will be run yearly during closing. In this transaction, I want to have a devaluation based on the rate of rotation of stock only base on consumption