GregFreeman Posted May 14, 2013 Report Share Posted May 14, 2013 (edited) So I ran into an interesting problem and workaround the other day. I haven't had time to reproduce or do any benchmarking but hopefully will at some point. I wanted to see if anyone had thoughts on this. I have a message object that carries a variant and this object gets sent via a user event. What I was seeing was "serious" (I know serious is relative but 10-20 ms) jitter in a loop parallel to the one actually sending data. This jitter was causing my DMA FIFO to overflow (It should be noted this parallel loop with the jitter introduced was running at a very fast rate already, 10 ms). Using diagram disable structures, I finally narrowed down the cause of the jitter to be the sending of an object with a cluster in the variant. But, per my coworkers suggestion, I tried flattening the cluster to a string first and putting this string in the variant. I found if I flatten the cluster to a string, and put that string in the variant, the jitter issue went away. Can anyone think of why this may be? Edited May 14, 2013 by for(imstuck) Quote Link to comment
Aristos Queue Posted May 15, 2013 Report Share Posted May 15, 2013 I would ask your coworker why he/she thought that would impact anything. That person clearly knows more about the execution system than I do, since I would have stared at them like they were crazy for making that suggestion. Quote Link to comment
Mike Le Posted May 15, 2013 Report Share Posted May 15, 2013 Shot in the dark, but perhaps this breakdown of how LabVIEW stores datatypes will lead you somewhere? http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/how_labview_stores_data_in_memory/ Quote Link to comment
GregFreeman Posted May 15, 2013 Author Report Share Posted May 15, 2013 AQ - I don't think anyone thought it would actually work...but I was grasping at straws and was willing to try anything. Eventually I hope to get something that I can use to reproduce this on a smaller scale and post it. I feel it may be tough to reproduce on a Windows OS with any reliability, but maybe not. This may also be some weird anomaly of running the RT in dev environment, and not deployed. Thanks, Mike. I'll take a look. Quote Link to comment
GregFreeman Posted May 15, 2013 Author Report Share Posted May 15, 2013 Well, I'm having trouble getting it to reproduce on windows in a similar fashion. AQ, I can release the code to NI (although I can't publicly) if it's something someone would find to be worth taking a look at. It can be easily reproduced by switching on/off a diagram disable structure in my code, as long as someone could get the same cRIO setup that I have, since the loop that is effected is reading data from the FPGA. I know this is a long shot that you guys most likely won't have time for, but if someone is bored...... Quote Link to comment
GregFreeman Posted May 15, 2013 Author Report Share Posted May 15, 2013 I think I may have been too quick to the forums. Looks like it might be a dev environment thing because I am not running into the issue when deployed. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.