Acquerir et générer en meme temps labwindows

Bonjour
Je suis sur un projet ou je controle une carte d'acquisition.  Via cette carte d'acquisistion je dois d'une part acquerir des données et d'autre part pendant l'acqusition généré un signal de sortie.
J'ai utilisé MAX pour créer les taches d'acquisistion et de génération de signal.
J'ai donc une initialisation de mes taches dans des sous fonctions et dans mon programme principal, je fait ceci:
   Error= DAQmxStartTask(Acquisition);
  //Generation pulse
  Error= DAQmxStartTask(Pulse_pressure);
  //Arret pulse;
  //Error= DAQmxStopTask(Pulse_pressure);
  //Arret aquisition
  Error= DAQmxStopTask(Acquisition);
J'obtiens alors cette erreur:
NON-FATAL RUN-TIME ERROR:   "Sous_fonctions.c", line 110, col 16, thread id 0x00001D7C:   Function DAQmxStartTask: (return value == -200479 [0xfffcf0e1]). Specified operation cannot be performed while the task is running. Task Name: Pulse_card  Status Code: -200479  
Comment puis-je resoudre mon probleme, merci
Résolu !
Accéder à la solution.

Bonjour Julien,
Je vous conseille de suivre ce tutoriel: http://www.ni.com/white-paper/4650/en
De plus, voici un exemple, ou les taches sont en plus synchronisées: http://zone.ni.com/devzone/cda/epd/p/id/879
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

