-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
Either this is very easy, or you aren't giving us enough information. You can write file using the File I/O palette. You can also use some of the image tools to save files in various file formats. If the SD card is mounted as a drive in Windows any of these tools can be used to write to this location.
-
Oh it took me a bit but I figured it out. So in your Sender.vi, in your second for loop you are waiting on the notifier. You are waiting on them one at a time. And you know that the first one will not reply until one second, because the receiver has a wait 1000ms after getting the event, before setting the next one. So you wait for one second before ever looking at the second notifier. But the second user event (and all of them) have already been generated at this point. What this means, is you maybe waiting on the first notifier before moving on, but all the other notifiers are already being set. It is a sorta race condition, where the race is because you set notifiers 1s after getting the user event, but you only wait on notifiers one at a time. Maybe a dead lock would be a better name for this. A easy solution would be to turn on for loop parallelism in the second for loop, and wire the size of the notifier array to the P terminal. This way all notifiers will be waiting at the same time.
-
Not trying to change the subject, but I avoid LLBs at all costs. Every time I find one the first thing I do is extract the VIs from it. I feel that way because it seems like a zip or an archive, where to use it with the normal tools, I need to extract it anyway. I also know there were odd bugs a while ago where the LLB would get corrupted and ruin all the VIs in it. I know that is petty especially since it probably has been fixed long ago, but it still lingers as a thing to avoid in my mind.
-
Yeah this "feature" kinda sucks at time. And I'm a little disappointed that no other posts have been tagged with "things about labview that suck" but whatever. If it makes you feel any better, in the build environment generally these unused dependencies are removed. In the build specifications under Advanced there is a checkbox for removing unused items. Then at least they won't exist in your EXE, taking precious loading time. As for the development environment, yeah modulating code helps. But doing so usually means more VIs in general, which means more dependencies on disk. I don't find it that bothersome, but if you have 100s of libraries and classes I would be pulling my hair out trying to find a better solution.
-
How I can save coordinates of circle detection?
hooovahh replied to KAR's topic in Machine Vision and Imaging
Is there a reason you made another new thread, despite me telling you not to? http://lavag.org/topic/18639-how-i-can-save-the-coordinates-of-circle-detection/ -
Tables don't work like that. A table is literally a 2D array of string. That is the data type it contains. It does not have provisions for numerics, drop downs, or other data types without extra work. That being said LabVIEW is a programming language and you can make it do what ever you want. In the past I've seen code where when you click on a field, a drop down controls is moved over top of the table to appear as if the table has a limited selection. But in your simple example is there a reason you don't just have a cluster with all of this data in it? A cluster which contains two strings, and two drop downs? Attached is a VI that looks similar to what you posted. Example Table.vi
-
A table has rows and columns, you are only providing one dimension. As suggested insert another build array between the one you have, and table indicator.
-
I really hope you found the Palette Editing subpalette under Application Control. Here you can open MNU files, and save them. So if you want to add some MNU as a subpalette, you can open the MNU, add your subpalette, and then re-save it. Say you want to add the OpenG array palette to your native LabVIEW array palette. You'd read the <LabVIEW>\menus\Categories\Programming\array.mnu, then add your subpalette pointing to your MNU as an absolute path, then resave it. Maybe looking at some of the OpenG MNU files might make understanding how they work easier.
-
How I can save the coordinates of circle detection?
hooovahh replied to KAR's topic in LabVIEW General
Please keep your issue to one thread. -
How to evaluate data at a time in all the messages?
hooovahh replied to NickC's topic in LabVIEW General
Yup great advice. The only thing I'd add is that the case structure can show a radix when a numeric is wired to it. So you can choose to view it in Hex which I assume would be easier for you. But of course if you have a CAN DBC file and you want to perform the frame to signal conversion without all the hassle of parsing each frame manually, you could look into leveraging the XNet API to perform the conversion for you. https://decibel.ni.com/content/docs/DOC-39793 But if you just want to convert a few manually that's fine too, it won't require the XNet API and probably would be faster because of it. -
If this is true it is a shame. The snippet tool is very neat. Not as neat at CCT but it ships with LabVIEW so you know it is already there. In any case here is some more information on the snippet tool. http://www.ni.com/white-paper/9330/en/
-
Altenbach has a version, MGI has a version, and I've seen several other implementations of it. There also exists a primitive in LabVIEW that isn't on the palette that does this, but several NI employees have said it is not stable and not to use it.
- 6 replies
-
- float
- comparison
-
(and 1 more)
Tagged with:
-
You gave very little details on what you actually want. At face value I could suggest copying a picture to the front panel and that would satisfy your request. But this obviously isn't what you want. Creating interacting objects as an image in LabVIEW can be done several ways. Look on the Graphics and Sound >> Picture Functions. Here you can draw things into a 2D picture control. IMAQ also has various image tools too.
-
Installation options dialog
hooovahh replied to AutoMeasure's topic in Application Builder, Installers and code distribution
Yup. The NI installer is kinda limited. So I usually wrap the NI install, into an Inno Setup installer for when I need more cusomization. This can do things like have Full, or Custom installs, and of course installation location control. I usually use ISTool to make, making one of these easier. -
I have sent Michael a message. I don't have the ability to add this.
-
MCLB movable column separators and header click events.
hooovahh replied to John Lokanis's topic in User Interface
What about reading the mouse pointer? If it is a ][ or what ever symbol then don't discard, and don't sort. -
I don't have the link, but I remember someone else telling me that you can choose the INI file to use, in a command line switch. This forces LabVIEW.exe to use a different INI file somewhere else on disk. You could have a batch file that launches LabVIEW.exe with an alternate INI this way too. I've never tried this so sorry if this is incorrect information.
-
Yeah sorry. I read your post several times and couldn't tell if you knew of the function or not. I know of no way to set this path to the current project. There are likely ways to do this programatically. I assume this information is just stored in the LabVIEW.ini. That INI could be updated. Not sure if it can be done on opening a project, but if it can I suspect that the Project Provider Framework could do it. Yeah sorry. I read your post several times and couldn't tell if you knew of the function or not. I know of no way to set this path to the current project. There are likely ways to do this programatically. I assume this information is just stored in the LabVIEW.ini. That INI could be updated. Not sure if it can be done on opening a project, but if it can I suspect that the Project Provider Framework could do it.
-
Sure you can add or change LabVIEW search paths. Open LabVIEW and go to Tools >> Options >> Paths, be sure and uncheck Use Default. I've never had to really change this because it would search for missing VIs relative to where they used to be so as long as the file structure was duplicated it worked fine.
-
XLoader can be used to load HEX files to arduinos over serial. This likely uses a stripped down version of AVRdude and that is a command line program that could be used from LabVIEW.
- 5 replies
-
- 1
-
- hex
- controller
-
(and 3 more)
Tagged with:
-
Open URL in default browser changed in 2014?
hooovahh replied to Mellroth's topic in LabVIEW General
Is it possible to copy the VI from a previous version, rename it to "Open File in Default Program" and then use it in 2014? -
One thing that might help as a start, is the fact that the ECU Measurement and Calibration toolkit has an example for programming an ECU using an S file or HEX file. Now the actual data going down is specific to the device and interface being used. But the example shows how to parse a HEX or S file into an array of chunks to be sent down. This toolkit is not free, but if you install the trial, these VIs are part of the example, and parsing the HEX file can be done without needing a license. The license in this case allows you to program an ECU over a CAN interface.
- 5 replies
-
- hex
- controller
-
(and 3 more)
Tagged with:
-
Open URL in default browser changed in 2014?
hooovahh replied to Mellroth's topic in LabVIEW General
I have no incite on this function changing or not. But what I do have is the function I use for opening files, or opening explorer windows with that file selected. It just uses a command line call to explorer. Open File Or Windows Explorer.vi -
I must say, reading this whole thread all at once for the first time causes a roller coaster of emotions.
- 20 replies
-
- modular
- application design
-
(and 1 more)
Tagged with:
-
What you are looking at is an empty array. If you want to add data, to any array the data must be added at the front, at the end, or inserted in between existing values in the array. Since you have no existing values in the array, then you can only add values to the front or the end, and both are the same again since the array is empty. Without knowing more about what you actually want my suggestions may not be appropriate. One suggestion is to just have an array constant with your data in it. But if you are replacing data this might not be what you want. Also you may want to initialize an array with some size and then replace elements in the array. But again if that isn't what you want, then it won't be of any help. In any case the functions you'll want are under the Array palette, checkout Build Array, Insert, Delete, and Initialize array. If you are interested in some free training check out some of these links. Otherwise try using some of the functions mentioned and post some code of what you've tried. NI Learning Center NI Getting Started -Hardware Basics -LabVEW Basics -DAQ Application Tutorials 3 Hour LabVIEW Introduction 6 Hour LabVIEW Introduction Self Paced training for students Self Paced training beginner to advanced, SSP Required LabVIEW Wiki on Training