-
Posts
2,767 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Grampa_of_Oliva_n_Eden
-
Bad bug that deletes data in a wire
Grampa_of_Oliva_n_Eden replied to Wolfram's topic in LabVIEW Bugs
QUOTE(Wolfram @ Aug 6 2007, 11:00 AM) Thanks for sharing. THe bug fix list for LV 8.5 has an item that talks about writing to a control via property nodes and it over-rides a read from a local. I wonder if this is related. This bug reminds me of trying to chip ECL circuits. Bad siganls can propogate backwards throught a gate there as well. Ben -
QUOTE(Eugen Graf @ Aug 3 2007, 06:18 PM) 4-D data structure scare me. There memory requirements scale as N^4. , well you can figure it out. If you had 10 VI's with ten langauges, .... you are talking 10,000 of strings. If you had 100 VI and one had 100 controls... 1M of strings. How about a different data structure? 1-D array of clusters where each cluster describes a VI. The cluster would have the VI name - string/path launguages - array of strings/enums Control labels - array of strings Caption text - 2-d array of strings, one row for each control, one collumn for each translation A structure like that would prevent the storage req's of your small VI from growing with the size of your largest. BYW I use a similar model to visualize mutli-demensions 1 - character index within a line 2 - line on a page 3- page 4 - book 5 - shelf 6 - insle 7- floor 8 - Library etc Since I live in Library PA, own a library, and am married to a librarian, I find this model easy to remeber and visualize. Also; I once read Jim Kring post something similar to "There is no real world need to represent any data structure with more than four dimensions." (Jim do you remeber what you said?) Since then, I have thought long and hard about using methods that require as few dimentsion as possible. ( Can't find a link to it!) This link may help. http://forums.ni.com/ni/board/message?board.id=170&message.id=34111&query.id=193311#M34111' target="_blank">http://forums.ni.com/ni/board/message?boar...d=193311#M34111 And yes all you have to do is wire the book (volume) index and all of its pages come out (plus enough blanks sheets to be consistant with all of the other books, thus my concern with 4D data structures :headbang: ). I hope this helps, Ben
-
Rings and Enums causes VI Mouse Leave event
Grampa_of_Oliva_n_Eden replied to JDave's topic in LabVIEW Bugs
QUOTE(orko @ Aug 2 2007, 11:00 AM) This only support my theory that LV FP object are getting converted over to XControls. So if I wanted to implement an enum drop down, I could fire an event on mouse down and then show a floating picture control to present the list. In that case, I'd expect to see the mouse leave when I go to the picture control. An if I used the picture control as I mentioned, I could use the "mouse Move" to fire events and change the selection highlighting. Wouldn't it be just grand if NI opened up the library of all of their XControls? Ben -
Two devices connected via single com port [rs232]
Grampa_of_Oliva_n_Eden replied to agonified's topic in Hardware
QUOTE(crelf @ Aug 2 2007, 08:42 AM) This inspired me to think about setting up a "LabVIEW Beer Exchange" that would operate similar to the Federal Reserve Bank. Rather than meeting once a month to swap canceled checks, once a year it could work out who owes who how many beers and the debt can be settled at NI Week. Then again, maybe I should finish my coffee and get some real work done. Ben -
4BUEJARK : Control Templates are not selectable in the Select a Control Dialog This is the CAR# for a bug I reported when trying to select a control to drop on the FP. If I used the selection box at the bottom of the screen to show "all" files, the ctt showed up. Ben
-
QUOTE(alfa @ Aug 2 2007, 01:40 AM) That remindes me! They ended up forcing Socrates (the voice in the Republic) to drink poison for what he had said. Ben
-
QUOTE(ASTDan @ Aug 1 2007, 01:43 PM) In your dialog, is ".ctt" one of the options? Ben
-
Two devices connected via single com port [rs232]
Grampa_of_Oliva_n_Eden replied to agonified's topic in Hardware
Just to split hairs.... I have seen gizmos that daisy chain RS-232. I like the USB-to Rs-232 devices NI sells. Plug right in and work. Lots of lights to tell you what is happening. Yes you can get them cheaper elsewhere. Ben -
QUOTE(manic @ Aug 1 2007, 09:55 AM) Someone trying to help out, cool! Welcome to the team. Ben
-
QUOTE(Gary Rubin @ Jul 31 2007, 10:15 AM) Again with the virus checking already! :headbang: I do not understand all of the details but virus checkers have their hooks into everything and when they kick in, they seem to go into kernal mode and do not allow other threads to run until they have handled this "emergency situation", like opening a file in Notepad or browsing to a new folder. I swear I used to be able to get my PC performance to flat-line priopior to performance profiling, but now, since virus checking, I have been stymied to get the PC to just do nothing. :headbang: Ben
-
Trying to understand reentrant
Grampa_of_Oliva_n_Eden replied to HChandler's topic in Application Design & Architecture
Lets see if I can spin this for you. Re-entrancy has its plus and minuses as implemented in LabVIEW. To allow a VI to be reentrant, LV will make unique copies of the VI for each occurence on diagrams. These unique copies have (aside from being clones) nothing to do with each other. They have their own code and data. This allows them to execute at the same time. But, you duplicate all of the data space as well. The means you can "leave" information laying around for one of the other calls to pick-up. So if your VI does not have any internal storage like shift registers and they operate on independent widgets then making them re-rentrant can keep the VI call from one thread interfering with another call in another thread. If you are using less than LV8 troubleshooting was tricky because you could not step in and watch in execution highlighting. As mentioned earlier FG's are of limted use, but if you want to do something like keep a running average of acquired data, and you can ensure the incoming data will always be passed to the same instance (on the diagram) of a re-entrant VI can be used to maintain the history for that channel. So the local storage in each instance of the "Running average" VI is still useful but not shared. Opening a reference to a VI allows you to specify how you going to open the VI. I beieve options = 8 prepares the VI for re-entrant use. Each time you open a ref as re-entrant a new copy is loaded (watch hiarchy screen, do ctrl-a to refresh). Entrant VI can be called by re-entrant etc. If you want to open a re-entrant VI to control one your widgets that explicitly call a entrant VI to check for channel assignments and then cache the device ID (in that VI's data space) which is latter used to call a re-entrant that queries your widget.... That should work fine. Just think about were your data is. Done spinning. Ben -
Rotating image with customized knob control?
Grampa_of_Oliva_n_Eden replied to silmaril's topic in User Interface
QUOTE(yen @ Jul 31 2007, 03:17 PM) Yair and Jaegan, I think the questioner wants to custmize the needle on a guage and use like you (Yair) taught us in your control customization Nugget. You can import the graph but they will not rotate about the axis of the guages needle (for example). Ben -
QUOTE(jccorreu @ Jul 31 2007, 03:01 PM) Well if you read Plato's Republic (the way I did) he thought that only the choosen should be permitted to reproduce. And if you like that idea.... He also said that 1) a republic was one step away from chaos and the best form was a "benevolent dictator" 2) the only person qualified to lead was a person who was smart enough to know that they did not want to lead (you know how bad you have to want to be elected in the US to get elected?) 3) Artist and musicians should be outlawed 4) The true experts in a "thing" are the user of the "thing" and not the developer if the "thing" ( think LV). I have to say that I agree with much of what Plato wote in "The Republic". Ben
-
Not knowing how this will be used combined with non-computer literate users ...... I have used graphic interfaces the operators can relate to and then did all of the channel configuration explicity behinf the scenes. Here is an application I developed for the Army that determines if their equipment can withstand the forces of being transported strapped under a helicopter. http://forums.lavag.org/index.php?act=attach&type=post&id=6507 The operators know how to rig an plug in load cells. I do the rest. Ben
-
QUOTE(LV Punk @ Jul 31 2007, 10:09 AM) Nice catch LV Punk! I have collected a bunch of picture control realted links in this thread on the NI forum (up over 6000 views, cool!) http://forums.ni.com/ni/board/message?boar...4&jump=true WARNING: PLUG FOLLOWS :headbang: If you want me to develop this for you e-mail me at bar@dsautomation.com and I'll put you in contact withne of the sales people. END OF PLUG Ben
-
Hi sasinew, This quesion reads like a project spec (that I generally do not code up unless there is a purchase order in place ). If you want help with this, please post everything you have tried to date and then we can advise as required. you could also get more help if you post the code that produced that text file. :thumbup: Ben
-
I could write on this topic for days and still not cover all of the bases. 1) In the Task Manager you can set your update interval to something small (5 seconds?). 2) Still task manager, you can select more collumns to view in the "process" tab. Look at everything (click on header to sort on that column). 3) Show kernal will let you see if the kernal is using CPU durring your interuptions. No one has aked "How is your memory?" Running with more memory than you have physical memory will cuaswe interuptions durring page-faults. Here are some notes on how I got the hardware timed timed loop to run without missing a beat. " After some experiments and punching a lot of buttons, it appears that multiple timed loops can run under Windows with HARDWARE timing. This does not seem to be possible without adjusting the environment to help this happen. The following is a list of things that can help you "adjust" Windoze do its job. 1) Set Windows to optimize background services. Windows by default will attempt to optimize its scheduling to make foreground processes perform well. For single threaded applications this is fine but for LabVIEW, some of its background threads can suffer. A) Start >>> Control Panel B) Open "System" and choose the "Advanced" tab C) In the "Performance" section click "Settings" D) On the "Advanced" tab in the "Processor Scheduling" section select "Background Services" E) Save or apply everything. 2) Stop Indexing services. Windows will by default do file indexing. File indexing is functionality that tells windows to maintain in memory a cache of files on a disk or in a folder. This makes files show up in the Explorer faster and also makes searching for files faster. A) Start >>> Accessories >>> Windows Explorer B) Right-click C: drive and select "Properties" C) On the "General" tab un-check "Allow Indexing Service to Index This Drive for Fast File Searching" D) Save and apply everything 3) Set LabVIEW priority in Task manager. Windows will by default treat all processes that are ready to run as peers and will share the CPU evenly. A) Open the Task Manager and select the "Processes" tab. B) Locate "LabVIEW.exe" in the list of processes. C) Right -click "LabVIEW.exe" and choose Set Priority >>> High Note: Setting LV to run at higher than "High" will put it on equal footing with interrupt service routines etc. This could result in the machine "locking up" because LV is using all of the CPU and there is no opportunity to respond to interrupts from your mouse moving. 4) Shutdown Virus Checking. Virus checking gets its hooks into everything! 5) Disconnect Ethernet cable. Ethernet traffic requires intervention by the OS. No cable, no traffic, no distractions. 6) Set the VI properties of the sub-VI that will run the Timed Loop to "Priority = Time Critical" and "Execution Thread = Data Acquisition". 7) Configure hardware Timing source to run at 2000 Hz. 8) Set "period" of timed loop = 2 (i.e. 2000 Hz clock / period of 2 = 1000 Hz) Now wasn't that easy? I have tested the above using the instructor machine with LV8 running three timed loops at 1000Hz for 20 minutes with no missed iterations and no "Finished Late" indications where the loop failed to start on time. " Please report back on your findings so we can do a "group learn". Have fun! Ben
-
Rotating image with customized knob control?
Grampa_of_Oliva_n_Eden replied to silmaril's topic in User Interface
QUOTE(silmaril @ Jul 31 2007, 08:21 AM) I submited that as a bug (I don not remeber the CAR#). I got the impression that issue will not be fixed soon due to low demand for such things. The best I can advise at this time is to contact NI and let them know that yet another person could use this functionality. Ben -
QUOTE(crelf @ Jul 28 2007, 08:44 AM) Hmmm I now question the validity of that posting. If anything, US citizenship should have ruled a candidate out, not in! Ben
-
QUOTE(AnalogKid2DigitalMan @ Jul 27 2007, 04:57 PM) :thumbup: It really illustrates what the word "awesome" means in its proper context. I think the job has already been taken. I'll vist that site again tomorow to reread it over coffee. Thanks for sharing that link. Ben
-
QUOTE(cbr @ Jul 27 2007, 10:42 AM) Did you attempt a "Refresh" ? If that does not do it, MAX may need repaired or re-installed. Ben
-
Just a note: I suprised myself when I discovered that I could run multiple timed loops (hardware timed) at 1000 Hz without missing a beat under Windows. I did not have to resort to setting VI priorities but I did have to tweak Windows by making sure background processes got priority, shutdown virus stuff, no network, no File Indexing etc. Ben