Timing control signal and data acquisition

I have a series of relays which when activated will close different elements of a circuit and I also have a sourcemeter(Keithley) sending a constant source current and reaing the voltage back.(But when no relays are closed the circuit is open and no source current flows )
I have a microcontroller(pgmmed for 9600 baud rate) based hardware circuit which closes different relays sequentially based on the input it recieves from labview pgm passed on through a Rs232 cable(9600/8 bit/no flow control)
So i made a sequence structure of sending signal to microcontroller signal then wait for the signal transmission and realy activation and then read the voltage value form keithley sourcemeter back to labview thro a GPIB cable.
These three events are reapeated sequentially in a while loop. 
A schematic picture is attached.
BUt the problem I ma facing is the maximum speed of reading is limited to 200msec/reading even thought the relay activation time is as low as 30 msec.
I tried with many different delay times (140-60 msec...but more or less each reading takes up 200msec irrespective of the delay time..) 
What could be the bottle neck is it the Rs232 setting at 9600 baud rate..can changing that to higher baud rate/including flow control solve this problem?
Attachments:
daq_printscreen.GIF ‏45 KB

siva0182 wrote:
Find attached the picture of the vi where I tried to put in timers.one in each of the frame and at the end added one more frame just to measure the time elapsed .
The last frame and the frame with sourcemeter measurment show adifference of about 140 msec.
Is there any way to improve the speed of this portion?
Probably not.  It sounds like the Keithly VI is taking 140 msec.  You can try opening that up to see if there is anything in there that could be causing an unnecessary slowdown.  But trying to tighten it up too much may cause occasional errors (such as timeouts) in trying to get a response back. 
But surprisingly I tried displaying the actual timer value at the start and at the start of sourcemeter read function ..but the display of both indicators is almost equal with little difference of only 10 msec.?????  I'm not sure which of the several timers you are referring to here.  What is the value going into the wait function between the VISA write and the Keithly VI?
When you do benchmarking, the timer functions should be in a frame all by themselves.  Having it mixed with another function or VI causes a bit of uncertainty as to when the time was taken.  For instance, you dont' really know if the Keithly VI was started before the time was taken or after.  (The time was probably taken first, but without a data flow or sequence structure dependency, you can't be sure.)

