04-08-2010 06:14 PM
2Hiya,
One of the NI engineer instructed my friend to set in ini file "LocalExecPreference=True". Unfortunately, this is not present in the text file. I have posted below the text file which is saved in same directory as labview.
We did try to copy and paste this into ini and launched labview to see if we could set execution to "execute local" under vi properties but we had no luck.
Any ideas?
Thanks
04-08-2010 10:54 PM
04-09-2010 05:38 AM - edited 04-09-2010 05:39 AM
I am not sure why you/your friend was instructed to add this key. The key's purpose is for RT development.
Obviously, it does not work in LV 2009 anymore (at least i have seen no effect) since LV 2009 incorporates by default the functionality of this key: To execute RT VIs on the host instead of the RT target.
You can achieve this by right click on the status bar of the VI where an entry should display like "My Project Name/My RT Target". You can then select to execute the VI on the My Computer context (so on the host) instead of the actual RT target..... Please not that the VI shows up in the My Computer-dependencies as long as you have changed the execution target using this way. So you have a tempory copy of the VI.....
hope this helps,
Norbert
04-09-2010 09:54 AM
Hiya,
thanks for replying. Yes this is for RT development and we are using labview 2009. Fortunately, he managed to run it by moving both RT and FPGA under my computer and even when we call open vi reference, RT target communicates with fpga. We only doing it for debugging, so I guess it's right way???
The only problem we r having now and we could not find any solution since yesterday is that there is a data type error in host vi. The error we are getting is " You have connected to polymorphic terminal which doesn't support this type" (probably not the exact words though). We searched the website whole night and closest we got that we have to design a polymorphic vi or use xnodes but honestly we are struggling with it. We hope there's a way out?
Any ideas ??
04-09-2010 09:59 AM
Post the VI.
What datatype are (please not that the word is fully spelled out) you trying to connect? What VI are you trying to wire it into?
04-09-2010 01:35 PM
Thanks Raven,
Please see the snippet attached. The datatype conversion which I mentioned earlier is top left mose where cluster of 20 odd array constants is connected to RT create as datatype. In the snippet it is also noticable that there are some broken wires in deterministic loop. I have noticed it though that these broken wires disappear when VI is within project. This was the best we could get although it might look funny but we are learning. If there are further suggestions, me and my time are looking forward to them.
Ta
04-09-2010 03:51 PM
Actually, you have a VI, not a snippet which is a new item that allows actual VI code to be bundled with a screenshot in a .png format.
The problem is that you have a cluster of arrays. Looking at the help file for the Create RT FIFO, I saw this "Note If you use a Real-Time FIFO to transfer waveform data, the variant element of the waveform does not transfer because variants are variable-sized and therefore incompatible with the Real-Time FIFO". I think it applies in your case as well because a waveform is just a special cluster that contains an array.
04-09-2010 06:39 PM
Ok, Thanks Raven
Is there a way out then?
04-09-2010 06:43 PM
Come up with a data structure that doesn't consider of variable length data?
What is that large glob of arrays in a cluster supposed to represent?
04-09-2010 07:25 PM
I build it with specifications below with my little knowledge on FPGA , I might be very wrong. So pardon me
Data coming out of DMA FIFO from FPGA is an array which I decimated and then built it into array so that its from the same source which isthen fed into bundles. Bundles is connected to RT write.
RT write sends the data into non deterministic loop to the unbundle function ( which is not still non deterministic loop, only a while loop with no timing priority) which is a big glob in the middle. Unbundle delivers the data into insert into array function on right side of the globe and insert into arrray function is initiated by initialization array through while loop. Shift registers holds the data and dont let the data pass through to TDMS files until user's command.
Users's command is the given by the action of horizontal toggle and stop button on front panel. When user's toggle horizontal button, the event struction let the Event1 happen. Event1 generates Event1 string on front panel, increment the current number of element in the shift register of glob by 1. When user press stop on front panel, shift registers of glob release the data stored in shift registers into the tdms writes. The next Event2 happens when user toggle switch again. And data from shift register is released when the stop is pressed.
Hope its a good design! Ta