Re: Passing data from subvi's several levles down to top level vi

2004-06-14 Thread CoastalMaineBird
Pass REFERENCES to the front panel controls thru sub1 --> sub2 --> sub3 In sub3, use an unattached property node - pass it the reference to a specific control, and set its VALUE property to the new value. Unattached property nodes are on the VI SERVER palette.

Re: Congratulations, Dennis Knutson!

2004-05-28 Thread CoastalMaineBird
Congratulations and a big THANK YOU from all of us out here in user-land.

Re: Reading a File and by using TCP/IP transfer protocol?

2004-05-25 Thread CoastalMaineBird
If you have ONE client and ONE server machine then you don't want to have FIVE TCP connections. 1... Design a data structure. It should hold your five values, plus a timestamp, or whatever else you want. Make it a TypeDef, for ease of changes, if you want. On the server (where the data comes fro

Re: Reading a File and by using TCP/IP transfer protocol?

2004-05-25 Thread CoastalMaineBird
Then I don't understand why you asked about files. The TCP/IP examples show how to transmit data blocks.

Re: write data to file periodically

2004-05-25 Thread CoastalMaineBird
The easiest way is to open (create) the file once at the beginning of the acquisition, and leave it open. You should use DENY WRITE permissions, at least, to prevent other apps from writing the file. Start with an empty array of data in a shift reg. Repeat Get new value Use BUILD ARRAY t

Re: write data to file periodically

2004-05-24 Thread CoastalMaineBird
If I understand you correctly, the act of writing the file is disturbing your timing on the data-collection part. You need to have an average of the latest 9000 samples (15 * 60 * 10), and write the new average every 100 mSec. Are you opening/writing/closing the file each time? While that's the

Re: I had a problem with Labview 7.0 and AI Config.

2004-05-24 Thread CoastalMaineBird
AI GROUP CONFIG is called by the higher-level AI CONFIG. You'll have to tell us what the error message is. Probably something to do with bad channel numbers.

Re: Reading a File and by using TCP/IP transfer protocol?

2004-05-24 Thread CoastalMaineBird
What specifically is your question? It's commonly done, but there's no built-in function for it. Here's one way: On the server side, you 1... Wait for connection 2... Open the file 3... Remainder = determine file size (in bytes) 4... Repeat 5...N = remainder 6...If N > 1024, N = 1024 (lim

Re: Max Number of Labview objects

2004-05-23 Thread CoastalMaineBird
What sort of "objects" are you counting?

Re: Max Number of Labview objects

2004-05-22 Thread CoastalMaineBird
There is no specific limit. It depends on what kind of objects, and how much RAM your computer has. In 15 years of LabVIEW programming, I have never encountered a problem concerning too many objects. I have run out of memory when slinging 50 MByte arrays around, but not in the code itself.

Re: Prevent deletion from file dialog

2004-05-22 Thread CoastalMaineBird
If it's that critical, then test for the INI file yourself, and create it if it's not there.

Re: smtp send message.vi has a wrong send time

2004-05-10 Thread CoastalMaineBird
I would suggest looking at your computer's DST settings - perhaps you have set the clock ahead but not turned on DST. If so, the conversion to GMT and back will not be correct.

Re: Constructing an image in real time

2004-05-10 Thread CoastalMaineBird
You don't say what the data represents. Is it 3-channel RGB? Is it intensity? You can use the intensity graph to show an X vs. Y vs. Intensity image. If you have a monochrome camera, that makes a fine image - just set your min and max colors to be black and white. If you mean RGB, one way is to sc

Re: Constructing an image in real time

