-
Posts
2,397 -
Joined
-
Last visited
-
Days Won
66
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by jgcode
-
-
....I got excited when I found VIPM ThinApp as a possible solution...
Got VIPM on the brain much?
VMware ThinApp
-
So you asking for subgroups to me is like asking for a 4D Excel file.
You are obviously not using Excel 2010!
-
Personally I find the use of polymorphic VIs (The ones with drop-down list, not auto-selecting ones) with LVOOP because it gives a one-stop shop for the API, not neccessarily the underlying objects.
Yes, I also do this. Although in the above implementation, it was for wrappers that support datatypes.
...The input class is obviously always dynamic dispatch, thus unifying the advantages of both. This is all pre-2010. ....
How do you get this to work?
AFAIK Polymorphic VI cannot have DD inputs?
-
Why are you using polymorphic VIs? They are data bound. Shouldn't you be using dynamic dispatch or some other dark magic to choose the instance at run-time?
Yes, the reason I use the Polymorphic VI is to provide easy access for datatype conversion, just like other functions in LabVIEW or OpenG (it is just wrappers of the main code). In this case, I didn't have to use Class Library, but chose to, because I like it.
-
I am just posting a link here to ni.com for an issue I recently had that got CAR'd (thanks Gmart) in case anyone else runs into it.
Classes added to Library with protection property and set to locked generates an error at build time.
At the link there are example files and a video demonstrating what I am seeing: Locking LabVIEW Project Libraries and Building Applications
Cheers
-JG
-
Ok, this one got me late last night:
I have a Polymorphic VI as a member of a LabVIEW Project Class Library that I want to form the API of the Class.
I don't want users to place specific instances of the methods in the Polymorphic VI on the BD, only to use the Polymorphic VI itself.
So I make the methods Private Scope and the Polymorphic VI Public scope... ...everything is all good running from source.
Build time comes around and I start getting build errors (see below of the description), it doesn't point to the Class Library directly, but as it turns out, the calling VIs of the Polymorphic VI.
An error occurred while saving the following file:C:\Users\developer2\Desktop\Private Polymorphic Class Members\[b]main.vi[/b]Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:Error 1502 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Engine_Build.vi -> AB_Build_Invoke.vi -> AB_Build_Invoke.vi.ProxyCallerPossible reason(s):LabVIEW: Cannot save a bad VI without its block diagram.
So, after I was able to figure that out out I changed the calling method's scope from Private to Public and then everything was ok when building.
I then played some more today and found out that if I uncheck Remove unused polymorphic VI instances in the Build Spec, the error goes away.
I have attached some code if anyone wants to replicate it. Just toggle the VI.vi Scope from Private to Public or change the Build Spec as above.
Thoughts?
Is there a problem doing what I was doing? Or Is this a bug? If so, is it a known issue?
Cheers
-JG
-
Well done mate.
-
This is for 2009 only? I'm not given the option to install the package for 2010.
Hi Dave, as per the Readme, only 2009 is currently supported at the moment.
One of the next things I will be doing is testing it in 2010, to make sure its all good.
Are you moving up to 2010?
-
Weird. Upload fails if I change from quick to full edit. But straight reply is fine.
This was a question at NI Week 2010 Coding Challenge.
You should have entered!
-
Shortcut to download latest version here
Changelist:
0.15-1 2010 09 26
- Added (): Name of Method VI being cloned is displayed on Clone Dialog
- Fixed (): Order of Virtual Folders in GUI did not match script
- Fixed (): Creating Constructor from Template did not replace Class Input Control (caused by refactoring for Clone method support)
-
Ya, but it gets kinda silly when I have to download a 1 Gb driver installer. Don't ya think? I know, I know. You pay for the convenience. But it's still insane.
Ha! I never mentioned the size of that connection...
Yes, you are right, to use DAQmx as an example: whilst the size has not increased dramatically in the last few releases - like it was doing previously (it may be ever so slightly shrinking as well) - I would love to be able to have the ability to be able to scope support to single devices so I can limit the size of my installers. (~150MB for the LRTE and) ~150MB for DAQmx Core drivers is cumbersome, we obviously can work with it, but I would like to know if anything could be done for it - maybe I should post this on the Idea Exchange?
-
OMG! I think you have set a new standard on LAVA (and it was only 12 mths ago Mods pulled my Saturday Night Live video).
-
I have never understood those people who always go for the cheapest DAQ just because its the cheapest.
IMHO, the most powerful thing about NI is not their hardware and not LabVIEW (don't get me wrong these are both fantastic), its their Drivers - the connection between the IDE and the hardware.
Again, IMHO, for the extra cost upfront of going with more expensive hardware, you are going to save a bucket load of time (and therefore money) by having a reliable Driver set e.g. standardization/familiarity, support, flexibility, upgrades etc...
So a lot of the time (for what we do) it makes sense to choose NI. (However, we are also an Alliance partner, so we are bias)
-
I think that man prefers open-source stuff.
-
Obviously the Class is getting loaded or is loaded in other application instance?
But that would suggest there is dependencies between the two projects - but the dependencies tree is has no elements in it (no expand button).
?
-
Does anybody know how i can import a jpg or other image file as a symbole ? i wanna use that symbole in listbox.(Don't wanna use labview's symboles) Tnx
Hi Farid, here is some code to do it:
Image copyright David Vignoni, www.icon-king.com
- 1
-
By looking at it, it doesn't seem to be Locked under Properties >> Protection >>Locked/Password-Protected as the private-scoped folder is shown.
Might be a loading issue?
-
Thanks for that, I had already installed it but I'd missed the fact that there was a system cluster there.
The mixed signal graph would be really handy to finish things off.
Well, if you end up writing one, be sure to post it.
-
No probs, glad you found it handy.
-
Hi Martin
See here for some additional system controls - cluster and array, don't know about mixed signal graph.
Note: This package should automatically be available in VIPM (through the LabVIEW Tools Network Repository).
-
Hi Karasi
As you are new to LabVIEW and will be using NI-DAQ Hardware (e.g. USB-6008) I would suggest checking out Getting Started with DAQmx as well as any general LabVIEW topics.
I don't think anyone will do your homework for you (who knows? maybe you will get lucky) but if you post specific questions of the problems you are having, along with example code as to what you have tried and where you are stuck, you will be more likely to get a response.
Cheers
-JG
-
Does this mean I can't create separate tasks in Max that all use the same physical channels, even though I'll only be using one task at a time?
Of course you can, otherwise the Task-based API would be pretty useless.
As long as you don't run two tasks at the same time that share the same physical resources you are fine.
-
...if you put a graph/chart on each tab and set the "Scale all objects with pane" (right click on scroll-bar) property then the Tab as well as all graphs/charts will scale with the pane?
You might have to reposition the Tab control after the resize operation has finished, but this can be handled with the Panel Resize event.
It is slightly disproportional, but that works .
-
Hi Martin
A few ideas tossed around if you can't get the Tab to go:
Why not just use one graph that is set to fit to pane and if the user selects a different graph (view) then just write this data to this graph.
This is assuming you have your own buffers and are not using the graph's, and the graphs are the same types.
Otherwise, if not, use multiple graphs (with fit to pane set) and just stack the graphs on each other and just make the active graph visible.
Cheers
-JG
Error handling loop
in Application Design & Architecture
Posted
Hi Techie
Attached is a template example I use for teaching, it is taken from NI course example.
It may not be the best, but is an implementation that may get you started?
Cheers
-JG
Error Module
Top Level VI Example
Code
Producer Consumer Events Error Display.zip