Reading loop DAQmx only reaches the speed of Communication series

Hello everyone,

This is my first post in this Forum. I have a program with 4 loops, 2 separate and 2 connected by a queue. The first loop (see attachment loop PID) runs at maximum speed, the second a (serial communication) works at maximum speed (very slow because of the speed of series).

To find the error I deleted from the queue to get 4 separate loops. The loop with the calculations (calculate loop) now also runs at the maximum speed, but the analog read loop just past the loop of serial communication speed. On the inside of the Sub - VI is just the configuration for the DAQmx with internal sampling. I have no connection between the loop of serial communication and analog playback loop. Is it possible that the DAQmx is slowed down because of the serial communication? Serial communication also uses a windows DLL.

I hope you can help me.

Best regards

Jannik

Thank you for your quick response. I found the answer, I guess that: I deleted the Subvi and the use of the DAQmx in the loop directly, it has worked. I think that the Subvi took too long because of the additional options to run at 1 kHz.

Tags: NI Software

Similar Questions

  • loop running only when the mouse or keyboard are active

    Hello

    I started a few weeks ago a pretty big VI. Most of the program is included in a large loop. But I feel it's to slow down unnecessarily. So to optimize it, I would like that the VI only works when the mouse or keyboard is acting on it. It would free up the CPU when I do not use it without having to shut it down. I found on the internet how to use the "wait for" to slow down the loop, but in doing so, some parts of the VI that must run in real time also slow down. I think that my idea should be more effective as well for applications in real-time and to free the memory.

    Accordingly, how can I ask the while loop to skip to the next iteration only when you press the mouse button or when a field is filled by the keyboard? Or is there an alternative for the while loop?

    Thank you

    Isaac

    Hello

    You can check this by using the structure of the event and monitor the activities of the mouse and the keyboard.

    I have change a simple VI to show this, please see the attachment.

    In the meantime, you can consult this example available on ni.com

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/3924

    Kind regards

    Lou KwokHow

    AE OR Singapore

  • updated my iMAC 7.1 with 4 GB of memory with the intention to go to El Capitan, but after reading how it slows down the speed, I was wondering if going to Yosemite is a better choice.

    Updated my iMAC 7.1 with 4 GB of memory with the intention to go to El Capitan, but after reading the slowness becomes the MAC, it would be best to go with Yosemite?

    If you upgrade the amount of RAM your iMac should be able to handle El Capitan nicely.

  • Query to only reach the one-to-one relationship data

    Hello

    I am looking for a query search lines with one-to-one relation ship.
    To keep it simple here is the code example.
    CREATE TABLE my_storegroup_gbcust
    (
      store_grp_id        NUMBER(6)                 NOT NULL,
      group_buy_cust_num  NUMBER(5)                 NOT NULL
    );
    
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (1002, 70001);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (1003, 70001);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (1004, 70001);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (1005, 70001);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (1006, 70001);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (2001, 65000);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (28001, 21800);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (35001, 27010);
    INSERT INTO my_storegroup_gbcust (store_grp_id, group_buy_cust_num ) VALUES (35001, 37927);
    
    select * from MY_STOREGROUP_GBCUST
    
    STORE_GRP_ID     GROUP_BUY_CUST_NUM
    ------------     ------------------
    1002               70001
    1003               70001
    1004               70001
    1005               70001
    1006               70001
    -----------------------------
    2001               65000
    -----------------------------
    28001               21800
    -----------------------------
    35001               27010
    35001               37927
    The data in the table describe 3 types of relationships.
    Many-to-one = > several groups to buy a group of stores = > example: 1002,1003,1004,1005,1006 mapped to 7001
    One-to-one = > Group a store to buy a group only = > example: 2001 mapped to 65000. 28001 mapped to 21800
    One-to-many = > store group in many group buy = > example: 35001 mapped to 27010,37927

    I am now able to achieve through one-to-many and many-to-one query per as below:
    select group_buy_cust_num,count(*) from MY_STOREGROUP_GBCUST group by group_buy_cust_num having count(*) > 1
    select store_grp_id,count(*) from MY_STOREGROUP_GBCUST group by store_grp_id having count(*) > 1    
    But how do individual exclusively.

    Thank you
    Raj.

    Hello

    A way

    select      store_grp_id
         , group_buy_cust_num
         , case when x = 1
              then case when y = 1
                        then 'One to One'
                   else 'One to Many'
                   end
              else 'Many to one'
              end z
    from (
         select store_grp_id
              , group_buy_cust_num
              , count(*) over (partition by store_grp_id order by null) x
              , count(*) over (partition by group_buy_cust_num order by null) y
         from my_storegroup_gbcust
    )
    

    Concerning
    Anurag Tibrewal

  • concatenate the hexadecimal code set by the user for communication series

    Hello.. I'm a newbie to LAbView. I am trying to contact a power supply Source. for which my order will be in the format of 4 to 5 bytes; for example, to set a voltage of 220 VAC, it's 1509 0898 in hexadecimal, 15 of which is binding for all orders of shaky writing, 09 for various operations such as setting Volatge or FREQ. and last four digits 0898 is a 2200 (by 220.0VAC) hex code.

    By sending the complete command 1509 0898 in hexadecimal Serail port communicating my source, even in the giving them using string concatenation as 1509 is the first chain and 0898 in second, it works fine.

    But these last two bytes would be defined by the user and can therefore vary in digital, so I put a number of Hex code conversion there before concatenation. who does not send the code Hex 0898 as reqd.  but this garbage to send value... 3038 3938

    Help, please... Thanks in advance...

    Ermani salvation,

    Here is a step by step journey:

  • Help, please! Imported MP3 playing at twice the speed of reading!

    Hey there,

    I am a newbie. Import an MP3 to edit a music video for. Have done this process before on another project with zero problems. However on this new project, when I import the MP3 file, it plays too fast in reading. Not exactly twice the speed. It jitters and removes words and jumps back in places.

    Jesse

    Covert mp3 wav and then import into Premiere Pro.

  • Increase the speed of playback of the clip

    In the first Clip for Android, there is a slider to change the speed of the clip 25 to 100% of origin.

    Why I can't increase the playback speed / framerate higher than 100%? -The only possibility is slow?

    Hi Morgan,.

    Thanks for writing! Currently the Clip can only slow the speed of the media.

    Your request is noticed. The ability to accelerate a clip would be a great feature to include.

    Best,

    Peter Garaway

  • The most effective way to log data and read simultaneously (DAQmx, PDM) high data rates

    Hello
     
    I want to acquire the data of several Modules cDAQ using several chassis to
    high data rates (100 k samples per second if possible). Let's say the measurement time is 10 minutes and we got a large number of channels (40 for example). The measured data is written to a PDM file. I guess, the memory or the HARD disk speed is the limits. For the user, there must be a possibility to view the selection of channels in a graph during the measurement.

    My question: what is the best and most effective way to save and read data at the same time?

    First of all, I use an architecture of producer-consumer and I don't want to write and display the data in the same loop. I expect two possibilities:

    [1] to use the 'DAQmx configure logging.vi' with the operation 'journal and read' to write the data to a PDM file. To display the data in a second loop, I would create a DVR samples documented and 'sent' the DVR for the second loop, where the data will be displayed in a graph (data value reference). This method has the disadvantage that the data of all channels is copied into memory. Correct me if I'm wrong.

    [2] use 'DAQmx configure logging.vi', but only with the "journal" operation to write the data to a PDM file. To view the selected data, I had read a number of samples of the TDMS file in the second loop (I'm currently writing the TDMS file). In this case, I have only one copy data from the selected channels (not), but there will be more HARD drive accesses necessary.

    What is the most effective and efficient solution in this case?

    Are there ways to connect and read data with high frequencies of sampling?

    Thank you for your help.

    You say that the measurement time is 10 minutes. If you have 40 channels and you enjoy all CHs at 100 kHz, it is quite a number of values.

    In this case, I always try to approach under the conditions of use. If a measure is only 10 minutes, I just connect all PDM data and create a graphic module that could be in the same loop of consumers where connect you the data. You can always work on the raw data files big offline afterwards, the extraction of all the information you need (have a look at the product called NI DIAdem: http://www.ni.com/diadem/)

    The main issue is that the user needs to see in the graph (or perhaps a chart can be useful too). Lets say that the graph is 1024 pixels wide. It makes no sense to show multiple data to 1024 points, Yes? Every second will produce you 100 data points k per channel. What is the useful information, which should see your username? It depends on the application. In similar cases, I usually use some kind of data reduction method: I use a moving average (Point by point Mean.VI for example) with a size of the interval of 100. This way you get 100 data points of 1000 per channel every second. If you feed your graph every second with these average values, it will be able to data points in 1024 of the store (as a default) by channel (curve), which is a little more than 10 minutes, so that the user will see the entire measurement.

    So it depends on the frequency at which you send data to the consumer. For example, collect you values 1024 by iteration of the producer and send it to the consumer. Here you can make a normal means calc or a bearing (according to your needs) and he draw a graphic. This way your chart will display only the values of the last 10 seconds...

    Once I programmed some kind of module where I use a chart and not a graph, and the user can specify the interval of the absolute timestamp that is traced. If the data size is larger than the size of the chart in pixels, the module performs an average calculation in order to reduce the number of data points. Of course, if you need to see the raw data, you can specify an interval that is small. It all depends on how you program zoom functions, etc... In my case I hade a rate of 1 Hz, so I just kept all data in RAM limiting the berries to keep 24 hours of data, so that technicians could monitor the system. In your case, given the enormous amount of data, only a file read/write approach can work, if you really need access to all of the RAW data on the fly. But I hope that the values of working capital means will be enough?

  • Processor does not reach 100% of the speed of the clock when 'PCI Lock' is disabled in the Advanced Start parameters

    Hi guys,.

    Ran into a strange problem, so thought I'd give this forum to try. Tried to discuss on the Windows forums community but they have been seen nothing of all this.

    I noticed that the machine felt slow in the last month, but never gave him much however. Today, for some reason, I opened the Task Manager and noticed that no matter how much charge the CPU is obtained, the speed does not pass more than 2.28 GHz (Standard clock speed is 2.3 GHz). Now, at first I thought that it could be the power settings, since I got the butterfly processor speed previously by reducing it to 95%. After a few game, I spread the power settings, since the system does not meet them if you cut the State of maximum power, the processor speed drops too. When the value to 100%, it does not more than 2.28 GHz. In other words, since it's a pocessor mode, because it reaches its full capacity, it won't in mode.

    I updated the drivers and BIOS from the manufacturers Web site. The only way to fix this is by checking the box 'PCI Lock' in the advanced in msconfig startup options. When the box is checked, the computer restarts and the processor works properly, increasing up to 3.3 GHz. The only problem with either once the box is checked, problems with other devices, for example, the network card is not recognized at all. Uncheck box reboot and network card functions as it should, but the processor is throttled.

    I don't know if it could have a bearing on the question somehow, but fails the secondary HARD disk spin down according to the power settings. It is supposed to stop after 1 minute, but despite having no activity (in resources, or audible reads/writes monitor) it keeps spinning. If you have any advice on the processor, maybe you have an idea on this instead? His eating his power and producing unnecessary heat and noise because the hard drive is used for backups.

    The specifications are:

    Reference Dell M3800

    Windows Pro 10

    CPU i7-4712HQ 2.3 GHz (up to 3.3 GHz)

    16 GB OF RAM

    512 Samsung SSD (with BONE)

    Secondary 1 to

    I don't know when the issue started, since performance was slow for about a month and I can't blame new facilities for this. The PCI lock seems the only way to solve the problem temporarily. All the drivers are up to date, even tried downgrading and upgrading the BIOS. Only the PCI lock seems to have no effect.

    Any help would be greatly appreciated!

    Hi cc171,.

    Thank you for your continued support.

    After a few more game, I'm desperate and "reset" of the operating system (keeping my files). That, to my surprise, did not help. I've done some windows system checks in the cmd (sfc and dism) and tools are a few corrupted files (which they were unable to repair due to files being corrupted as source). I then provided dism an iso windows fresh to keep system files to and managed to fix the image. Unfortunately, this does not solve my problem.

    Here are the corrupt system file that could not be repaired:

    Could not reproject corrupted file [23 ml:24] "? \C:\WINDOWS\SysWOW64"\[l:10]"opencl.dll"; source file in the store is also corrupted

    I then proceeded to do a complete factory reset (because I lost all my applications anyway, there was nothing else for me to lose). The system restored to W8.1, which is really strange, because I deleted all the files of previous windows.old through disk cleanup. Even if I had retired, good news. The limitation was missing, and the drive turned down when realized. I've been invited to upgrade to W10, I did (the download process and installation is rather time consuming...) and once up and running, the CPU still works correctly.

    Of course, my next step, has been updated all my drivers using my product key on the DELL Web site.

    I downloaded everything manually and kept checking my processor after each installation/reboot. Everything worked fine until I installed the:

    * Intel platform dynamic and thermal setting driver *.

    After a reboot, the Task Manager showed once again to the top of the formidable GHz 2.28. I put a system restore point, just like windows has fully booted, before updating the drivers, so I decided to restore it at this point. No luck, the processor still be strangled. Because I have nothing to lose, once more, I do a reinstall full (which once more, the rolls be back to W8.1. After around an hour, the W10 up and running. I went to update all my drivers, exuding the platform driver and dynamic thermal setting, with reasonable success. The processor is no longer limited. The only problem, after installing the motion sensor driver, the HARD drive stopped spinning down. At this point, I don't have time to play, decided not to back down.

    Thus, at the end of the day, the culprit to my problems were the official DELL drivers:

    System utilities | Intel platform thermal and dynamic framework pilot (104 MB)

    &

    ST Microelectronics LNG3DMTR pilot sensor of movement (35 MB)

    With the new installation of Windows (and the Motion Sensor installed Driver), once more SFC/scannow found errors that cannot be repaired. Thorugh DISM, I managed to repair the image of the system, but the HARD drive always turns freely. More importantly, the limitation is GONE.

    Regarding your questions above, I don't have a chance to check if there is power or the current limit, but there's certainly been no thermal regulation. The CPU is still relatively fresh, and fans did turn, even if very quietly (now with the processor works properly the temperature rises up to 84 degrees (up 3.29 Ghz) and fans spin very hard under prolonged load).

    Regarding the HDD, no system or other utilities consulted the reader (analyses excluded antivirus, indexing and so forth that unchecked, the disc is only used as a manual backup). Even if the HARD drive isn't spinning down, no limit certainly makes life a lot easier. Ill wait for a new version of the driver for the motion detector see if it solves the problem, if not, disconnect the drive from the motherboard may be my only option.

    I don't know why the official Dell drivers could corrupt the file system, since they were after all, designed for this particular system, on this particular operating system. There are no other programs interfere with their installation and operation, given that the pilots were the first things to be updated.

    At the end of the day, I found the problem, it's a good step forward, but it seems that the resolution is out of my reach.

    Thanks for your help!

  • By getting only 10% of the speed of download of airport Ex

    My local ISP offers service of 1 Gbps, and actually, I always get 700 + Mbps when connected directly to the wall outlet.

    But once I connect it with an Apple Airport Express (model A1392, bought Dec 2015), the speed drops under 100 Mbps (connected via the ethernet port) despite a request from Apple express airport rises to 300 Mbps. And if I connect via wifi, the speed decreases to near 60Mpbs. While it is always respectable, it completely makes my empty 1Gbit/s connection of sense.

    Is it possible to do the job express airport closest to its full capacity (in terms of speed)?

    But once I connect it with an Apple Airport Express (model A1392, bought Dec 2015), the speed drops under 100 Mbps (connected via the ethernet port) despite a request from Apple express airport rises to 300 Mbps.

    This is because the Ethernet on the AirPort Express ports are valued at 100 Mbps. Download speed will not be "accelerate" transitioning between WAN port on the base station of the Express and wireless audio. However, the rate of data transfer between local wireless devices should reach the highest rate.

    Even from the last airport of 802.11ac base stations Ethernet ports, which are the nominal bandwidth of 1 Gbps, realistically only have a data rate rate about half of that. If you want to get a little closer to what your ISP offers you will need to look in the products of other manufacturers at this time.

  • How the LED lights up when a threshold is reached, then turns off only when the value does not reach the threshold for a while?

    Hi, I want to write a program that can turn on the LED when a range of value, this is the threshold and only when the value does not reach the threshold for a period of time, say 5 seconds, then the LED will turn off, otherwise it will remain. How can I achieve this in labview? Can someone help me? Really thanks!

    I assume that you use a while loop to keep the updated value.

    Add a record to offset to your looping it initialize with a U32 (time in ms)

    Add the registry to offset to your loop that keeps the previous value of your bool

    When your reaches the threshold value => the light and set the current time in your shift register.

    In the next iteration of the loop weather check value is still above threshold

    => Y-online previous set to true?

    => Y-online the next iteration

    -Online N => turn switch on and set the current time in your shift register.

    -Online N => subtract the time current less time shift record-online more then 5 seconds?

    => Is => keep turning on

    -Online N => turn given

  • URGENT::opening multiple files - i have 3 files in my directory... When I run the code I can open a file and read it... but the while loop get blocked after the first iteration... can someone me help or give some indications

    bbmChatDB of public database;

    public static FileConnection fconnRead = null;
    public static String fileReadData = "";
    public static InputStream is = null;
    data Byte [] = null;
    DataInputStream is = null;

    Here is my code...

    I have 3 files in my directory... When I run the code I can open a file and read it... but the while loop get blocked after the first iteration... can someone me help or give some indications

    try {}

    FileConnection fc = Connector.open("file:///store/home/user/documents/BSM/") (FileConnection); "

    If (fc.exists ()) {}

    Enumeration e = fc.list ();

    While (e.hasMoreElements ()) {}

    System.out.println ("files are:" + (String) e.nextElement ());

    play this file
    StringBuffer stringBuff = new StringBuffer();
    try {}
    System.out.println ("opening file")-;
    System.out.println ("file name is:" + (String) e.nextElement ());
    fconnRead = Connector.open("file:///store/home/user/documents/BSM/(String)e.nextElement(),Connector.READ_WRITE) (FileConnection);
    System.out.println ("data length")-;
    If (fconnRead.exists ()) {}
    is = fconnRead.openDataInputStream ();
    data = IOUtilities.streamToBytes (is);
    Ddd = new String string (data);
    fileReadData = ddd.toString ();
    System.out.println ("length of data:" + fileReadData.length ());
    System.out.println ("read data :" + fileReadData);

    }

    } catch (IOException ee) {}
    ee.printStackTrace ();
    System.out.println ("Exception in the read data :")
    + ee.getMessage ());
    }

    }
    }

    } catch (IOException e) {}

    e.printStackTrace ();
    }

    {Finally

    try {}
    If (is! = null) {}
    is. Close();
    }
    System.out.println ("is closed...");
    } catch (IOException e1) {}

    E1. PrintStackTrace();
    }

    If (fconnRead! = null) {}
    try {}
    fconnRead.close ();
    } catch (Exception e) {}
    System.out.println (try ());
    }

    }

    }

    You can recode this treatment so that it uses only:

    e.nextElement ())

    Once a loop iteration.

    Directly at the start saying something like:

    String fileName = e.nextElement ());

    and use fileName everywhere in your loop.

    Also be aware that printStackTrace() will do nothing in your situation, it only works if you catch Throwable.  So make sure you something output all your catches exception and also have a catch (Throwable t) to catch the things you miss, as follows:

    {} catch (Throwable t)

    t.printStackTrace ();

    System.out.println ("Eception exception:" + t.toString ());

    }

    I think your code is thrown an exception and you don't see it.

  • Hi, I read your support page that the News widget is available only in the United States, the United Kingdom and Aus. When will it be available in Norway?

    Hi, I read your support page that the News widget is available only in the United States, the United Kingdom and Aus. When will it be available in Norway?

    Hello

    Just to let you know, it is a user to user community. You do not directly communicate with Apple here, so no one can say if or when Apple may have available in your area News widget, but what you can do is to provide feedback to Apple > http://www.apple.com/feedback/iphone.html

  • How can I adjust the speed of reading podcast on Apple TV 4?

    POdcasts are now playing at half speed or slower on my Apple TV 4. I was all control with a universal remote and somehow changed the playback speed. I initially has the speed to 2 X normal and then managed to do play a.5. This affects all the podcasts and persists after restarting.

    How to restore to the normal playback speed?

    I had the same exact behavior. The only thing that worked for me to restore the correct playback speed is to reset Apple TV.

    I spent an hour on the phone with Apple tech support on this issue tonight (January 26, 2016) and no alternative surfaced. And we have tried almost everything.

    I personally just believe Apple left the control of playback speed of this version 1.0 of the application, while our universal remotes (mine is a Logitech Harmony One) have the ability to accidentally (although irreversibly) trigger the function.

    If Apple contact me with a solution, I come back and post it here.

  • How can I get my Teststand report to display only the data of the latest iteration of a loop DoWhile ONLY stage?

    Good so I a DoWhile loop with a numeric value to test.  The loop will run 10 times.  I want only the status of success/failure of the test of the numerical value of the last iteration of the loop is displayed in the report.  I don't like on the other iterations.  Help, please!  Thanks in advance I think that this can be accomplished with the recall of ModifyReportEntry and fancy logic...

    Thanks for your comments everyone.  I ended up changing the reportgen_txt.seq to identify during my test was in a loop (by setting an additional result in the different stages of my comment loop-step to say "Record last loop.".)  Once this indicator lies in the ResultList I turn to reportgen_txt, I have to loop through all the ResultList entries and if the current entry has the same name and the "record last of loop." as a previous entry, I delete the previous entry and store the current.  All this way, I have to do is to set a flag in my test sequence, and if when debugging, I want to see all the data for all the iterations, I just remove the flag.

    The reportgen_txt.seq include:

    C:\Program NIUninstaller Instruments\TestStand 2010\Components\Models\TestStandModels

    I'm not worried about the time constants on my generation of report and I am not limited to stress strict memory so this seemed like the best way for me to do what I had accomplished.  I'm sure there are better ways, but it seemed simpler than the generation of report definition to be disabled and then enabled...