2004-05-07 Thread CoastalMaineBird
Use the AI CONFIG to set up your acquisition. Use AI CLOCK config to set up your timing. Use AI TRIGGER CONFIG to set up your trigger. Use AI CONTROL to start the DAQ (use TOTAL SCANS TO ACQUIRE = 0 for unlimited scanning. repeat (While loop) Use AI READ with a NUMBER of SCANS TO READ = 0. Thi

Re: how to use notifiers?

2004-05-03 Thread CoastalMaineBird
So what happens when you put WAIT functions in the loops?

Re: how to use notifiers?

2004-05-02 Thread CoastalMaineBird
I would suggest using a WAIT function for 100 mSec or so in the main loop. If you don't have that, the main loop will poll your button at a million times per second or more. There's no need to poll the thing that fast - it will starve any other loops. It means that you will respond to the QUIT bu

Re: write jpeg.vi path issue

2004-04-24 Thread CoastalMaineBird
I browsed for the unix folder using safari.=A0 If you tried what I suggested, you might have better luck.

Re: Reading a file in a CIN

2004-04-24 Thread CoastalMaineBird
--3643137.1082680681924.JavaMail.quiq.tekken Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I'm not sure if it will help or not, but I have attached the detailed instructions I wrote up when wrestling with this last year. I needed C++ in a DLL (not CIN), and detailed th

Re: How to turn off new LV7 Ring Control behavior?

2004-04-24 Thread CoastalMaineBird
you will need to change both the Strings and Value property node. Drat - that's the part that breaks my code. Well, it doesn't "break" , but it's now uglier than it used to be. Thanks for the info.

Re: Inherited reentrancy?

2004-04-24 Thread CoastalMaineBird
OK - that occurred to me that there could be 4 values of V, but I wasn't sure. (It's good in my case). I had always thought about it in terms of callers - there is one V for each caller instance. But if the caller is reentrant itself, then S has FOUR callers, EVEN THOUGH there are only two instanc

Re: Inherited reentrancy?

2004-04-24 Thread CoastalMaineBird
OK, thanks. The confusing thing for me is that S would have FOUR callers (and thus FOUR values of V), even though there are only TWO instances of it in the code.

Inherited reentrancy?

2004-04-24 Thread CoastalMaineBird
I understand some things about reentrancy: Say my SubVI "S" has an uninitialized shift register that is supposed to remember some value "V" from one call to the next. If S is normal (not re-entrant), and S is called from two or more places, then there is only one V - each caller would interact wi

How to turn off new LV7 Ring Control behavior?

2004-04-20 Thread CoastalMaineBird
I have a ring control. While the program is running: 1... I set its strings array to { "A", "B", "C" } via property node. 2... I set its value to 1 or 2 (by selecting "B" or "C") via mouse. 3... I set its strings array to empty. 4... The control now shows a "<1>" or "<2>" in LV7, where it show

Re: draw an angle

2004-04-20 Thread CoastalMaineBird
Not enough information - you don't say how long the angled line is to be. Suppose your baseline goes from {X0,Y0} to {X1,Y1}. Your Angle point is {X2,Y2} Your angle is A (in radians) The cosine C = cos(A), the sine S = sin(A). You have to pick a length L. Then your end point {X3,Y3} would be {

Re: RS-232 Framing Error with HP 34401A Mulitmeter

2004-04-13 Thread CoastalMaineBird
"Framing Error" in an RS-232 context means a very specific thing - when the receiver was expecting a stop bit, the line was not in SPACE condition. This can be the result of: 1... Baud rate mismatch (although other problems would likely crop up first). 2... Data Length problem, If I send 8 data bi

Re: measure phase difference between two pulse trains or an encoder A-B phases

2004-04-13 Thread CoastalMaineBird
Three ideas: 1... Use CTR GROUP CONFIG to set up two counters. Use CTR MODE CONFIG to set up MODE 3 (Count Continuously), using an internal clock timebase. Use CTR Control to start the counters. Periodically: Call CTR BUFFER READ to check the backlog of readings waiting

Re: How to keep alignment in Windows LARGE and SMALL fonts

2004-04-13 Thread CoastalMaineBird
It seems your solution would be to either move the controls to allow enough space for the enlarged fonts? My solution, such as it is, is to space things so that labels with either large or small fonts work without overlapping, and while maintaining alignment with the numeric (or other) field they a

Re: How to keep alignment in Windows LARGE and SMALL fonts

2004-04-13 Thread CoastalMaineBird
All right, well, your statement that "to change the monitor's settings for dpi from something above 100 to something below." is what strikes me as wrong. I don't think you can tell the MONITOR to change DPI for text, but not for graphics. IN ANY CASE: IT IS A FACT that on my system, if I set a la

Re: calibration of the voltage

2004-04-13 Thread CoastalMaineBird
Well, we know that the VOLTAGE resolution is 20 V divided by 2^11 steps = 0.009766 Volts per step. Suppose your LVDT produces 0-5 V for a displacement of 0-10 inches. That's a factor of 10 inches divided by 5 Volts = 2 inches per volt. Multiply 2 inches per Volt times 0.009766 Volts per step, and

