-
Posts
784 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by PJM_labview
-
-
One thing I forgot to mentioned in my previous post.
Having the ability to log your state name to file (as they got fired) does wonder for debugging.
PJM
-
I played with it, but I don't have a major project involving class.
One of the reason is that the entire class is broken when one member VI is broken.
AQ, while you tried to explain the reason for it in another LAVA post, this was a huge turn off for me (debugging nightmare--> spend an entire weekend wasting time around this. And yes I know about the red cross next to the culprit VI). This coupled with lvlib relinking "pain in the behind" lead me to conclude, at the time, that the LabVOOP was not useable (I have not revisit this since).
Also, I have to say that after reading about all the issues that TOMI encountered, I was not too motivated to spend more time to get into it.
Eventually I am sure I will end up using it since I am using other by ref GOOP flavor.
PJM
-
Ben,
I will have to disagree that 2-10 state is a max. I do have queue state machine with a lot of states (> 60 and < 100) and it is manageable.
As an example, the first time I look a the state machine of the OpenG Builder (done by Kostya Shifershteyn), it was pretty easy for me to follow what was going on (see screenshot below).
http://forums.lavag.org/index.php?act=attach&type=post&id=6717
- One of the critical issue in my opinion is to organize your state by category that are clearly different one from another. Also using "separator state" (see screenshot again) are very usefull for more that one reason:
- They are very nice for category segregation
- They serve as a template for creating new state
- Another issue is that you have to put some limitation from where you are "allowed" to enqueue more state. If every state can enqueue more state, it becomes very difficult to keep track of what is going on. Typically I limit most of the enqueing to one of the previously mentioned section and from the UI event (Event Structure).
PJM
- One of the critical issue in my opinion is to organize your state by category that are clearly different one from another. Also using "separator state" (see screenshot again) are very usefull for more that one reason:
-
QUOTE(blueshrimp @ Aug 22 2007, 04:04 AM)
...Labview is nice for controlling motors and suchlike in the lab or university, but is not what you want to be running in a complex embedded system that ships out to customers. Too big and slow...I think this comment is going to generate a few responses...
I have seen quite a few systems that ship to customer with embedded LabVIEW code. If the code is slow this is most likely due poor quality of the code. Nowdays with device such as CompactRio CompactFieldpoint this pretty "easy" to ship product with embedded LabVIEW code.
Just my 2c.
PJM
-
Be carfull using fake execution. I found out it tend to make LabVIEW crash every so often (more so LabVIEW 8.2 than LabVIEW 8.0x).
But, yes toggling it back to 1 should work.
PJM
-
Yes, some filtering is required. Among other things you probably want to ignore probes.
Therefore typically I used the properties below: VI:VIType and VI:IsProbe to achieve this.
http://forums.lavag.org/index.php?act=attach&type=post&id=6670
PJM
-
Use the VI Activation scripting event for this. Works great.
http://forums.lavag.org/index.php?act=attach&type=post&id=6661
PJM
-
QUOTE(Dan Bookwalter @ Aug 15 2007, 09:27 AM)
As an example of application with no hardware interaction, show them http://jkisoft.com/vipm/' target="_blank">VIPM. This should make them understand that anything can be done.
</Shameless plug>
PJM
-
QUOTE(dsaunders @ Aug 1 2007, 05:06 PM)
This bug seems to start up in LV 8.0. If you click on a color box the selection area pops up. If you press the [Esc] key you will still get a Value Change event with the previous color value.Also, if you enter the popup area and then subsequently click outside of the popup area anywhere else on the panel, you will also get a Value Change event. This does not occur if you do not first enter the color selection area.
Reading your post just jog my memory.
Additionally the value change events fires twice (when only one is expected).
http://forums.lavag.org/index.php?act=attach&type=post&id=6517''>http://forums.lavag.org/index.php?act=attach&type=post&id=6517'>http://forums.lavag.org/index.php?act=attach&type=post&id=6517
PJM
-
-
QUOTE(Aristos Queue @ Jun 25 2007, 11:19 AM)
Actually there is one I wrote in 2004. It is available on http://forums.ni.com/ni/board/message?board.id=170&message.id=79506&query.id=716773#M79506' target="_blank">NI forum (Eventhough I though I post it on LAVA too, I was unable to find it).
Note: Since that time, a lot of new class of objects have been added to LabVIEW. Therefore it might not work as well on LV 8.x (for example finding wire in flat sequence, disable structure or the like will most likely fail).
PJM
-
Justin,
Is your call to WaitForSinglObject reentrant?
http://forums.lavag.org/index.php?act=attach&type=post&id=6179
PJM
-
LabVIEW support WMF and EMF too(I think). Just drag and drop them on your FP. You could also convert your svg to WMF.
Note: these image types are scalable.
PJM
-
QUOTE(crelf @ Jun 17 2007, 01:40 PM)
..that video has been sped up (you can tell by how unnaturally fast the people are walking in the foreground). http://www.youtube.com/watch?v=RjrEQaG5jPM' target="_blank">Here's a link to a more appropriate speed (still a little unnerving )Good Catch. As you say, even at real speed this is still worrysome.
PJM
-
<embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-2063667852598904740&hl=en" flashvars=""> </embed>
-
Eugen,
Please, look at the online documentation about Checking the Network for Available Packages.
Also, you might want to enable VIPM to automatically do that for you (Check for Pacakge Update on Startup).
Thank you
PJM
-
-
Eugen,
Can you check in VIPM if you have the latest package installed (1.7-2) ?
http://forums.lavag.org/index.php?act=attach&type=post&id=6096
PJM
-
QUOTE(Eugen Graf @ Jun 13 2007, 12:40 AM)
The Bird's Eye View utility is similar to NI navigation window. One of the differences is that it also work with older LV version (from 6.0 and up).
http://forums.lavag.org/index.php?act=attach&type=post&id=6080
Once there click on the question mark button to display the help about the different options.
http://forums.lavag.org/index.php?act=attach&type=post&id=6081
2) dictionnary
Drop a VI from the palette and look at the help window. click on the detailed help link.
http://forums.lavag.org/index.php?act=attach&type=post&id=6082
A detailed help page will open in your web browser. At the bottom there is a button to open an example, click it.
http://forums.lavag.org/index.php?act=attach&type=post&id=6083
Hope it help
PJM
-
QUOTE(Ben @ Jun 12 2007, 08:32 AM)
Agreed.Convoluted idea follows;
1) Move control off screen
2) insert pic control were control was (transparent background and frame)
3) Do a invoke node get image of control.
4) blend image of control with background of pic and display in pic (this is were you determine your transparency)
5) Event mouse down on pic >>> Move off-screen control to original loc, hide picture.
Another
Can we set the transparncy of a FP running in a sub-panel?
Ben
Doing alpha blending in a picture control work very well. This could require quite a bit of work if you want to write reusable VIs and keep it efficient.
As a side not, the "Read PNG File.vi" return data with the aplha blending information (ignore the threshold parameter as I believe it is only use to calculate the mask) in the form of ARGB (if I remember right). This mean that you can create very decent effect&UI components that does support alpha blending by combining 24-bit PNG images with existing LabVIEW controls (all in a picture control).
PJM
-
Go for it.
PJM
-
QUOTE(rolfk @ Jun 7 2007, 11:26 PM)
I think I can see the logic about doing it the new way in order to avoid extensive UI redrawing during a window resize, but agree that the old behaviour was better. However it may have been a glitch in 8.0 because as far as I remember did earlier versions also not dynamically resize the front panel objects during window resize.Unless I had only one control that needed to resize and nothing else that needed to move on the front panel I have always done this so far myself in the panel resize event case and that gives a very smooth effect, although I do need to test that this still works in LabVIEW 8.2.
Rolf Kalbermatter
The "funny" thing, is that all LV native window (read here: not build in G such as Error List, Profiler...) that can be resized express the expected behavior (Fit as you drag)...'
I also have tried to use the resize panel event, and while this work, this does not look as good as doing it natively. There is alway a small delay and your control size end up lagging behind and in my opinion this too does not look good.
PJM
-
QUOTE(Ben @ Jun 6 2007, 06:41 AM)
Ben,
I was working on pretty much something identical to what you described 3-4 years ago (there is a reference about this in this thread). My goal was to be able to extend the behavior of clicked palette icons. For example you could execute code when clicking an icon.
The palette per say was made with a 2D array of picture control. The array was transparent, the picture were transparent too. The main VI was a "vit". It was instantiated as needed for sub palette. The palette definition was an ini file.
http://forums.lavag.org/index.php?act=attach&type=post&id=6046
I never got to finish this because of lack of time and also because I think my design was somewhat flawed.
But the 2D array of picture control work like a charm.
PJM
-
QUOTE(Jim Kring @ May 31 2007, 09:47 AM)
Ya,
Work on mine too.
PJM
Is the day of the "Queued State machine" behind us?
in Application Design & Architecture
Posted
QUOTE(Neville D @ Aug 23 2007, 03:36 PM)
Another thing I am doing (when state logging is not required) is to used a modified version of Daren "String with history probe". This is pretty usefull too.
http://forums.lavag.org/index.php?act=attach&type=post&id=6745
http://forums.lavag.org/index.php?act=attach&type=post&id=6746
PJM