Similar Messages

  • Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?

    Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?
    I am acquiring images and data to a buffer on the edge of the while loop, and am finding that the crashing of the program is unpredictable, but almost always due to a memory saturation when the buffers gets too big.
    I have attached the VI.
    Thanks for the help
    Attachments:
    new_control_and_acquisition_program.vi ‏946 KB

    Take a look at this document that discusses how to monitor IMAQ memory usage:
    http://digital.ni.com/public.nsf/websearch/8C6E405861C60DE786256DB400755957
    Hope this helps -
    Julie

  • Control Plane and Data Plane

    Hi there,
    I'm trying to figure out how to determine and how to differentiate between control plane and data plane especially in troubleshooting MPLS VPN. Any keyword that distinguish between them? It seems to be confusing for a newbie here :)
    Thanks in advance.
    maher

    Hi Maher,
    The control plane is simply the set of processes that are responsible for disseminating information on routes, labels etc within a network. This includes routing protocols whose job is to communicate information on routes between different routers. The information provided by these protocols is then used to building routing/forwarding tables.
    The data plane is simply an abstraction used to describe the actual flow of data packets using paths determined by the control plane. The control plane traffic carries control traffic (which is not end-user data) whereas the data plane traffic is actual end-user data.
    There is no single command that you can use to distinguish between the two. The commands you have on a router that can be used to view control plane operation are as such:
    sh ip route
    sh ip cef
    sh ip bgp ...
    sh ip ospf ...
    sh mpls forwarding-table...
    etc... and many, many more
    Typically, there isn't a clear demarcation between commands that display control plane info and those that display data plane information... You could use commands such as the following to get some idea of data traffic flowing through a router:
    sh interfaces
    sh policy-map interface
    etc.
    Hope that helps - pls rate the post if it does.
    Paresh

  • While loop and data acquisition timing worries

    Hello everyone, 
    I apologize in advance if this is a silly question, but I could not find the answer around here. 
    I have made a VI to record continuously from 64 analog channels at a 5kHz sampling rate. I then stream this data to a tdms file. The data acquisition and write functions are in a while loop. 
    I the same loop, I have a bunch of other loops, that each run on their own wait timers to help limit the amount of memory they take up. I am now worried that this may somehow affect my data acquisition timing.
    If I put a bunch of timed loops within another loop, does the outer loop run at the same pace as the slowest of the inner loops? And could that mess up my sampling rate?
    I have attached my VI, in case what I just wrote makes no sense at all. 
    Thanks for any tips...
    Attachments:
    Record_M8viaDAQv3.vi ‏237 KB

    Well, looking at your code you will only write to your TDMS file one time. You have multiple infinite loops within the main/outer loop. That means that the main loop will only run a single iteration because it cannot complete an iteration until all code within it completes. With at least two infinite loops inside the loop it will never complete. Not too mention the only way to stop your code is to hit the stop/abort button. NOt a very good way to stop your code. As someone once said using the abort to stop your code is like using a tree to stop your car. It will work but not advised.
    As Ben mentioned try to understand data flow better. You have unnecessary sequence frames in your code where normal data flow will control the execution sequence.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Check control signal and write in 1s, ignore control signal for the following 2s.

    I am new to Labview, recently I use DAQ to receive 2 channels, one is expected signal and another one is control signal. If the control signal is higher than threshold (rising edge), write expected data in 1s. Then, ignore the control signal in 2 second. The process is repeated. The attachment is my program but it doesn't work. I use flat sequence to do 2 consecutive tasks but cannot ignore the control signal.
    Any help is appreciate.  
    Attachments:
    Save data with control signal.vi ‏187 KB

    siva0182 wrote:
    Find attached the picture of the vi where I tried to put in timers.one in each of the frame and at the end added one more frame just to measure the time elapsed .
    The last frame and the frame with sourcemeter measurment show adifference of about 140 msec.
    Is there any way to improve the speed of this portion?
    Probably not.  It sounds like the Keithly VI is taking 140 msec.  You can try opening that up to see if there is anything in there that could be causing an unnecessary slowdown.  But trying to tighten it up too much may cause occasional errors (such as timeouts) in trying to get a response back. 
    But surprisingly I tried displaying the actual timer value at the start and at the start of sourcemeter read function ..but the display of both indicators is almost equal with little difference of only 10 msec.?????  I'm not sure which of the several timers you are referring to here.  What is the value going into the wait function between the VISA write and the Keithly VI?
    When you do benchmarking, the timer functions should be in a frame all by themselves.  Having it mixed with another function or VI causes a bit of uncertainty as to when the time was taken.  For instance, you dont' really know if the Keithly VI was started before the time was taken or after.  (The time was probably taken first, but without a data flow or sequence structure dependency, you can't be sure.)

  • Synchrosnised video and data acquisition

    I am a Labview user who would like to capture video and data (from one video
    camera and 4 strain gauges) simultaneously, then be able to play the video
    whilst being able to process the data streams. Is there a simple way to do
    this? - Thanks!

    I use Imaq for Labview to do the image acquisition, while using a traslation
    system. It works. The Motion controller is controlled by Labview too.
    (RS232)
    It doesnt seem u need syncronization from ur mail, maybe just a simultaneous
    acquisition. In this case it's very easy.
    Saint
    "Kevin Powell" ha scritto nel messaggio
    news:[email protected]..
    >
    > I am a Labview user who would like to capture video and data (from one
    video
    > camera and 4 strain gauges) simultaneously, then be able to play the video
    > whilst being able to process the data streams. Is there a simple way to do
    > this? - Thanks!

  • Simultaneous analog output 1k sine wave and data acquisition

    Although many topics of simultaneous analog output and input can be found in NI Developer Zone, I have not found a case similar to my project. I'm trying to generate a 1kHz sine wave by using the analog output of NI DAQPad-6070E, and acquire one channel input signal simultaneously. I found most of the examples can not work properly above 100Hz. Any suggestions are welcome. Thank you.
    Jian

    I have sucessfully solve the problem when I observed the increase of
    scan backlog number. Simply increase the buffer size of AI/AO and you
    can make the 1kHz sine wave output and data acquired properly.
    On Tue, 3 Feb 2004 09:03:07 -0600 (CST), jujian wrote:
    >Although many topics of simultaneous analog output and input can be
    >found in NI Developer Zone, I have not found a case similar to my
    >project. I'm trying to generate a 1kHz sine wave by using the analog
    >output of NI DAQPad-6070E, and acquire one channel input signal
    >simultaneously. I found most of the examples can not work properly
    >above 100Hz. Any suggestions are welcome. Thank you.
    >
    >Jian

  • Stepper Motor with Linear Stage (Position Control and Data Acquisition)

    Hey All,
    So.. I've attached a stepper motor to a linear stage and so far it's working pretty well.  Using a stepper motor driver from Pololu, I've simplified the control of the motor by just using output pulses from the counter output of a PXI-6143.  I've tested the motor using the Pulse Train examples in LabVIEW and all is working well.  
    My goal now is to allow the user to collect data from a pressure sensor, attached to the linear stage, every X number of steps.  From what I can tell so far, and please correct me if I'm wrong, the motor step movement is synchronised with the pulse train input.  That is to say, if I give the motor a 200 step pulse train, the pulse train ouput is completed at the exact time the motor has moved 200 steps.  From this, I've created a VI that moves the motor X steps, aquires the data point, and then repeats this process for the required amount of data points.  The problem with this is that the motor movement is not continuous; it stops for a split second to take the data point.
    How can I have labview ouput a pulse train of say 1000 steps and record a data point every 50 steps?
    Two ideas that came to mind were:
    1. Use the counter input port on the card to count the pulses being sent to the motor.  
    2. Use an encoder connected to the motor shaft.
    I wanted to stay away from theses ideas though since they require resources from the DAQ card.  
    Thanks,
    Ryan

    Hi Ryan,
    Just to cover all the bases, what version of LabVIEW are you using and can you attach your VI? Initially your ideas sound like they should work, do you expect to be nearly maxing out the DAQ?
    Thank you,
    Deborah Y.
    LabVIEW Real-Time Product Marketing Manager
    Certified LabVIEW Architect
    National Instruments

  • Grid control agent and data guard in mount mode

    Hello,
    I would like to know how you manage your data guards when you do not have the license for active data guard with the grid control agents. The standby database is in mount mode, so the agents cannot query the database.
    What do you guys do in such cases? Remove the agent? Or wait till a switchover?

    Check this out with a mounted database
    [lo***p02].oracle:/home/oracle > sqlplus dbsnmp
    SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 4 15:52:11 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Enter password:
    ERROR:
    ORA-01033: ORACLE initialization or shutdown in progress
    Process ID: 0
    Session ID: 0 Serial number: 0It cannot connect.
    And then
    [lo****p02].oracle:/home/oracle > sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 4 15:57:49 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    SQL> select open_mode from v$database;
    OPEN_MODE
    MOUNTED

  • Problem with control hints and date formatting

    Hi,
    I have a Date attribute with a control hint 'dd.MM.yyyy' in my EO. When the user browse through the data all date values have 4 digits. But when a lazy user changes a date value to e.g. 12.12.04, the new value is stored as 12.12.0004. This is correct Java behavior.
    When I change my control hint to 'dd.MM.yy', the lazy user can enter 12.12.04, which is stored as 12.12.2004. Great, but the user want to see a 4-digit year.
    My problem is that the customer wants to enter only 2 digits for the year but the application must render the date with 4 digits.
    How can I configure ADF to solve my problem?
    Does Domains help? Is there a general switch in Java or ADF witch converts 12.12.04 to 12.12.2004?
    Any hints are welcome.
    Thanks,
    Markus

    For your 2nd problem, you can create a field of type string (create a data type which has domain STRING), which has unlimited lenght. However, you can only have 3 of these fields in your table.
    I think this will solve the # problem too.
    Regards,
    Valter Oliveira.

  • Grid Control 10gR2 and Data guard for repository HA

    Hi,
    We have a set up of two instances of OMS running on two seperate servers. I was suggested Dataguard as a failsafe high availability solution. It was to run two seperate OMSs using one single repository database, which has hot standby managed by dataguard.
    But, I guess, I am confused that, if my repository fail, there will be no OMS to perform failover in Dataguard GUI.
    Am I missing any point? How has others setup their repository? Any help is appreciated ...

    Check this out with a mounted database
    [lo***p02].oracle:/home/oracle > sqlplus dbsnmp
    SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 4 15:52:11 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Enter password:
    ERROR:
    ORA-01033: ORACLE initialization or shutdown in progress
    Process ID: 0
    Session ID: 0 Serial number: 0It cannot connect.
    And then
    [lo****p02].oracle:/home/oracle > sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 4 15:57:49 2012
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    SQL> select open_mode from v$database;
    OPEN_MODE
    MOUNTED

  • Agilent E4980A Measurement Speed and Data Acquisition Speed

    I am using E4980A LCR meter, I need very fast data aquisition unfortunately limited by device own speed with 5.6 ms per measurement which means nearly 178 Hz. I am using usb interface with the software provided by NI, in that program I made some modification taking the reading side of the programme in a while loop .
    To test my speed I start the program count 5s and stop saving the results to an excell file. If I plot the results in a graph while programme is working I have 60 Hz speed. If I don't, then it is 80 Hz which are far below the potential maximum speed of 178 Hz. If my lap top battery is very low then my speed is worse. But with no battery problem, my celeron laptop performance is the same as an i7 laptop.
    Here it is my programme, it is the same provided NI but some modification. What can I do to have higher data acquisiton speed ?
    Probably, USB's speed is not enough but I can not believe that while it can save gigabytes of data in a few min can't take 200 datapoint in 1s. Why can't I have 178 Hz speed now and how can I reach this limit ?
    Regards.
    Attachments:
    Read Measurement.PNG ‏44 KB
    Read Measurement.PNG ‏44 KB

    Instrument communications via serial, USB, Ethernet, GPIB, etc just tend to be slow.  The instrument has to interpret the data, react to it, and then send data back.  That takes time.  A few ms per measurement is quite normal.  One option you might have is you could tell the instrument to take several measurements and then request all of the measurements once it is done.  I haven't looked into the E4980A yet to see if it can do that.
    What exactly are you trying to measure.  There might be better ways to get "fast" readings.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions

  • How do you cyclicly trigger data acquisition after n pulses counted

    Hello all, please forgive my ignorance because I am very new
    to lab view and data acquisition. I am working on a system which is going to
    scan an object and produce an image. The gimble that I am scanning the object
    with is an X-Y type of gimble with stepper motors on each axis. The stepper
    motor controller will output pulses real time to indicate the real time
    position of the gimble in each axis. What I need to be able to do is count
    pulses from the stepper motor controller and then output a trigger pulse to
    trigger the data acquisition in a buffered mode when N number of pulses have
    passed and then generate another pulse to stop the acquisition after another N
    number of pulses have passed. The controller puts out 10,000 pulses per degree
    of travel. The velocity that I am traveling at is 20 degrees per second, so
    timing here is really important. I need to be able to utilize the speed of the
    daq card and not so much the speed of the computer to iterate through a loop. I
    have tried using the count down feature in the NIDAQ MX library but it does not
    appear to be useful to me. I set it up and it will count down but once it hits
    zero it continues to count down. My expectation was that it would either
    restart the down count or it would stop. I was expecting some sort of trigger
    event to take place once the count reached the zero point but I did not observe
    any sort of event taking place. Once again my knowledge and background is
    really limited so I could be missing something really fundamental here. I have
    tried using some of the legacy functions which would enable me to do exactly
    what I want to do but they do not seem to work with my daq card. I have a NI
    PCI-6122 and if anyone has any knowledge on how to get this type of card to
    talk to some of the non MX functions I would be more than happy to hear how. It
    seems to me though, that I am limited to the MX functions which I can not
    really translate into what I have learned I can do with the legacy functions. I
    thank you all once again for taking the time to read this I and I will
    appreciate any and all responses that can be helpful.
    ~ Randy Brown

    I have run a few more tests and obtained some data per the request of a telephone support engineer. I have some scope screen shots that might be able to shed some light on what is going on. I will provide a brief description of what I discovered before I show the resulting data. I discovered that using the number of up ticks and down ticks suggested does not yield the right timing for the clock pulses that I will need for triggering my data acquisition. When I use 55 low ticks and 2 high ticks as my settings I end up getting a pulse every 32 pulses read on the PFI line. I get the same results when I interchange the numbers, for example, when I set the program up for 2 low ticks and 55 high ticks I get the same resulting one clock pulse per 32 pulses on the PFI line. I started playing with the numbers and come to find that I was able to generate a pulse every 57 pulses in this setup. I set the high ticks to 2 and the low ticks to 71 and once I did that it generated a pulse every 57 pulses in. The results are not ideal though, a number of things happen within the first second of operation. One mode of operation the clock output pulse latches after a few pulses generated. Another mode of operation that I noticed was that it would generate n number of pulses and then just stop even though the program was still running. The results I am getting are not reproducible when it comes to the long-term operation of the clock pulse generation but the bottom line is not matter what happens the end result after 1 second is not what is expected. I will show below screen shots of my program and also scope shots for the respective modes of operation.
    Front End interface
    Block Diagram
    55 High ticks and 2 low ticks results
    55 low ticks and 2 high ticks results
    77 Low ticks and 2 high ticks results
    Undesired Latch after 1 second of operation
    N number of pulses generated and stopped while program was still running
     It appears the the long term operation (and when I say long term I mean after a second) is intermittent, it either latches high or low after a random number of pulses are generated on the clock output. I am not sure why this is happening. The one setup that I came up with that generates a pulse every 57 pulses is not going to work for the setup that I have I think I would have to reduce the 71 to 69 in order to compensate for the two pulses that happen while the output pulse of the clock is high. To be honest I have no idea what is going on and I am starting to wonder about my daq card. Being that it is not really reproducing the same results I am starting to think maybe something is wrong with it. Another possibility is that it might be the bnc 2110 that I am using. I will try another one tomarrow and see if this problem persisits. I am leaving now so I won't be able to try that as of yet but I wanted to pass this info and data along such that maybe you will notice something and be able to lead me in the right direction. Thank you again for all of your help.
    ~ Randy Brown

  • Error 200524 Different number of channels in task and data

    Anyone out there with some information would be greatly appreciated. I  have attached my VI. Essentially I am trying to build a simple PID VI to controll the temperature of a piece of equipment in a system I am building. I have heating wire powered by 120 V source. The circuit is controlled by a simple relay, which is controlled by a digital line on my NI USB 6343 board. I have seen numerous examples throughout the forums and the shipped examples, but I cannot seem to figure out how the PID VIs work. I understand the basics of a PID controller, but cannot make the connections of how to actually get it to work in LV.
    I figured that this VI I wrote is pretty simple and should work, but I keep getting this error.
    Error -200524 occurred at PID_v0.vi:Instance:19:1
    Possible reason(s):
    Write cannot be performed, because the number of channels in the data does not match the number of channels in the task.
    When writing, supply data for all channels in the task. Alternatively, modify the task to contain the same number of channels as the data written.
    Number of Channels in Task: 1
    Number of Channels in Data: 1000
    Task Name: _unnamedTask<1>"
    Any advice, direction, sample VIs that are not overly complicated, etc would be greatly appreciated.
    Attachments:
    PID_v0.vi ‏97 KB

    Hi andyabs,
    I'm not getting the same error you are when running this VI.  How are you setting up your channels and tasks in the DAQ Assistants?  It seems like this may be the source of your error.
    You should also take a look at Section 4 of the attached White Paper.  Using DAQmx functions rather than the DAQ Assistant will give you a bit more functionality with your program.  Let me know if you have any questions about this example.
    Control Applications with Data Acquisition Hardware: http://www.ni.com/white-paper/9086/en/#toc4
    Myriam
    Applications Engineer
    National Instruments

  • Regarding Timed Controlled Sync in smart synchronization

    Hi,
    The MI documentation says that Timed controlled sync is not supported with File I/O in smart synchronization.
    Is there any difference between Timed COntrolled sync and timed two way synchronization which is performed using timed two way sync bos (T01)
    If they are same, does it mean that any application using timed two way sync bos, should have a mobile database.
    Regards
    Raja Sekhar

    Hi Raja ,
       just refer this link also ..
    http://help.sap.com/saphelp_nw04/helpdata/en/43/5d298f28616e47e10000000a422035/content.htm
    using this help , we can change the parameters in the MobileEngine.config file , so that it support time controlled synchronization.
    Time Controlled Synchronization
    Synchronization  start automatically at a defined time interval as a background job.
    i think file system is not so secure and not so easy to retrieve the data . there are chances for errors diring synchronization .If one error happens , that can damage the file system data base .
    so in general , replace the file system with database (DB2E or MaxDB ) is the best option.
    In the case of databases like DB2E , we can even administrate the database using proper GUI administrators ..
    Regards
    Kishor Gopinathan

Maybe you are looking for

  • Workflow missing fields 11i

    Hi Experts, user facing the following issue Navigation: Workflow -> find notifications here 3 fields are missing notification id, owner and to. all the fields are there if i follow the navigation with user sysadmin earlier it was fine. how can i trac

  • I cannot open jpg or tiff files exported from LR3

    staart with RAW. rename the files in Export dialog. export to hard drive or CD. the exported files show in finder, but I cannot get them to reimport to LR3 under different filename. his started as a result of a client who received files but couldn't

  • My iPad is stuck in guided access and triple clicking the home button is not working.... Suggestions?

    My iPad is stuck in the guided access accessibility feature and the triple click home to exit is not working. I can not do anything on my iPad! Any suggestions?

  • HELP White Balance Tint Shift

    My white balance brick produces a severe color shift. This just started yesterday after the ProApp 5.1 update. When I make an adjustment in the white balance brick the tint slider is all the way to the right (magenta) and shows a slight green tint. W

  • How to select multiple objects for left- or right-edge align?

    Hello all, This is my first day using indesign so hopefully this is an extremely basic question, but I haven't been able to find the answer anywhere online yet. Let's say you have a page full of objects and you want to align only a few of them to the