Re: How to keep alignment in Windows LARGE and SMALL fonts

2004-04-13 Thread CoastalMaineBird
ignoring the font choice and sticking to the small fonts would e.g. be better." Well, what I don't like about that is that it doesn't respond to the user's settings. Presumably, he switched from SMALL to LARGE fonts so he could maybe see larger fonts. If the text on MY program doesn't get bigger w

Re: How to keep alignment in Windows LARGE and SMALL fonts

2004-04-13 Thread CoastalMaineBird
the way small and large fonts work is primarily to change the monitor's settings for dpi from something above 100 to something below.=A0 This affects all graphics using text measuring system, mostly text, and decides how many pixels they use to get one mm or one inch of screen. Sorry, but that's

Re: calibration of the voltage

2004-04-09 Thread CoastalMaineBird
how am i wasting 2 bits. By using only one fourth of the input range, you are in effect throwing away two bits (2^2 = 4) since the full scale voltage reading is 0 to 5 volts then should it not be 5/2048 resolution. But you said the resolution of the CARD was +/- 10 Volts. The card doesn't know th

How to keep alignment in Windows LARGE and SMALL fonts

2004-04-09 Thread CoastalMaineBird
For years, I fought with LabVIEW, trying to keep things looking decent in both Windows LARGE and SMALL font sizes. By this, I mean Settings - Control Panels - Display - Settings - Advanced - General - Font Size I love to use large fonts - I run my display at 1600x1200 and it just looks better.

Re: calibration of the voltage

2004-04-08 Thread CoastalMaineBird
11 bits resolution (an unusual number, by the way) is equal to 2^11 = 2048 discrete values that a single reading can take. If your card has a range of +/- 10 V, then that's a 20-volt spread, divided into 2048 steps (I'll assume -1024 to +1023). That means you have a resolution of 0.009766 Volts. (2

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
You're probably tired of hearing me say this, but the global function idea is the best. A global variable makes a COPY of the data each time you read it. That takes time, and memory. If each of 3 window reads the global, and picks out a channel, then you've made 3 copies of the original data. Depe

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
The "problem" I mentioned won't be from the code itself. It will work just fine, insofar as it won't crash or puke or anything. But I don't know your requirements. The (potential) problem comes from this: Suppose the DAQ posts new data every 1000 mSec. Suppose each window replots every 1000 mSec.

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
No. Do NOT make it re-entrant. Your read and write operations should be quick. Assuming you don't have any issues about exact synchronicity between the windows, you're good to go.

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
this global function it will simply be a VI Correct. that is not reentrant Correct. that I will stick on every plot Correct. and the main form. Correct. So I would have the main form contiously aquiring this data and writing to the global function?=A0 Correct.

E-mail VIs - how to authenticate?

2004-04-08 Thread CoastalMaineBird
I am writing a proposal to add an e-mail notification feature to a DAQ app. In looking at the examples, sending the message seems simple enough EXCEPT I know my own e-mail provider requires authentication to send any e-mail ([EMAIL PROTECTED] spammers!). There is a separate password that is se

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
OK, the WAIT ON OCCURRENCE will solve that for you. They have a TIMEOUT input. Set it to 500 mSec or something, and that thread will not occupy the CPU until A) triggered, or B) timed out. You can tell the difference from the output and respond accordingly.

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
My guess is you have missed something. If the graph windows are waiting on occurrences, they should be waiting most of the time, I would think. If you have no signal generation, then I presume you have no updates, which means the graph windows never do anything except whatever your timeout functio

Re: Thanks a lot

2004-04-08 Thread CoastalMaineBird
It was nothing.

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
FYI: I just measured the SIMULATE SIGNAL express VI at 628 uSec to generate the default signal (100 samples, 1000 Hz) I just measured the SINE PATTERN vi (old standby for me) at 18 uSec (100 samples) That's 35x speed improvement. Maybe express IS your problem...

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
I have never used Waveform type. It does nothing for me. You are not forced to use that type - the EXPRESS VIs are for speed of CODING, not speed of execution. In the manuals for the RT (real-time) module (a project I am currently working on), it says something to the effect that you should nev

Re: Best way to pass an array of waveforms inbetween VIs

