Re: [W] Data link Serial port
R. Glenn Givens [EMAIL PROTECTED] wrote: I am writing a data link to communicate between a PC running LV 6.0.2 and an industrial computer. The link on RS232C will run @ 9600 baud and the throughput is such that I'm using 1/4 to 1/3 of capacity. The industrial computer sends the data and has a 500 byte buffer each for send and receive. But the data is all one way from the industrial computer to the PC. The PC will save this data to disk continuously and also present displays etc. It sounds like there are many ways to operate the serial port in LV (maybe VISA, maybe direct port manipulation, more likely old-fashioned serial port VI's?. I haven't done much checking but I wondered what the consensus was for the best method for this type of application. Since PC's only have a buffer of a few bytes, I would prefer to have something automatically handle the interrupts and have a big input buffer that I just read from time to time (say every 50 to 100 msec). I used to do that interrupt handler stuff in assembler in the DOS days. VISA does all the buffering for you. You just open a session and with 9600 baud you shouldn't even need to configure special buffer sizes. I use VISA with up to 48kBaud regularly without any problems and have also managed with quite some ease 115kBaud on VISA. There is really no need to do direct register programming and interrupt handling on application level anymore for standard serial port communication. VISA and similar interfaces neatly deal with this for you and you do absolutely not need to worry about that. It may be hard to get used to this if you have previously dealt with these thngs yourself but believe me it is a big relieve. The serial port problems are seldon on the VISA (or whatever API you use) level but most often on the actual instrument-application communication level, due to funny (not to say stupid) protocol conventions and most often bad documentation. Rolf Kalbermatter CIT Engineering Nederland BVtel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijkhttp://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]
Re: How to control the testing instrument through GPIB
Click a href=http://zone.ni.com/devzone/devzone.nsf/webproducts/a95c253dfb5fdb0986256786000be3c3?opendocument here/a for useful information/ link.
System.Management.ManagementClass in .NET
I have been trying to convert the following to LV but am getting stuck... System.Management.ManagementClass mc = new System.Management.ManagementClass(Win32_NetworkAdapterConfiguration); ArrayList list = new ArrayList(); foreach ( System.Management.ManagementObject mo in mc.GetInstances() ) { if ( ((bool)mo[IPEnabled]) == true ) .etc. } now - the examples use string based stuff, ManagementClass requires a path Any ideas? Dav.e
Re: What Mac OSes will LAbview 3.1.1 work on?
I'm not sure what you mean by '9.1 is 68k also'. Mac OS versions 8.5 upwards required a PowerPC processor, i.e. they won't run on a 68k machine. However, that doesn't mean they can't run applications written only in 68k code - for example, I still happily run Word 5.1 under Mac OS 9.0.4 on my Powerbook G3! Also, a quick search of the NI site for labview 3.1.1 mac brought up at least one reference to a PowerPC version of this version of LabVIEW - but it appears there were separate 68k and PowerPC versions, so it may depend which version you have. Again, it's not necessarily the case that the 68k version won't run on a PowerPC machine, just that the performance won't be optimised. Remember also that there's a difference between compatible meaning officially tested and supported, and compatible meaning it doesn't crash. It may be a case of just trying to run it on whatever Mac you have and seeing how you get on.
Re: How do I pass data into a sub vi?
Think from the perspective of the VI, not the program: a control is always an input to the VI on whose front panel it's placed, and an indicator is always an output. Whether the control or indicator is displayed to the user or not is really secondary. If you're using a control to both pass data into your subVI and display it to the user, you may want to disable it so the user can't alter the displayed value - that might not affect the operation of your program but it could be confusing! The alternative would be to use a numeric control offscreen as the input terminal to your subVI and wire the value from that control directly into an onscreen tank indicator.
join synchronization methods
May be someone knows the way to join different synchronization methods ? In other words I would like to use the queue and occurence with one while loop. Desired effect is that while loop waits for one of these events (element in queue or occurence). In my case, dequeue function was being blocked by the wait occurence function. Kind regards Grzegorz Bialic
Re: external time base changes with velocity
Wayuu, according to what you say, it seems fairly clear that the board is not missing pulses and that those pulses are a clean signal. What comes to my mind now is... Why do you say that you get more cycles? I mean, if you always get the number of samples you request, what's the problem? Maybe a delay between channels? If that's the case, then it may have something to do with the interchannel delay parameter. You can change the value of this parameter with the AI Config vi. I would first check these links below that talk about it, and see if the behavior you are seeing is just an effect of your board having a unique ADC and hence a delay between samples of different channels. http://digital.ni.com/public.nsf/websearch/9AE87416C8792FC286256D190058C7D3?OpenDocument http://zone.ni.com/devzone/devzone.nsf/webcategories/E8C00D6CC2BDD44386256882001425DA?opendocumentnode= Regards,
Re: Can one plot, having a variable range, on a multiplot...
I tried this approach using two plots (one is 5X amplitude compared with the other), but when I clear the chart and try to read the range for the lower amplitude plot by making it the active plot I get the range for both the plots. Please tell me how to read the range correctly. Thanks. It sounds like there is a bit of confusion about Range. Range and autoscaling are a scale property, not a plot property. You can have multilple scales and can assign a plot to any scale you like, so one option is to have a visible scale and your primary plot mapped using the visible scale. Make an additional scale and hide it. Map the other plots to the hidden scale and you will programmatically set the range of that scale to be whatever you like, probably want to set it to match the visible scale range. And don't forget that the Active Plot and Active Scale are used to determine which ojects is affected by the property changes. Greg McKaskle
Re: [W] Vision x,y Image Information
Richard; I did a little test and it works fine! Place a Picture control on top of your image control. Set the color of picture control to transparent make sure the size of your picture control is exactly the size of your image. There is this property in Picture control that gets the x,y position of the mouse and you can read it programmatically I also think there must be an easier way to get these info from image control but I could not find it, maybe NI people can shed a light Hope this helps + Dr. Hamid R. Yazdi Federal Mogul Manufacturing technology 3935 Research park drive Ann Arbor, MI 48108 Tel: 734 222 4108
Re: How do I get my chart to redraw after the onitor comes out of
My program runs 24/7 monitoring an exhaust stream. The program usually nruns in the background. When the chart display is called up the display is not correct. this also happens when the screen saver has been on. How can I get the display to redraw the chart to diaplay correctly. This usually happens when the popup panel is not in memory and doesn't know that it will ever need to be used. At compile time, LV optimizes your code to leave out display calls and to leave out front panel data copies if it thinks they will never be seen. In the days before property nodes and invoke nodes, LV always got this guess right, but these days it is possible to fool it. If you have a subVI with no property nodes, and it doesn't use the VI Properties to Open panel on call, LV may optimize out the chart's buffer accumulation. Then when the window opens, the buffer data is empty or old. If you place a property node on the diagram for the popup panel, even just to read the value of the panel visible property, LV will leave the accumulation code in and the chart should have correct values when the panel opens. Greg McKaskle
Re: Shift register or Local Any differences in performance?
From what I understand, using local variables is frowned upon unless they are ABSOLUTELY necessary. In my mind, there is no debate and I would take the shift register. Here are my reasons. 1. I believe that each local variable you have on your block diagram takes up the same amount of space as the original object itself (I'm 99% sure this is correct, can anyone confirm this?). So if you have an numeric indicator that displays a double, and you have 6 local variables linked to that indicator, in terms of memory, you might as well have 7 indicators. If you have one shift register that stores a double value, no matter how many states of your state machine assign values to that shift register, you will only ever have one copy of the data, and only one double 2. Local variables access the data stored in a front-panel control. Depending on what you are using the state-machine for, I think it would be rather unlikely that you want your user knowing what state the machine is currently in. Even if you did, you could wire a front-panel indicator to the shift-register inside the loop to achieve the same effect. I think using a local variable in this situation greatly compromises readability because (likely, again this will depend on the particular state machine) there is no logical association between the state of the machine and the object to which that local variable leads. In other words, the state of the state machine is a property of the block diagram. It doesn't make sense (to me) to use a front-panel object to store a property that will only be read and modified on the block diagram. I'm talking about state machines in general. These reasons may not apply, depending on your specific application of the state machine (for example, I've often used a tab control in a dialog to simulate a wizard program, guiding the user through some complicated process one step at a time. Each tab of the control corresponded to a different state in a state machine running on the block diagram. In this case, you want the user to know which state they're at. However, that is special case of state-machine) A general tip is: as tempting as it may be, you never should be using local variable because you want to avoid long wires. Hope that's helpful
Re: How can I design my LabVIEW app to behave differently based on
Does anyone know of a way to programmatically detect the installation of the Vision module? What I'm doing right now would work in 95% of the cases (I think) if I could nail down the root windows directory (which I'm pretty sure is stored in the registry for all Windows versions, but the name of the key depends on the version of windows, and I would rather not go down that road) A different way to go about this is to use the VI Server to try and programmatically load the subVI. You can try and load a Vision subVI, or any wrapper on top of it. If it can't be loaded, it will return an error and a bad refnum. You can control how much searching it does for the subVIs by modifying your EXE's ini file. I'd leave it standard and try that first. Greg McKaskle
labview job
I am posting this on behalf of a friend. There is a job available here in Charlottesville Virginia for a test engineering position at a company that makes pharmaceutical equipment. Basically they need someone NOW. The candidate would NEED test engineering experience as well as be a competent programmer (preferably LabVIEW). Contact me via private email for more details. John Howard [EMAIL PROTECTED]
How can I communicate betwen parallel asynchronous VIs?
Howdy all, Here's my situation: - I have some task that needs to be executed in parallel to the currently running VI. In fact, this task needs to executed in parallel to a number of VIs, so I've decided to build a sub-vi to handle this task. - This task involves performing some processes every X number of milliseconds (usually in multiples of 1000). This task will be performed until it receives a stop-command (the user generates this signal - so I have no way of knowing when it will be) - I still need to be able to handle user interaction with this main VI while the task is executing, so my task must execute asynchronously. - I want to be able to send a termination command to my asynchronously executing task, and have it respond IMMEDIATELY (polling a global variable is unnacceptable). --- The only way that I am aware of running a VI asynchronously is to start it with the VI Server (either the Call by Reference Node, or the Invoke Node). Originally I planned on using notifiers to send commands to the asynchronous VI. Notifiers would have been perfect, because I could break out of the waiting portion of the task as soon as I received the command (this isn't really possible when polling a global). Later I found out that notifiers are not supposed to work with VIs loaded with the VI Server. My notifier approach worked fine during testing, but wouldn't work when I compiled the program as an executable (which is what the end product will be, so I need a new solution). I'm about to change my implementation to use Queues instead of notifiers, because I think I can achieve the same Wait on Notification functionality with a queue, except I don't think there is a restriction on using a Queue across the VI Server. My Questions are: Is there another way to get VIs to execute asynchronously OTHER than the VI Server? Is there a better way to communicate between them? (I considered using a User Event control, and generating the commands using that, however I can't poll the status of the User Event without an Event structure, preventing me from terminating my task once the user generates the end-task request. Does anybody else find the LabVIEW documentation to be frustratingly lacking at times? Any help, comments, or stories of similar situations would be appreciated.
Re: Detect/intercept windows shutdown
Yes, you are absolutely right ;-) ... and perhaps you want to have a short look here: http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/ceb6f11a29e0efba86256e01005d571d?OpenDocument
Re: seperate window example
you must have the data socket server open and running before you start running the main VI. if you do not it will appear that the VI does not work correctly. Again read up on the data socket server before running the VI again. If this still does not work write back and I will try to help you more
Re: can LabView talk to USB devices by PC USB?
Dear Liz, I am developing a USB oriented product and radio comms circuit to control biped robots and capture leg movements. I am very keen to find more info on integrating my third party product with labview via USB. Any help greatly appreciated Regards Chris
Re: can LabView talk to USB devices by PC USB?
A co-worker of mine just started a project with a custom USB interface. He started with the information A href=http://zone.ni.com/devzone/conceptd.nsf/webmain/6792BAB18242082786256DD7006B6416?opendocument;here/A.
RE: [W] Data link Serial port
Rolf Thanks again. Here is my summary of the 2 answers I got: I have 2 votes for VISA and none for anything else so VISA it is. Next, I have to figure out if I installed it since I never had any use for it until now! Fortunately, I don't have to worry about the funny protocol bad documentation because I get to decide all this myself. R. Glenn Givens P.Eng. Innovention Industries Inc. Burlington, ON, Canada www.innovin.com -Original Message- From: Rolf Kalbermatter [mailto:[EMAIL PROTECTED] Sent: March 24, 2004 04:22 To: 'R. Glenn Givens' Cc: Info LabVIEW (E-mail) Subject: Re: [W] Data link Serial port R. Glenn Givens [EMAIL PROTECTED] wrote: I am writing a data link to communicate between a PC running LV 6.0.2 and an industrial computer. The link on RS232C will run @ 9600 baud and the throughput is such that I'm using 1/4 to 1/3 of capacity. The industrial computer sends the data and has a 500 byte buffer each for send and receive. But the data is all one way from the industrial computer to the PC. The PC will save this data to disk continuously and also present displays etc. It sounds like there are many ways to operate the serial port in LV (maybe VISA, maybe direct port manipulation, more likely old-fashioned serial port VI's?. I haven't done much checking but I wondered what the consensus was for the best method for this type of application. Since PC's only have a buffer of a few bytes, I would prefer to have something automatically handle the interrupts and have a big input buffer that I just read from time to time (say every 50 to 100 msec). I used to do that interrupt handler stuff in assembler in the DOS days. VISA does all the buffering for you. You just open a session and with 9600 baud you shouldn't even need to configure special buffer sizes. I use VISA with up to 48kBaud regularly without any problems and have also managed with quite some ease 115kBaud on VISA. There is really no need to do direct register programming and interrupt handling on application level anymore for standard serial port communication. VISA and similar interfaces neatly deal with this for you and you do absolutely not need to worry about that. It may be hard to get used to this if you have previously dealt with these thngs yourself but believe me it is a big relieve. The serial port problems are seldon on the VISA (or whatever API you use) level but most often on the actual instrument-application communication level, due to funny (not to say stupid) protocol conventions and most often bad documentation. Rolf Kalbermatter CIT Engineering Nederland BVtel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijkhttp://www.citengineering.com Netherlands mailto:[EMAIL PROTECTED]
Re: Line Frequency Noise
The noise seems to have decreased considerably so you are on the right track. There will always be some amount of noise remaining in your signal (and actually this is good since it helps averaging your dc result correctly. This is called dithering). Your VI should of course give you the same results as MAX. Make sure you enter your input range correctly in your AI Config. Use some of the DAQ examples if needed.
LabView Object Speed Specs
I am looking for a table of...how long does LabView take to process an Add Multiply If etc. I expect that the table results would be given in clock cycles. Info on converting clock cycles to actual time [in micro-seconds] would help.
tutorial labview 7 en francais
je dois programmer et optimiser des programmes sur labview, je recherche un guide, une notice technique ou un tutorial pour pouvoir apprendre ce language. J'ai deja les bases mais cela ne suffit pas! merci
how do you split the output of a waveform chart into seperate channels
I am trying to seperate each channel into their own seperate output from a waveform chart. How could I do this?
Re: How do I get my SubVI to close afterwards.... on the first run of my MainVI?
Thanks for both answers, it works fine like that. I don't understand the logic on this, but that fixes it.
Re: when running the demo SW of AD12-8 DAQ card - Labview crashes
Hello, Is this a National Instrument card? Does it have a specific version of driver that needs to be installed specific to your operating system? Is it compatible to the version of labview you are using? How are you calling the card in your VI? Are you calling it through specific dlls? Was the card supplied with a specific instrument driver? At what point of time does labview crash? Are you accessing the card at that point of time? These answers would help me assist you further. Good luck and have a great day! Koninika National Instruments.
Inverse FFT's
I am using Fourier Transforms to filter a signal I have. I noticed that for one perticular waveform the waveform returned after the inverse transform was performed was messed up. In the course of finding the problem I step up the filter so it would not filter the signal at all. The waveform returned is still wrong. ie has real and imaginary part. I have used this program on a number of waveforms and never encountered this problem before. Anybody have similar experience?
exemple de VI pour commander un appareil USB
Je cherche un exemple de VI pour commander un appareil USB via labview, merci I'm looking for a VI example to control a USB device for Labview, thanks
Re: why my labview 7.0 shut down in XP
Hello, Has this been happening since you installed labview or is it a new occurrence? What else do you have on your system? Do you have any other National Instruments software? Are you trying to open a specific VI when labview shuts down or does it shut down on trying to open labview itself? Have you tried repairing your install in add/remove programs? Also, have you tried uninstalling and reinstalling labview? These answers will help me assist you further. Good luck and have a great day! Koninika National Instruments.
Re: jauge
Bonjour, Un vum=E8tre est un scalaire et ne peut donc avoir en entr=E9e un tableau ou une waveform contenant plusieurs points. Dans ce cas, le seul moyen est de d=E9sassembler la waveform pour en r=E9cup=E9rer le tableau et ensuite indexer le tableau pour r=E9cup=E9rer =E9l=E9ment par =E9l=E9ment. Par contre si votre waveform contient un seul point et non un tableau alors ce sera compatible. J'esp=E8re que cela vous aidera.
I build my application (Lv61) in XP but I can only run it...
I build my application (Lv61) in XP but I can only run it once with clean cache when I close it crashes, the next time it hangs, even after reboot. Application runs smooth on win98 2000. problem? RunTimeEngine (v6.1) or conflicting software or XP? When I close the application (exe with 2 dll's (one small -with pasword information- and one large -main program-)) it hangs and I need to use Taskmanager to end the it (it states reinitialising VI's...). When I try a second time it hangs in the beginning of the program (after the first dll). Even after rebooting it hangs in the beginning. Reinstalling runtime engine 6.1 in combination with rebooting sometimes helps to start it once but not always. When I have started LV6.1 before the exe it wont work also. I even tried to reinstall LV6.1 and rebuild the application, same problems. The strange thing is that those exe's work perfectly under win98 and 2000. The problems started after upgrading my pc with a new motherboard and processor (P4) and reinstalling all the software including XP.
Re: This message internal fault graphobjs.cpp in line 56 pops...
Ken, Thanks for the response. In preparing to gather the information you requested I have been unable to reproduce the crash. This is good I suppose but doesn't help much in finding the problem. All that I can think of at the moment is that some code was modified but not intentionally in connection with this problem. I will resubmit if it comes back! Thanks again, Fran
Digital input change detect
Hello, I use three DIO-32HS and a RTSI bus and I want to write data of the three port when one of the port of the second card change. For that I have adapted the vi Cont Change Detect (Async): I have added a new slave card. Then to read data, my sub-vi read is in a boucle while and when my acquisition is finished, my data are written in a file due to indexation. But i have a problem, this system function at 200 Hz, but for more important frequency, i have some false value in my file. If you are a solution or an idea for the error, thanks. En fran=E7ais: J'ai trois cartes DIO-32HS et un cable RTSI et je dois r=E9aliser une capture des donn=E9es avec d=E9tection de changement de valeur sur l'un des ports du deuxi=E8me p=E9riph=E9rique. Puis =E9crire cela dans un fichie= r. Pour cela, j'ai adapt=E9 le vi Cont Change Detect (Async), en g=E9rant un port suppl=E9mentaire, puis pour lire mes donn=E9es, j'ai utilis=E9 mes trois vi DIO read dans une boucle while et d=E8s que l'acquisition est fini, j'utilise l'auto-indexation pour remplir mon fichier. Ce principe fonctionne tr=E8s bien pour des fr=E9quences inf=E9rieures =E0 200 Hz, mais pour des valeurs sup=E9rieures cela pose un gros probl=E8me : il y a des valeurs suppl=E9mentaires dans mon fichier et je ne sais pas pourquoi. Aussi, si vous avez une id=E9e pour r=E9soudre cela, ou de pourquoi de l'erreur, je suis preneur. Merci d'avance, Nicolas
Does anyone know how to locate where a standard labview vi is in a library?
I have vi's I built that access standard labview vi's. I can't seem to find the SQL vi's (SQL Execute.vi,...etc). It says that they are supposed to be in \program files\national...\labview 6\user lib\xx but are not there? Any help would be appreciated.
Connecting to Access 97 Database sporatically freezes my application, why?
I have a program written in LabView 5.1 that interfaces with a DB to gather test data. This program was functioning fine for about 2 years and then all of a sudden started to have problems. There were no updates to the DB that I know of. The DB resides on a networked drive, the same one that it resided on for the 2 years it worked. Now I can sometimes (very rarely) get the test data from the DB without freezing. I have traced the program through and found that it is freezing on the SQLCIN.vi. This .vi is used in almost ever SQL function but it fails when the Connect.vi is using it. I have noticed that inside one of the Where Loops the DSN will not get passed to the Connect.vi about 3 times and then it finally get's passed and finds the data. The connect will not fail when there is no DSN specified but if it is going to fail it will only do so if the DSN was succesfully passed in. Even with the DB residing locally this problem persists. I have also downloaded and example that someone posted to this site of how tO access a .MDB file and performing several Reads with this sample program that freezes as well. I suspect that it may be drivers that are the problem, I am running on an NT4.0 SP5 machine, MDAC v1.5
Re: Calculating statistics from an array with intervals
In your false case you need to fill in the {0,0} missing elements. The only way that you hit the false case is if you come across a time stamp that is larger that the current interval. So, what you should do is put a loop in the false case that add the correct number of elements to catch up to the interval that will contain your next value (the one that cause the false case). That is probably the easiest change.
Re: extract and display array elements
Thank you so much Jean. That really helped.
Re: Curseurs sur un graphe déroulant?
Les curseurs ne sont disponibles que sur les graphes et graphes XY. Vous pouvez quand m=EAme simuler un graphe d=E9roulant =E0 partir d'un graphe, en construisant au fur et =E0 mesure un tableau , en utilisant un registre un d=E9calage et en l'affichant de la m=EAme mani=E8re =E0 chaq= ue nouveau point. Dans ce cas, pr=E9cis vous aurez acc=E8s aux curseurs. Le seul probl=E8me qui peut se produire dans ce cas, est que vous allez peut =EAtre avoir une saturation m=E9moire si votre application tourne relativement longtemps ou si vous fa=EEtes l'acquisition de nombreux points. Cela est du =E0 la fragmentation de la m=E9moire. Bonne continuation
Re: compteur décompteur sur labview pr
Il exitse bien un VI qui permet de g=E9n=E9rer des signaux triangulaires. Il se situe dans la palette Analyse g=E9n=E9ration de waveforms waveform Triangulaire. Bonne continuation
Re: Calculating statistics from an array with intervals
Sander, I'm 100% sure I could help you... if I knew what you were trying to do. The more I read your description, the less I understand, and since I don't really know what you're trying to do, I can't do much with your code. It seems to me like your real problem is your ability to partition the original array into smaller arrays to do calculations on. If you can describe to me EXACTLY how the arrays are supposed to be partitioned, then I can help you out, even write you a VI that will do the trick, but I'm fuzzy on what's supposed to be happening. Here's my understanding so far: Everytime an element in the first column satisfies some value, it corresponding value in the second column is set aside to be used later. Help me help you.
Why does a strictly Typed Control cause error 1082
I have a main VI which has strictly typed clusters for user control. I load a subVI into a subpanel within the main VI. When I run the Main VI, everthing works fine until I change a value within the one of the strictly typed clusters. I get an Error 1082 for the subVI. None of the strictyly typed clusters are in the SubVI. If I do not load the SubVI, changing the values in the strictly typed cluster produces no error. Any help on what might be the problem here?
Re: How to use a USB-to-parallel adapter to communicate with my switch device?
Hi Kelvin, I understand that you want to control pins on your serial port using LabVIEW. Since you are using Windows XP, only LabVIEW version 7.0 will be able to control the pins. The pins can be controlled by modifying the values of the access registers that windows associates with each pin. If you are using LabVIEW 7.0, then the VI's located on the Funtions Advanced Port I/O palette should help you assign values to the proper pins. This information can also be found on another discussion forum thread located at the following url: http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=135HOID=5065000800438AUCATEGORY_0=_49_%24_6_UCATEGORY_S=0 Thanks for contacting NI, and I hope this helps. Marcus G. National Instruments
Re: Does anyone know how to locate where a standard labview vi is in a library?
When I installed the toolkit for 6.0 and 6.1, it got put into \vi.lib\addons. Under that, you should have a SQL folder with Access, Intrface, and Menu folders under that. That was with version 3 of the toolkit. If you don't have the files anywhere, you should try reinstalling the toolkit. They are not part of the normal LabVIEW distribution so if you recently upgraded or did a reinstall of LabVIEW, you wil have to install the toolkit separately.
Re: Implace Array Functions
Hello, I appologize for the mistake. The link that I sent you was indeed to an internal document. Here is a link to another, public knowledge base that may be of help as well. It will help you determine where LabVIEW is creating new buffers. http://digital.ni.com/public.nsf/websearch/C18189E84E2E415286256D330072364A?OpenDocument Sorry for the inconvenience. I hope that this help. Take care! Aaron B. National Instruments
Re: techniques for a synchronous long-life data acquisition
Yes, you have the general architecture correct. Let us know how well the idea works for you. Preston Johnson
Re: Is it possible to debug into DLL created by LabVIEW App Shared Library Builder
Hello, You would have to debug the VI (labview created dll) prior to compiling it and calling it. There is no other way of debugging it. Good luck and have a great day! Koninika National Instruments
Re: tutorial labview 7 en francais
tu trouvez ce livre =E0 www.amazon.fr LabVIEW : Programmation et applications de Francis Cottet Table des mati=E8res Les concepts et l'environnement de programmation LabVIEW#8482;. Les bases de la programmation LabVIEW#8482;. Applications : traitement de donn=E9es. Applications : acquisition de donn=E9es et automatisation. Applications : =E9change de donn=E9es et communication. Programmation avanc=E9e en LabVIEW#8482;. Annexes. R=E9f=E9rences. Glossaire et sigles. Lexique anglaisfran=E7ais dans le contexte de LabVIEW#8482;. Lexique fran=E7aisanglais dans le contexte de LabVIEW#8482;. Index. Langue : Fran=E7ais =C9diteur : Dunod (9 novembre 2001) Collection : EEA Format : Broch=E9 - 432 pages ISBN : 2100056670 Dimensions (en cm) : 2 x 17 x 24
can't delete bad icons in controls pallette
I am trying to make more effective use of the user palettes in the function and controls palette. For example I have created a folder (using windows) for a certain instrument and the folder contains VI's and CTL's (and maybe a sub folder for low level VI's) that I consider as generic and reusable. When I manage the function palette view, I create a new sub menu and link it to the folder. So far so good. Then I find out that I need to make the submenu in the controls palette, too. No problem. But then I select the wrong folder or I want to get rid of some submenu and.. I doesn't allow me to delete it!!! This only happens in the controls menu, which is slowly accumulating more and more useless sub menu icons. On top of that it seems to automatically generate CLT sub menus!! GGRRR! This is not quite foolproof..mm Anybody know what is going on here? (did I mess up the root or user.lib mnu file?) Thanks for the input Aart-Jan
Re: dinamically reading load cell
Looks like this might get lost, so I hope to help get it going I would imagine that the most difficult part would be getting the mechanical engineering / handling correct. 1) Is this your own mechanics ? 2) How are you managing damping of the system? i.e. When the tray 'hits' the load cell. 3) Are you sure it's not resonant / resonating ? Have you tested for resonance ? See damping. 4) Can you correlate actuals with data at lower speeds ? Post signal data as an example. Suggestions === I would suggest that you post a picture (It's worth a thousand words) or two and some sample data, then you might get a fuller answer.
Re: How can I communicate betwen parallel asynchronous VIs?
Hi Rob, Thanks for your suggestion. I had seen that method of changing the value of some panel's control before, but it hadn't occured to me to use in that manner. I thnk that's actually a pretty clever, and could be quite useful. Unfortunately, this method wouldn't really work the way I want. My task is an iterative one, being run in a while loop. Between iterations of the loop, there is a set delay time. In certain situations, this can be quite substantial. I was attracted to using notifiers because of the Wait on Notification function. This would allow me to track the amount of time spent waiting, but I could break out of the wait period instantly when I received a command. If I used the Wait function and specified a certain length of time, I can do nothing until that time has elapsed. So if the delay is 10 seconds, my VI won't terminate for 10 seconds. I could break the wait down into several sections to reduce the time between sending the command and receiving it, but this would amount to polling a variable and I don't want to do that. In any case, sincere thanks for your suggestion. Victrick
Re: can't delete bad icons in controls pallette
From what you said, you may have some synchronization problem. Synchronization means this palette will check a certain folder to see if anything new is added to it everytime LV launches, and automatically update its content to have new stuff in this folder. This is what you can check: 1. By default, the top most level of controls palette synchronizes to \vi.lib\addons folder. If you happen to put your controls in this folder, they will show up at the bottom of your top level controls palette. 2. By default, the user librariy palette synchronizes to user.lib folder. If you put your controls in this folder, they will show up in your user library of your controls palette. If your case is the above two, you can move your controls to other folders to avoid having them show up automatically. 3. If one of your own subpalette has undeletable items, then you can go to the parent palette of this subpalette, right-click on this subpalette icon, see if Synchronize with Directory is checked. If so, that's the problem. Uncheck it will stop synchronization, and you can delete the items in it. The same synchronization behavior exists for functions palette too. Hope this helps!
Re: Inverse FFT's
The IFFT in LabVIEW 7.0 requires you to enter the complete complex input array, that is also including the complex conjugate mirrored array. Earlier versions of LabVIEW were assuming your array to be complex conjugated so this was optional. So if you want your N samples to be real, you have to make sure your complex input array also contains N samples and that H(n) = H*(N-n) and that H(0) and H(N/2) are real. See for example the following exchange and associated examples on how to implement this correctly. http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=135HOID=5065000800F9BDUCATEGORY_0=_49_%24_6_UCATEGORY_S=0
Re: Generalize a search of an array of a cluster
This is great, this will definatly help, but I do have 2 different arrays of clusters than this will not work as well. Anyone know a way todo this even more generally? Possible by using variants as you Randall suggested?
Re: Having problems with Labview 7.0 after installing Windows XP Pro
Hi Sergio, Looking at your screen shot, seems like the bottom error does not even look like its a labview error. Did any of your drives interchange or was there any big directory structure change while you upgraded your operating system? Is that file located in the path labview is looking for? Does this error occur while you are running a specific VI or just opening labview itself? These questions will help me assist you further. Good luck and have a great day! Koninika National Instruments.
Re: Very slow performance of LabVIEW 6.1 under Windows XP
I am experiencing slow response from a vi in labview6.1 w/Winxp in general!
Re: LabVIEW PDA
It seems that all you need to know is how to program in LabVIEW! It only takes 4 step. At least, that is what suggest a href=http://digital.ni.com/worldwide/bwcontent.nsf/web/all/2C2CE61C7080735F86256E2A004F2FD3;the latest NI Newsletter/a. You need the a href=http://www.ni.com/labview/power.htm#pda;LabVIEW PDA module/a along with LabVIEW to develop you PDA application. I remember last year for NIWeek, you can get a small program developed with LabVIEW/PDA module from NI Week. All you needed to do is to copy the program to your PDA/Pocket PC. If you want to remove it, you just delete it. (My guess is that you can only debug in the PC, not in the PDA.) Unfortunatelly, I am not finding that program in NI website. I think I have it somewhere, so if you are interested I can look around to see if I still have it and post it here. About the customer having its own hardware... that's another story. You are more likely to obtain answers to your questions in the a href=http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=8RFORMNUMBER=3RHIDETAG=TRUEUCATEGORY_0=_50UCATEGORY_S=0;LabVIEW Targets/a forum. Regards; Enrique
2D interpolation from a randomly distributed 3D array
Hi, all I am facing a problem now and hope to get some help from you. The problem is: I collect a bunch of 3D data (x,y,z) which x and y are not uniformly distributed. To draw a contour graph, I need a matrix which is built from the (x,y,z) data. How can I do a 2D interpolation from a randomly distributed 3D array? Thanks for your kindly help in advance. Sincerely Xuesong Jin -- Dr. Xuesong Jin Physics Department Trinity College Dublin 2 Ireland Tel: 353-1-6083031 FAX: 353-1-6083037 Mobile phone: 353-087-7851016 Email: [EMAIL PROTECTED]
Re: Timestamped charts with variable numbers of plots
XY-graphs do not have an in-built buffer the way charts do (there is no XY-chart) so you will have to hold the data in a buffer/buffers you make yourself. A circular buffer is a good option for this. Let's say that when adding an input you dynamically create a circular buffer for it and you also make a functional global that administers the buffers (keeps a list of the signals available and which circular VI that holds it's data, in this case the timestamp X and the signal value Y). Now you can let the user see that list and select which ones to show on the XY graph. Every now and then you read that selection list. Wire the selection list to a for loop e.g. with autoindexing and inside it you call the circular buffers holding the data. You bundle the X and Y (or do it inside the buffer) and wire it out of the for loop...now you have an array of XY plots ready to be wired into the XY graph...refresh at a rate high enough to give a real time impression for the user.
Waveform graph legend
I have waveform graph of 48 plots. The first 16 plots are the actual data. The last 32 plots are the upper and lower limits for the first 16 plots. I have the legend visible and only expanded to for the actual data (first 16 plots). So there are only 16 plots in the legend. If the color one of the plots in the legend changes the color of the limits needs to change accordingly. I do this by using a property node (set active plot, plot color). But since legend is not expanded to include the limits an error 1077 Invalid property type is given. If all 48 plots are included in the legend I do not get the error. However I would prefer to not display all 48 plots in the legend. Has anyone else seen this? What are some ways to work around this? Regards, Chad The best thing to hit the Internet in years - NetZero HiSpeed! Surf the Web up to FIVE TIMES FASTER! Only $14.95/ month -visit www.netzero.com to sign up today!
Re: How to execute NIDAQ functions
See: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DD1356A4E034080020E74861p_node=DZ52434p_source=external
Re: dll
See: http://zone.ni.com/devzone/conceptd.nsf/webmain/5DF85B448EB081D8862568FF006A0B20?opendocument
How to set background color to black for PCI-1407 on 2nd target machine with LabVIEW 5.1
I have one machine run LabVIEW 5.1 with PCI-1407 card.The background of video picture is black. when I use same application exe file on the 2nd target machine, the background color of video picture turn into blue.How to set the video background color to black?
Re: HELP ME FIND HP3478A LABVIEW DRIVER
FIND IT HERE: http://zone.ni.com/idnet97.nsf/9b2b33e1993d877786256436006ec498/fa070628cf80790e862568ab005fb8ae?OpenDocument
Re: HELP ME FIND HP3478A LABVIEW DRIVER
Jonnie, You just answered 5 questions from 1999. The answers are great but maybe the timing is a little off?
Re: Generalize a search of an array of a cluster
perfect thank you very much
Re: Connecting to Access 97 Database sporatically freezes my application, why?
I haven't used the SQL Toolkit in a couple of years. I converted to A href=http://jeffreytravis.com/lost/labsql.html;LabSQL/A when I had similar problems. There's a couple of things you might try. First, if you don't do it on a regular basis, try compacting the Access Database or try some queries on a new database with only a small number of records. Second, try reinstalling Access. I had a couple instances where the local installation had gotten corrupted somehow. I also remember a problem with one of the NT service packs. You could try installing SP6 to see if that makes a difference. Lastly, MDAC 1.5 is pretty old. The latest version is 2.8 ubt I would try the other things first.
RE: join synchronization methods
Make sure the Wait on Occurence and Dequeue functions have no data dependency. Then wire the queue reference to an Enqueue function with a dummy queue element that is data dependent upon the Wait on Occurance. Wire the occurence ref to a Set Occurence function that is data dependent on the Dequeue function. To get fancy, you can check the queue element and if it matches the dummy queue element, do not do the Set Occurence. In order to do the same with the occurence, scrap it and use a Notifier instead. That way to can distinguish between your dummy trip and the real thing that trips the Wait on Notifier. Daniel L. Press PrimeTest Corp.
Re: How can I communicate betwen parallel asynchronous VIs?
Yes, unfortunately, event structures do not notice data changes when you use the VI server like this (only when you manually change the control - Doh). So that idea is out. It might be possible to build a parallel loop in the subVI that does nothing except watch for the button to be pressed and can then do what's needed to shutdown the subVI. A little awkward but functional. I take it that you don't want to use the Abort VI method from the Invoke nodes. That would be instant, but just ends the VI running - no orderly shutdown (if you need that). Well, have fun with it and let us know what you settle on for a method. Rob
Re: How can I communicate betwen parallel asynchronous VIs?
Not sure if this will help, but here's a trick I just used. The main loop handles UI stuff - changing which channel gets plotted, such things as that. It's a WHILE loop with an EVENT structure in it. A separate WHILE loop needs to run every 1000 mSec. It reads DAQ data, calculates averages, and stores data away. I set the DAQ loop to wait on an occurrence, with a 1000 mSec timeout. Inside the DAQ loop I put a CASE structure, selected by the TIMED OUT output from WAIT ON OCCURRENCE. If the occurrence timed out, I perform the DAQ operations, and loop. If it did NOT time out, it must have been triggered, so I terminate the DAQ loop immediately. Inside the UI loop, I trigger the occurrence based on a DONE button. Outside BOTH loops, I generate an occurrence that feeds to both TRIGGER and WAIT functions in both loops. You can make THAT connection thru global variables, or pass thru connectors, with no penalty.
Re: Use IBIC for a program
Hi Warren, There are some links at the bottom of the a href=http://zone.ni.com/devzone/conceptd.nsf/webmain/16944AE3C2ECB65D86256802007B9204?opendocumentnode=DZ52353_US;page/a mentioned by Dennis that will direct you to the specific Language Interface for your Visual Basic application. Examples are also provided on those pages. Hopefully that will give you a good start. Best of luck! Kileen Cheng Applications Engineer National Instruments
Re: labview 7 subvi's loaded from other sources
Hello Jim, There is an extremely useful KnowledgeBase (2CKGQ6G4) called, How Does LabVIEW Save Path Information for SubVIs? on our website at www.ni.com/support that goes into great detail explaining how LabVIEW saves path information for subVIs. Here is a direct link to the page: http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/3e58fdcf8744f86d86256aaf0078274c?OpenDocument I hope that this will be sufficient. Write back if there is anything that is unclear. Take care and good luck! Aaron B. National Instruments
Re: LabView Object Speed Specs
pp iBE AWARE OF WHAT YOU'RE MEASURING. /ip I just took my own advice. I re-measured the ADD operation by putting 10 ADDS into the frame 4 loop instead of 1 I get a loop time of 39.4 nanoseconds,meaning an add time of 3.94 nSec. I guess the original estimate (discarding the output) was better. My guess is that for the primitive functions like Add, Multiply, etc., it's faster to just do it than to decide if you need to or not. But I have seen certain functions perform WAY faster if the output is not connected.
RE: 2D interpolation from a randomly distributed 3D array
Here is a trick I picked up while searching for methods to blend images. Create a weighting function that is a function of x and y. Probably a gaussian or something like that. For each point, evaluate the functions using dx and dy distances from the point. Multiply by z and sum the values for all the points, then divide by the sum of all the weighting functions. In summary: F(x,y) = weighting function Z = sum F*z / sum F Bruce -- Bruce Ammons Ammons Engineering www.ammonsengineering.com (810) 687-4288 Phone (810) 687-6202 Fax -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jin Xuesong Sent: Wednesday, March 24, 2004 1:58 PM To: [EMAIL PROTECTED] Subject: 2D interpolation from a randomly distributed 3D array Hi, all I am facing a problem now and hope to get some help from you. The problem is: I collect a bunch of 3D data (x,y,z) which x and y are not uniformly distributed. To draw a contour graph, I need a matrix which is built from the (x,y,z) data. How can I do a 2D interpolation from a randomly distributed 3D array? Thanks for your kindly help in advance. Sincerely Xuesong Jin -- Dr. Xuesong Jin Physics Department Trinity College Dublin 2 Ireland Tel: 353-1-6083031 FAX: 353-1-6083037 Mobile phone: 353-087-7851016 Email: [EMAIL PROTECTED]
Re: Vi's text file..editing?
Can you provide more information on what you are trying to do? What do you mean by a VI's text file -- a text file of data generated by a vi? Or do you mean something akin to the equavilent line code of a block diagram? If your looking for line code, it doesn't exist. Tim
Re: HELP ME FIND HP3478A LABVIEW DRIVER
Yeah, you're right... Sorry about that, I'll try to keep it current from now on:) However, 1) I didn't feel like doing real work today, 2) it does say on the ni page: We need your help to answer every question in the Discussion Forums. (when did it break 1600?) and 3) I was frustrated when doing a search on the forums and finding the same question I had unanswered.
Do you support x10 or have x10 drivers?
Do you support x10 or have x10 drivers?
Re: Do you support x10 or have x10 drivers?
Max Steel; There are some X10 VIs you can download from a href=http://www.vicontrols.com/;VI Control Systems/a. Click on bDownloads/b. Regards; Enrique Vargas www.visecurity.com
Re: simple image processing sample vi ?
Richard Zhu; There are very limited a href=http://www.openg.org/tiki/tiki-index.php?page=Image+Processing;Image Processing tools/a at OpenG.org. If what you want is to process images, instead of going into the details on ihow/i to process images, then take a look at the a href=http://www.geocities.com/gzou999/index.html;G Toolbox/a. Regards; Enrique Vargas www.visecurity.com