-
Posts
1,991 -
Joined
-
Last visited
-
Days Won
38
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Ton Plomp
-
-
How is the DSP port recognized by the computer?
If it's emulating a serial port you can use the VISA functions for getting the data.
Otherwise you need to roll your own USB driver.
Ton
-
Say perhaps I have a device that errors out and I want to start the main VI over to re-initialized devices, can this happen during the middle of the main VI?
Ah, that has nothing to do with recursive-ness.
You shcould use a state machine that starts a 're-init' state upon certain errors.
Ton
-
If you mean by recursive that a function calls itself, you can set a VI to be 'reentrant'(vi properties->execution), now you can drop a VI on it's own block diagram.
Ton
-
Maybe use a wifi bridge/access point?
You should set up an Ad-hoc network. In windows you can select your Wifi software to only connect to access points (default), change this to Ad-hoc networks.
Note that you don't have a DNS so you need to set your IP addresses yourself.
I think you can use a similar technique for bluetooth.
Ton
-
Hi Wim,
1 GHz doesn't sound like that much nowadays.
When are the plugins loaded?
Can they be the cause of the long load time?
Have you tried disconnecting any network peripheral? (or connecting to any)
Is the swap file being used during the starup of your application?
Ton
- 1
-
I did this VI more as an experiment in vi scripting than to be "good."
I would recommend creating a static hierarchy and simply returning the section of interest as yair suggested above if you need this to be blisteringly fast.
~Jon
Hi Jon,
unfortunately your code does not work:
It works if the input is not a constant but a true ref.
Ton
-
Why do I see 6 zeros when I open up the Excel file?
Easy answer:
Because you save them (and it's not an Excel file, but a CSV-like file).
Long answer:
You should start debugging your application make sure you store the right values to Excel.
You see 6 zeros since you run your inner for-loops 6 times, the ouput of the for-loops is an array of 6 identical timestamps. Since you run the upper and lower for-loop in the same frame and you have no data-dependency they are basically (at least passed the 15 ms. windows accuracy) the same.
Your while loop does not autoindex, this means that it outputs the last array of 6 timestamps. These are save to the file.
Use Execution highlighting to debug your code, use probes and indicators.
Ton
-
Thanks for your help!
I am having trouble with how to connect what I currently have on my VI (the start and stop arrays) to the input of the subtraction node.
How do I connect the arrays to the input terminals of the subtraction node? Right now, there is no other terminal to connect them to the subtract node.
I apologize if it is very simple, I am very new to LabVIEW. Thanks so much!
Make sure the Auto-tool is on (on the tools-palette a green led should be lit), go to the right hand side of the terminal on the block diagram of an array, your mouse should turn into a wire-tool and you should see some small lines out of the terminal, click on the lines and your wire tool should be connected with a dotted line, now move to the subtraction node and perform the action on the input node.
Ton
-
Great question! We are still fleshing that out, but my initial thoughts are to certify all the palette VIs together, and look at OpenG builder separately.
That makes sense, since the OpenG toolkits generally only contain 'official' LabVIEW code and OpenG Builder dives much deeper into the core code.
Ton
-
The general error handler (crying) gets called for all error cases . Currently I am tying to lower the crying amplitude property. The default is set WAY to loud. Any suggestion on where this is located would be appreciated. I filed a bug report with the hospital but they are ignoring me.
Don't worry about the error level. In general there are two ParentApp.ErrorHandlers for each sub-vi. When both are idling the Female.ErrorHandler has a lower action threashold than the Male.ErrorHandler (source), otherwise it's usefull to make more space (or walls/doors) between the source of the error and the receiving ErrorHandler.
Ater all, congratulations.
Ton
-
Hi Eric,
nice tool!
I've got two feature requests:
- Double click on the left listbox should copy to right listbox
- 'Delete' button should delete the current selected state
Ton
- Double click on the left listbox should copy to right listbox
-
hi......jg code sir...
thnk u so much for ur response........
actually i hav not mentined in the earlier post.... tat i am using 3rd party tpc..... so iam running it in normal windows xp... kindly help me sir
You can install the OpenG variant config toolkit, this toolkit has 2 usefull VIs, Write panel to INI and Read panel from ini.
Ton
PS, please use full words and less '.' Interpunction has it's value in my opinion.
-
what about 'data socket' functions?
i use d.s. read to retrieve a document, generated by google, but it finishes with the error 42 in data socket read element.
"generic error".
Add a '[text]' to the end of the request string.
That will instruct something in datasocket.
And please use something else for posting (and annotating) a codesnippet. The Code Capture Tool for instance.
Ton
- 1
-
... about 10 digital IOs, 7 Analogue inputs and 1 Quadrature encoder input. I was thinking of using a NI PCI6220
It's not very clear stated in the specs of the M-series card (6xxx-series) but only the first port has the possibility to use a clock as a timing source, for port 1 and up you rely on software timing, which is much slower and not really reliable.
Your card-series of choosing (622x) has 8 inputs on port 0. To get more inputs you need the 625x series which has 24 inputs on port 0.
I am not sure about the quadrature encoder but you should be able to get speed up to the clock-speed of the analogue in for all of the signals (about 1 MHz).
Ton
-
Good work, but the problem is that this only works on the computer that is used for the development.
It's not working on a ' fresh' computer like it would be very cool to be used.
Ton
-
5.I am using ActiveX for Excel read from LV and updating the datas in a Table Control..
Look we are getting closer, could you post a codeshot/snippet of the exact ActiveX call that loads the data into LabVIEW?
Ton
-
On topic, go deep inside the Office Toolkit to find out which method is used to load the data from Excel into LabVIEW, perhaps there is a Uni-code aware method you can use.
What code do you use to get the data out of Excel?
The NI office toolkit, or some other toolkit?
Try to define which method is used to pump the data from Excel inot LabVIEW.
Hey your Table Contol is working fine..... but i am facing a problem while reading from excel sheet and then loading to Table control...............
Karthik,
could you please answer above question(s)?
Then we can help you.
Ton
-
Without any links to documentation we can only guess. But you definitely need the TCP/IP VIs to communicate with a web-service/API.
Ton
-
Is there a way to check in/out directly from a LV project with Mercurial? Now that you've had it a few days do you think it's better than SVN?
George
Yes it is.
The main improvement for me is that I can commit when I am not in reach of my server.
that's the main difference, I can commit every day to my local (computer based) repository and when hitting a milestone (or just fixing a bug) push this my my own Mercurial server.
I like the system of Mercurial with webdir, which let you easily host multiple repositories on one computer, this keeps the code to get small.
On the down side I had issues with actually working together with someone else on a mercurial repository at Sourceforge. I am still not sure what happenend but we ended up with several heads that we didn't merge (actually we quit on that stage).
I am thinking about building a Mercurial provider for LabVIEW (hint, hint) so I can do the local stuff directly in the LabVIEW project.
Ton
-
The resolution of an FFT is the inverse of the acquisition time.
So 2 seconds of data will make a df of 0.5 Hz.
Ton
-
I am thinking about placing a Code Capture Tool section in the LabVIEW preferences dialog.
Looking at the %LabVIEW%\resource\dialog\PreferencesDialog\PreferencePages folder I see a pageTemplate.vit template.
I have created a new VI (prefPage_CCT.vi) and was hoping that a section would show up in the options dialog.
Unfortunatly this doesn't work.
Has anyone done this?
Ton
-
I am thinking about creating a mercurial Source Control Provider client.
I have created a new provider based on the existing Perforce.
If I copy this in the Provider folder of LabVIEW I get an extra provider in the SCC options dialog.
However selecting the new provider causes an error.
Does anyone have some pointers about the setup of this provider feature?
Ton
-
Be aware that if you use notifiers you can loose data if you don't read fast enough.
Ton
-
Hii,
No my shift key haven't struck .... still i am facing the problem while updating to Table....
What code do you use to get the data out of Excel?
The NI office toolkit, or some other toolkit?
Try to define which method is used to pump the data from Excel inot LabVIEW.
Ton
[CR] Polymorphic VI Editor v1.0.1 LV2011
in Code Repository (Certified)
Posted · Edited by Ton Plomp
Added video
Name: Polymorphic VI Editor v1.0.1 LV2011
Submitter: Ton Plomp
Submitted: 12 Jun 2010
File Updated: 27 Dec 2012
Category: LabVIEW IDE
LabVIEW Version: 2011
License Type: BSD (Most common)
Polymorphic VI Editor v1.0.1
Copyright © 2012 Ton Plomp
All rights reserved.
Author: Ton Plomp
LAVA Name: TCPlomp
Contact Info: Contact via PM on lavag.org
LabVIEW Versions:
2009
Dependencies:
OpenG:
oglib_array
oglib_error
oglib_file
oglib_string
JKI:
jki_lib_state_machine
Description:
A GUI for easily editing polymorphic VIs and creating good-looking menu trees.
Installation and instructions:
A: Open the ZIP file and install the OGP file with OpenG builder
B: run the 'Polymorphic Editor.vi' in the 'Build' folder
Examples:
Look in the LAVA discussion for this entry for some videos on this tool
<object id="scPlayer" width="1027" height="517"> <param name="movie" value="http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/jingswfplayer.swf"></param>'>http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/FirstFrame.jpg&containerwidth=1027&containerheight=517&content=http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/Polymorphic%20Editor.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/"></param>'>http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/"></param> <embed src="http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="1027" height="517" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/FirstFrame.jpg&containerwidth=1027&containerheight=517&content=http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/Polymorphic%20Editor.swf" allowFullScreen="true" base="http://content.screencast.com/users/TonPlomp/folders/Jing/media/389dc546-26c4-499f-8702-0ffea3faf50d/" scale="showall"></embed> </object>
Known Issues:
Acknowledgements:
OpenG.org for showing the power of polymorphic VIs
JKI for providing an easy to use State Machine framework
Version History:
v1.0.0: Initial release of the code.
License:
Copyright © 2010, TC Plomp
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the <organization>.
4. Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY TC Plomp ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL TC PLOMP BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Distributed under the Creative Commons Attribution 3.0 (http://creativecommo.../about/licenses)
See link for a full description of the license.
Support:
If you have any problems with this code or want to suggest features:
please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and
search for the "Polymorphic VI Editor" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at lavag.org
Click here to download this file