Je désire obtenir la valeurs RMS d'un courant alternatif

Je réalise un VI qui permet de caractériser un moteur électrique. Mais je rencontre un problème, mon courant étant alternatif, je récupère des valeurs positives et négatives du courant dans mon tableau alors que je voudrais avoir la valeurs RMS du courant mesuré à chaque instant.

Yohann a écrit:
> Je réalise un VI qui permet de caractériser un moteur électrique. Mais
> je rencontre un problème, mon courant étant alternatif, je récupère
> des valeurs positives et négatives du courant dans mon tableau alors
> que je voudrais avoir la valeurs RMS du courant mesuré à chaque
> instant.
Salut,
Il ne faut pas te focaliser sur LabVIEW mais plutôt penser en termes de
chaîne de mesure. Or en général, c'est le périphérique instrumental qui
fait tout le travail de mesure et LabVIEW n'est là "que" pour
communiquer avec lui.
Au mieux, il te suffit peut-être de trouver une instruction de
l'instrument qui te donne la mesure RMS directement.
A la limite, si ta carte est assez rapide pour échantillonner fidèlement
la forme du signal, tu peux aussi f
aire calculer cette valeur en continu
par LabVIEW (pourquoi faire simple !).
Au pire ton instrument ne convient pas et la prog. n'y est pour rien.
Dans tous les cas, un peu plus d'infos sur l'instrument permettra de
mieux situer le point de blocage.
oz