2004-04-08 Thread CoastalMaineBird
Occurrences have been around since LabVIEW 3, I think. Notifiers have not. I don't know who recommended Notifiers over occurrences IN GENERAL. All you're interested in is the fact that an update OCCURRED. When that happens, you will call the Data Source VI and ask for some channel's new data. A

Re: E-mail VIs - how to authenticate?

2004-04-08 Thread CoastalMaineBird
Great, thanks. I'm not an expert on the low-level stuff. So I'll have to parse the RFCs and emulate what a regular mail client can do. As long as that's possible, I'm OK...

Re: E-mail VIs - how to authenticate?

2004-04-08 Thread CoastalMaineBird
Thanks for the pointer. It didn't work out of the box, but I'm still trying.

Re: Combobox pausing operation of other VIs

2004-04-08 Thread CoastalMaineBird
If LOOP A has the graphing VIs and Loop B has the UI stuff, then Loop A ought to run and run and run, whatever happens in loop B. You can prove (or disprove) this by putting an indicator on the [i] variable of your graphing loop. If it stops when you adjust the combobox, then you have some sort o

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
I fixed the focus problem by changed the window property to floating.=A0 That's not a good fix - although the focus quits flashing, the windows don't - you can't control the Z-order (who's in front). Overlap the windows and see. The occurrences simply controlled the launching of the windows, not

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
If you have a re-entrant VI in each plot window, then they are NOT showing the same data. The re-entrant attribute means that each copy of the VI has its own data space. In your sine-wave example, the results might be the same, but it's really two (or 3, or 4...) copies of the same data - not mult

Re: creating enum from list

2004-04-08 Thread CoastalMaineBird
I don't think you can do that. A LabVIEW enum includes the string names as part of the data type. You cannot change the data type of a control or indicator programatically. If you use a TEXT RING or a MENU RING, then you can get approximately the same behavior - you can set the STRINGS property of

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
I don't have time to figure out xeactly what you're doing, but here's some ideas from a previous project I did - maybe they'll fit: The project had one main window, and six sub-windows. The main window had a button for each sub-window, to call it up. Each sub window ran on its own, offering a di

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
A global function is a VI whose principal job is to store some data (typically in the shift registers of a WHILE loop with LOOP set to false). At one time (LabView 2 and earlier) there were no global variables. The way you stored something for use by two or more independent VIs was to have a VI wi

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
Occurrence refnum controls are on the REFNUM palette - you can pass them thru connectors, or make globals out of them. Or you can pop up on the GENERATE OCCURRENCE terminal and choose CREATE INDICATOR or CREATE CONTROL. The Shift Reg. is just a place to store them. You could probably use global va

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
why do you put them in a shift register?" Also, at the time, I didn't realize that Occurrences were special, in that a given instance of the GENERATE OCCURRENCE function will always refer to the same occurrence, even if it's been called before. In otherwords, the function that generated them didn'

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
The way I have wrote it causes the windows to lose and gain focus as expected.=A0 Does anyone know how to stop the focus from constantly changing?=A0 The focus is changing because the execution is changing (in the same thread). You have the VI with the graph execute, and then quit. This will lose

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
You have a rather hairy state machine going on (I looked at your code again). The difference I see is that you have ONE button which spawns window #1 or window #2 or window #3, depending on who's up already. But the logic to support that is part of the polling process of every loop. My app had one

Re: Multiple Plots In Seperate Windows

2004-04-08 Thread CoastalMaineBird
thats really similar to what I am doing its just that my main form sends data which is causing the flashing.=A0 --- I would suggest putting the data into a separate global function (better than global variable for non-trivial amounts of data), and letting the "slaves" pull it out. At least that's

Re: How can I define where my program opens a dialogue (for example in the middle of the monitor)?

2004-04-08 Thread CoastalMaineBird
Are you using the standard SAVE dialog? Or are you using a custom VI as a dialog? If you're using the standard box, you can't change its location. You could move the window that calls it (the one with the info you want to see). Make it bigger, move the buttons to the outside edge, whatever. You

Re: write jpeg.vi path issue

2004-03-30 Thread CoastalMaineBird
made sure that I used=A0 backslashes in the path for the write jpeg vi for the unix server. Backslashes are a Windows separator - it's not universal. Mac uses ":" as the separator (for historical reasons - even though it's "/" in the Mac command line. You need to compose your path using colons,

Re: musica

2004-03-30 Thread CoastalMaineBird
Ruido.

