Bug in LabVIEW UDP Read?

Hello All
With a little modified UDP Sender and UDP reader you can see that there is a problem in LabVIEW UDP read.
Enclosed, you will find a UDP sender and UDP reader, which you can run simultaneously on one machine (the same over the network).
If the UDP Sender sends 60 packets with 138 bytes in each, everything is OK and Receiver receives all 60 packets.
(Note 60*138=8.280 kbytes)
If the sender sends >138 bytes in packets, not all of them are read by LabVIEW!!!
With increase in number of bytes in packet, less and less packets are received by LabVIEW.
E.g. with double amount of bytes in packet (276), half of packets are received (again 276*30 = 8.2k).
I have tried also to reduce the number of bytes and increase the number of iterations.
E.g. 100 bytes in a packet and 82 repetitions is the maximum LV can handle. With increase in repetitions over 82 LabVIEW can receive only 82!!
Again, note 82*100 = 8.200 kB.
From some resons UDP read can read only around 8kB of UDP packets in the Windows buffer.
I need to read much more than that, so I wonder if somebody has a losution for this.
thanks in advance
Pawel
Attachments:
UDP Rx Tx.zip ‏28 KB

Hi again
I have just checked it.
It is not the LabVIEW problem, it is a Windows buffer problem.
When I read data very fast, before this 8k buffer is filled I can read all the data.
So I guess it solves my problem , I just need to make a loop and queue and pull data from there. As simple as that .
cheers
Pawel