Similar Messages

  • Labwindows/CVI générer 2 tensions différentes en meme temps

    Bonjour,
    Voici mon probleme, je souahiterais générer deux tensions analogique diférentes en meme temps.
    Pour cela je posséde deux cartes d'acquisitions NI 9263 qui sont dans un Ni cDAQ-9172.
    J'ai essayé de faire la generation de ces deux signaux dans une meme tache, mais je ne sais pas comment envoyer un signal different sur chaque voie.
    La seconde solution a été de générer deux taches, synchronisées sur un trigger pour les démarrer en meme temps, la encore j'ai un probleme, CVI me renvoie une erreur disant que la resource spécifiée est réservée.
    voici l'organisation de mon code:
    DAQmxCreateTask (Master task)
    DAQmxCreateAOVoltageChan(Master task)
    DAXmxCfgSampClkTiming(Master task)
    DAQmxCreateTask (slave task)
    DAQmxCreateAOVoltageChan(slave task)
    DAXmxCfgSampClkTiming(slave task)
    GetTerminalNameWithDevPrefix(Trigger)
    DAQmxWriteAnalogF64 (Master task)
    DAQmxWriteAnalogF64 (Slave task)
    Avez vous une solution pour resoudre ce probleme?
    Je vous remercie,
    cordialement
    Résolu !
    Accéder à la solution.

    Bonjour,
    Je vous remercie de votre réponse. Je viens d'essayer ce que vous me dite. Mais cela ne change rien, je me retrouve avec les deux signaux identiques. En divisant le nombre d'echantillons par rapport a mon tableau, je n'envoie alors que la premiere partie de mon tableau, mais toujours sur les deux sorties. et non premeir partie de mon tableau sur une voie et deuxieme partie sur la deuxieme
    voici mon code:
     double Fe=100000;
     double Vmin=-10, Vmax=10;
     int N_samples= 80000;
     TaskHandle AOtaskHandle=0;
    Generation(tableau_pulse, pressure); // creer un signal en marche d'escalier
     DAQmxCreateTask("",&AOtaskHandle);    
     DAQmxCreateAOVoltageChan (AOtaskHandle, "Dev1/ao1", "", Vmin, Vmax, DAQmx_Val_Volts, NULL);
      DAQmxCreateAOVoltageChan (AOtaskHandle, "Dev1/ao0", "", Vmin, Vmax, DAQmx_Val_Volts, NULL); 
     DAQmxCfgSampClkTiming (AOtaskHandle, "", Fe, DAQmx_Val_Rising,DAQmx_Val_ContSamps, N_samples);                 
     DAQmxSetWriteAttribute (AOtaskHandle, DAQmx_Write_RegenMode, DAQmx_Val_DoNotAllowRegen);
     DAQmxWriteAnalogF64 (AOtaskHandle, N_samples/2, FALSE, 5, DAQmx_Val_GroupByScanNumber, tableau_pulse , NULL, NULL); tableau_pulse
     // DAQmx Start Code
     DAQmxStartTask(AOtaskHandle); 
    Delay (0.8);
     Error: 
      if( AOtaskHandle )
       // DAQmx Stop Code
       DAQmxStopTask(AOtaskHandle);          
       DAQmxClearTask(AOtaskHandle);          
       AOtaskHandle = 0;             
     free(tableau_pulse);
    cordialement

  • 2 cartes graphiques utilisés en meme temps par le Mercury engine

    Bonjour à tous !
    Je travaille sur des fichiers 4K (R3D) avec CS6 Premiere et Blackmagic Resolve, sur un i7-3930K (sans chipset graphique intégré au processeur).
    J'ai décidé d'acheter 2 cartes graphiques, car Resolve a "besoin" d'une carte simple pour afficher l'interface du logiciel (GT610 1Gb avec 48 coeurs CUDA),
    et une carte plus musclée pour les rendus en temps réel (GTX680 4Gb avec 1536 coeurs CUDA)
    Et j'aimerais savoir si Premiere fonctionne comme Resolve, et qu'il va utiliser la petite carte pour l'affichage et la grosse pour le moteur CUDA du Mercury engine ?
    Ou si il va utiliser les 2 cartes en meme temps, genre 48 + 1536 = 1584 coeurs CUDA ?
    Ou si il va utiliser une seule de ces 2 cartes ? Et dans ce cas là, comment faire pour qu'il choisisse la plus puissante ?
    (modifier un fichier de config, ou mettre la plus puissante dans le 1er slot PCI par exemple ?)
    Merci pour votre aide !  ; )

    Bonjour, j'allais vous suggérer de poster dans le forum matériel US, et je vois que vous l'avez déjà fait, et y avez même des réponses...
    http://forums.adobe.com/message/5022796#5022796

  • Mon Iphone 5 ne peut pas demarrer, j'ai fait un reset en appuyant sur les deux boutons en meme temps pendant plus d'une minute mais toujours rien. Alors quoi faire? Merci de m'aider...

    Mon Iphone 5 ne peut pas demarrer, j'ai fait un reset en appuyant sur les deux boutons en meme temps pendant plus d'une minute mais toujours rien.  Je peux le detecter en utilisant "Find Iphone" sur mon Ipad mais en appellant le numero le telephone ne sonne pas. Alors quoi faire? Merci de m'aider...

    Merci jmlevy de te pencher sur mon problème.
    Voilà une photo de mon panneau page :
    Puis une autre d'une page qui ne ressemble plus à rien après changement de pagination:
    Voici une ancienne page 28 devenue page 29. Fantastique, non ?
    On peut voir :
    Que mes blocs sont décalés par rapport à la maquette
    que le bloc noir de la page 28 déborde sur la page 29.
    Que mon bloc de texte est perturbé par l'ajout sous-jacent d'une page de maquette
    que ma pagination a conservé les attributs d'une page pair (numérotation à gauche) alors qu'elle est passée impaire.
    J'aurai considéré comme normal que mon ancienne p.28 se soit déplacée en page impaire avec le bloc texte bien placé ET avec les attributs de page (liés au gabarit, tels que pagination, filets, bas de page roulants) modifiés automatiquement. Or il n'en est rien.
    Tu me demandais des éclaircissements par rapport à "J'importe mes gabarits dans le document au fur et à mesure de la construction du livre et je libère les éléments de gabarit afin de pouvoir couler le texte et disposer l'icono. Lorsque c'est fait, je ne retourne pas dans le mode page d'InDesign. J'attaque la page suivante." Voici, plus en détails ce que je fais au moment où je monte une nouvelle page. Mes gabarits ont été  préparé en amont.
    J'ajoute une page au document (ex : une page de texte)
    je lui confère le gabarit qui va avec (ex : C-présentation ch1, cf plus haut)
    je libère les éléments de gabarits pour pouvoir couler le texte et disposer les images.
    quand ma page est finie je recommence l'étape 1.
    Est-ce que c'est à l'étape 3 que je me plante ?
    Est-ce qu'il y aurait d'autres explications à ce malheureux schmilblick ?
    Merci d'avance.

  • Générer des impulsions à temps et valeurs variables

    Bonjour à tous,
    Comme le titre l'indique je souhaite générer à l'aide de ma sortie analogique un signal de la forme ci-dessous : 
    Quelqu'un a-til une solution ? je me casse la tete depuis ce matin même si cela peut paraître simple ...
    avec en ordonnée la tension et en abscisse le temps en secondes...
    Cordialement 

    Bonjour,
    Je crois que tu as commencé 2 posts identiques.
    http://forums.ni.com/t5/Discussions-au-sujet-de-NI/tableur-excel-vers-sortie-analogique/m-p/2917840#...
    SI c'est le cas, tu peux fermer celui-ci.
    Merci
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • 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

  • Msi 8800gt zalman temp problem

    Hello
    i got my new card yesterday but had a serious temp problem,
    My setup is as follows:
    msi kn9 diamond (mobo)
    ozc pc6400 2gig (mem)
    msi 8800gt zalman (GFX)
    5600+ amd (CPU)
    GFX mem temp: 65c
    GFX GPU temp: 73c
    I took it down my brothers so i could try it in his, just in case i had an issue with my comp,
    Had the same results as me but like me he said the fins on the cooler wernt hot enough to be that temp,
    We took the zalman cooler of and you know the plastic protective film used to protect the heatsinkl surface,
    IT WAS STILL ON, Yes the plastic film was still in place, with thermal paste all over it,
    so obviously removed it, put more paste on and now its idle at 38c and load is 50c
    What more can i say!!!!!

    YOU MAY HAVE CLOGGED THE ZALMAN 8800GT, HOW IS THE WATER FLOW? MINES GOT CLOGED, I OPENED MY ZALMAN 8800GTS AND THERE, PIECES OF SMALL LIKE GELLY TRAPPED INSIDE, YEP. YOU HAVE TO OPEN THE ZALMAN AND CHECK IT OUT...OR GET  A NICE PRESSUE AND BLOW IT ALL OFF. MINES NOW IDLE 45 AND PEAK TO 55 ON CRYSIS.

  • Getting wait event "direct path write temp" during query execution

    Hi All,
    While executing one query in database, it is taking longer time and failing with error "ORA-01652: unable to extend temp segment by 1280 in tablespace PSTEMP".
    I have increaesd the Temp tablespace size also till 96GB, Database size is 120GB.
    I have upgraded the database from 10.2.0.3 to 11.2.0.3 version last month.
    same query is running fine in other databases on same version.
    It is giving me "Direct write temp path" wait event.
    server load is also normal.
    I have increased pga_aggregate_target upto 512MB but it has not solved my problem
    Can you please help me out to solve this issue.

    Hi Nicolay,
    Please find below output from that query :
    SQL>
    SELECT DBMS_SQLTUNE.report_sql_monitor(
    sql_id => '(*******',
    type => 'TEXT',
    report_level => 'ALL') AS report
    FROM dual;SQL> 2 3 4 5
    SQL Monitoring Report
    SQL Text
    SELECT ASGN.TRANSACTIONID ,ASGN.UPA_CLIENT_ID FROM PS_UPA_CM_PRE_ASGN ASGN ,PS_UPA_CLIENT_TBL CL ,PS_UPA_CM_ADMIN_WL WL ,PSXLATITEM XCT ,PSXLATITEM XCS ,PS_PWC_INDUSTR_TBL IND ,PS_PWC_SUBIND_TBL SCT ,PS_UPA_FIN_REG_TBL REG ,PS_UPA_CM_MKT_VW1 MKT WHERE ASGN.UPA_CLIENT_ID = CL.UPA_CLIENT_ID AND CL.UPA_CM_GRP_ID = ' ' AND ASGN.UPA_CM_ADMIN_ACT = 'RCD' AND ASGN.UPA_CM_CLT_ROLENBR = WL.UPA_CM_CLT_ROLENBR AND ASGN.UPA_CM_ROLENBR_SEQ = WL.UPA_CM_ROLENBR_SEQ AND WL.UPA_CM_WL_STATUS = 'A' AND
    WL.UPA_CM_ADMIN_ACT = 'RCD' AND CL.EFFDT = ( SELECT MAX(CL1.EFFDT) FROM PS_UPA_CLIENT_TBL CL1 WHERE CL1.UPA_CLIENT_ID = CL.UPA_CLIENT_ID AND CL1.EFFDT <= SYSDATE) AND CL.EFF_STATUS = 'A' AND CL.UPA_MONTH_DAY <> ' ' AND CL.UPA_CLIENT_TYPE <> ' ' AND CL.UPA_CLIENT_SEGMENT <> ' ' AND CL.PWC_INDUSTRY <> ' ' AND CL.PWC_SUB_INDUSTRY <> ' ' AND CL.UPA_FIN_REGION <> ' ' AND CL.UPA_STRAT_MKT <> ' ' AND CL.UPA_CLT_PRIORITIZ <> ' ' /*Harieash - Aadded as part of PR support IR 43024 */ AND XCT.FIELDNAME =
    'UPA_CLIENT_TYPE' AND XCT.FIELDVALUE = CL.UPA_CLIENT_TYPE AND XCT.EFFDT = ( SELECT MAX(XCT1.EFFDT) FROM PSXLATITEM XCT1 WHERE XCT1.FIELDNAME = XCT.FIELDNAME AND XCT1.FIELDVALUE = XCT.FIELDVALUE AND XCT1.EFFDT <= SYSDATE) AND XCT.EFF_STATUS = 'A' AND XCS.FIELDNAME = 'UPA_CLIENT_SEGMENT' AND XCS.FIELDVALUE = CL.UPA_CLIENT_SEGMENT AND XCS.EFFDT = ( SELECT MAX(XCS1.EFFDT) FROM PSXLATITEM XCS1 WHERE XCS1.FIELDNAME = XCS.FIELDNAME AND XCS1.FIELDVALUE = XCS.FIELDVALUE AND XCS1.EFFDT <= SYSDATE) AND
    XCS.EFF_STATUS = 'A' AND IND.SETID = 'USA00' AND CL.PWC_INDUSTRY = IND.PWC_INDUSTRY AND IND.EFFDT = ( SELECT MAX(IND1.EFFDT) FROM PS_PWC_INDUSTR_TBL IND1 WHERE IND1.SETID = IND.SETID AND IND1.PWC_INDUSTRY = IND.PWC_INDUSTRY AND IND1.EFFDT <= SYSDATE) AND IND.EFF_STATUS = 'A' AND SCT.SETID = 'USA00' AND CL.PWC_SUB_INDUSTRY = SCT.PWC_SUB_INDUSTRY AND SCT.EFFDT = ( SELECT MAX(SCT1.EFFDT) FROM PS_PWC_SUBIND_TBL SCT1 WHERE SCT1.SETID = SCT.SETID AND SCT1.PWC_SUB_INDUSTRY = SCT.PWC_SUB_INDUSTRY AND
    SCT1.EFFDT <= SYSDATE) AND SCT.EFF_STATUS = 'A' AND REG.SETID = 'USA00' AND CL.UPA_FIN_REGION = REG.UPA_FIN_REGION AND REG.EFFDT = ( SELECT MAX(REG1.EFFDT) FROM PS_UPA_FIN_REG_TBL REG1 WHERE REG1.SETID = 'USA00' AND REG1.UPA_FIN_REGION = REG.UPA_FIN_REGION AND REG1.EFFDT <= SYSDATE) AND REG.EFF_STATUS = 'A' AND CL.UPA_STRAT_MKT = MKT.UPA_STRAT_MKT
    Global Information
    Status : EXECUTING
    Instance ID : 1
    Session : *******
    SQL ID : *******
    SQL Execution ID : *********
    Execution Started : 11/12/2012 04:31:25
    First Refresh Time : 11/12/2012 04:31:33
    Last Refresh Time : 11/12/2012 04:31:55
    Duration : 31s
    Module/Action : ***** (TNS V1-V3)/-
    Service : SYS$USERS
    Program : ******* (TNS V1-V3)
    Global Stats
    =========================================================
    | Elapsed | Cpu | IO | Buffer | Write | Write |
    | Time(s) | Time(s) | Waits(s) | Gets | Reqs | Bytes |
    =========================================================
    | 33 | 25 | 7.30 | 162 | 4755 | 557MB |
    =========================================================
    SQL Plan Monitoring Details (Plan Hash Value=2177602723)
    ========================================================================================================================================================================================================
    | Id | Operation | Name | Rows | Cost | Time | Start | Execs | Rows | Write | Write | Mem | Temp | Activity | Activity Detail |
    | | | | (Estim) | | Active(s) | Active | | (Actual) | Reqs | Bytes | | | (%) | (# samples) |
    ========================================================================================================================================================================================================
    | 0 | SELECT STATEMENT | | | | | | 1 | | | | | | | |
    | 1 | NESTED LOOPS | | | | | | 1 | | | | | | | |
    | 2 | NESTED LOOPS | | 1 | 491 | | | 1 | | | | | | | |
    | -> 3 | HASH JOIN | | 120 | 130 | 31 | +1 | 1 | 0 | 4011 | 470MB | 95M | 598M | 80.65 | Cpu (19) |
    | | | | | | | | | | | | | | | direct path write temp (6) |
    | -> 4 | MERGE JOIN CARTESIAN | | 120 | 61 | 23 | +8 | 1 | 13M | | | | | | |
    | -> 5 | MERGE JOIN CARTESIAN | | 1 | 38 | 23 | +8 | 1 | 1870 | | | | | | |
    | -> 6 | MERGE JOIN CARTESIAN | | 1 | 37 | 23 | +8 | 1 | 70 | | | | | | |
    | -> 7 | MERGE JOIN CARTESIAN | | 1 | 35 | 23 | +8 | 1 | 12 | | | | | | |
    | 8 | MERGE JOIN CARTESIAN | | 1 | 33 | 21 | +8 | 1 | 2 | | | | | | |
    | 9 | MERGE JOIN CARTESIAN | | 1 | 31 | 1 | +8 | 1 | 1 | | | | | | |
    | 10 | VIEW | PS_UPA_CM_MKT_VW1 | 1 | 29 | 1 | +8 | 1 | 1 | | | | | | |
    | 11 | SORT UNIQUE | | 1 | 28 | 1 | +8 | 1 | 1 | | | | | | |
    | 12 | TABLE ACCESS BY INDEX ROWID | PS_UPA_ST_MKT_TBL | 10 | 2 | 1 | +8 | 1 | 43 | | | | | | |
    | 13 | INDEX SKIP SCAN | PS0UPA_ST_MKT_TBL | 10 | 1 | 1 | +8 | 1 | 43 | | | | | | |
    | 14 | SORT AGGREGATE | | 1 | | 1 | +8 | 33 | 33 | | | | | | |
    | 15 | INDEX SKIP SCAN | PS0UPA_ST_MKT_TBL | 2 | 1 | 1 | +8 | 33 | 50 | | | | | | |
    | 16 | BUFFER SORT | | 1 | 31 | 1 | +8 | 1 | 1 | | | | | | |
    | 17 | TABLE ACCESS BY INDEX ROWID | PSXLATITEM | 1 | 2 | 1 | +8 | 1 | 14 | | | | | | |
    | 18 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 1 | 14 | | | | | | |
    | 19 | SORT AGGREGATE | | 1 | | 1 | +8 | 14 | 14 | | | | | | |
    | 20 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 14 | 14 | | | | | | |
    | 21 | BUFFER SORT | | 1 | 31 | 21 | +8 | 1 | 2 | | | | | | |
    | 22 | TABLE ACCESS BY INDEX ROWID | PSXLATITEM | 1 | 2 | 1 | +8 | 1 | 2 | | | | | | |
    | 23 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 1 | 2 | | | | | | |
    | 24 | SORT AGGREGATE | | 1 | | 1 | +8 | 2 | 2 | | | | | | |
    | 25 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 2 | 2 | | | | | | |
    | -> 26 | BUFFER SORT | | 3 | 33 | 23 | +8 | 2 | 12 | | | | | | |
    | 27 | TABLE ACCESS BY INDEX ROWID | PS_PWC_INDUSTR_TBL | 3 | 2 | 1 | +8 | 1 | 10 | | | | | | |
    | 28 | INDEX SKIP SCAN | PS0PWC_INDUSTR_TBL | 6 | 1 | 1 | +8 | 1 | 26 | | | | | | |
    | 29 | SORT AGGREGATE | | 1 | | 1 | +8 | 26 | 26 | | | | | | |
    | 30 | FIRST ROW | | 1 | 1 | 1 | +8 | 26 | 26 | | | | | | |
    | -> 31 | INDEX RANGE SCAN (MIN/MAX) | PS_PWC_INDUSTR_TBL | 1 | 1 | 23 | +8 | 26 | 26 | | | | | | |
    | -> 32 | BUFFER SORT | | 3 | 35 | 23 | +8 | 12 | 70 | | | | | | |
    | 33 | TABLE ACCESS BY INDEX ROWID | PS_UPA_FIN_REG_TBL | 3 | 2 | 1 | +8 | 1 | 6 | | | | | | |
    | 34 | INDEX SKIP SCAN | PS0UPA_FIN_REG_TBL | 6 | 1 | 1 | +8 | 1 | 12 | | | | | | |
    | 35 | SORT AGGREGATE | | 1 | | 1 | +8 | 12 | 12 | | | | | | |
    | 36 | FIRST ROW | | 1 | 1 | 1 | +8 | 12 | 12 | | | | | | |
    | -> 37 | INDEX RANGE SCAN (MIN/MAX) | PS_UPA_FIN_REG_TBL | 1 | 1 | 23 | +8 | 12 | 12 | | | | | | |
    | -> 38 | BUFFER SORT | | 14 | 36 | 23 | +8 | 70 | 1870 | | | | | | |
    | 39 | INDEX RANGE SCAN | PSAPWC_SUBIND_TBL | 14 | 1 | 1 | +8 | 1 | 27 | | | | | | |
    | 40 | SORT AGGREGATE | | 1 | | 1 | +8 | 184 | 184 | | | | | | |
    | 41 | FIRST ROW | | 1 | 2 | 1 | +8 | 184 | 184 | | | | | | |
    | -> 42 | INDEX RANGE SCAN (MIN/MAX) | PS_PWC_SUBIND_TBL | 1 | 2 | 23 | +8 | 184 | 184 | | | | | | |
    | 43 | BUFFER SORT | | 794 | 60 | 29 | +2 | 1870 | 13M | | | 306K | | 19.35 | Cpu (6) |
    | 44 | TABLE ACCESS FULL | PS_UPA_CM_ADMIN_WL | 794 | 23 | 1 | +8 | 1 | 7052 | | | | | | |
    | 45 | TABLE ACCESS FULL | PS_UPA_CM_PRE_ASGN | 3536 | 69 | | | | | | | | | | |
    | 46 | INDEX RANGE SCAN | PSDUPA_CLIENT_TBL | 1 | 2 | | | | | | | | | | |
    | 47 | SORT AGGREGATE | | 1 | | | | | | | | | | | |
    | 48 | FIRST ROW | | 1 | 3 | | | | | | | | | | |
    | 49 | INDEX RANGE SCAN (MIN/MAX) | PS_UPA_CLIENT_TBL | 1 | 3 | | | | | | | | | | |
    | 50 | TABLE ACCESS BY INDEX ROWID | PS_UPA_CLIENT_TBL | 1 | 3 | | | | | | | | | | |
    ========================================================================================================================================================================================================
    SQL>
    spool offSQL>

  • Intégration d'une DLL générée sur Simulink dans un algorithme Labview, à finalité app temps réel sur NI myRIO

    Bonjour à tous,
    En deux mots : dans le cadre d'un projet interfacultés, je dois intégrer à mon algorithme Labview l'exécution d'un algorithme d'optimisation actuellement codé sur Simulink d'un tiers. La finalité de mon algorithme est de générer une app temps réel que j'exécute sur le matériel embarqué, NI myRIO.
    J'ai pu lire que justement il était possible d'intéragir entre Labview et Simulink, via le fait que Simulink permet de générer une DLL, et Labview de la lire/exécuter.
    Mes questions sont :
    Est-ce tout-à-fait envisageable dans mon optique d'app temps réel sur myRIO ? (Par exemple, l'exécution de la DLL pourra-t-elle se faire en parallèle du reste mon algorithme Labview (autres acquisitions de données, etc))
    Quid du toolkit NI Labview model interface ? Est-il indispensable de l'acquérir (et si oui pourquoi) ?
    Je sais qu'il est possible de réécrirer directement sur Labview des algorithmes d'optimisation (ici, du MPC), mais ce serait à priori la dernière option envisagée.

    Bonjour,
    Le MIT est la seule option non-obsolète pour exécuter des modèles Simulink dans LabVIEW. Et si tant est que vous utilisez MIT 2014 (avec LabVIEW 2014), vous pourrez exécuter votre modèle Simulink sur le myRIO.
    Les bases pour que tout fonctionne se trouvent ici :
    - http://digital.ni.com/public.nsf/allkb/E552B0CD4E48215586257DF7005BE055?OpenDocument
    Cordialement,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Lire et écrire en même temps dans un fichier excel

    Bonjour.
    J'ai un VI dans lequel j'arrive ouvrir Excel et à écrire dans dans un fichier.
    Mon fichier excel exécute les calculs, et je voudrais relire les colonnes de ce fichier ou sont effectués les calculs dans un tableau sur ma face avant.
    Pour info la fonction écriture (dans mon cas, écriture sur 2 fichiers) fonctionne très bien dans d'autres VI que j'utilise au travail.
    J'ai essayé de faire la fonction lecture, mais elle ne fonctionne pas : j'ai l'impression que mon VI n'arrive pas à Ecrire ET Lire le fichier dans la même boucle...
    Quelqu'un aurait-il une suggestion pour mon souçi?
    Cordialement,
    Kévin.
    PS: Si le diagramme parait fouilli c'est parce que j'ai essayé de le compacter pour avoir toute la visu sur mon écran de PC...
    Cordialement,
    Kévin Paul-Joseph
    Pièces jointes :
    test enregistrement 2 fichiers en meme temps.vi ‏138 KB

    Voilà le VI en labview 10.
    Cordialement,
    Kévin Paul-Joseph
    Pièces jointes :
    test enregistrement 2 fichiers en meme temps.vi ‏79 KB

  • Je ne peux pas récupérer mes photos

    apres un mois de voyage et plus dfe 1000 photos, en brancahnt mo Iphone pour recuperer mes photos, mon I phone me demande la restauration et en meme temps de me declare que mes donnes media seront perdu.
    Je ne trouve aucun moyen pour recuperer mes photos et videos

    Tu peux téléphone avec l'assistance d'Apple. Normalement il a besoin de 5-30 minutes. Pardon pour mon francais mauvais.

  • MSI 560GTX-Ti Hawk - Very high Memory Temp issue

    Ok, I really don't want to hijack the other thread, so I'll start my own. I installed my MSI 560GTX-Ti Hawk last night, and noticed extremely high memory temps while playing Dragon Age II. Tonight, I was able to investigate this a little further, and found that my memory temps will stay consistent for a while, and then spike suddenly. For example, I had DA2 running. I was just staring at the same location (not moving in-game). I had the mem temps on the on-screen display, and would look over every few minutes. For about 20 minutes, the memory temp was locked at about 60C. Then, all of the sudden, I had a reading of 95C. I alt-tabbed out to Afterburner, and saw that there was a sudden spike.
    There was no reason for this spike to occur (no voltage/clock/fan changes). However, once the temp spiked up, it didn't want to go down. After closing out the game, the temp would (VERY slowly) start to go down. After a while, the was a reverse spike, in which the temp dropped big time (opposite of how it went up). It almost seems as if the heatsink is coming out of contact with the memory after the temps have been high for a while, at which point the temps go REALLY high.
    Has anybody else experienced this? I am thinking of RMAing the board since I can duplicate this consistently, and it's not just a random freak occurrence. While I haven't had any problems with corruption in-game, I am thinking it might be best to swap out the board before problems occur.
    Thoughts?

    Quote from: Olly230 on 24-November-11, 16:13:02
    Check with another game - if it happens there as well
    RMA
    Haven't tried it on another game, but ran folding@home (GPU3), and it did the same thing. I think I am going to call Newegg and RMA it.
    Quote from: AbogadoUBA-USA on 24-November-11, 18:59:13
    what BIOS you have? for another way
    your GPU temp is too much high
    check your GPU ambient with AIDA64 playing 20 minutes, if you have a high GPU ambient temp, your problem is your case
    I don't know which BIOS I have. Whatever came with the card.
    The GPU temp topped out at 78C. That was at stock voltages, and running Dragon Age II with max settings (DX11, and all options cranked), with the video card's fans on "Silent Mode". I don't know the card that well, so I don't know if that is normal or not. Ambient in the room was about 72F. My case is an Antec P182. I have 2x120mm exhaust fans running.
    After adjusting the GPU core voltage, I could get the card down to about 71C in the same game, and the fan wouldn't spin up past 48% or so (virtually silent).
    It's the memory temps that are concerning me, and it particular, the way they seem to spike all of the sudden for no reason. I think I am going to RMA it, and see if my replacement card does the same.

  • DAQmxWaitU​ntilTaskDo​ne error 200621

    Bonjour
    Voci mon probleme, je souhaite générer un signal en sortie d'une carte d'acquisition et arreter la tache à la fin de la génération du signal. pour cela je creer ma tache, et la configure, puis je la start, actuellement je mets un delai entre le start et le stop de ma tache. pour qu'elle est le temps de s'effectuer.
    j'ai un tableau de 80 000 points echantillonné a 100khertz sur 2 voies ( soit 40 000 points par voie, pour un temps de 0.4s)
    si je met un delais plus long que ma tache(0.4s et plus), labwindows me renvoie l'erreur -200621 Onboard device memory underflow.
    si je mets un delais plus cours( inferieur a 0.4s), la tache s'execute sans probleme mais coupe le signal a la fin du delais ( ce qui est normal).
    J'ai aussi utilisé la fonction DAQmxWaitUntilTaskDone, et je me retrouve avec la meme erreur .
    en faisant: Configuration tache
                    Start tache
                    DAQmxWaitUntilTaskDone
                    stop tache
    Ma question est la suivant, comment puis je faire pour eviter de mettre des délais qui me "mange" une partie de ma génération de signal, et en meme temps eviter les erreurs?
    Je vous remercie
    cordialement

    Bonjour Julien_B,
    Serait-il possible d'avoir le VI en question?
    Il serait plus facile de trouver une réponse adaptée à ton problème avec le programme.
    En attendant as-tu regardé les exemples LabVIEW et plus particulièrement l'exemple "Voltage - Finite Output.vi" ?
    Dans l'attente de ton retour,
    Bonne journée,
    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

  • Probleme de commande Vérin en parrallèle?

    Bonjour à tous,
    je travaille sur la mise en ouvre d'un asservissement de vérins électriques.
    j'utilise une carte PCi 6229 (série M) de National instrument que je programme sous Labview 7.0 et pC embarqué écran tactile.
    Je veux réaliser un programme de commande de vérins électriques ( au total 4 tous indépendants les uns des autres).
    j'ai réalisé le programme pour un vérin et tout fonctionne à merveille.
    en utilisant un autre vérin et mes les 3 autres, mes vérins font  n'importe quoi.
    La structure de mon programme est elle bonne?
    quand je mets des boucles séquences cela fonctionne mais le probleme
    c'est que je ne veux pas commander un vérin aprés l'autre mais tous en
    meme temps.
    Pouvez vous me rensigner?
    ci joint le vi "commande de 2 vérins " qui me génère l'erreur.
    Comment dois je faire ? Est possible de commander les vérins sur des voies différentes en meme temps avec cette carte?
    Pour mon application je veux absolument commander mes vérins en meme temps.
    le principe de l'asservissement est simple.
    j'ai fais un Sous Vi: si CONSIGNE > RETOUR  donc SORTIE DE VERIN
         si CONSIGNE < RETOUR donc ENTREE DE VERIN
         si CONSIGNE = RETOUR systeme STABLE
    Merci d'avance 
    Pièces jointes :
    commande_4vérins_paralleleV2.vi ‏276 KB

    Bonjour,
    NI-DAQmx est basé sur les tâches. Une tâche DAQmx est un composant logiciel qui regroupe des informations sur les voies physiques, des paramètres sur les voies physiques, des paramètres de timing et des paramètres de triggering. Il est courant de regrouper toutes les ressources physiques d'une même famille (AI, DO, AO) au sein d'une même tâche pour limiter le nombre d'appel aux fonctions d'E/S. Au lieu de créer 4 tâches pour écrire sur 4 lignes numériques différentes, il est préférable de créer 1 tâche comprenant les 4 lignes numériques en mode écriture. Ceci permet de réduire la taille du diagramme d'une part et de réduire les temps d'exécution. Un appel "DIO Write" permettra ainsi d'écrire en même temps sur les 4 lignes numériques comprises dans la tâche "Ecrire sur une ligne numérique".
    Le VI Control doit contenir le code permettant d'effectuer la régulation propre à votre système. A partir des acquisitions analogiques, le VI Control détermine quels sont les commandes à envoyer sur les lignes numériques (qui pilotent vos vérins je suppose). Si vous basez votre régulation sur des comparaisons, vous devez intégrer ce code dans le sous VI Control.vi. Le VI Start permet de créer les 3 tâches (AI, DO et AO) et de les configurer avant de rentrer dans la boucle de process. une fois la boucle terminée, le VI Stop permet de libérer les ressources allouées pour chaque tâche. La tâche AI contient 2 voies analogiques, donc dans la boucle, a chaque appel du VI "DAQmx read", un point pour chaque voie est renvoyé (sous forme de tableau de 2 éléments). Idem pour la tâche DO, on envoie à la fonction "DAQmx DIO Write" un tableau booléen de 4 éléments dont chaque élément correspond à l'état d'une ligne numérique de la tâche. La tâche A0 ne contien qu'une seule sortie analogique. Donc pour cette tâche seul un scalaire numérique est câblé sur la fonction "DAQmx Write". Lorsque vous écrivez +5V sur la sortie analogique dans le VI Start, la sortie reste à + 5V tant que vous n'appelez pas de nouveau le fonction "DAQmx Write" avec une valeur différente pour la tension de sortie. A la fin dans le VI Stop, on écrit un 0V pour remettre la sortie à 0 avant l'arrêt définitif du programme.
    Cet exemple n'est certainement pas la réponse exacte à votre application. Vous pouvez vous en servir comme base de développement.
    En espérant que ceci vous aidera dans vos futurs travaux.
    Cordialement.
    Matthieu G.
    National Instruments France

  • Daqmx 200088

    Bonjour  tous,
    je suis sous labview 2011.
    J'ai développé un projet dans lequel un Vi me pose problème (DAQ_Potar_Continu.vi)
    C'est un Vi que j'appelle plusieurs fois (jamais en meme temps) pour faire l'acquisition de tous mes signaux. Cette acquisition se fait à partir du moment où je met mes moteurs en route (par le port COM). Quand le moteur arrive à la fin de son mouvement, j'envoie normallement un signal booleen à l'acquisition pour l'arreter, pour ensuite traiter les donnees.
    Tout marche bien au premier appel de ce vi, mais lorsque je le rappelle un peu plus tard (le Main Vi etant toujours en cours) l'erreur -200088 apparait (la tache n'existe pas). J'ai mis juste apres le daqmx un vi "Tache fine ?" et à la premiere iteration, ca me répond "NON", or l'acquisition s'est bien faite... le vi suit son cours normallement. Lors du deuxième appel, je pense que le fait que la tache ne soit pas finie lui pose problème. J'ai donc mis un "arreter tache" et "supprimer tache", mais ca n'arrange pas grand chose.
    J'ai essayé de faire différement mes acquisitions (dans les diagrammes désactivés) mais je n'y arrive pas. La deuxième itération ne veut pas se lancer.
    Pour résumer, je veux faire l'acquisition de mes tensions à partir du moment où je lance mes moteurs et que l'acquisition s'arrete à la fin du mouvement du moteur. Et que ca marce autant de fois que j'ai besoin d'appeler ce Vi.
    Des idées ? Parce que là, je sèche !
    Merci d'avance pour votre aide.
    David.
    Pièces jointes :
    DAQ_Potar_Continu.vi ‏224 KB
    Muscle CommB.vi ‏33 KB
    FGV.vi ‏30 KB

    Bonjour,
    - Je n'en suis pas certain, mais je crois que vous pouvez faire une seule tâche sur plusieurs modules, cela pourrait simplifier la lecture de votre code.
    - Etes-vous bien conscient qu'avec le cluster d'erreur, l'ensemble des opérations s'effectue l'une après l'autre? Rien ne s'exécute en parallèle, est-ce voulu?
    - Pourquoi utiliser un assistant DAQ alors que tout le reste utilsie des fonctions DAQmx bas-niveau, beaucoup plus simples à gérer et à modifier si nécessaire.
    - Vous n'appelez la fonction TaskIsDone qu'une fois, cela n'a aucun intérêt. Généralement, on l'utilsie dans une boucle pour vérifier que l'opération est finie, et on recommence si ça ne l'est pas, cependant, c'est plutôt utile dans le cas de génération de données, lorsqu'on ne sait pas si la géénration est finie. Dans le cas d'une acquisition, finie qui plus est, c'est plutôt le nombre de points à lire qui va être primordial, et qui va définir quand est-ce que la fonction de lecture rend la main. Si votre fonction est paramétrée en mode acquisition continue, c'est tout à fait normal que le booléen TaskIsDone retourne Faux.
    - Si je comprends bien, vous venez créer vos tâches plusieurs fois (plusieurs appels) et les supprimer à chaque fois. Les différents appels sont-ils faits de manière relativement proche temporellement? Il n'est pas impossible que les tâches n'aient pas été compléteemnt supprimées au moment où vous tentez de les recréer, et que cela pose problème. Si j'étais vous, je préférerais créer les tâches en dehors du sous-VI, appeler le VI pour les lecture/ecriture de manière périodique, et supprimer les tâches après que le sous-VI ait rendu la main.
    Il faudrait mettre des sondes sur chaque cluster d'erreur en sortie des fonctions d'écriture et faire arreter le code lorsqu'une erreur apparait pour savoir quelle tâche vous affiche l'erreur de tâche qui n'existe pas. Cela pourrait potentiellement venir de l'assistant DAQ.
    Je vous invite à répondre aux questions que je vous ai posé, et à faire les modifications proposées pour voir le changement de comportement.
    Cordialement,
    ps: N'oubliez pas d'enregistrer les modifications dans un nouveau VI pour ne pas perdre ce que vous aviez déjà avant, au cas où.
    Olivier L. | Certified LabVIEW Developer

