Timing control

Hello,
I need to acquire data from a powermeter every 2 milliseconds,how can i create a simple loop that can control the time and start the measurement?
Thanks in advance.

Hi Michael,
Here is a simple example for reading values from a field point RTD module and a DO module (since that's what I used). You may need to modify it somehow to suit your application. The start and stop switch is not really useful in this case because you can simply set your loop to continuously run mode and it will never stop. If you want to use this switch to start and stop your measurement, you may consider adding another while loop outside of this loop. Hope this will help you get started.
tak
Attachments:
Read_device.vi ‏69 KB

Similar Messages

  • 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

  • .Mac slideshow timing control.

    AJAX slideshow with its snazzy look, but lack of timing control made it a poor implementation. I had cracked it. Here is the procedure:
    1. Download: http://hac.95mb.com/dotMac/Arts_files/KBDIF.js
    2. Put KBDIF.js in the same folder as slideshow.html --> typically: Photos_files folder
    3. Edit slideshow.html
    3a. open it with TextEdit
    3b. search for 'slideshow.js'
    3c. insert:
    <script src="KBDIF.js" type="text/javascript"></script>
    just below:
    <script src="http://www.mac.com/1/slideshow/scripts/slideshow.js" type="text/javascript"></script>
    so it looks like:
    <script src="http://www.mac.com/1/slideshow/scripts/slideshow.js" type="text/javascript"></script>
    <script src="KBDIF.js" type="text/javascript"></script>
    That's it, you just added timing control. Keyboard inputs:
    1 - 9 = number of seconds delay between slide.
    0 = 10 seconds delay
    Note: When AJAX slideshow first starts up, there is a 10-15 seconds delay for the slides and thumbnails to be loaded. I can't control that, unless I hack a lot more of AJAX js.
    And default delay is 5 seconds.
    Demo here, click Start Slideshow button:
    http://hac.95mb.com/dotMac/Arts.html

    I just uploaded new AJAX Slideshow converter to my host, and can be found here: http://hac.95mb.com/iWeb.html
    This is for non .Mac server - or Publish to a Folder - method.
    .Mac users will have apply the changes manually, sorry, my script magic couldn't work through iDisk (WebDAV protocol).

  • 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.)

  • KT4 dram timing control

    Can any one post  best dram settings?
    sdram cas latency ?
    row precharge time ?
    ras pulse width ?
    ras to cas delay ?
    bank interleave ?
    ddr dqs input delay ?
    sdram burst lenght ?
    sdram 1t command ?
    fast command ?
    fast r-2-r turnround ?

    i would imagine thats different from vonfig to config.
    you gonna have to try different settings and play for a few hours with some benchmarking software ,i have corsair xms3200c2 i find best results are 2,2,2,5,1t ,ultra , fast r2r on , bank thing 4 , ddrqs auto ,burst length 8
    but thats cause i can  :]

  • Labview remote control and data transcation

    Hi,
    We have a complicated timing control system written in labview
    6.1 running on our lab PC-1.  Since it is not easy to upgrade to a most
    recent version and limited PCI-slots, and we need to add a few device
    control programs (written in C++ or updated labview), we are thinking of
    an ultimate control system with two PCs and let the old timing program
    be a "slave" of "master" computer PC-2.  OS for both PCs are windows XP.
    The communication between the two PCs are
    fairly straight forward: suppose on PC-1, the program breaks into two
    parts: part A and part B. PC-2 sends selection messages to PC-1 to
    determine which part needs to be running during a particular shot. It is
    true that to our best interest we might need  PC-2 to send data to
    PC-1, in case for a particular run we have to change some data values of
    timing program. 
    The problem might appears to be a piece
    of cake to you experts. It is worth mentioning that on PC-1, any
    changes made to the timing program is nontrivial due to its structual
    complexity. The program is DAQ based (finite) pattern generation (using a
    lot of PCI 6534/PCI 6713/counters, external clocking). 
    The
    reqiurement for speed is not high. PC-2 can in general wait for 1
    second before PC-1 receives a message and start to output.   On the
    other hand, the smaller the delay, the better. 
    We have
    considered a few communication options like TCP/IP, RS232 ports, etc. 
    But before we start implementing the changes, we would really appreciate
    your suggestions/comments! 
    Thanks very much in advance
    for your time! 
    Kunyan

    Kunyan,
    there are really several different ways to solve this. The major question is: Is this a handshake protocol or simple "notifications"?
    If it's simple notifications, things are getting quite easy.
    You can use TCP/UDP/DataSocket/STM if there is a network connection between both PCs. Otherwise, RS232 might be a good idea as well for sure.... but i suggest a network technology in order to reduce delays.
    STM is a protocol built up on TCP and even if you do not use it (it is not available for LV 6.1!), it might get you some ideas about defining a custom protocol.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to create a time control for while loop?

    Hello all,
    I would like to control my while loop's execution time. In other words I want to stop while loop's execution after time (in ms) which is set by user. For example user sets 5 seconds to front panel control and a while loop runs and stops after 5 seconds.
    I am not sure is it possible with the while loop. I succeed with the timed loop but it suits badly to my application. Is there any other loops for timed control if it is not possible with while loop? There is also a simple while loop with Random Number (0-1).vi as attachment.
    Best Regards,
    Jick
    Solved!
    Go to Solution.
    Attachments:
    execution time loop.vi ‏6 KB

    hi,
    see this, may be it will help.
    Best luck
    Gaurav k
    Gaurav k
    CLD Certified !!!!!
    Do not forget to Mark solution and to give Kudo if problem is solved.
    Attachments:
    execution time loop.vi ‏9 KB

  • How can i control a solenoid valve using time as an input?

    i am trying to control 4 solenoids using labVIEW 8.2.1 and a DAQ 9172 box.I want to control the time period that the valve is on as well as the number of times certain valves are on.

    Also, what cards are you using? Is the solenoid controlled by an analog voltage? analog current? or digital voltage? It seems to me that you would need something like the NI 9263 AO card to control the solenoid position.
    Like Mike said, it is important to know what sort of time period you're trying to use. You can use the operating system time in LabVIEW to determine what value you will output to your solenoid using something like Time Elapsed VI. If the time periods you are looking to control with are too small you won't really be able to achieve that kind of control with a 9172, you may need to look into using a cRIO chassis instead that has hardware timed control. 
    Chris W

  • DAQmx Timing rate

    I am using the DAQmx Timing control in a VI that samples data from a PXI chasis. The sampling mode is set to Finite Samples. The help states that the rate input specifies the sampling rate in samples per channel per second. Increasing this number means more samples per second. It seems to me that increasing the samples per second should reduce the overal time of the process since it is performing more actions per second. However, increasing the rate decreases the loop time of my program. What am I missing here? Am I understanding this wrong, or just implementing this strangely?

    Hello,
    You are right that increasing the rate means more samples per second.
    It means the following: If you keep the finite number of samples to
    acquire fix, then increasing the rate should decrease your acquisition
    time. Suppose you are performing acquisition in a loop. If the
    acquisition time decreases, then the time for a loop iteration will
    decrease as well.
    For example, for an acquisition of 1Hz, if the number of samples to
    acquire (on the timing VI) is 1000, it means that you will acquire a
    total of 1000 Samples. Since the rate is 1Hz, it will take you 1000
    seconds to acquire all the samples. However, in a loop, you can use the
    DAQmx Read VI to read part of the total number of samples already
    available. So for example, if you specify 50 samples to read on the
    DAQmx VI, every time it is called, it will grab 50 samples from the
    buffer. If the samples are not available yet, it will wait until they
    are availble or there is timeout and return.  Now if you have a
    process in the loop that take more than 50 seconds to comple before you
    read again, then there will always be at least 50 samples in the buffer
    from the second iteration. From there on, if you increase the rate, it
    will just increase the number of samples availble to be read, but it
    will not necessary make the other process in the loop faster. So the
    DAQmx Read will always have the 50 samples it needs, but the other
    process will still take time. So in this case, changing the rate from
    1Hz to 100Hz will seem to have no effect on the entire process.
    The important thing is to understand what those numbers actually mean.
    -Sample per channel  in the timing VI represents the total number
    of samples to be acquired by the board on each channel of the task.
    -Rate represents the rate at which the samples above are acquired
    -Sample per channel in the DAQmxRead VI represents the number of
    samples you want  the VI to grab from the buffer. Those samples
    have already been acquired and stored on the computer.
    Hope this clears it all

  • SmartSound - What Is It & How Do I Use It?

    For some time, there has been discussion on the use of SmartSound® with various versions of Adobe Premiere®. Often, there is a bit of confusion, as to what SmartSound is and how best to use it. I hope to provide some information on both the programs as well as the "Series," that make up SmartSound music.
    First, here is some background. SmartSound’s programs come in basically three "flavors" now. First, there is QuickTracks for Premiere®. This is a plug-in for PrPro/PrE. It works from within the NLE program itself. Then, there are two versions of Sonicfire Pro®, which is a stand-alone program that is similar to QuickTracks, but offers so very much more in the way of power with the Strata Series® (and other Multi-track music) Series. One of these is the ExpressTracks® version, which is free with the purchase of any Strata Series disc., and the other is the full Scoring Edition®, which can be purchased separately, or upgraded free, if one has a registered copy of Sonicfire Pro 4 with S/N. While the basic function of the programs is similar, the mechanics can differ, as well as the final output.
    Second, there is the music. It is grouped into several Series. All can only be used in the SmartSound software. The SmartSound® Music library is a very creative and flexible collection of royalty-free* music. It's the only music that gives video editors access to perfectly edited music from any SmartSound software or embedded technology.
    Looking at it from one side, the Series are grouped by style, theme and mood. On the other side, they are grouped by the type of discs. At a basic level, there are three types of these discs:
    Single Layer tracks: no Mood Mapping capability, however there are 22KHz, 44KHz and 48KHz single layer tracks (the Classical Suite albums are single layer 48KHz. Note that single-layer music cannot be used with Mood Mapping.
    Multilayer tracks: all multilayer tracks have Mood Mapping, and there are only 44KHz and 48KHz multilayer tracks.
    Some of the recent releases of the Strata Series discs, only contain the 48KHz versions Remember, only the 48KHz can contain Mood Mapping, and can only be used with Sonicfire Pro. For the QuickTracks plug-in, one would use the 44KHz version, and of course there is no Mood Mapping in QuickTracks.
    All of the various Series also contain several variations on each "cut." The vast majority are original creations and the few that are "public domain" are original performances.
    Generally, the price of the music Series goes up with both the quality (sample-rate) and with the multi-layer aspect. Still, "sales" do happen from time to time.
    Ignoring the Mood Mapping feature for a moment, I’d like to talk about what SmartSound and Sonicfire Pro do, when used with the SmartSound music Series. These programs and this music will allow one to exactly tailor their soundtrack, and far beyond what one can do using loopology. The intros and outros can be specified. If you know the exact Duration of your Video, you can tailor your resulting score to that Duration.
    With Sonicfire Pro, and a Strata Series multi-layer disc, one can tailor much more, than just the Duration of the music. This is where Mood Mapping comes in. With Mood Mapping there is almost unlimited control on what the same piece of music can sound like. Within the Mood Mapping control panel, one can use many Presets, but can also control virtually every aspect of the music. Imagine being able to take a full orchestral version of a piece of music, and then separating out just the violins, or just the brass section. Both versions of Sonicfire Pro can utilize Mood Mapping, but there are limitations on the ExpressTracks version, and even more power in the Scoring Edition, including Timing Control.
    Now remember that I mentioned that QuickTracks for Premiere was a plug-in and that both versions of Sonicfire Pro are stand-alone applications. How does this affect how one uses them? Because of the plug-in nature, QuickTracks is launched from within Premiere via the New icon and SmartSound from the drop-down menu. This brings up the QuickTracks interface, where one can tailor the Duration, and the variation, of the piece, but also contains a link to a browser. In this browser, one can sort by various criteria, plus are also allowed a text Search function to use the notes with each music cut. There are also filters to limit ones view to criteria, such as Music on My Computer, Music Owned by Me, Music On SmartSound’s Web site and All.
    As Sonicfire Pro is a stand-alone, one would first Export a "reference" AV file, to use when scoring. One day, I would love to see Sonicfire Pro as a plug-in for Premiere, so that this one step would not be necessary. The next best thing would be for Adobe to do a Dynamic Link to Sonicfire Pro. There is no need for any reference file with QuickTracks, as one is working in the Sequence’s Timeline.
    When the purchased Series have been installed on one’s computer, it will contain a preview, regardless of whether the actual sound files are copied to that computer. One can work from the copied music files, or from the DVD discs. [Note: because of the limitation on QuickTracks to just the 22KHz and 44KHz music, installations usually do not have to be done separately, unless the user wants both the multilayer version installed and the single layer versions installed. Any single layer albums will only need to be installed once (with the exception of Classical Suites, since they have 48KHz and 44KHz, but if installed in Quicktracks first, the 44KHz versions will be available in Sonicfire Pro.)] Personally, I copy the DVD’s to my HDD’s, for quick and easy access. However, that is not necessary, if one does not mind placing the DVD into a drive.
    If one does not wish to purchase one of the discs, the full library, they can still listen to the cuts, via the preview, and can purchase much of the music, by the cut, directly from SmartSound for download. This can allow one to use just the right cut, without having to invest in the full Library.
    One of the real advantages to registering one’s SmartSound, besides notification of updates, is the notifications of the "sales." These usually offer select Series at greatly reduced rates. I find the "regular" prices to be in line with what one gets, but a sale makes it even better. My biggest problem has been that I now own most of the Series, and the ones that I do not own are ones that I will likely not use. It’s getting more difficult to take advantage of these sales, no matter how low the price has dropped - I already own it.
    Last, SmartSound also has several Series of SFX too.
    * Excludes public performance as part of a film released through major theatrical distribution or broadcast on national television. See our Professional Music End User License for details regarding these uses.
    Note:
    SmartSound, QuickTracks, Sonicfire Pro, ExpressTracks, Mood Mapping and Scoring Edition are all registered property of SmartSound Software, Inc.
    Adobe Premiere is a registered property of Adobe Software, Inc.
    SmartSound's Web site

    Addendum: later versions of Premiere Elements now have the SmartSound Sonicfire Pro Express Tracks version (not the Scoring Edition) included, rather than the older QuickTracks module. This allows one to use the newer SmartSound Multi-Track discs, where the older QuickTracks module will only work with some of the older Multi-Track discs. The version of SmartSound Sonicfire Pro Express Tracks included is limited, vs the Scoring Edition (available for purchase), but allows for a lot of editing of SmartSound material. The installation is separate from the installation of the Premiere Elements installation, and involves a download of the Sonicfire Pro Express Tracks installer. It is also necessary to then apply the update to the Sonicfire Pro Express Tracks program.
    I feel, however, that the Sonicfire Pro Scoring Edition, when used with the Multi-Track discs, is so very useful, that I recommend anyone, who is serious about creating custom soundtracks for their Videos, look closely at it, and also that they see the SmartSound tutorials (on the SmartSound Web site), to discover the power that it provides - it is like having a million variations for each Multi-Track song.
    Hunt

  • Is it possible to drive REXROTH pneumatic actuator which requires 24V & 500mA,, using LabVIEW ? if Yes, can anyone please guide me regarding the same ? I'm doing my project , so badly need info.

    Hello,
    I'm doing project which requires pneumatic actuator. Available actuator in our college is REXROTH BOSCH pnuematic actuator. which requires 24V and 500mA drive. Also it has to be timing controlled (I mean it should be ON & OFF, software controlled)
    I have attached snap of my LabVIEW block diagram. Here, comparator output has to drive Pneumatic actuator. Also we have NI 9485, 8 channel Solid State Relay (SSR), is it possible to use it in my project?
    Thank you, your help is much appreciated...
    Attachments:
    ni help.jpg ‏35 KB

    I apologize for my mistake,
    I'm new to this community...
    Image which I've tagged , contains 2 O/Ps from comparator.. I need to drive actuator from those O/Ps...
    After processing Image & calculating number of particles, depending upon those numbers, i want to drive Actuator which i've specified earlier...
    thank you for your time... help appreciated...

  • Using 6533 DIO32HS, is it possible to use double buffered output with varying pauses?

    I'm using Level-Ack handshaking to transmit data. Currently, I'm hooked up to a loop-back on the DIO32HS card.
    If I don't use double-buffering, I end up with pauses in data transmission, so I need to use double buffering. Unfortunately, I can't seem to set up a delay in the middle of a double buffered scheme.
    What I need to do is this:
    Transmit 64 packets of data (16 bits each) on group 2 / Receive 64 packets of data (16 bits each) on group 1
    Delay for .2 ms
    Transmit the same packets again / receive
    The delay in the middle will need to be varied, from .2 to 20 ms.
    I'm programming in Visual C++ 6.0 under Windows 2000, with (as suggested above) group1 c
    onfigured as input (DIOA and DIOB) and group2 set up as output (DIOC and DIOD). Due to the speed of transmission (256kHz) and the small size of the data set, the program I wrote, no matter how tight I try to make it, cannot insert the proper delay and start the next send on time.
    Does anyone have any idea if such a pause is possible? Anyone know how to do it, or any suggestions on what to try?
    Thanks!

    .2 ms is a very small time delay to use in software. Windows usually isn't more accurate than about 10 or 20 ms. If you need to have small, precise delays you could either use a real time OS, like pharlap and LabVIEW RT, or use extra hardware to generate the delays correctly.
    I would recommend using a separate MIO or counter/timer board (like a 660x) to generate timing pulses for the DIO32HS. This gives you precise timing control at high speed. If the 32HS is in Level ACK Mode, it will respond to external ACK and REQ signals. This is covered in more detail on page 5-10 of the PCI-DIO32HS User Manual.

  • Bad RAM?

    Over the weekend I tried to compile Mozilla (on OS/2 if that matters) and got a few strange segmentation faults that I didn't have the last time I had tried. I then tried to check my RAM overnight, and indeed memtest86 v3.0 reported 39 errors total after 11 runs and more than 6 hours. But only in runs 5 (38 errors) and run 6 (1 error). Another check for 4 hours today did not give any errors...
    Hmm, is there any way to check that it is indeed the RAM that's bad and not perhaps the board or wrong BIOS settings?
    The settings I have are
    + DRAM Timing Control
    System Performance: Ultra
    SDRAM Timing: SPD
    SDRAM Frequency: Auto
    SDRAM Burst Length: 8 QW
    SDRAM 1T Command: Enabled
    Fast Command: Fast (the system does not boot with Ultra)
    Fast R-2-R Turnaround: Enabled
    + Frequency/Voltage control
    CPU FSB Clock 200 MHz
    (Everything else under Frequency/Voltage control is Auto)
    Anything not right for my hardware? I did not mean to overclock...
    I have Kingston RAM and they give lifetime warranty, so getting a new one should not be expensive if it is really broken. But how sure can I be that Kingston accepts my memtest result?
    And btw, does anyone have a contact number/address of Kingston in the UK? Or do I have to go through the shop where I ordered the RAM?
    Cheers,
    Peter.
    Hardware:
    MSI KT6 Delta LSR
    Athlon XP 3000+ (FSB400)
    Kingston PC3200 512MB (KVR400X64C25/512)
    Asus Radeon 9200 SE/TD AGP
    Soundblaster Live 5.1
    Hitachi Deskstar 120 GB SATA (HDS722512VLSA80)
    LG GSA-4081B DVD writer

    Quote
    Originally posted by Akimbo
    Dood, change the top ULTRA back down to fast.
    It'll still run your equally fast. Even turbo is dodgy.
    OK, I got a similar reply from Boris at Kingston tech support. He also recommended against Ultra settings and also 2.5-3-3-8 (CAS latency (CL) - RAS to CAS delay
    (tRCD) - RAS active precharge (tRP) - Active precharge delay (tRAS)).
    In the BIOS settings I only found "CAS latency (CL)" and "RAS to CAS delay", so my settings are now
    System Performance: Turbo
    Configure SDRAM Timing by: User
    SDRAM Frequency: Auto
    SDRAM CAS# Latency: 2.5
    Row Precharge Time: Auto
    RAS Pulse Width: Auto
    RAS to CAS Delay: 3
    [* ]Write Recovery Cycle: Auto
    [* ]Bank Interleave: Auto
    SDRAM Burst Length: 8 QW
    SDRAM 1T Command: Enabled
    Fast Command: Fast (the system does not boot with Ultra)
    Fast R-2-R Turnaround: Enabled
    and the system seems very stable now.
    Quote
    You get the most significant memory boost from these 2 settings
    Row Precharge from 3 down to 2 achieves +80MB/Sec boost
    RAStoCAS Delay from 3 down to 2 will give you another +80MB/sec boost
    (In the MEMTEST86 DRAM speed (top left))
    You also receive 1000's of errors if the ram cannot handle that "2" setting.
    Thanks for the tip, I will try it when I have time to reboot...
    But in the meantime I hope "Auto" sets what is best for the RAM, I have no way to check. A full Mozilla compile is still only around 35 Minutes, that is OK for me as long as it works, whatever the actual settings are, and although Memtest only reports 754 MB/s for Memory...

  • The use of variants in MS for VC++

    I have a lot of problems programming nidaq components in VC++.
    My problem is that I have to interact every 10 msec with 16 input channels, 8 output channels, 8 Digital inputs, and 8 digital outputs. The total time may not be longer than 1 msec in total.
    I use two arrays, one for input and one for output.
    My bords areCI6024E and PCI6713.
    Why can't I find an example of simultanious driving 8 analog outputs with differant values. Lets say the outputs are twice the input voltages. Or the output for analog out1 is the sum of the 8 first inputs and the analog out2 is the sum of the last 8 inputs. This with events to synchronyse the whole.
    Have program a realtime simulator for powerplants written in C++.I translates the RT sim to NI components and software (Labview).
    My rt pxi turbine simulator for simulating grid incidents was succesfully used in a nuclear plant in 2006. Look at http://sine.ni.com/cs/app/doc/p/id/cs-755

    I don't think you are going to be able to maintain those rates with software-timed control loops with that number of channels in Windows. You may need to explore an embedded solution with LabVIEW Real-time. For more information on LabVIEW Real-time, see our website here.
    Best Regards,
    Chris Matthews
    National Instruments

  • Serial write takes unexpectedly long when more than 7 bytes are written

    Hi,
    My vi is attached. 
    As you see, it's very simple.
    - output buffer fifo is set to 128 bytes, which is generously higher than my needs.
    - my baudrate is 2.5 mpbs.
    - I write string of 9 bytes such as 012345678, and the execution time of the vi is around 40 us. 
      I thought it's because of the blocking structure of the synchronous write, and I decided to switch to asynchronous
      write, since I need to go above 20 kHz.
    - when I switch to asynchronous write, it even gets worse, and I get ~58 us. it seems like asynchronous doesn't work at all.
    so far, I explained my problem. I also did some simple experiments to debug the problem.
    - when my string is shorter than 8 bytes, everything is beautiful, asynchronous write takes nearly 15 us.
      when I enter an 8 bytes or longer string, it jumps up to 58 us again.
    what am I doing wrong? I'm stuck here.
    Gorkem Secer.
    Attachments:
    serialWrite_niForum_pic.png ‏19 KB

    The driver might for a lot of reasons not want to or even can't fill up the 8 byte hardware FIFO buffer entirely. This could be for instance since it has to work around some bugs in certain hardware. It might not be necessary for the specific hardware revision in your system but that driver has to work for many different hardware systems.
    The magnitude of timing control you try to achieve is simply beyond a software system if you require reliable and hard timings. It may be possible to achieve on a simpler but still powerful embedded system with custom made software drivers and RT OS but not on a more general purpose RT OS even if the hardware is pretty powerful. But such more custom made solutions would be more than a few magnitudes more expensive to develop.
    You can keep barking up this tree but it is unlikely that NI can do much about it without redesigning parts of the RT system, which is pretty much out of question as they simply license it from Ardence/IntervalZero and only adapt it where it is strictly necessary to work with their hardware. Most likely their license doesn't even allow them to customize it at will in any other way than is strictly necessary to get it to work on their own hardware.
    Your options are as far as I can see, to either rethink the timing requirements or adapt the software in such a way that the bigger delay won't be a problem or to go with a hardware solution based on an FPGA board or similar.
    As to the difference of asynchronous write and synchronous that is mostly about what VISA API is called underneath. The LabVIEW function remains blocking for as long as is necessary to pass the data to the OS driver. In synchonous mode the LABVIEW VI calls the synchronous VISA API once and that simply waits until VISA returns from the function. For the asynchronous case LabVIEW calls the asynchonous VISA function and then keeps looping inside its own cooperative multithreading layer until VISA indicates that the asynchonous function has been performed. This is mostly for historical reasons when LabVIEW didn't have OS supported multithreading and all the multithreading happened in the cooperative LabVIEW code scheduler. Nowadays asynchonous VISA mode has almost no benefits anymore but genearlly will cause significantly more CPU load.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • Help needed on J2ME project

    hey, i'm trying to built a j2me browser that can access internet from a computer via bluetooth. So does anyone know a decent open source browser where I can modify its default connectivity mode(eg., gprs), so that i can create an interface which help

  • Bridge CS4 has LONG delay in opening the first image

    Photoshop CS4 upgrade was my Christmas present this year. I've been fighting this annoying "problem" ever since then... I DO see this "problem" on my desktop PC, which is a Dell XPS-400 PC (with 2 GB of memory) running Windows XP (Media Center Editio

  • "Offline material is present" Premiere Pro CC PluralEyes 3

    Hi! I'm new to both Premiere and to PluralEyes. I'm editing a multicam concert video. When trying to export it I get the message "Offline material is present in this export and will be encoded using the offline media graphic". Even though there is no

  • Graph in a subscreen area

    Hi Experts, How do you create a graph in a subscreen? I checked out transaction GRAL but all the graph charts popup in a separate screen. Moreover I do not want the BOXES internal table attached to the chart.  How do you suppress this functionality?

  • How to add to JDev help?

    Can I extend the standard JDev help to include extra API documentation, such as the Mail API doco?