Re: Conditionally capturing certain data while continuously acquiring data

2004-03-30 Thread CoastalMaineBird
Your XY Chart only shows the most recent capture. If you want to have an array of them, you have to build an array. Put a shift register on the WHILE loop. Initialize it with an EMPTY array of X-Y pairs. Inside the CASE TRUE, append the new X-Y pair (you just captured) to the shift register left

Re: Binary newbie in need of assistance

2004-03-30 Thread CoastalMaineBird
It's not clear to me - are you reading the data from the A/D, or are you reading the data from files? If you're reading from files, then you have to know the file format. I would GUESS that the files would be an array of I16s - signed 16-bit integers, with four bits wasted on each sample. It's PO

Re: Query Results into drop down menu

2004-03-30 Thread CoastalMaineBird
I don't know about the database end of it, but you have to get the dates into an array of strings (one date per string). Once you have that, use a TEXT RING or MENU RING (your choice). Create a property node for it, and put your array of date strings into the STRINGS [ ] property of the control. T

Re: Conditionally capturing certain data while continuously acquiring data

2004-03-30 Thread CoastalMaineBird
Your use of the terms "Waveforms" and "amplitude" implies a measurement of many samples into one number (for each channel). For example, if your signal was pure 100 Hz, 1.000 Volts peak, and you captured a 0.1 second block of that signal, then you would have 10 cycles in the capture buffer, varying

Re: Inverse FFT's

2004-03-25 Thread CoastalMaineBird
making my real set of data complex by adding an imaginary part equal to zero. Not sure why you're doing that instead of usinig REAL FFT and INVERSE REAL FFT. Are you sure you're generating the imaginary array the same length as the real array?

Re: Inverse FFT's

2004-03-25 Thread CoastalMaineBird
I just ran your problem waveform through REAL FFT and INVERSE REAL FFT, subtracted the difference and got an error of 7 e-11 on the DC term, and all other errors are on the order of e-14. LabVIEW 7 Mac OS X

Re: LabView Object Speed Specs

2004-03-24 Thread CoastalMaineBird
BE AWARE OF WHAT YOU'RE MEASURING. 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 i

Re: How can I communicate betwen parallel asynchronous VIs?

2004-03-24 Thread CoastalMaineBird
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 s

Re: Why timer anomalies in event structure?

2004-03-23 Thread CoastalMaineBird
< slaps head > Well, duhhh.. I should have seen that. If it's 999 mSec into the timeout when the "wait" event occurs, then it will add 200 mSec to the 999, and start another timeout counter at 1199. If that one times out, then I'm sitting at 2199 mSec between events. Sometimes I can't see the fore

Re: What Mac OSes will LAbview 3.1.1 work on?

2004-03-23 Thread CoastalMaineBird
< dials into the WAYBACK machine > If I remember correctly, that's a 68k-only version. I belive it required 7.0 as a minimum. So my answer would be system 7.0 - 9.1 ( I think 9.1 is 68k also).

Re: Speed Contest...Linux Vs Windows

2004-03-23 Thread CoastalMaineBird
Before you make ANY decisions about alternate platforms, the first question you should ask (and answer) is "Where is the time being spent?" The PROFILE tool can help with that. Are you initializing a new DAQ operation every time? You shouldn't. 20 RPM = 0.333 Hz = 3 Sec per rev. At 4000 clicks

Best way to programatically re-size graphs?

2004-03-21 Thread CoastalMaineBird
I have a window that pops up, containing X-Y graphs, that are say, 600 pixels wide. Under some circumstances, I want to reduce this to say, 400 pixels, and uncover a cluster of numeric displays occupying the other space. I would like to set the BOUNDS.WIDTH of the graph so that it extends right u

Re: Best way to programatically re-size graphs?