Similar Messages

  • I'm using UDP Send to send an 1D arry with 3 elements. On the other side I'm using UDP Read to read my 1D arry with 3 elements but they are coming in a string for somereason.

    Using UDP send to send a data across a connection to UDP read data by using a Port and IP. The data I'm sending is 1D array with 3-elements. I'm taking the 1D array on UDP send side and converting to a string before I send out b/c UDP can not read an array. So I'm using "Array to Spreadsheet String" to and sending it.
    On the Other Side I'm using UDP Read to read the data by listing to a port and capturing the data. I'm receving the data but they are in string format instead of 3 spreate elements. So how can I change that to 3 elements instead of string?
    Any help would be grea
    tful,
    Thanks
    Attachments:
    udp_send_data.vi ‏54 KB
    UDP_read_data.vi ‏55 KB

    It is usually easiest to take any data and flatten it to string before sending.
    On the receiving side, use unflatten from string, using the original data type as template.
    You can do this with any kind of data (array of strings, array of numbers, booleans, complicated clusters, etc, etc), see attached code image.
    Flatten and unflatten is very efficient and does not change the data. For example there is no rounding or formatting loss.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    FlattenUnflatten.gif ‏7 KB

  • Labview to read and white into .csv file only

    I have a security question.
    Is it possible for labview to read/write into a .CSV file only and make it not applicable to the user?
    for instant, labview writes to file OUTPUT.CSV, 
    my current system, on windows xp, i can go to output.csv and use notepad/excel to read/write  and save output.csv data.
    i want to make it not accessible to write or modify output.csv (ONLY POSSIBLE IF DONE USING LABVIEW PROGRAM).
    how would i do something like that?
    thanks in advance.
    Best regards,
    Krispiekream

    I am not sure if you can do that.  What makes this file so important?  What does it do?
    Depending on the reason you want to do this there might be a different/better soloution.  Maybe save the file as binary and if it was opened it would not be easy to read.  Or save the file in a location that has nothing to do with LabVIEW?
    Under File I/O >> Advanced,  There is a VI called Access Rights that you might be able to use.

  • Use labview to read an Excel file to some control and add a checkbox for each row

      As the subject say,I need to use labview to read an excel file,and show it in some control,such as mclb;then ,I should add an checkbox for each row,enable me to choose the row i want.What should I do ? Many Thanks.
    Solved!
    Go to Solution.

    Hi,
    to answer your question:
    - read an excel file
    - show it in some control, such as a MCLB
    - add an checkbox for each row
    - choose the row you want
    Hint to make it easier: I wouldn't use checkboxes, as the MCLB already allows to select rows by mouseclick…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Connect RS232 with labview to read current and voltage values.

    Hi, I am trying to connect my microcontroller kit which will measure the current and voltage. I was provided with rs232 port to connect with labview to read the voltage and current data that is measured by my controller. How to make it display both current and voltage value by acquirng the data from rs232. I tried some programming but it doesn't work or it was wrong. How to make it work ?
    Attachments:
    pro.vi ‏13 KB

    As we said in the other thread, you need to talk to whoever is designing the microcontroller and decide on a specific format for it send you the data.  Once we have that, then we can start talking about how to program this up.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • UDP read error code 56

    Can anybody know what cause this error and how to solve it?
    Thank you very much!

    Keep getting this error. It is not caused by small number of timeout. I am trying to talk with my device via UDP. When I debug my program, UDP Write is OK, but UDP read alway gets error code 56. Frustrated!!
    Any help is very appreciated!
    Attachments:
    UDP_Test.vi ‏76 KB

  • 200 ms UDP Read timeout causes error ( but works in UDP Receiver.vi)

    A 200ms timeout works in the UDP Read in the UDP Receiver.vi, but doesn't seem to work in general (get error 56 - network operation exceeded user-specified or system time limit). Any idea why a 200ms timeout doesn't work in general (when I construct my own UDP receiver vi)? I have examined the properties of the numeric constant which specifies the timeout. It appears to be the same as the numeric constant in the UDP Receiver.vi, but apparently there is some subtle difference. TIA.

    Mercurio-
    Here is the code. It works with a timeout of 25000ms, but not with a timeout of 200ms. Thanks.
    -jesse
    Attachments:
    UDPR.vi ‏22 KB

  • I'm using a 1D Arrary with 27 different elements and would like to send those data over UDP Write and UDP Read functions.

    I'm using a 1D array with 27 different elements. I would like to transfer that data over a UDP connection, and read it back by using UDP connections.
    But I would like to read 3 elements at a time (On read side) and send those to 9 different ports.
    Note: the data will go to only one PC with one Network Address)
    * 1st elements (0,1,2) and send to port #XXX to see those 1st 3 elements.
    * continue until the elements reaches up to 27
    This is what I have done but I'm finding myself in pitfalls...
    Send side:
    I'm using a UDP Open connection on send side to send my data. So with selected a Source Port, I have created a UDP Op
    en connection. I�m using only one source port to send all the data across the channel. I would like to read 1st 3 elements and send those data across with an assigned Destination port. I would like to do that for 9 times b/c there are 27 elements in the array. So I�m using a For Loop and setting N count to 9. So I�m not getting any errors when I execute and no answer on the other side at all.
    Read side:
    I�m using a UDP Open connection to read in the data with port #. I�m using while loop to with Boolean inside by making a true all the time. Inside that While loop, I�m using For Loop to read the 3 elements data a time and send to a right port address. (As start out I was just trying to see if it works for only one port).
    Attachments:
    UDP_SEND_1.vi ‏40 KB
    UDP_READ_1.vi ‏31 KB

    You are not getting any errors because UDP is a connectionless protocol. It does not care if anyone receives it. Your example will work fine with the following considerations.
    (1) Don't use the generic broadcast address (255.255.255.255).
    (2) You are listening on port 30000. So why are you sending to port 1502, nobody will receive anything there.
    The destination port of the outgoing connection must match the server port of the listener. (The source port is irrelevant, set ot to zero and the system will use a free ephemeral port).
    (3) On the receiving side, you are not indexing on the received string, thus you only retain the last received element. Then you place the indicator outside the while loop where it never gets updated. :-(
    (4) Do yourself a favor and don't micromanage how the data is sent across. Just take the entire array, flatten it to string, send it across, receive it, unflatten back to array, and get on with the task.
    (You can do the same with any kind of data).
    I have modified your VI with some reasonable default values (destination IP = 127.0.0.1 (localhost)), thus you can run both on the same PC for testing "as is". Just run the "read" first, then every time you run "send", new data will be received.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    UDP_READ_1MOD.vi ‏29 KB
    UDP_SEND_1MOD.vi ‏27 KB

  • Bug in LabVIEW 6.1 with Windows 2000 permissions

    This is a bug I've discovered when using LabVIEW 6.1 in a multi-user Windows 2000 environment.
    After underlying software changes and the like, it is common that when exiting a VI, a message pops up saying that an underlying VI has changed and must be saved. As a regular user, this cannot be done, because regular users don't have write access to the LabVIEW system folder.
    When the same thing is done as Administrator, the changes can be saved. In this case, it was a change to a VI residing in the NI-DAQ ai.llb. After the save, the permissions on ai.llb (which by default included liberal access for the Users group) were changed to allow only access by the Administrators group, making it impossible for a regular user
    to use that VI or any VI depending on it.
    The solution is to manually edit the permissions on the .llb after the save to add the Users group back into the allowed users list.

    NI has been keeping fairly up to date on permissions. If you search the entire www.ni.com using Administrator as the keyword, you'll find many of these issues and their resolutions.
    2006 Ultimate LabVIEW G-eek.

  • Find Control in Event Structure doesn't show the object when it is not in the frontmost Tab page [Bug Report, LabVIEW 2012]

    When you are looking for the control/indicator handled by a case in the Event structure, you can use the contextual menu item "Find Control" (doesn't distinguish between control and indicator, BTW).
    The result is that the control/indicator is highlighted on the FP. The problem is, if that control is in a Tab and specifically in a page of that Tab that happens to not be the frontmost, the only thing you'll see is marching ants, but no control:
    <=========== the wrong TAB page was shown. LV did not bother to switch to the relevant one....
    In other words, "Find Control" in the Event Structure doesn't switch the tab to the owning page. This is contrary to what happens if you right-click, say, the terminal of this control: the FP will switch to the owning Tab page.
    I'd call this a bug and this is definitely an annoyance (which most likely has been around since the creation of the Event Structure).

    I did not. Is there any better chance for it to be caught there by a NI eye than it is in the LV forum? I though these threads were deemed to gather bugs/features that had been already acknowledged by NI with a CAR number.
    I (and others!) wished there was something like this: http://bugs.sun.com/ or http://bugs.python.org/ for LabVIEW...
    I am just coming back from a short conference of scientists who quite uninamously ended up with the conclusion that LabVIEW was to be disregarded as a lab development environment because of maintenance problems (which could have been argued for any language in my opinion, although I think they meant spaghetti diagrams are the natural tendency of students who could not care less as they are not going graduate because of their LV skills or lack thereof), but I guess I could have added my grain of salt and added the complete opacity on bug and feature handling by NI.

  • My test instrument is outputting a 5 line string but labview only read until the carriage return. how can I get it to read the whole string?

    I have a labview sub-VI reading the string being outputted by a pH meter.  The meter outputs a 5 line string and labview is only reading up to each lines carriage return, there-by giving me 5 separate strings is there anyway to rectify this and have the 5 line read as one string?
    NAS1
    St Petersburg FL
    Labview 2010

    Yes, LabVIEW will automatically update. What happens is that the old serial functions still exist in 7.1 and above but the code (the block diagram) has been modified to use VISA functions. Older versions of LabVIEW are fully supported in this manner. The only way you can avoid the automatic update is to have the old serial functions in an llb and your top level VI refer to these. Having any VI that was part of vi.lib in an llb is a very bad idea and the way to fix things is to remove any VIs in the llb that are part of the LabVIEW distribution.
    I don't remember how the old serial config worked and what the new version does with the VISA Configure Serial Port. Your program should only have a single serial config and you might just be able to directly replace that with the VISA configure Serial Port.

  • Potential Bug with LabVIEW 2009, Report Generation Toolkit, and MS Office 2003

    We have discovered an issue with the above listed software.  Specifically this pertains to Print Report.vi in the Report Gen palette.  Basically, we have discovered that with Office 2003 installed the VI will error out.  We've been using it in an executable, and the executable physically fails (and asks us to report an error to Microsoft).  With Office 2007 we don't have a problem.  We've tried building the examples into executables, and those work because they are printing HTML reports.
    Also, we have converted back to LabVIEW 8.6 and rebuilt the executable and installed and it works perfectly.  Its on the combination of LabVIEW 2009 and Office 2003 that seems to fail.

    yeah, we had seen that, and been told about it by another user.  we tried, to no avail.  we still have ended up having to migrate back to 8.6.1 to get the executable to run properly.

  • ICal Bug?-Can't read overlapping appointments

    I just upgraded to Lion and the new calendar is annoying me.  Can someone tell me if
    this is a bug or if I'm doing something wrong?  I have a lot of overlapping appointments,
    and in the old calendar I could just click on whichever one I wanted to read and it would
    pop to the front.  Now when I click a buried appointment the color gets darker indicating that
    it is selected, but it does not pop to the front and as a result I can't read the text!  Has
    anyone else seen this and know what to do about it?
    Thanks,
    Diane

    Check out this post ... https://discussions.apple.com/thread/3198235?start=0&tstart=0

  • Reading Waveform (.hws) files from Analog Waveform Editor into LabVIEW causes read errors

    Hi Gang,
    In my application, I want to create files Using the Analog Waveform Editor and then, through LavVIEW, play them out through an D/A.
    I've not been able to read the .hws file into LV.  I've tried two methods:
    Using the Read Waveform VI in the Waveform palette, yields Error -1821.
    I looked in the knowledgebase and found the article "Using the Analog Waveform Editor and HWS Files with Multifunction DAQ Devices"  That recommended using the HWS VIs that are a part of the FGEN driver.  I tried that and get an Error -21515.
    The file I want to read is quite small, only 20 samples.  Is there some limitation on .hws files or the Waveform Editor I'm not aware of?
    I've attached the file if anyone is willing to experiment. I had to change the extension from .hws to .txt to be able to attach it.
    All responses will be appreciated.
    Thanks,
    Roger
    Solved!
    Go to Solution.
    Attachments:
    Havesine.TXT ‏108 KB

    Interesting. I tried to look at your file with the low level read .hws file vi's and I too got error -21515. So I tried the NI-HWS express load.vi and it looks like it worked. I'm not familiar with the analog waveform editor...does it store using the dynamic data type? Oh I converted the dynamic data to 1d array of waveforms using the convert from dynamic data.vi.
    Using LabVIEW 2010SP1 and TestStand 4.5

  • Bug in FF Adbobe Reader Plugin?

    Hi,
    i use a web application which pulls pdf reports from a  server by http-post requests, so parameters are transmitted in the requests-body.
    As a viewer i do use Acrobat Reader Plugin, most recent release with FF 3.0.3 on Windows XP pro.
    So due of the http-post requests the requested url remains always the same for every report.
    The problem:
    In case of two reports having the same content-length, the former requested report is displayed as the result of the last request, though the content is different.
    The effect could be reproduced.
    Obviously the plugin cant distinguish the reports. With Acrobat Reader as the Viewer and with IE and Adobe AddOn all reports are displayed correct.
    Beside the http-post implmentation may not be the best way to do this, is this a bug or mishandling by the user.
    Regards
    Chris

    Reader is a different product
    http://forums.adobe.com/community/adobe_reader_forums

Maybe you are looking for

  • Ipod Touch Battery not charging

    Hey, my ipod touch just recently ( within the hour ) needed charging, so i hooked it up to my pc. it showed the charging sign, so i just left it alone. 5 minutes later, i checked it, and it was at the same charge, and in the top right cornor of the s

  • Click event with modifiers

    Hello, I'm trying to select multiple lines of a matrix clicking on any fields of a row. I can capture the event of the click and select the line clicked, but I'm not able to select multiple lines that way. I need to select the lines with modifiers in

  • Grids are missed in Hyperion reports

    Hi Hyperion Report developers, Could you please give me a solution to following issue,which is happened in hyperion financiial reporting studio. I have created a one report with 6 grids and 2 charts.After i created the report iam able to see all grid

  • P2V WMM 2012 100Mbit maximize bandwidth usage?

    Hi, I'm trying to make a p2v over a 100Mbit ipsec connection with vmm 2012 where in my mind the 100Mbit is the limiting factor. When I look at bandwidth usage during transfer I see a jigsaw maxing out at 95Mbit and min 40Mbit, the whole transfer take

  • What is the point in converting type to shapes rather than just flattening at required resolution?

    Ok, this may sound like a stupid question. Lets say I'm designing a trifold in Photoshop. The printer requests that designs be done at a resolution of 300dpi. What is the point in converting all type to shapes prior to saving or embedding fonts when