Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/16/2012 in all areas

  1. Ok check this out! <!-- copy and paste. Modify height and width if desired. --> <object id="scPlayer" width="1135" height="757" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/f39af9e0-aa03-4ae1-b2cf-af4dd76378b5/jingswfplayer.swf" > <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/f39af9e0-aa03-4ae1-b2cf-af4dd76378b5/jingswfplayer.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#FFFFFF" /> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/f39af9e0-aa03-4ae1-b2cf-af4dd76378b5/FirstFrame.jpg&containerwidth=1135&containerheight=757&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/f39af9e0-aa03-4ae1-b2cf-af4dd76378b5/LVOOP%20Propery%20Popper%20-%20Override.swf&blurover=false" /> <param name="allowFullScreen" value="true" /> <param name="scale" value="showall" /> <param name="allowScriptAccess" value="always" /> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/f39af9e0-aa03-4ae1-b2cf-af4dd76378b5/" /> Unable to display content. Adobe Flash is required.</object> From the help of my LAVA friends the tool is now able to open the correct override VI of a Child Class! AQ provided the Get Name of Class Object VI. I need to refactor the code to make it neater (backwards wire etc...) and would use subVIs to make this easier to read however, I wanted to post it in the easiest for anyone to test - but here it is. App Vars.vi Get Name of Class of Object.vi LVOOP Property Popper.vi Needs to be run in Project Environment. Also, (if not open) probe window seems to flash briefly even tho it is set to hide, which is a cosmetic issue, no biggie. WINNING! P.S. - I will contact all authors and try to get this into a package, refactor it, then distribute it.
    2 points
  2. Sorry, I had mistakenly thought you were making custom probes, rather than wanting scripting access to the data retained on a wire. I’ve never tried scripting, but just a thought: can one use scripting to connect a probe to the wire? I see from your last image that there is a probe reference that you may be able to set. If so, you could connect a custom probe and have the probe send (via a queue or whatever) the retained object on the wire back to the VI doing the scripting. Then you could use AQs code on it. — James
    2 points
  3. I normally don't post on LAVA, but lately I have been experimenting with the WebSocket protocol, ecmascript, and the SVG DOM for creating animated browser displays with data streamed from LabVIEW. The technique is surprisingly simple. All you have to do is create a script to change the attributes of the SVG elements using the Document Object Model. The WebSocket protocol has a built in message event handler that allows you to create your own script function which executes when messages are received. The browser connects to the socket server and sends a handshake when you create the WebSocket object in script. All you need do is put a TCP/IP listerner in your diagram and return this handshake as described in the wikipedia article on WebSockets. Once the connection is made, you can stream bidirectional data between your LabVIEW application and any bleeding edge browser (Firefox 4, Chrome 9, Safari, IE9?). You can use the DOM to set the transform attributes of SVG elements using the streamed info (rotate, scale, set heigh, width, line points, etc.). Now that we can all design our own GUI objects using Inkscape (free), I suggest a concerted effor to develop a standard SVG format, streaming protocol (based on WebSockets) and open-source script library. The very best thing about this is that it is all FREE, and runs on any platform that has an HTML5/SVG/WebSockets supporting browser (I'm keeping my fingers crossed for the next firmware revision of the Nintendo DSi), and requires NO PLUGINS. So all you folks with iOS and Android who feel left out by the WebUI Builder, or those of us who are infurated by it's $1500/yr price tag (after spending $ on LabVIEW RT/FPGA), Cheer Up! Here are some screenshots of my efforts. The files are opened in the OS, but will also work when served by the old-fashioned "non-webservices" LV web server (you gotta add an SVG mime type to the mime-types file). You can also use RGraph Library and the HTML <canvas> tag if you want to implement a non-SVG browser solution. The library is free for non-commercial use. I suggest a community effort the create the standard SVG formats for UI elements, and a free, open-source ecmascript library for handling the messaging and DOM animation tasks. If there is interest, I will upload my script as a starting point, but I must warn that there is much improvement needed. sm
    1 point
  4. AQ, I think the problem is that you're misunderstanding what Jon wants - he wants to find the specific class on a wire in another VI, since this is supposed to be an edit-time scripting tool. For that, he needs the actual value in the wire.
    1 point
  5. Like this: (VI is saved in LV 2011... should work back to 2009... back to 8.2 if you rewrite the subVI.) Get Name of Class of Object.vi
    1 point
  6. Ok, here is a simple package that contains the CC0 license. I can get this released on the LVTN under Team LAVA initiative. With it you can apply the CC0 License in the following ways: Create a New VI from a Template Drop a Merge VI on the FP of an Existing VI Include in a Snippet lava_rsc_cc0_license-1.0.0.5.vip
    1 point
  7. I really like this tool and so, as per the video, I went ahead and worked on it a little. The attached version: Opens only 1 VI - the correct Read or Write method, which matches the method on the property node selected Contains error handling and user feedback Attempts to remove the initial lag by initialising the listbox (need more feedback on this as to whether this has worked on other systems - please post) I have added Read or Write in parenthesis for a listbox item, in the case where a PN may have both You can re-click on the listbox to open another n properties (easy fix - the lvclass ref just needed to be cache'd back into the SR) Opens FP and BD of method VI One issue I am having trouble with is opening an overridden method for the correct data on the wire (which I have inquired about here). If the wire's type is a Parent but a Child is the Actual Data Type and you have Retain Wire Values on, it would be nice if the Child's overridden method opens (for such cases), but at the moment the Parent's method will open. The code is a bit smooshed and the BD is large, but I wanted to keep it on 1 VI for distribution at the moment. LVOOP Property Popper.vi
    1 point
  8. FOR THE NTH TIME: THERE IS NO GARBAGE COLLECTOR IN LABVIEW.
    1 point
  9. Hi Hamid- I believe we (National Instruments) have already contacted you offline but we would like to help clarify some of the original statements you posted that were provided to you by your Agilent sales rep. 1. bandwidth: The NI PXIe-1075 is capable of 4 GB/s of system bandwidth, not 2.5 GB/s. 2. timing performance: The phase noise of the PXIe-1075 TCXO, from which the 10 and 100 MHz backplane clocks are derived, is better than the one on the Agilent M9018A by 30 dB (1000x), when free running. 3. cooling: In order to achieve 42W of cooling for a single slot, the M9018A requires allowance of a 15 deg C temp rise for PXI module components as well as either 1U of rack space below chassis or that two air inlet modules be placed in two of the peripheral slots. The NI PXIe-1075 can cool 38.25W in all slots requiring the standard 10 deg C temp rise in module components and 1U of rack space above the chassis. We want to keep this conversation objective and unbiased, so I am purposely not going to add any additional value statements or propositions. We simply felt that some of the original statements that were provided to you were either inaccurate or incomplete. I hope that this information is helpful to you and the participants on this thread. Regards, David Nosbusch NI Product Manager - PXI Chassis
    1 point
  10. I have the following construct: A 'Drop' event on a tree control. In this event I have set 'accepted' to 'False', this means that LabVIEW assumes that the drop was unsuccesfull. No problem. I handle the drop of data inside that event myself. A 'drag ended' event on the same tree control. This is triggered when the drag has ended (whether the drag and drop was succesfull or not). I use this to rearrange my data structure. Here is the drop event code: PS the equal tests the 'parent' output of the following subVI. And here is the code of the subvi: Ton
    1 point
  11. There are some specifics about LabVIEW event and drag/drop. I think that if one registers for the 'Drag source update' event, LabVIEW assumes that you will handle the drag and drop event. Here is some more info. Ton
    1 point
  12. You might want to consider tinkering under the hood a bit and try modifying the Nagle example. By modifying the TCP socket's buffer size, you can let the OS buffer more and prevent the transport protocol from blocking. I did this to increase the default buffer size for UDP sockets (8192 bytes) and it worked out well. For all available options for tuning sockets under Windows, Google "winsock2.h".
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.