Interrupts in Labview

I am using LV2013 to test my UUT.  The GUI is 3 buttons that select an event in the Main Program..ie Functional Test, Self Test and Calibration.  One of the safety features is that if a UUT door is opened during testing something is suppose to happen like the test gracefully shuts down.  I monitor the door sw thru a DIO on a DAQ card.  If the door is opened the signal goes HIGH and vice versa.  Is this a parallel process??? Monitoring the door switch and at the same time running say the functional test??  The functional test is a subvi in the Functional Test Event structure.  Would I put the door monitor of the DIO and the subvi in the same event ??  If the door is opened during functional I want the current code to stop where ever it is and now the code to gracefully shut down to "take over"..
Would  producer/consumer architecture work better?
Thxs..

Bob_Schor wrote:
If you have this, you can create a "Door Open" indicator.  Pass a reference to this indicator to the sub-VI that monitors the Door Open switch, and when the Switch goes High, use the Value(signalling) property of the Door Open indicator and wire True to it.  Now back in your Event loop, put the Door Open indicator inside the Door Open:Value Changed case and generate a "Shutdown" request to the main loop.
Please don't abuse "Value(signaling)" this way. If you want to trigger an event, use a User Event. It's weird to have an event on an indicator, and references to front panel items are an inefficent way to pass data between VIs, especially if there's no other need for the front panel item.
Clint_Eastwood1000 wrote:
I am using LV2013 to test my UUT.  The GUI is 3 buttons that select an event in the Main Program..ie Functional Test, Self Test and Calibration.  One of the safety features is that if a UUT door is opened during testing something is suppose to happen like the test gracefully shuts down.  I monitor the door sw thru a DIO on a DAQ card.  If the door is opened the signal goes HIGH and vice versa.  Is this a parallel process??? Monitoring the door switch and at the same time running say the functional test??  The functional test is a subvi in the Functional Test Event structure.  Would I put the door monitor of the DIO and the subvi in the same event ??  If the door is opened during functional I want the current code to stop where ever it is and now the code to gracefully shut down to "take over"..
Would  producer/consumer architecture work better?
Generally you shouldn't be putting any logic that takes a substantial amount of time to execute inside an event structure, because that will block the event structure from handling other events. If an event triggers a long-running action, it should hand off that action to a separate loop, as in a producer-consumer architecture. In this case it sounds like your Functional Test, Self Test, and Calibration should each be a collection of states in a consumer loop, and the event structure should trigger the appropriate state. The consumer loop should constantly check for new commands even when running one of those sequences so that it can receive an abort command.
The door monitor can be a third loop, that checks the switch at regular intervals and if it detects a transition from low to high, it sends an abort command to the consumer loop.

