-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
I'm guessing there is a tiny border around your string control. Is it possible that this string is in a cluster? If so you could try to minimize this by using the 1 pixel border cluster. https://lavag.org/topic/5013-compacter-cluster-arrays-tables-with-controls/#entry28056 If that is just a string control I'm not sure why the label doesn't position itself right. Actually I just tried it on another XControl and it is the same. I'd say this is a bug and needs NI's attention so they can make a CAR.
-
Oh also fun with parent children relationships. http://screencast.com/t/LjlkYzTWKr8J https://www.youtube.com/watch?v=-i3iaWm_Jiw http://screencast.com/t/P9SJ1anR https://www.youtube.com/watch?v=bqNVbSn7nKg http://forums.ni.com/t5/LabVIEW/How-to-run-an-exe-as-a-window-inside-a-VI/m-p/3113729#M893102 https://lavag.org/topic/17046-multi-panel-interface/
-
So today I found another method that in my opinion should be made public. Obviously NI has more information than us, and maybe they have a good reason to not make them public, like they crash LabVIEW if you do XYZ. But here is a couple I've found and thought were odd that they were still private. These are functions that from what I see work just fine, and have little danger to a developer using it. Please add others you find. Class:VI Property: FP.Native Window This returns the HWnd in Windows to the front panel window, which can be used for low level window manipulation. Many functions for window manipulation are in VI Server but not all of them which is why on occasion the HWnd is needed. Class: Ring Property: Flavor This returns the type of Ring a reference is. Text Ring, Picture Ring, or Text and Picture. Class: VI Method: Synch In All Contexts I'm not sure this actually works, but it looks like it should sync a VI to all contexts. Maybe this isn't needed because a Save Instrument also syncs but some times you may not want to save the VI. Class: Control Property: Grouped / Group Member Refs This returns if a control is part of a group and the other references in the group
-
On modern Windows the folder is something like C:\ProgramData\National Instruments\MAX\Data Not sure where ProgramData maps in XP I think it was something like C:\Documents and Settings\User\AppData\Roaming\National Instruments\MAX\Data but you'll have to look around to see. I think DAQmx settings are saved in config3.mxd, I don't remember what file the traditional DAQ is saved in but I'd bet it is in that same directory. If this doesn't work is it possible to deploy that image to a temporary PC or a virtual PC, then do a MAX export, and then import it back on the new PC? EDIT: Oh here is some more information. http://digital.ni.com/public.nsf/allkb/DAD981AFEF149B458625778100775987
-
I don't have those versions installed anymore but you may find more help over on the Version Conversion subforum. http://forums.ni.com/t5/Version-Conversion/bd-p/VersionConversion
-
fluke 2638a How to Stop Scanning for Fluke 2638A
hooovahh replied to jcesar1029's topic in LabVIEW General
Yeah use the Elapsed Timer express VI and set it to the time you want. The output is "Time Has Elapsed" Then you can use that in a case structure and only do the work when that time is up. -
"Closing References in LabVIEW": New documentation published
hooovahh replied to Aristos Queue's topic in LabVIEW General
So no one has ever told me this, but from what I've seen child references won't be closed using a close reference, if a parent is forcing them to stay open. Make a new VI, drop down a control of any kind. Right click and create a static reference to that control. Use the Close Reference on that reference, then use a property node to read the label text of the control, passing the error out of the Close Reference into the error in of the property node. Now run the VI. The label is still returned, and the reference is still valid even through you asked to close it. This is because even though you asked to close the reference, it needed to be open because the VI that uses it is still in memory. Reading the detailed help on the close reference function has more information on this. This might also be compounded by the fact that I think this is an example of a "This" reference. So closing the control reference in my mind does nothing, unless you explicitly opened the reference using the Open VI Object Reference. So if you opened a reference to a VI, then used a property node to return the control references on the front panel. Then it is my understanding that you don't need to close the control references, when you are done. All you need to do is ensure the VI reference you opened gets closed. As a fun test I'll usually write a simple VI that does my work and closes the things I think it needs to close, then use the Run Continuous button and look at the task manager and see if memory increases. This is the only time I find myself using this button. -
Well I know nothing about EtherCAT but I have some links that you've probably already found. http://www.ni.com/white-paper/7299/en/ http://www.ni.com/white-paper/14140/en/ 80 views isn't that much, there are many lurkers. And there are people like me that opened it up to see if it was something I could help with, then I closed it because I couldn't. Oh an there are some that just read every post so that it is easier to find the unread posts.
-
What IDs are you reading, what IDs are you missing? You didn't post any code, but even if you did I might recommend contacting Stratom. They likely have an example that is made to just read all data and display it. Is is possible the device is setup to only read standard CAN messages and is missing extended ones?
-
[FPGA] Discrete Delay not computing correctly?
hooovahh replied to Stormshadow's topic in LabVIEW General
Sure but a crosspost helps give some context to those unfamiliar with the history of the issue. -
Well what toolkits do you have installed? I've never heard of such a screen before, but I'd suggest finding that toolkit and re-installing it, either through VIPM or NI Uninstaller depending on where it came from. You might also get away with forcing a mass compile on the toolkit, again if you can figure out what one it is.
-
[FPGA] Discrete Delay not computing correctly?
hooovahh replied to Stormshadow's topic in LabVIEW General
Crosspost -
Well they aren't the same, or made by the same company. There are likely features available in one and not the other, and you likely paid for any support you needed. That being said I'm super impressed with the Exaprom one and wouldn't mind paying (a reasonable) fee if I needed it.
-
Be sure and share it with the community, others may have similar questions.
-
LabVIEW snippet PNGs are being sanitized
hooovahh replied to Phillip Brooks's topic in Site Feedback & Support
Michael worked his magic, that he does so well and things should work now. I tested it on a pretty large block diagram and my browser zoomed out, but the image itself wasn't scaled on the server side, so I could still drag the snippet away and then into my blank block diagram. -
LabVIEW snippet PNGs are being sanitized
hooovahh replied to Phillip Brooks's topic in Site Feedback & Support
I think I reproduced the steps you took, but I came to a different result. I posted a reply using the More Reply Options which is also known as the full editor. From there I picked the file by clicking on Choose File. Then I clicked Attach This File. This step might not be needed depending on the version of the uploader that you are using. Then I clicked Add to Post to add it to my reply. I was then able to click the image and get the VI source by dragging the image to my desktop. I wonder if it has to do with the size of the PNG you uploaded. It obviously scaled it which makes me think there is a maximum resolution the uploader accepts. EDIT: Yup just tested it, too large of an image is scaled, I'll let Michael know about his and see if there is something that can be done. -
Dynamic dispatch & Shared reentrancy
hooovahh replied to Nicolas Bats's topic in Object-Oriented Programming
It sounds like you are using the wrong kind of reentrant VI. The NI signal processing VIs uses the Preallocate method of reentrancy which is less efficient than shared clones because a new copy must be created for each copy, instead of reusing already made copies. The benefit is of course things like uninitialized shift registers work as expected because each copy is reserved for that call. -
Recently the PDF creating toolkit using ItextSharp by Exaprom has been updated to version 2.0. https://decibel.ni.com/content/docs/DOC-10952 The toolkit is very well put together and I've used it on a couple projects. The example generates the manual for the toolkit, and it is pretty impressive to see all the features of the toolkit demonstrated, by generating the user manual.
-
So you have a 2D array of numbers, and you want to find the perimeter around an object outlined by values of 1? There are probably tons of ways to achieve this. Look on the array palette and see what you can come up with. I'd suggest reshaping the array into a 1D, and use the search 1D array looking for 1, then that used with the quotient and remainder can give you the upper left edge. Similar functions where reversing the 1D array could get the lower right edge. If you get stuck post what code you've come up with.
-
Hey that's pretty neat. It remind me of one of my favorite XControls the Variant Probe, where a variant can be displayed in a colored tree.
-
In many cases a private method was made public, so there is no reason to password protect a VI. But in some cases these methods have new inputs or outputs between versions, so back saving would break the code. You'll then need private methods enabled so you can pick the older version if this is the case. If we just made all private methods public it would take care of this problem...and create many more.
-
DAQmx channels and tasks managment
hooovahh replied to pawhan11's topic in Application Design & Architecture
Then using a DAQ card is going to be a problem. If you install DAQmx you're going to be required to install MAX. Then you can import your MAX NCE and use the tasks and channels in MAX, or use DAQmx VIs to programatically make your tasks at run time. Oh or the third option I don't usually do is you can have the tasks be in the project which then get deployed to the EXE when it is built. If you are really insisting on using LabVIEW 7.1, which is something like 11 years old then I'm unsure how much of what I said is going to be true for you. -
Keeping track of licenses of OpenG components
hooovahh replied to Mellroth's topic in OpenG General Discussions
I understand where you are coming from, but even when I was in that type of industry, explaining that things get done faster, and cheaper when trusted toolkits are used instead of reinventing the wheel, usually persuades the customer. It sounds like you are in a culture that doesn't use OpenG and it would be difficult to bring that in. I'm in a culture where using OpenG is expected, so taking that away would be difficult. Our applications are dependent on it, and so we always trying to make using and installing it as easy as possible. Same with other trusted toolkits like JKI, WireFlow, MGI, and others from LAVA. Again IANAL but I don't know if attributing OpenG as a consortium meets the needs or not. For now I think that is what I will try doing, but in the back of my mind I'd like to scan installed packages, and generate a license text file. -
Keeping track of licenses of OpenG components
hooovahh replied to Mellroth's topic in OpenG General Discussions
I am not a lawyer (IANAL), but I was using the following definition for Credit Publicly acknowledge someone as a participant in the production of (something published or broadcast). If we are trying to disclaim liability, I'd suspect leaving someones name off of a list of developers who influence the creation of the product would be what is desired. If that is the purpose couldn't I just say any code developed by someone other than me, used in this product are not responsible. Same here actually for some of my Code Repository stuff on LAVA. -
Probably this. You'll probably need to use some kind of system function to get the origin path of the junction point, and then get the free space on that path.