Maybe you are looking for

  • Why is-letter spacing different in FF (and IE) comparing to Chrome?

    I'm developing http://idesigns.dk and the menu looks totally different comparing FF to Chrome. I discovered that it's because of the lower tracking in FF. How can I do 'normal' spacing as in chrome?

  • Satellite L650 - update fails for Office PowerPoint 2007

    Hello My L650 maintains do not install an update of security for Microsoft office PowerPoint 2007. Is not 19times.Keep trying to install it when I turn off my cell phone, but then stand as failed in 'review your update history.Will not go away... the

  • Satellite A - Windows Setup cannot find a HARD disk

    Hi all I have a laptop which is a Toshiba A-Series and a few days ago, I had a problem on my laptop. Then I decidec to format my laptop Toshiba using Windows XP CD then there arrived a few steps, it gives the following error message: Setup did not fi

  • HP CP400DN: CP4005dn

    He is a recent problem insofar as my printer worked OK until about 3 weeks ago. When trying to print multiple pages, him buzzing printer in action prints one page front and then stops with the display reading "Clearing paper path" followed by "check

  • Prerecorded wav files for greeting call handlers

    How to set up the unity server to use prerecorded wav (or some other format) file for managers to call greeting? Unfortunately, we only have these options - vacuum and recording system. Thank you Sergey