Similar Messages

  • Obtenir la valeur d'une propriété dans TDMS

    Bonjour,
    Je cherche à obtenir la valeur des propritétés " log-dt " et " log-iteration-lenght ", mais je n'ai pas de répose.
    En pièce jointe la copie du programme.
    Merci de votre aide.
    Pièces jointes :
    TDMS.JPG ‏108 KB

    J'ai trouvé un noeud de propriété me permettant d'obtenir la valeur de la page sélectionnée.
    Cependant, je rencontre un problème avec mon application, j'ai créé une architecture producteur consommateur avec la fonction de liste d'attente.
    Quand je sélectionne la page, celle-ci n'envoie pas correctement les informations..
    Cordialement
    Pièces jointes :
    Mode_Auto_Final(1).vi ‏218 KB

  • Probleme insertion valeurs dans un tableau

    Bonjour,
    Je rencontre un petit probleme sous Labview 7.1.
    J'obtient des valeurs RMS d'un signal. J'aimerai faire une moyenne de 20 valeurs prisent toute les 1/4 ou 1/2 secondes. Le probleme est que je n'arrive pas a inserer ces valeurs dans mon tableau, la valeur precedente est remise a zero.
    De plus, quand j'initialise mon tableau en dehors de ma boucle, je ne peut pas raccorder mon initialized array car le format n'est pas le meme.
    merci.
    Attachments:
    test_file_record_4.vi ‏682 KB

    Pour ne pas perdre la dernière valeur entrée dans le tableau, il faut utiliser un registre à décalage.
    Le pb de connection est du à l'autoindexation  (clic droit sur le point d'entrée...). Par défaut les boucles For autoindexent les entrées de type tableau. C'est l'inverse avec les boucles while.
    J'ai corrigé et fait un peu de ménage dans votre vi.
    Ceci dit, je ne pense pas que vous arriviez ainsi à calculer votre moyenne... il faudra probablement revoir votre algorithme .
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    test_file_record_4[1].vi ‏703 KB

  • Calcul RMS d'un signal à l'aide d'une fenêtre temporelle rectangulaire à décaler

    Bonjour !
    D’un signal (sinus par exemple), j’ai besoin de calculer la valeur RMS, avec une durée d’intégration de 1 ms, à l’aide d’une fenêtre rectangulaire. Cette simple fenêtre rectangulaire (pas Hann, ni Kaiser, etc.) doit avoir un décalage de 25%. Autrement dit, au lieu de considérer des fenêtres sur des intervalles consécutifs de 1ms, on considère la première fenêtre de 1 ms d’intervalle, on se décale de 25% (de la taille de la fenêtre) et on reconsidère un intervalle de 1ms (donc 75% du premier intervalle sont superposés), et ainsi de suite.
    Si quelqu’un peu m’aider, toute piste est la bienvenue.
    Merci d’avance.
    Résolu !
    Accéder à la solution.

    Bonjour, as-tu du code exemple à nous proposer pour t'aider? Le scan rate est-il fixé?
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • [LV 8.6] Valeur "absolue" d'un graphique

    Bonjour,
    j'aimerais à partir d'un graphique, obtenir la valeur maximale mais depuis le début de l'acquisition, c'est-à-dire la valeur maximale "absolue". Et non pas la valeur absolue de la fenêtre du graphique.
    Par exemple, l'indicateur affichera :
    0.05 puis 0.09, 0.12, 0.19, 0.25, etc.
    Je sais pas si je suis bien clair =S posez des questions ;-)
    Merci d'avance =)

    Bonjour,
    2 possibilités, selon l'implémentation de la mesure:
    - le code posté est dans une boucle while: il faut câbler la sortie du max a un registre à décalage. Ensuite, il suffit d'ajouter un max qui sélectionnera le max entre le max du tableau et le max stocké dans le registre à décalage
    - pas de boucle while: il faut utiliser le même processus, mais en utilisant une boucle de rétroaction afin de récupérer le max absolu de la mesure.
    Ci-joint le code correspondant.
    Bon courage
    Francis M | Voir mon profil
    Certified LabVIEW Developer
    Pièces jointes :
    max absolu.png ‏24 KB

  • How can I use the RMS.vi over more than one period?

    Hi everyone,
    I am using the Cycle average and RMS.VI to get the RMS value of a alternative voltage (2kHz). To acquire this signal I am using a differentiel AI of a 6225 card (at 250kS/s) and the RMS value is correct, it works fine. However from what I have understood, this VI calculates the RMS value according to only one period no matter how many samples I have acquired (2000 samples in the VI I have attached). Is this correct? If so, is ithere a way to use it over all of the 2000 samples to get a more averaged value? Or does another VI exist?
    I could repeat several time an acquisition of a short number of samples (a period) and make an average but it would take some time and I have to do this with 39 other Inputs on the same card one after the other...
    Thank you for your help,
    User
    Attachments:
    Forum.vi ‏76 KB

    User_1979 wrote:
    ....could you tell me if this VI sends a rms value of X compleat periods (even if I have send X periods and a half for example)?
    It gives the RMS value of only the newest set of data.
    The RMS and RMS Pt. By Pt. work for me, but it depends on how you break out that Dynamic Data from the Express VI, which was why I suggested you didn't use it - mainly because you can't tell what happens to that data when you wire it to a function and it coerces. Actually, I should say, I can't tell what happens to it. You may know, but I don't.  
    In the attached screenshot, I have "made" a 2k sine wave with an amplitude of 5. The indicators show RMS value.
    Richard
    Attachments:
    rms.gif ‏14 KB

  • Why on iPad 2 theres is no siri?

    why on iPad 2 there is no siri?

    No, the non-official alternatives do not work as well as the iPad 3 or other approved devices which have enhanced hardware for voice recognition and noise reduction. This is especially apparent in rooms with above average ambient noise levels.
    Those who want Siri on the iPad 2 can use the alternative methods. Apple will never include it.

  • Stored procedure for arhive

    I created a stored procedure for send data from a source bd to the bd destination with a link between BD
    But it will not work
    CREATE OR REPLACE PROCEDURE archivage ( source IN VARCHAR2, destination IN VARCHAR2)
    BEGIN
    / * - Prepare a cursor to select from the bd_source: * /
    source_cursor: = dbms_sql.open_cursor;
    DBMS_SQL.PARSE (source_cursor,
    'SELECT table_name FROM dba_tables' | | source,DBMS_SQL.NATIVE);
    LOOP i in source_cursor
    /* Or i use this !!!!
    SELECT object_name FROM dba_objects WHERE owner = 'SCOTT' AND object_type = 'TABLE'*/
    DBMS_SQL.DEFINE_COLUMN (source_cursor, i);
    end loop
    ignorer: DBMS_SQL.EXECUTE = (source_cursor);
    / * - Prepare a cursor to insert into the destination db: * /
    destination_cursor: = DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE (destination_cursor,
    'INSERT INTO' | | destination | | DBMS_SQL.NATIVE);
    / * - Fetch a row from the source table and insert it into the destination table: * /
    loop
    if DBMS_SQL.FETCH_ROWS (source_cursor)> 0 ALORS
    - Obtenir des valeurs de colonne de la ligne
    DBMS_SQL.COLUMN_VALUE (source_cursor,i);
    DBMS_SQL.BIND_VARIABLE (destination_cursor,i);
    ignorer: DBMS_SQL.EXECUTE = (destination_cursor);
    ELSE
    EXIT;
    End If;
    END LOOP;
    /*-Close cursor */
    COMMIT;
    DBMS_SQL.CLOSE_CURSOR (source_cursor);
    DBMS_SQL.CLOSE_CURSOR (destination_cursor);
    EXCEPTION
    WHEN OTHERS, THEN
    if
    DBMS_SQL.IS_OPEN (source_cursor)then
    DBMS_SQL.CLOSE_CURSOR (source_cursor);
    End If;
    if DBMS_SQL.IS_OPEN (destination_cursor) then
    DBMS_SQL.CLOSE_CURSOR (destination_cursor);
    End If;
    RAISE;
    END;

    find 10 differences ... :(
    CREATE OR REPLACE PROCEDURE archivage (source        IN VARCHAR2,
                                           destination   IN VARCHAR2)
    IS
       source_cursor        INTEGER;
       destination_cursor   INTEGER;
       ignorer              INTEGER;
    BEGIN
       /* - Prepare a cursor to select from the bd_source: */
       source_cursor := DBMS_SQL.open_cursor;
       DBMS_SQL.
        PARSE (source_cursor,
               'SELECT table_name FROM dba_tables' || source,
               DBMS_SQL.NATIVE);
       FOR i IN source_cursor
       LOOP
          /* Or i use this !!!!
          SELECT object_name FROM dba_objects WHERE owner = 'SCOTT' AND object_type = 'TABLE'*/
          DBMS_SQL.DEFINE_COLUMN (source_cursor, i);
       END LOOP;
       ignorer := DBMS_SQL.EXECUTE (source_cursor);
       /* - Prepare a cursor to insert into the destination db: */
       destination_cursor := DBMS_SQL.OPEN_CURSOR;
       DBMS_SQL.
        PARSE (destination_cursor,
               'INSERT INTO ' || destination,
               DBMS_SQL.NATIVE);
       /* - Fetch a row from the source table and insert it into the destination table: */
       LOOP
          IF DBMS_SQL.FETCH_ROWS (source_cursor) > 0
          THEN
             --ALORS
             -- Obtenir des valeurs de colonne de la ligne
             DBMS_SQL.COLUMN_VALUE (source_cursor, i);
             DBMS_SQL.BIND_VARIABLE (destination_cursor, i);
             ignorer := DBMS_SQL.EXECUTE (destination_cursor);
          ELSE
             EXIT;
          END IF;
       END LOOP;
       /*-Close cursor */
       COMMIT;
       DBMS_SQL.CLOSE_CURSOR (source_cursor);
       DBMS_SQL.CLOSE_CURSOR (destination_cursor);
    EXCEPTION
       WHEN OTHERS
       THEN
          IF DBMS_SQL.IS_OPEN (source_cursor)
          THEN
             DBMS_SQL.CLOSE_CURSOR (source_cursor);
          END IF;
          IF DBMS_SQL.IS_OPEN (destination_cursor)
          THEN
             DBMS_SQL.CLOSE_CURSOR (destination_cursor);
          END IF;
          RAISE;
    END;
    /

  • URGENT: Probleme synchronis​ation variable entre PC et PC RT

    Bonjour,
    J'ai un problème de synchronisation de variable entre PC et PC RT. J'utilise un PC RT et un PC connecté par cable ethernet. Le PC RT comporte une librairie de variable que je viens lire a partir de mon PC. Pour lire ou écrire a partir du PC j'utilise une FGV. Je pensais grace a la FGV éviter les problèmes de synchronisation or je me suis rendu compte qu'il y avait un temps de lecture et écriture non négligeable!
    Ci-joint des images de mon VI de test de lecture de la variable (j'écris vrai et je viens lire directement après pendant un certain temps pour voir combien d'itération il me faut pour obtenir la valeur vrai) et des image de ma pseudo FGV.
    Il doit y avoir des réglages possible évitant ce problème lorsque l'on crée la variable du pc rt non??
    Merci pour votre rapide aide!
    Attachments:
    FGV_Read.png ‏43 KB
    FGV_Open_connection.png ‏43 KB
    Front_panel_and_block_diagram.png ‏58 KB

    Bonjour,
    Du coup je me demande si un flux réseau vous conviendrait. Vous pourriez utiliser la fonction pour vider le flux afin d'être sûr que tout est envoyé. Après, si le temps entre deux lectures est trop long, c'est que ça pêche du côté de la lecture.
    Cordialement,
    Mathieu P. | 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 : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Problème accélèromètre et toolkit sound and vibrations

    Bonjour,
    Je viens vers vous car je cherche à mesurer une accélération. Et, à l'aide celle-ci obtenir la valeur de mon déplacement et de ma vitesse . Je précise que l'application est utile pour un pot vibrant. Cependant "l'ensemble" des Vi que j'ai pu observé jusqu'à présent utilise l'option supplémentaire de labview : Sound and vibration toolkit.
    on accéléromètre est un piézoélectrique ( voir doc ci joint) et je voulais savoir quelle la solution la plus évidente et la plus précise à utiliser sans pour autant acheter le toolkit sound and vibration. Je précise que le boitier que j'utilise est un boitier NI USB 6353.
    Merci d'avance.
    Pièces jointes :
    ICP 120.pdf ‏145 KB

    Bonjour Geoff54,
    Effectivement, une fois l'accélération acquise, il faut que vous fassiez des calculs mathématiques pour récupérer la vitesse et le déplacement. Vous trouverez les formules ici: http://fr.wikipedia.org/wiki/Acc%C3%A9l%C3%A9ration#Math.C3.A9matiquement
    Cordialement,
    Benoit S. - Field Sales Engineer
    Certified LabVIEW Developer
    Certified TestStand 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;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • Moyenne de données d'un tableur

    Bonjour,
    Dans le cadre d'un projet, j'ai besoin de concevoir un programme LabView afin d'effectuer une moyenne de valeurs dans un fichier tableur, elles mêmes provenant d'une mesure sur une voie de capteur.
    J'ai donc un fichier tableur qui contient 46 valeurs, et je dois prendre les 23 dernières et faire leur moyenne, afficher cette dernière.
    Je me disait que la solution serait de lire le fichier en mettant un offset de 23 ( afin d'avoir la deuxième moitié du tableau ) et de décomposer ce tableau afin d'obtenir des valeurs qui puissent être moyennées, mais je bute sur le fait de décomposer ce tableau.
    Pourriez-vous m'éclairer sur ce problème.
    Merci d'avance

    Bonjour,
    il n'est pas nécessaire de décomposer le tableau. dans le menu tableau, vous avez deux fonctions: sous-ensemble qui permet de garder qu'une portion de tableau et la fonction taille qui permet de savoir la taille du tableau. dans le menu numérique: somme du tableau qui génère une somme de tous les éléments d'un tableau.
    valeur moyenne = somme des éléments du tableau / nb élément dans le tableau.
    Cordialement
    L.MICOU

  • Ajustement profile voigt

    Bonjour,
    Je cherche à effectuer l'ajustemment (fit) d'un pic par la fonction de Voigt.
    Cette fonction est la convolution de deux fonctions non linéaires (lorentz et gauss).
    J'ai essayé en utilisant le module d'ajustement de courbe non linéaire de Labview et en entrant comme fonction modèle un VI dans lequel j'effectue la convolution de la fonction de lorentz et de celle de Gauss.
    Si j'arrive à obtenir des valeurs de fit, celles ci sont manifestement erronées puisque la valeur du centre du pic déterminée par l'ajustement ne coincide pas avec le centre du pic.
    J'imagine que je n'utilise pas les bons outils. Est ce que quelqu'un aurait une idée à me proposer ? J'ai cherché sur les posts plus anciens, J'ai trouvé quelques pistes qui datent de 2005 et 2007 mais qui ne m'ont pas permis de résoudre mon probleme.
    Dans l'attente de vous lire,
    S.

    Bonjour,
    Oui j'ai essayé d'utiliser la fonction d'ajustement de courbe non linéaire. Dans un premier temps, j'ai validé son utilisation en effectuant des ajustement sur des courbes plus simples du type Gaussienne ou Lorentzienne. Dans les 2 cas, j'ai fait ces ajustement en utilisant soit la formule, soit en utilisant une référence de VI statique pour décrire l'équation de la courbe à utiliser pour l'ajustement. Tout cela fonctionne.
    Mon problème se résume donc à décrire dans un VI la convolution de la gaussienne et de la lorentzienne. Lorsque j'utilise le module de convolution de labview, j'arrive à ajuster la courbe, mais le centre de la courbe ne correspond pas au centre du pic, meme si la courbe semble assez bien se superposer.
    Je cherche en ce moment des piste pour décrire la fonction de voigt en effectuant "à la main" la convolution des 2 fonctions qui est censé etre intégrale(-inf;+inf) [f(x-t).g(t).dt]
    Je bloque pour l'instant sur ce point.
    Par conséquent, si vous avez des infos sur la manière de convoluer 2 fonctions autrement qu'en utilisant le module de convolution de labview, je suis preneur.
    Merci de votre aide.
    S.

  • Chargement à partir d'un fichier ini dès l'ouverture du vi

    Bonjour à tous, 
    À partir de mon mode administrateur, une liste d'enceintes climatiques comprenant plusieurs paramètres est chargée à partir d'un fichier ini (code : Administrateur_bis) 
    Puis, je peux modifier ces paramètres dans mon tableau de cluster, ajouter d'autres enceintes climatiques. 
    Mon problème se situe au niveau du chargement, je voudrai initialiser en chargeant cette liste. 
    Quelqu'un aurait une suggestion ? 
    Cordialement 
    Pièces jointes :
    Administrateur_bis.vi ‏69 KB
    Administrateur.vi ‏73 KB

    Premièrement, je ne vois pas l'utilité du feedback node (désolé j'ai LV en anglais).
    Deuxièmement, vous demandez la liste des sections.  Les résultats est un tableau de chaînes de caractères contenant : étuve1 et étuve2.  Ce tableau est connecté à une boucle FOR ainsi qu'un autre tableau contenant les tags contenus dans une section. Donc, à votre itération 0 vous demandez pour toutes les clés de cette section (string, double): je veux obtenir la valeur de la clé "Nom_étuve" de la section "Étuve1".  À l'itération 1 vous demandez pour toutes les clés de cette section (string, double): je veux obtenir "Alarme_basse" de la section "Étuve2".
    Les noms des clés, dans votre exemple, ne peuvent pas être fournis sous la forme d'un tableau.
    Jean-Marc
    LV2009 and LV2013
    Free PDF Report with iTextSharp
    Pièces jointes :
    Administrateur_bis-1 MOD.vi ‏71 KB

  • Comment convertir les fronts compter par un couplemètr​e qui en 1 tour emet 360 impulsions en tour par minute?

    Bonjour,
    j'ai un problème je dispode d'un conditionneur SC-2345 et 2 module SCC-FT01, et d'un couplemètre de sensorsFGP réf:CD9510-20-3/8W
    mon but est de faire l'acquisition du couple et la vitesse de rotation d'une perceuse à patir de Labview.
    mon couplemètre est alimenter en 12V
    signal etendu de mesure -5V à 5V
    exemple pour: 0 N.m = 0V
                             5N.m=1.249V
                             20N.m= 5V
                                dans le sens horaire
                             5N.m= -2.501V
                              20N.m=-5V
                                 dans le sens antihoraire
    j'ai donc réussi à obtenir la valeur du couple en utilisant les A.I (anologique input)et en branchant sur le CH+et CH- du SCC-FT01
    mais je n'arrive pas à obtenir la vitesse de rotation de la perceuse!!!!
    sachant que pour 1 tour mon couplemètre dégage 360 impulsion en front montant
    j'ai donc brancher les sotie angle track A et B sur le deuxième SCC Ft-01 sur la partie CPCTR du sc 2345.
    pour faire un comptage de front ce que je n'arrive pas c'est d'utiliser c front que je récupère pour les traduires  en tour/min
    caractéristique du couplemètre:
    +Alimentation (fil rouge)
    -alimentation (fil noir)
    +Mesure(vert)
    -Mesure(jaune)
    Angle track B=90° (jaune) (front descendant)
    Angle track A=0° (marron) (front montant)

    Bonjour,
    Est-ce que l'exemple LabVIEW : "count digital events" ne conviendrais pas a vos attentes... si vous connaissez le nombre de pulses correspondant a un tour, il n'y a qu'une division a effectuer.
    Cordialement,
    Richard Keromen
    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;}
    >> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception

  • Synchroniser un signal

    Bonjour,
    Je réalise l'acquisition d'un signal analogique sur la voie AI0 de ma carte PCI  6040E et je réalise le traitement et l'affichage à l'aide de Labview 6.1.
    Cependant mon soucis est de synchroniser ce signal par rapport à un seuil et de l'afficher en continu pour pouvoir le traiter par la suite (FFT).
    J'arrive tant bien que mal à réaliser ceci en modifiant les tableaux mais ce n'est pas ce que je désire obtenir.
    Ci-joint mon VI. Pouvez-vous me donner un petit coup de pouce pour l'améliorer.
    Merci d'avance pour votre aide. 
    Attachments:
    Acquisition d'un signal Analogique.vi ‏75 KB

    Bonjour,
    je pense que la réponse à ce problème se trouve au lien suivant :
    http://forums.ni.com/ni/board/message?board.id=4170&message.id=10111#M10111
    Attention à ne pas dupliquer les threads....
    Merci,
    Cordialement,
    Benjamin M
    NIF

Maybe you are looking for

  • My changes to an external hard drive's files and folders vanished.

    Something crazy happened with a Mac-formatted external hard drive I've been working with. Today, out of nowhere, it reverted to a state where tons of organizational work I have done on the folder contents vanished. Files I deleted were restored, file

  • ADF BC Entity Associations

    I have two Entities that have an association/relationship. When the parent entity is created it gets a DB sequence as its primary key. When the child entity is created it also gets a DB sequence as its primary key (different DB sequence). The child k

  • Images out of wack...

    Hey there. I'ver just posted my website of my recent trip - done entirely with iWeb. The problem is that a lot of the images are not in their correct spots... Any suggestions? To place the images on the site - I just dragged & dropped them from the m

  • Flash player flv format

    hi guys looking for some assistance, I have lots of video files i wish to place in my website.  These videos are all AVI format and i have been told this is too large for the web and it would be better to convert them, so off i went and purchased son

  • Purchase playback

    for some reason my recent itunes music purchases have been playing in my itunes, what is the problem?