Maybe you are looking for

  • The iPod cannot be updated. The required disc cannot be found

    I am gettin an annoying message that "the required disc cannot be found" and am not sure how to resolve. The iPod shuffle seems to updat with songs successfully. I also tries restoring for factory settings to perhaps start from scratch. I also tunred

  • Building an hierarchy in Universe

    Hi, Please help us how to build a Hierarchy based on particular values. i.e we need to create an hierarchy in universe level(for ex: Derived Table) and database is SQL Server. hierarchy : Year->Quarter->month-> date For date object the query is curre

  • Iweb struggle to have website verified on google

    Hi I designed my site with Iweb and it is histed with Mobileme. Domain Name was purchased at Godaddy.I just spent a few days already and about to get nuts... I tried adding a metatag, I tried uploading an html file but keep getting error messages fro

  • BT Wifi openzone

    Hi can anyone tell me please how i can set my wife up with the openzone as currently to use it i have to use my own email and password. Does it allow your family to use this service or is it just for one email only? I can't see it my self as i purcha

  • PS Elements 9 multi monitor editing

    I just want to make sure I'm not missing something.  I just purchased and installed PSE 9 after using PSE 8 for nearly a year, thinking it would have some improvements.  Maybe it does, but I do have issues.  First, while using the editing screen, I c