-
Posts
2,870 -
Joined
-
Last visited
-
Days Won
44
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Yair
-
2 options - The first is to place the typedef on the front panel and hide it. This way you will have a control terminal on your diagram which is very small. The second is to place the typedef as an output for a subVI and use that subVI to get the control. This is my prefered method.
-
You create an array control or indicator and drag a string control into it. This is really quite a basic thing. You should learn this from going through tutorials (hint, hint).
-
You can see one example for this here. Unfortunately, since LTR (where those VIs were published) went out of business, those VIs are no longer available on their site. I may have some others in one of my other computers, but I will need to search for it. If you want, you can try going to the MSDN (Microsoft Developer Network) and read more about the other functions available in GDI32.dll, but unless you have some experience with calling DLLs from LV, this may be hard for you. There are some tutorials on NIs site for working with external code.
-
I don't know. Personally, I'm using 7.9.3, so I guess I'm not quite as evolved as others. :headbang:
-
Don't forget, when comparing floating point values you should compare a range, so "equal to approximately 8.0" isn't good enough - you should give a range of precision.
-
Then convert it to a string using the number to string functions instead. Then, you can send the string. Type cast simply takes the bit pattern (since a DBL is 8 bytes, that should be 64 bits) and reads those 64 bits as a string (of 8 characters, since each byte is an ASCII char). When you convert to a string, each digit will be turned into its ASCII value, which JAVA can easily understand.
-
The first question would be "how are you translating the number into a string?". If you're simply flattening it, this may not help you outside of LabVIEW. Look at the LV data represntation paper available in the bookshelf (in the help menu) for more details. One thing you can do is to convert the number to a string and then you can send that string. The other thing to check is endianess. You may need to reverse the bit order of each byte in one of the sides. I think that if you want to do this in LV, you will have to convert the string to a byte array, convert those numbers to boolean arrays and reverse them and then convert back to a string, although there probably are other ways.
-
Can't figre out how to get Input and Out into/from subVI
Yair replied to temp409x's topic in LabVIEW General
Most of the LV interface became very intuitive to me once I got used it and disabled all the "help" like just-in-time advice and the express palette view. The big rule is "when in doubt, right click". Even so, there are many options you will never guess are there and are not really documented. LVs menus do tend to be a bit annoying and NI does have a rather disturbing habit of rearranging them occasionally (like in LV 8). I'm not sure whether every option needs to be in the menus, but I've never designed a program with so many features, so I don't know. And if you switch to the classic palette view, things should hide less of your window space (mostly). -
Like I said, I basically agree, since there aren't too many stupid questions here (plus, I normally do have the patience to answer them). I just brought it up as a point for discussion. BTW, Michael, congratulations on becoming extremely active!!! :thumbup:
-
That's not necessarily a bad idea. I know the web is open and all, but remember, the forum does have the word "Advanced" in the title. I have seen some people ask stupid simple questions here and on the NI forums on the same time. A simple LV test might be enough to make them not be here. Persumably, such a decision should be left to those who actually finance the site. What do you think, Michael? Maybe a poll? Just to make it clear, I don't really care either way since the numbers of such posts here is minimal. I'm only bringing this up as a point for discussion, so don't stone me if you think this should be completely open.
-
There is a shipping example called XY chart which I believe does just what you want. I'm attaching a somewhat improved version of this. The main advantage of this over a chart is that the chart needs to have a constant multiplier whereas here you can have different gaps between data points and still have accurate timing. Download File:post-1431-1134896705.llb
-
It seems LTR is gone forever (look here), which is unfortunate, because I did appreciate their coding challenges.
-
The variable can't "die" or disappear, but you can right click the output tunnel and set "Use default if unwired" and this will cause the wire to recieve the default value for it's data type for every case where you didn't wire it.
-
1st line - wire up a 2 input function (add, multiply, AND...). 2nd line - hold down ctrl and hover over the inputs. The cursor will change to allow you to "flip" or reverse the inputs. The thing is it doesn't work with the select function (which is actually a three input function, but it would be nice if the T and F inputs could be flipped). One other nice thing about the select function is that you can wire an error wire into it as the selector, the same as you would do with a case structure.
-
If all the VIs have the same name, you can close everything, rename your new VI to the same name, open the new VI and then open the top-level VI. Since LV (at least versions 7 and lower) can only hold one VI of a given name at any point, it will take the VI you already loaded instead of the original VI.
-
Statu Bar Icons
Yair replied to keiran's topic in Application Builder, Installers and code distribution
Add the line hiderootwindow=true to your application's INI file inside the [whatever-your-application-name-is] section. If the file is empty, you will need to create that section. -
That download is the evaluation version. It will fully work (including the app builder, I think) for 30 days, and you can activate it using a license at any point. The problem is that it doesn't include some of the hardware VIs and the modules, and if I rememeber correctly, installing LV with some of the modules can be a pretty delicate operation if you want to get it right (specifically the modules which include hardware and drivers). If you have subscribed using SSP, then you should probably get a seperate full version of 8.0 with the CDs and the keys and everything (I think).
-
You can do it, but it's an OS setting, even if you use the standard listbox, and as such will affect the rest of your OS. Look at Michael's post here for the exact method.
-
Dynamic Generation of Labview 8.0 Class Hierarchy
Yair replied to PJM_labview's topic in Object-Oriented Programming
I don't understand this either. I haven't looked at the 8.0 version, but I know exactly what the 7.0 version does and I assume this does the same. I still say that if you can't access the classes exposed using this tool, then it is still partly irrelevant (it's good to know the class tree, but you can't do anything with it, so it's "worthless"). Like I said, I assume that when you use the INI key which exposes these properties and methods, you will see them in NI's class browser, thus removing that "flaw" in it. -
I'm not sure what the problem is. The equal? node has been made smarter. Until now, it couldn't compare different references to the same object if the references were strict and non-strict or if they were opened seperately. Now it can. Page 58 of the upgrade notes -
-
Dynamic Generation of Labview 8.0 Class Hierarchy
Yair replied to PJM_labview's topic in Object-Oriented Programming
But since we can't access those classes anyway (at least for now), that seems to be at least partly irrelevant. It appears that the LV class browser exposes classes according to how you use LV (which makes sense) - if you used the scripting key we know about, you get some of the hidden stuff. I assume (perhaps wrongly) that when the other key is used, you will get the other classes as well. -
Dynamic Generation of Labview 8.0 Class Hierarchy
Yair replied to PJM_labview's topic in Object-Oriented Programming
Just in case you haven't noticed it, 8.0 already has a built in class browser, which also allows you to drag property and invoke nodes directly to the diagram (yeah!!!). Is there any advantage your version has over it (other than working for earlier versions - I have it in 7.0)? -
Sorry Mike, I don't buy this. Have a look at the VI attached here. Note that if you open the FP of the subVI and run the calling VI once (to populate the control values of the subVI) and then run the subVI itself - it manages to initialize the caption all by itself. That just looks like they only went part of the way through with the change (assuming it was deliberate). I don't care if they initialize it in advance or not, but I don't want to run into problems with upgrading - I just want it to work. Unfortunately, this is still the case in 8.0.
-
what's the similar structure of DoEvents of the VB in Labview??
Yair replied to dimes1827's topic in LabVIEW General
Yes, there is an error, because you have to tell the function how much time to wait. If you have a loop with no wait function, LV will try to run that loop as fast it can, and it will take all the CPU time it can get. If you put a wait function (you have to tell it how long to wait), then the loop code will execute very fast and the wait function will wait until the time you told to wait has elapsed, allowing the CPU to do other things. Only when the wait function is done, the loop can proceed to the next iteration. Wait for FP activity waits until you do something on the FP, and if you don't wire anything into it, it has an infinite timeout - meaning it will wait until you do something. In any case, you should not use it, because it has been superceded - if you want to have a loop which is controlled only by the user interface, you should use an event structure. Try reading the help for these functions to see exactly what each one does. You should also try reading more on data flow programming - have a look at the LV FAQ part of this site. -
Maybe NI is starting to remind you of Microsoft a bit too much - did you know that MS intends to put its Antivirus into the next version of windows? This will probably pose a problem for Symantec and the other players in that market. The question is what will happen when NI and Microsoft go one-on-one. I can already imagine it as a scene from the Might Morphin' Power Rangers (or maybe the Beastie Boys' Intergalactic video) - two giant robots fighting each other, with big sparks appearing around them.