2004-03-21 Thread CoastalMaineBird
The logic behind this is that the difference between the total bounds, and the plot area is constant. I don't think that's true, given the fact that the window may be resized, and the graphs will scale with it. I *-THINK-* I have it working using a dummy button, rather than a decoration. If the

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-05 Thread CoastalMaineBird
OK, that's farther up the CompSci tree than -I- can follow, but as long as it's a known behavior, I can deal with it. =A0 By the way, this doesn't happen at compile time as the VI doesn't need to be recompiled for this to happen, but it does happen on load. That makes sense, because in my real ob

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
When you have a shared nonreentrant subVI, and one caller is high priority and one is lower, then the subVI's priority is boosted to match the higher of the callers. --- Notice that my later tests prove that you don't need TWO callers. The same effect is apparent with only ONE caller. To recap: h

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
When you have a shared nonreentrant subVI, and one caller is high priority and one is lower, then the subVI's priority is boosted to match the higher of the callers. --- You suggested this before and all tests seem to bear this out. but the lower priority VI will need to go through thread context

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
Thanks for the link, though I'm not sure it applies. 1... I'm not using RT things - there's not an RT board present. 2... These shared resources include global variables, non-reentrant subVIs,... -- So a non-reentrant subVI is a "shared resource". 3... Priority inheritance allows the lower priorit

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
The problem with this idea is that in the case where I don't load the dummy caller, the resource is not "shared" - there's only one call to it! Apparently the fact that the subVI is higher priority is enough to get it to be declared "shared", even though there's no competition for it. Do you ag

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
I am leaning toward this being the OS related. For what it's worth, I DID verify that setting the priority of the tester to match the dummy caller restores the normal execution time. Also for what it's worth, I ran the same tests on Mac OS X. The same behavior results, except that the difference

Re: Why does priority of NON RUNNING vi affects execution time of

2004-03-03 Thread CoastalMaineBird
Regular VIs are greatly affected by whether the panel is in memory and whether the panel is open.=A0 I suspect that you have eliminated these effects, but it is always worth restating.=A0 After any of these changes to priorities, perform a Save All before taking any timings. --- I understand that,

Re: Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-02 Thread CoastalMaineBird
If I set the "wasteTime.VI" as sub-routine, the undesirable effect goes away! Hmmm - that works for me too. In the real case, the "Object" has a subVI which has a subVI. I have to set those to subroutine as well, because a subroutine cannot call a non-subroutine priority VI. But I think that's O

Re: Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-02 Thread CoastalMaineBird
If the OBJECT is set to: the time is : RE-ENTRANT - NORMAL - SAME AS CALLER 11.2 mSec NORMAL - SAME AS CALLER 28.9 mSec RE-ENTRANT - NORMAL - OTHER1 33.8 mSec NORMAL - OTHER1 29.2 mSec All of that with the phony caller (that's not running) set to

Re: Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-02 Thread CoastalMaineBird
How about if everything is set for the same thread? This would rule out the thread swapping theory. --- That's where we came in. I just double checked, and everything is set to NORMAL - SAME ExeSys AS CALLER (Non re-entrant). The times are about 11.4 mSec. If I set the DUMMY priority anywhere abo

Re: Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-02 Thread CoastalMaineBird
Is the "object" configured to run in the "Same thread as caller"? Yes. But that doesn't explain (to me) the connection - given that one execution path is not even running, why is the other penalized? MORE INFORMATION: If I make the object RE-ENTRANT, the execution time is back to "normal", regard

Re: Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-01 Thread CoastalMaineBird
MORE INFORMATION: If I put the "Object" VI (normal priority) in a brand-new VI, the tester shows the faster execution time. If this new VI is set to ABOVE NORMAL priority, the execution time balloons upward again. If I raise the TESTER's priority to match (or exceed) the new VI's priority, it's

Re: Setting a property of a substring fails only during first execution.

2004-03-01 Thread CoastalMaineBird
It fails because there is no text in the indicator the first time. You are setting the attributes BEFORE you set the text into the indicator. With no text present, you can't set SEL START or SEL END to anything but 0.

Why does priority of NON RUNNING vi affects execution time of subVI?

2004-03-01 Thread CoastalMaineBird
I'm chasing a weird timing problem. LabVIEW 7.0 + Windows 2000 I have a VI (called "the Object"), whose purpose is to store and retrieve numerical values by name. The name is hashed, converted to an array index and the values are read / written to an array slot. That all works fine. I have a

Re: create a small data base stored in a file

2004-01-05 Thread CoastalMaineBird
No, I program for a living. Everything you need is in my previous answer.

Re: create a small data base stored in a file

2004-01-05 Thread CoastalMaineBird
For something this small, use a single VI to manage it in memory: It has a FUNCTION input, an enum with values of (INIT, READ FILE, WRITE FILE, ADD ITEM, FIND ITEM). It has a CLUSTER input, which is your record type {Item number, serial number, time stamp, description} It has a CLUSTER output, o