Similar Messages

  • How do I keep a Window resize from holding the CPU and temporaily interrupting the Labview application?

    I am performing a data aquisition in one VI at 10000 Samples per second, then averaging 100 samples every 10 msec.  This runs in a loop and I monitor the time of the loop.  Another VI pulls the single point result of each 10 msec average and plots it to a graph.
    If another window on the Windows XP operating system is re-sized the LabVIEW VI performing the Acquisition suspends until the resizing is complete and I can watch the loop time go from 10 msec to whatever time the other window is being manipulated (100, 200 300 msec...).  The resulting graphical display will then show the next averaged plot point (this is a point to point drawing) without any of the 'real' analog activity that occurred during these +10 msec interruptions (the dataq VI pulls more than 100 samples to perform the averaging).
    Does anyone know how I can prevent the resizing from taking such a high priority on the CPU?  For various reasons I do not want to change my data acquisition scheme.

    chrisger  says: "if you want to pass data without loss you should use a method that allows buffering of data, e.g. queues. Take a look at the LV documentation (there are several solutions, but a named queue is the easiest way to go for such sort of applications)."
    Actually, one VI is running as the executable and the other is called dynamically.  The Dynamic VI uses a queuing vi common to both to access the data.  This part works well, it is the interrupt of the main vi perfoming the data aquisition that is the problem. 
    Because I am not using the full buffer of data, but only whatever portion is acquired and then averaged, the graphing vi essentially gets two (software timed) points and draws between them. 
    I realize software timing is bad, but I am kinda stuck with this scheme.  So, I want to minimize the interruption when a non-related window is re-sized.

  • Interrupt

    Bonjour, je travail actuellement sur une communication série (visa). Je voudrait utiliser la boucle Event structur... et exécuter un truc avec mathscrip seulement si j'ai reçus de quoi sur le visa. Alors ma question est la suivant. Est t'il possible de faire une interruption avec labview, qui arrêterait tout se que le programme est en rain de faire pour aller dans une boucle externe... et ensuite revenir ou j'en étais avec le prog..... Si non, est-il possible de rentrer un event autre que le timout dans le Event Structure, par exemple une nouvelle entré dans le uart.
    J'espère que j'ai été assez claire.
    Merci de votre aide.
    Maxime Boisvert

    Bonjour Maxime,
    body { margin: 0 0 0 0; padding:0 0 0 0 }
    td,div { font-family:Tahoma;font-size:10pt;vertical-align:top }
    body { margin: 0 0 0 0; padding:0 0 0 0 }
    .transcript { background-color:#d2d2d2; }
    .messageBlock { margin-left:4px; margin-bottom:3px }
    .message { margin-left:100px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-spacere; }
    .messageCont { margin-left:100px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-spacere;}
    .other { color:#39577a;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .myself { color:#da8103;font-style:normal;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont { font-size:8px;text-align:right; color:#39577a;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .myselfCont { font-size:8px;text-align:right; color:#da8103;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .system { margin-left:4px; word-wrap:break-word;color:#da8103;font-style:normal;font-weight:normal; white-space:-moz-pre-wrap; _white-spacere; }
    .showTimestamp { margin-right:3px; float:right; color:#999999;font-style:normal;font-weight:normal; }
    .other1 { color:#ac2000;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont1 { font-size:8px;text-align:right; color:#ac2000;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other2 { color:#3c9fa8;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont2 { font-size:8px;text-align:right; color:#3c9fa8;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other3 { color:#e25614;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont3 { font-size:8px;text-align:right; color:#e25614;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other4 { color:#0b6ac8;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont4 { font-size:8px;text-align:right; color:#0b6ac8;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other5 { color:#b23290;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont5 { font-size:8px;text-align:right; color:#b23290;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other6 { color:#02e7c7;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont6 { font-size:8px;text-align:right; color:#02e7c7;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .other7 { color:#5b3284;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; }
    .otherCont7 { font-size:8px;text-align:right; color:#5b3284;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; }
    .tsDisplay { display:block }Une fois qu'un événement est détecté, le code qui s'exécute dans le Event Structure ne peut pas ètre arrêté.  Si un autre évément a lieu, il sera ignoré ou il passera à l'arriere de la queue (dépendament des options sélectionnées).  Le code associé avec le prochain événement dans la queue commencera aussitôt que le code associé avec le premier termine et si celui-ci ne prends pas longtemps à s'éxécuter, cela aura le même effet qu'un interrupt.
    Aussi, il est possible de simuler un événement à chaque fois que vous recevez de quoi sur le VISA et cet événement peut être ajouté aux événements dans votre Event Structure.  Il y a un exemple qui vient avec LabVIEW qui s'appelle "Programatically Fire Events" qui explique ceci, vous avez juste à chercher pour le mot "events" dans votre LabVIEW Example Finder.  Vous pourrez utiliser le VI "Generate User Events" dans un while loop parallèle qui contient un case structure pour générer l'événement. 
    J'espère que ces réponses vous ont aidé.  Si vous voulez des clarifications, n'hésitez pas à me demander.
    Kamalina
    Kameralina
    Ask NI (ni.com/ask)
    Search The KnowledgeBase
    NI Developer Zone
    Measure It. Fix It. ni.com/greenengineering/
    NI Vision ni.com/vision/

  • Fichiers interactif​s sous labview comment faire?

    Bonjour,
    Dans le cadre d'un projet que j'ai déjà developpé, je souhaiterais créer une base de données sour la forme d'une gestions interactive de fichiers. je m'explique. à chaque lancement du programme, j'entre les caractéristiques de l'examen à venir, il s'agit d'une base de données patients: , identifiant, pointure, age, taille poid. a la fin de l'examen, les données acquises sont enregistrées dans un fichier Exel dont le nom est l'identifiant.
    a chaque interruption de labview, ces données sont perdues.
    D'une part, je souhaiterais pouvoir garder en memoire les dernieres caracteristiques en cas de plantage ou de relance du programme, eventuellement les corriger. mais aussi pouvoir acceder a chaque lancement, à un menu deroulant pour aller chercher un identifiant passé, par exemple pour un patient revenant pour un controle et donc pour eviter de tout reentrer manuellement.
    Cela peut paraitre simple à certain mais je ne sais pas comment m'y prendre. je suis débutant, je le precise, même si j'ai developper un programme complet et fonctionnel.
    Merci à vous tous pour votre aide

    Bonjour Giacomini,
    Tout d'abord, par quel moyen enregistres-tu les données dans le fichier Excel ? ActiveX, Report Generation TK ou simples fonctions d'E/S sur fichiers ?
    Dans tous les cas, si tu perds tes données dans LabVIEW, c'est normal. Tous les espaces mémoire alloués dans LabVIEW sont vidés lors de la sortie. Si tu perds tes données Excel, c'est que le nécessaire pour sauver les fichiers n'a pas été fait.
    Enfin pour ce qui est de récupérer les fichiers des patients a postériori, il est possible de faire quelque chose comme suit :
    Cdt,
    Rik.
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • How can I detect an external trigger and then generate an event or occurance

    I have a PXIe-1065 chassis with a PXIe8030 controller, PXI-6653 timing module, PXI-6542 Digital IO, and PXI-6259 DAQ board, running LabView 8.5. I need to detect a trigger (100 ns TTL pulse) from an external device then start a process on a GPIB device. Is there a way for me to detect this trigger and then generate an event, or an occurance ? Can I do this without polling a device? Can any of this hardware generate an interrupt that LabView can detect?

    My screenshot was only an example how you can approach the issue. I wasnt saying that you should try it with AI....
    Just take a closer look into the DAQmx Events and you will discover something like this:
    hope this helps,
    NorbertMessage Edited by Norbert B on 10-05-2007 02:35 AM
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.
    Attachments:
    DAQmxEvent.PNG ‏11 KB

  • Fichiers interactifs

    Bonjour,
    Dans le cadre d'un projet que j'ai déjà developpé, je souhaiterais créer une base de données sour la forme d'une gestions interactive de fichiers. je m'explique. à chaque lancement du programme, j'entre les caractéristiques de l'examen à venir, il s'agit d'une base de données patients: , identifiant, pointure, age, taille poid. a la fin de l'examen, les données acquises sont enregistrées dans un fichier Exel dont le nom est l'identifiant.
    a chaque interruption de labview, ces données sont perdues.
    D'une part, je souhaiterais pouvoir garder en memoire les dernieres caracteristiques en cas de plantage ou de relance du programme, eventuellement les corriger. mais aussi pouvoir acceder a chaque lancement, à un menu deroulant pour aller chercher un identifiant passé, par exemple pour un patient revenant pour un controle et donc pour eviter de tout reentrer manuellement.
    Cela peut paraitre simple à certain mais je ne sais pas comment m'y prendre. je suis débutant, je le precise, même si j'ai developper un programme complet et fonctionnel.
    Merci à vous tous pour votre aide

    Au fait, j’y pense...Ce qui est curieux, c’est que je peux les ouvrir et travailler dessus normalement, c’est l’enregistrement qui coince totalement. Même si je colle un calque ou le moindre élément, sur un nouveau fichier, il de impossible d’enregistrer ce nouveau fichier. C’est le blocage total.
    Je suppose que, s’ils étaient protégés, on ne pourrait même pas les ouvrir…
    Le seul fichier sur lequel j’ai pu travailler, et enregistrer, est un fichier venant de Dargaud, concernant "Blake & Mortimer ». Il est bien le seul qui n’est pas bloqué,
    et celui-là est à mon nom. Les autres de mon album (Lombard), il est écrit à lecture et écriture: « chargement en cours…"
    >>>Je viens de lancer un total nouveau fichier, > sans rien faire dessus (dommage, je n’y avais pas pensé avant), je n’arrive pas, non plus, à l’enregistrer. Ce qui change tout, non?

  • Synchronous arbitrary signal generator

    I have Labview 7.0, PXI-1042, pxi 6070E, scb-68, windows xp.
    Is it possible to synchronize an arbitrary signal generator and a simulated signal generator?
    So far I have been unsuccessful.

    Hi Cool,
    The hardware output of the PXI-6070E board is independent of the software running in LabVIEW. Once LabVIEW sends the command to write the output buffer, the hardware will work independently of the software.
    There is a certain degree of synchronization that can be accomplished using DAQ Occurrences, which uses an interrupt to indicate when a certain amount of output has been achieved. However, the difference between the DAQ board sending the interrupt and LabVIEW processing that interrupt, amounts to a period of time that doesn't enable you to perform tight synchronization.
    If you are looking for output rates in the kHz, this might, however, do the trick. The problem is that there is always going to be a difference since the OS (Windows) control
    s the multitasking of applications and LabVIEW. This causes LabVIEW not to run deterministically. The hardware will always output at a specific rate where as the LabVIEW will not be able to simulate completely at a specific rate.
    I would take a look at DAQ Occurrences in the LabVIEW Help File. This will give you your tightest synchronization. Hope that helps.
    Ron

  • Error −107380726​4

    I am using an Agilent 82357B USB-GPIB adaptor with my LabVIEW program. I have used these combinations before with no problems. Currently I am using LabVIEW 2010 SPI 32bit with Agilent Connection IO Expert version 16.2.15823.0
    *I now, after some time get a " −1073807264The interface associated with this session is not currently the controller in charge" error. I have read through all the information I can find about using the Agilent USB-GPIB adaptor and the settings to enable NI488 and software installation. So far nothing has stopped this from happening. Right now I believe that the only difference from using this before and now is the revision levels of LabVIEW and the Agilent Connection Expert. I am attaching the setup info that I have found and followed.
    Anybody else experience this?
    I have now purchased an NI GPIB-USB Adaptor and will try it in my setup.... of course I expect it to work, but am disappointed in "standard" interface protocols.
    "Opportunities multiply as they are seized."
    - Sun Tzu
    Attachments:
    Agilent_82357_NI_Appnote_1.pdf ‏24 KB
    Agilent_82357_NI_Appnote_2.pdf ‏702 KB

    Yes, attached similar Agilent 82357B information in my post.
    It now seems that the solution for my problem may be very simple. I currently believe that the power settings on the lab pc's that I was using to run a LabVIEW program that uses an Agilent 34970A DAQ simply
    was going into "Standby Mode" after 15 minutes and this is where the GPIB communication was interrupted. 
    I have modified the power setting to "Never" go into standby... I will see if this is actually what was happening.
    *Note: Even though I think the standby of the pc is the problem. If I startup the Agilent IO Connection expert while my LabVIEW program is communicating via the GPIB to the DAQ it seems that this also interrupts the
    communication with the same error. Presumably the Agilent Connection IO expert software interrupts the Labview GPIB calls.
    -I will post again when I am certain of these two points.
    -Thanks
    David P.
    "Opportunities multiply as they are seized."
    - Sun Tzu

  • PCI-6251 into LABVIEW DAQ Assist block interrupti​ons and resets

    Signals being received from PCI-6251 into a LABVIEW DAQ Assist block interrupts and resets every 10 seconds after 1 minute of data acquisition. Would this be a memory buffer problem or is it something related to the hardware? I am using a BNC-2110 hardware connector. Please view the attached image.
    Attachments:
    Interuption1a.GIF ‏4 KB

    Hey Peter,
    Ahh, I understand the graph now!  Hmm, this is very strange behavior.  Instead of using the DAQ Assistant, try to use the explicit DAQmx VIs (see picture).  You have more explicit control over what is going on with the DAQmx VIs and keep as much as you can out of the loop.
    Regards,
    Erik
    Attachments:
    analoginput.JPG ‏23 KB

  • How LabVIEW get interrupt signal from microcontroller

    Hello,
    I try to write a LabVIEW program to test PC Oscilloscope using microcontroller and parallel port.
    The program will triger the microcontroller and wait for the interrupt signal from the microcontroller.
    Then read the data and show the display.
    I defined my ECP port as bi-directional and IRQ enable.
    The problem I faced in here is how to get interrupt service in LabVIEW 5.1 without DAQ board.
    My computer's IRQ is 07 and I would like to control interrupt service by using parallel port.
    Thanks in advanced.
    Best Regards,
    HMU

    Hi,
    I was very interested looking for possible answers to your question - no feedback from other people - o.k.
    I think, that I have some experience with LabVIEW and
    the use of printerport on different operating systems (Win9x,WinNT,W2k). But I would solve your problem with
    polling of that "filtered" bit on printerport. If some- body has a better idea - let me know. If you have questions about interfacing @ printerport - please write to: [email protected]
    Regards
    wha

  • Labview Interrupt Handler

    Hi folks,
    I am doing a project using labview to capture some signal timing with
    DIO. Does there anybody have this experience can share with me? Where
    can I get the labview interrupt handler program code example?
    Thanks,
    Johnson

    I have two years experience with LabVIEW and twelve years experience
    with control and data acquisition. I guess, it's a wrong way to
    "capture some signal timing with DIO". It's too unreliable and it not
    ensures any reasonable precision. Think about using general purpose
    counters. Almost all DAQ board includes this hardware. They are
    dedicated to implement such a tasks.
    Yevgeni Tunik
    In article <[email protected]>,
    Johnson wrote:
    > Hi folks,
    > I am doing a project using labview to capture some signal timing with
    > DIO. Does there anybody have this experience can share with me? Where
    > can I get the labview interrupt handler program code example?
    > Thanks,
    > Johnson
    >
    >
    Sent via Deja.com http://www.deja.com/
    Share what you
    know. Learn what you don't.

  • Interrupt Service Routines in Labview

    Hi
    I would like to write some Interrupt Service Routines, is it possible to
    do this in labview (running in Windows 95)?
    I would like to be able to attend the interrupts i receive from a custom
    ISA card (not supported by NI).
    Thanks
    Eduardo
    Eduardo Aldaz Carroll, tel: +41 22 7679153
    CERN, PS Division fax: +41 22 7678510
    CH-1211 Geneva 23, Switzerland.

    From what I know NI has not developed sub VI's for LabView to accomplish this task. If you have a driver for the card in the form of a DLL then you can use a Call Library Function to interface with the card.
    Chris_Mitchell
    Product Development Engineer
    Certified LabVIEW Architect

  • Labview 2011 on Win7, OS causing serial loopback message corruption when clicking on top of windows?

    I'm wondering if anyone else has seen problems like this.
    I've been tearing my hair out over debugging some code. I have a ftont panel, I'm using some LEDs to send messages through the NI RS232 cable I bought, and have connected with a connector in a loopback fashion.
    I've been trying to read the incoming messages from loopback...and based on those, changing indicators and controls on the front panel.
    I could not figure why values were changing at strange times....like T's were turning to F's (I'm working with the serial data as boolean arrays).
    Well, I was simplifying code, and mostly running right...but every once in awhile, it appeared that my front panel indictors, especially the values I'm changing based on the loopback serial messages would  *BLINK*.
    I happened to be looking at the Probe Watch window...and I saw where my probes were correctly showing on a couple spots (a left and right indicator) TTTTTTTF  and TTTTTTTF......these appear at times to change T's to F's and vice versa.
    I then started clicking around...and found this is almost always caused, when I click the mouse on the top of the window...the part that you usually click and drag to move a window around the Windows desktop!!!!!!!!!!!!
    I can see this happen when I click on ANY window on the Windows OS desktop!!!!!!
    It appears that the OS is messing with me..............?
    I'm using Labview 2011, 32-bit on Win7....I believe the OS is 64 bit. 
    Has anyone seen behavior like this before?
    Thanks in advance,
    cayenne

    Matthew Kelton wrote:
    When you are probing, are you looking at the actual spot where you are getting your serial data, or are you looking at it after you've done some processing?  I would look at the actual raw data and use a serial port capture utility (there are several free ones on the internet) which will confirm your data is coming in correctly.
    What is your CPU running at?  If it is pegged at 100%, something has to give.
    Is your entire VI running in the UI execution system?  If you post your test code, it sounds like it would be easy enough for someone to do a loopback test of their own to confirm similar behavior.
    Thanks for the reply.  No, CPU isn't being hardly used at all...this is a new lenovo laptop.....high end Dell U2711 monitor...
    Task Mgr while Front Panel running:
    I'm looking after I've done some processing....
    I'm new to working with serial port stuff....I don't have a serial port capture device...?
    Thing is...when I run this in debug with breakpoints and stepping through...I don't see this happening. But when running at full speed, and especially when I click on any of the open windows on my desktop, along the top margin where you would click and drag a window around...I can see the serial data in the probe jump...and all data going through the serial port and being displayed on the front panel changing values...
    On my VI, I'm actually constructing the byte string...sending it  through the serial loopback, and receiving it and acting on it. I can see the data going in is the same as is coming out...it just seems to quickly corrupt and then come back again...like maybe it is getting interrupted by the Win7 OS....?
    I can't really post the whole code here...proprietary stuff...that's why in the past, I was posting a separate, simpler vi with only the parts I was having problems with....
    I think I have full support with NI...I wonder if I could send them the code to look at, with more confidentiality...?
    But again, I can make the problems happen, when it and the probe window is open, in real time...by clicking on windows.
    Also, this tends to explain problems I saw earlier...when running slow, all was well , when debugging with break points and stepping through. But at full speed, unexplained...things would start resetting without explanation...and without regularity.
    C
    I"m not sure what you are asking with "Is your entire VI running in the UI execution system?"....I have the one vi running, and only that vi is running.....

  • How can I do to acquire and save date in the same time and in the same file when I run continual my VI without interrupti​on.

    I've attached a VI that I am using to acquire amplitude from Spectrum analyzerse. I tried to connect amplitude ouput to the VI Write Characters To File.vi and Write to Spreadsheet File.vi. Unfortunately when I run continual this VI without interruption, labview ask me many time to enter a new file name to save a new value.
    So, How can I do to aquire and save date in the same time and in the same file when I run continual my VI for example during 10 min.
    Thank you in advance.
    Regards,
    Attachments:
    HP8563E_Query_Amplitude.vi ‏37 KB

    Hi,
    Your VI does work perfectly. Unfortunately this not what I want to do. I've made error in my last comment. I am so sorry for this.
    So I explain to you again what I want to do exactly. I want to acquire amplitude along road by my vehicle. I want to use wheel signal coming from vehicle to measure distance along road. Then I acquire 1 amplitude each 60 inches from spectrum analyzer.
    I acquire from PC parallel port a coded wheel signal coming from vehicle (each period of the signal corresponds to 12 Inches). Figure attached shows the numeric signal coming from vehicle, and the corresponding values “120” and “88” that I can read from In Port vi.
    So I want to acquire 1 time amplitude from spectrum analyser each 5
    period of the signal that I am acquiring from parallel port.
    So fist I have to find how can I count the number of period from reading the values “120” and “88” that I am acquiring from In Port (I don’t know the way to count a number of period from reading values “120” and “88”).
    Here is a new algorithm.
    1) i=0 (counter: number of period)
    2) I read value from In Port
    3) If I acquire a period
    i= i+1 (another period)
    4) If i is multiple of 5 (If I read 5 period)
    acquire 1 time amplitude and write to the same
    file this amplitude and the corresponding distance
    Distance = 12*i). Remember each period of signal
    Corresponds to 12 Inches).i has to take these
    values: 5,10,15,20,25,35,40,45,50,55,60............
    5) Back to 2 if not stop.
    Thank you very much for helping me.
    Regards,
    Attachments:
    Acquire_Amplitude_00.vi ‏59 KB
    Figure_Algorithm.doc ‏26 KB

  • NI-VISA Driver with Interrupt detection

    Hello everyone,
    I am new to PCI and PCI driver, encounter an problem when use the NI-VISA to program a PCI driver with the interrupt detection.
    Here is the situation:
    This PCI card is made of two chips : the PCI9030 pci bridge chip and ET1100 chip (the local chip that connected to PCI9030). The memory of ET1100 is mapped 1:1 to the PCI9030 memory starting at BAR2. Now I want the PCI card generates an interruption when the content of register at offset 0x221 changes.  
    I add the interrupt detection (see the figure above or the attachment), interruption removal and disarm following the guide "Using the NI-VISA Driver Wizard and NI-VISA to Develop a PXI(e)/PCI(e) Driver in Windows". However, when I completed and installed this driver in the LabVIEW RT OS, the system can recognize the card, but cannot generate the interruption when the register at offset 0x221 changes, therefore does anyone tell me the reason ? Or tell me how to program this driver using NI-VISA?
    Any suggestions is welcome.
    And Thank you in advance!

    Duplicate post here: http://forums.ni.com/t5/PXI/NI-VISA-PCI-driver-with-interrupt-detection/m-p/2618341
    Bobby Breyer
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Can CS5 Windows license be transferred to Mac platform?

    I have CS5 Design Premium Student and Teacher for Windows and am thinking of replacing my PC with a new Mac computer. Can I transfer my current license to a Mac version?

  • PeerGone Exception while Recieving the message over t3 protocol

    Hallo Every body. I'm having a swing based application which accessing the database through a DataSource on a ManagedServer. I'm recieving more Message length than default given by the Weblogic Server. i've changed the setting to more than that lengt

  • Es1javax.mail.NoSuchProviderException: No provider for pop3 ?

    What is wrong with this code?Do i need to specify a Provider? Where and when? String host = ...; String username = ...; String password = ...; // Create empty properties Properties props = new Properties(); // Get session Session ses = Session.getDef

  • Cannot activitate adobe premiere elements 10

    i have been for the last 3 hours trying to reach somebody OMG! On hold for 1 1/2 hour nothing!!!  your help on the internet is not helping me.  I finally double clicked and received this window i am typing ON. My computer crashed and I restore the co

  • Infoset Not Found in SE01

    Hi Experts I have created infoset in ABAP query (SE02).But when i am trying to create ABAP qyery in SE01 the infoset is not found in the SE01