RE: Dealing with large file

2004-05-19 Thread Baroni, Nicholas
An even more stupid limitation is the 32000 data points per series.
I mean, what is it with that?
It is not as if 32000 is related to some power of two in a neat way.
At least 65535 rows is 2^16 - 1.

Nick.


Subject: RE: Dealing with large file
From: Michael Aivaliotis [EMAIL PROTECTED]
Date: Tue, 18 May 2004 13:30:38 -0400

snip
I agree this is a stupid limitation of Excel.
snip

Notice - This message contains privileged and confidential information intended only 
for the exclusive use of the addressee named above. If you are not the intended 
recipient of this message you are hereby notified that you must not disseminate, copy 
or take any action in reliance on it. If you have received this message in error 
please notify us immediately. Opinions, conclusions and other information in this 
e-mail and any attachments that do not relate to the official business of the firm are 
neither given nor endorsed by it. Any documentation produced using this data is 
uncontrolled and not subject to update. The recipient is responsible for reviewing the 
status of the transferred information and should advise us immediately upon receipt of 
any discrepancy. Any design details are applicable to the intended project only. 
Subject to contract, we retain copyright of all the transmitted material and it must 
not be reproduced wholly or in part, or supplied to any third party without our




Re: [W] Capturing the keyboard

2004-05-19 Thread Marco Tedaldi
George Zou wrote:
Marco,
Are you sure the video stops playing because loose the focus?
Is it posible because loose foreground?
Oh, that's a really interesting question. I can't answer this, because I 
don't know a way of letting the Application loose focus without loosing 
foreground too :-(
Would it make any difference?

Have you tried to set the video window as topmost window ?
No, not until now. But I don't think this application has a setting like 
always on top or something like this :-(

It is indeed posible to capture keyboard events from another
application,  but it's not easy.
What do you mean with not easy?
I've managed to geht the keypresses, that's easy, but I could not 
supress them for the other applications.
By searcing the net, I've found out, the user32.dll has the 
functionality in need in it. The function is called SetWindowsHookEx 
(with the possibility to forward the Event back to windows or just 
supress it). But with the documentation I've found from microsoft 
(http://msdn.microsoft.com/) I was not able to find a way to use this 
functionality in LabView.

Bye and thanx
Marco



Re: DAQmx, etc.

2004-05-19 Thread Uwe Frenz
Tim,
you asked on Tue, 18 May 2004 10:24:03 -0700:
In LV6 the 'AI read.vi' hogs the CPU waiting for the number of samples 
requested to be available. someone (sorry for not remembering the name)
came up with a 'non-blocking AI read.vi' which i have been using happily.
i noticed the new DAQmx 'contgraph.vi' is hogging the CPU also.  is 
there a cure for it ( i think it makes DLL calls)?
The idea bvehind this 'cure' is in a 1st call to ask for 0 (zero) samples 
and to get the number of availabel samples from that call. Than in a 2nd 
call ask for that number only. If you need more, wait an apropriate time 
and repeat.
another question:  i've been using LV2 style globals to pass data 
between parallel loops
and am wondering if a queue is a better way to go?
Both ways will work. Speed will probably not vary much. But queues are in 
the end easier to handle and maintain and to separate into different VIs. 
For example, a listener VI can autostop when the queue gets destroyed by a 
(the) writer. You do not need any extra technique to stop that -otherwise 
independent- loop.
AND queues are variant as inserted from the libs; YOU define their data 
type when creating a new queue. A LV2-style global has to be made variant 
to function that way. (My older templates used strings as data format for 
LV2 globals and casted any given data to/from strings).

HTH and
Greetings from Germany!
--
Uwe Frenz
~
Dr. Uwe Frenz
Entwicklung
getemed Medizin- und Informationtechnik AG
Oderstr. 59
D-14513 Teltow
Tel.  +49 3328 39 42 0
Fax   +49 3328 39 42 99
[EMAIL PROTECTED]
WWW.Getemed.de



Re: Problem with atof within a C++ DLL which is used in Labview 6.1.

2004-05-19 Thread Sven Bone
Today I will check the localized settings. That could be one possible
solution.

The C-Environment and the LabView environment are running on two
differnt PCs. But I am sure, they are using the same MSVC libraries
because I installed them on both PCs from the same CDROM.

You ask me, if the string I passed to the DLL is ok? I do not pass any
string into the DLL. A function within the DLL reads the strings out
of an INI file and converts all necessary parameters to a double value
(atof). These parameters are completly used within the DLL. There is
no exchange between LV and the DLL.

Sven Bone



RECHERCHE SCRIPT PID EN DAQmx....

2004-05-19 Thread STEPHANE95
j'ai d=E9j=E0 le PID control loop.vi en DAQ traditionnel; comment avoir
celui correspondant en daqmx ??
je dispose de labview 7.1 et de daqmx7.2
merci d avance



Re: What happened if i check the property called Reentrant in SubVI's?

2004-05-19 Thread Mads
Yes, you can pretty much multiply the memory footprint of the
reentrant VI with the number of instances you have. In other words
having 50 instances of a 300K VI will cost you quite a bit of
memory...if the VI is smaller it's not that much a worry though.



how to install and use labview goop wizard in labview 7.0 or 6.1

2004-05-19 Thread [EMAIL PROTECTED]
is there any tool kit for implementing my application using goop
concepts



Re: help

2004-05-19 Thread kingsoon
Bonjour

C est exactement ce dont j avais besoin.

Merci encore



Intelligent Stepper Drives

2004-05-19 Thread Steven Hammer
George,
I use a Parker L25i intelligent stepper drive. They're modular (plenty 
of room for expansion if you choose the correct power supply), use RS232 
and can also store their own programs, which I find really handy for 
repeated moves. They're not exactly expensive either, and they can even 
be DIN-rail mounted for extra industrial appearance.

They come with their own terminal-type program which isn't worth the 
hassle if you want to do any serious programming. Figuring out the 
command format to use it with VISA isn't too hard though with the likes 
of Portmon. I have done that myself, and I have VIs that can control the 
thing which are in development.

Hope this helps,
Steven

Subject: Intelligent Stepper Drives
From: George Gatling (Contractor) [EMAIL PROTECTED]
Date: Tue, 18 May 2004 14:41:39 -0400
I am building some linear stages to be controlled by labview...
--
Steven Hammer
Research Associate
Institute for Materials and Processes
The School of Engineering and Electronics
The University of Edinburgh
Sanderson Building
The King's Buildings
EDINBURGH EH9 3JL
Scotland
United Kingdom
Tel +44 131 650 5685
 or +44 131 242 6294
Fax +44 131 667 3677
Email [EMAIL PROTECTED]
Web   http://www.see.ed.ac.uk/~shammer1



Re: pointer to array

2004-05-19 Thread ivan_div
Ok, let's do this the easy way... You said: If you would call the DLL
fucntion through Call Library Node instead,LabVIEW would do all the
work for you.

How?

I'm calling the function from the DLL but it still expects a pointer
as an input parameter (pbyData). How can I feed in a simple array of
U8 ?

thanks for the help,
Ivan



Re: Capturing the keyboard

2004-05-19 Thread Rolf Kalbermatter
Marco Tedaldi [EMAIL PROTECTED] wrote:

We've got a Video-Application (not in LabView) which should show a video 
on the same screen as the labwiew-application runs. The Problem ist, 
that de Application stops playing the Video as soon as it looses the 
Focus :-( But the Operator needs to write some Data in the Labview-App 
while watching the Video.

With the Initialize Keyboard.vi and the Acquire Input Data.vi I can 
get the Keyboard-Events even if the my app is in the bakcground, but the 
main-application still gets the events too, which could possibly disturb 
it :-(

There you have a dilemma. The active window is also the one which has the
keyboard focus and the whole concept of Windows is based on this. You might
be able to trick a little with this with floating windows if they would be
all in the same process but as separate process you can't make a window in
one process active and give another window in another process the key focus.
To do that you would have to deeply intervene in the Windows kernel itself.

So I'm seeking for a way to capture the events completely whitout 
another application recieving them. As Bonus it would be great, to 
forward the unused Keys to the main-app.
This should work on Windows. Portability is no issue at the Moment, so I 
  could also use System DLLs or DirectX.

Well, one way you could do this is writing a system wide keyboard hook in
a DLL but this is going to be very tricky. The reason your video stops
playing is probably because the video playback is driven by the windows
message queue itself instead of in a seperate thread which can keep running
eventhough the application is not active anymore. Using system wide keyboard
hooks which pass the key first to LabVIEW to then pass it back to the
application if LabVIEW didn't eat, it could slow down your video app very
seriously.
If my assumption of the reason the video stops playing is correct, another
way could be however to just sent the main window of your video app regularly
dummy events from within the LabVIEW app. Sending WM_NULL messages might be
already enough to keep the video playback going and then your app wouldn't
need to be active to keep playing. It would have the additional benefit of
not misbehaving if the user happened to click into the LabVIEW app window
and make it active instead.

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]
 





modify the custom date format of XY graph by programmation

2004-05-19 Thread Gael_Robin
Hi everybody

I want to modify the custom date format and the custom time format of
XY graph by programmation
Is it possible ?



pointer as an input parameter in call library function

2004-05-19 Thread ivan_div
Hi!

I have a shared library (dll created in C++) that I
want to access with Call Library Function. One of the
function in this library needs a pointer to a memory
buffer as an input parameter in the following way:

long SetData(unsigned char *pbyData, unsigned short int *wDataLength);

- The parameter pbyData (type U8) points to a buffer that contains an
array (type U8);

- wDataLength (int32) is the length of that array.

What should I connect on the input of this function? Let's say I have
the array I want to feed in into this function, how do I do that?

Thanks in advance,
Ivan



Unit indicator is not updated in Numeric Control

2004-05-19 Thread matthias.richwin
Hi,

I observe the following problem in LabView 7.0: I have a numeric
control with unit indicator. Depending on the value, the unit
indicator should change its prefix (kilo,milli,etc.) and the displayed
value is scaled accordingly. However, this does not work correctly:
The value gets scaled, but the unit is not updated. I.e.,

1. value is 100 mm, display is 100, unit is mm
2. values is .01 mm, display is 10, unit is still mm, but should be
=B5m!

More striking: The unit gets updated correctly once the user clicks on
it (only an indicator!).

Any ideas?

Regards
Matthias



Picture zoom distortion

2004-05-19 Thread Thomas_ST
Hello,

I'm using LabVIEW 7.0 and W2k.
My problem is about picture control and his zoom factor function. When
the zoom factor is too high (ie 20), the display is deformed: a pixel
is not square.
Moreover, the distortion depends on the position of the scrollbar: at
the center of the picture, a pixel has a size of 20*20 (normal!) but
at top-center, it has a size of 20*10 and of 10*20 at left-center!!!
By the fact that I need to know the position of the mouse on the
picture to display the pixel value, the pointed pixel does not
correspond to the pixel which the value is displayed.

Regards.



Re: Detect UI activity stoping for at least 2 seconds

2004-05-19 Thread Quickbeam
Thank you! I couldn't noodle this out because I was trying to do it in
a reverse order.



Re: pointer to array

2004-05-19 Thread ivan_div
I really have problems understanding you... How can I pass an array of
U8 to the Call Library Node parameter that expects U8 number and not
an array. I'd get a broken wire... Please be more specific or please
send me an example code.

Thanks,
Ivan



Re: LV2 style globals, events. Was Re: DAQmx, etc.

2004-05-19 Thread David A. Moore

At 10:24 -0700 5/18/04, tim wen wrote:
another question:  i've been using LV2 style globals to pass data 
between parallel loops
and am wondering if a queue is a better way to go?

Scott Hannahs [EMAIL PROTECTED] wrote:
Probably.  If you are just passing data in one direction it can work 
well.  With a LV2 style global you can build in internal processing and 
value manipulation to the global (ie intelligent global).
If you're passing LARGE data, probably not, because LV2 style globals
are more efficient than queues i.e. you can avoid making extra copies
of the data. For small data where that doesn't matter, queues or
notifiers are simpler to use.
If your source loop is periodic and your destination loop is event driven,
you might also want to consider generating a user-defined event that
contains your data. That's probably the slowest choice, but can be the
cleanest looking method.
--David Moore
-
-W-H-E-A-T-W-H-E-E-L-L-E-N-S-T-O-W-I-N-D-O-W-I-N-G-G-P-R-O-G-R-A-M-W-E-B-
-
-- David A. Moore - Moore Good Ideas, Inc. --
-- (801) 773-3067 - NI Alliance Member --
-- 1996 Allison Way --- www.MooreGoodIdeas.com --
-- Syracuse, Utah 84075 - [EMAIL PROTECTED] --
- 




Re: pointer as an input parameter in call library function

2004-05-19 Thread ivan_div
I still didn't understand it...



Re: Unit indicator is not updated in Numeric Control

2004-05-19 Thread Nirmal Sharma
Dear Matthais,

I think, value in the control gets scaled when u change the unit in
the unit string, but not the unit when u change the value in the
control.

So if u need to scale the value  the unit, u need to program by using
convert unit function.

Morevoer unit gets updated correctly only once u click on it. this is
ture. i also experienced the same results.

Hope it helps. Your feedbacks are welcome.

Best Regards,
Nirmal Sharma



Re: DAQmx, etc.

2004-05-19 Thread rajesh . vaidya




Hi,

I'd like to clarify a few things about the blocking behavior of the Read
vis (the same rules also apply to the rest of DAQmx).

- One of the main problems with the blocking behavior in Traditional DAQ
was that you could not do other operations while you were waiting in the
AI.Read.vi for samples to become available. This was due to the single
threaded model of the Traditional DAQ driver and the fact the Traditional
DAQ used CINs (though they were replaced by DLLs in NI-DAQ 6.x)
DAQmx if fully multithreaded and does not have this limitation. For
example, you can run two versions of your contgraph.vi example
simultaneously (on different devices) w/o problems. Alternately, if you
have two parallel while loops in a VI with a Read.vi in one of them, the
other while loop will not be slowed down while the Read vi is waiting for
samples to become available.

- Scott's non-blocking AI. Read vi in Traditional DAQ works by waiting
for the requested number of samples to become available before calling the
Read.vi.
 DAQmx supports this feature natively when -1 is wired into the number
of samples per channel parameter on the DAQmx Read vis for continuous
acquisitions. Here is the online documentation for this parameter.

 number of samples per channel specifies the number of samples to read. If  
 you leave this input unwired or set it to -1, NI-DAQmx determines how many 
 samples to read based on if the task acquires samples continuously or  
 acquires a finite number of samples.   


 If the task acquires samples continuously and you set this input to -1,
 this VI reads all the samples currently available in the buffer.   


 If the task acquires a finite number of samples and you set this input to  
 -1, the VI waits for the task to acquire all requested samples, then reads 
 those samples. If you set the Read All Available Data property to TRUE,
 the VI reads the samples currently available in the buffer and does not
 wait for the task to acquire all requested samples.





Regards,
Rajesh Vaidya

Measurements Infrastructure Group
National Instruments






Subject: Re: DAQmx, etc.
From: Scott Hannahs [EMAIL PROTECTED]
Date: Tue, 18 May 2004 15:16:16 -0400

At 10:24 -0700 5/18/04, tim wen wrote:
In LV6 the 'AI read.vi' hogs the CPU waiting for the number of samples
requested to be available.
someone (sorry for not remembering the name) came up with a 'non-blocking
AI read.vi' which i have
been using happily.
i noticed the new DAQmx 'contgraph.vi' is hogging the CPU also.  is there
a cure for it ( i think it makes
DLL calls)?

One version is at http://sthmac.magnet.fsu.edu/labview in the VI library.
I think there are a number of these around.  I have not updated it for
DAQmx since it is not available for my development platform. :-(

I don't know if it would be a simple modification to make it work with
DAQmx.  It is a fairly simple concept and not too complicated code.


another question:  i've been using LV2 style globals to pass data between
parallel loops
and am wondering if a queue is a better way to go?
Probably.  If you are just passing data in one direction it can work well.
With a LV2 style global you can build in internal processing and value
manipulation to the global (ie intelligent global).

-Scott





Re: Datalogging and multiplot graphs/

2004-05-19 Thread Ben
Sounds like another request for a storage scope.

I posted a crude example here.

http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=137HOID=50650005005A610100HTHREAD=90458UCATEGORY_0=_49_%24_6_UCATEGORY_S=0

I hope this helps,

Ben



Est-il possible de changer le curseur de la souris sous labview?

2004-05-19 Thread vfrouard
l'objectif est de pouvoir changer le pointeur de la souris  ,
lorsqu'une application cr=E9e sous labview travaille?



Re: How to call function in C# DLL

2004-05-19 Thread Greg McKaskle
 What is the way for LabVIEW 7.0 Call Function Library Node to call
 function generated by Visual Studio.net especially C# ?

I think Rolf is right, and you will probably want to look at the 
tutorial on zone.ni.com.  I searched for .NET and LabVIEW and the 
tutorial was on the top.  Since the .NET or C# code will produce an 
assembly, the easiest thing to do is to use the .NET assembly.  It is 
probably possible to build a DLL instead or put a DLL wrapper on it, but 
I'm not sure it is worth it.

Greg McKaskle




Re: How to Run a VI when it is active?

2004-05-19 Thread Greg McKaskle
 Thnx for your explanation but i'm not certain if i understand what you mean,
 can you send me an example just simple Vi's but with this feature?
 

Which feature, I described three.  First is parallel loops, second is 
using the run method and not waiting for completion, and third is the 
IsFrontmost property of a VI.

You might start by looking up the help and looking for examples on these 
individually.  If you need additional help, please be more explicit.

Greg McKaskle




Re: pointer to array

2004-05-19 Thread Greg McKaskle
 I really have problems understanding you... How can I pass an array of
 U8 to the Call Library Node parameter that expects U8 number and not
 an array. I'd get a broken wire... Please be more specific or please
 send me an example code.

You might try searching for

Writing Win32 Dynamic Link Libraries (DLLs) and Calling Them from LabVIEW

on zone.ni.com.  This tutorial goes over lots of DLL related issues and 
has an example of passing a numeric array in and out of a DLL.

Greg McKaskle




Re: Why does program work only when highlight execution is on?

2004-05-19 Thread Ben
I second Ed's suggestions!

You are not giving your device time to reply after your query.

Ben



Re: Unit indicator is not updated in Numeric Control

2004-05-19 Thread matthias.richwin
Hi,

from a physical point of view: A physical quantity is a number and a
unit. I can convert the unit into any other compatible unit without
losing information. I can express the length of my finger in inches,
cm or km. The corresponding number changes, but the physical quantity
stays the same.

The Numerical Indicator obviously tries to optimize the display of the
physical quantity by choosing a suitable prefix of the unit. It
correctly changes the number, but does not update the displayed unit
string. Only, when I click it...

The value (the physical quantity) that I wire into the numerical
indicator is always in mm, but when the value gets too small, like .01
mm, the numerical indicator decides to display it as 10 =B5m, which is
correct of course. Only that the indicator shows 10 mm.

Regards
Matthias



Re: how can I setup a batch file for my VI?

2004-05-19 Thread Dennis Knutson
I see a couple of problems. When you do a file open down near the left
bottom of your diagram, you are specifying a datalog type of DBL. This
will generate an error 71 when you try to open the text file. It also
appears you have an error in the search and replace function at the
top left of the diagram. I think you want the replace string to be
c:\e7\processed and not c:\e7processed.



Continuous sin wave generation without buffer

2004-05-19 Thread Johnaxe
I am using Labview 6.0.2 Base version, without Sine Waveform.vi (I
have Simple Sine waveform, and Sine wave) but these functions are not
the same as Sine Waveform.vi. When I try to open any virtual function
generator it calls for this waveform which I don't have. I need a
continuous sin wave that still maintains it's shape at 400 Hz. I have
made a continous wave using a buffer and for loop, but it looks more
like a sawtooth wave. Can somebody help me?



RE: DAQmx, etc.

2004-05-19 Thread Bruce Ammons
That's funny, because I recently experienced the CPU slowdown also when
reading fixed size blocks from a continuous acquisition in DAQmx.
Perhaps it is not being totally blocked, but it definitely slows it
down.  Perhaps there is a bug in DAQmx that NI is not aware of.  I am
pretty sure I set up multithreading properly, but I'm not positive.

I fixed the problem by using the old method.  I check the number of
samples available using a property node, calculate how many milliseconds
it will be until my data is ready, use a millisecond delay to wait until
the data is ready, then read the block of data.  My CPU time went from a
high percentage to a very low percentage when this was added to the
code.

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
[EMAIL PROTECTED]
Sent: Wednesday, May 19, 2004 8:59 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: DAQmx, etc.






Hi,

I'd like to clarify a few things about the blocking behavior of the
Read vis (the same rules also apply to the rest of DAQmx).

- One of the main problems with the blocking behavior in Traditional DAQ
was that you could not do other operations while you were waiting in the
AI.Read.vi for samples to become available. This was due to the single
threaded model of the Traditional DAQ driver and the fact the
Traditional DAQ used CINs (though they were replaced by DLLs in NI-DAQ
6.x) DAQmx if fully multithreaded and does not have this limitation. For
example, you can run two versions of your contgraph.vi example
simultaneously (on different devices) w/o problems. Alternately, if you
have two parallel while loops in a VI with a Read.vi in one of them, the
other while loop will not be slowed down while the Read vi is waiting
for samples to become available.

- Scott's non-blocking AI. Read vi in Traditional DAQ works by waiting
for the requested number of samples to become available before calling
the Read.vi.  DAQmx supports this feature natively when -1 is wired
into the number of samples per channel parameter on the DAQmx Read vis
for continuous acquisitions. Here is the online documentation for this
parameter.
 

 number of samples per channel specifies the number of samples to read.
If  
 you leave this input unwired or set it to -1, NI-DAQmx determines how
many 
 samples to read based on if the task acquires samples continuously or

 acquires a finite number of samples.

 

 

 If the task acquires samples continuously and you set this input to -1,

 this VI reads all the samples currently available in the buffer.

 

 

 If the task acquires a finite number of samples and you set this input
to  
 -1, the VI waits for the task to acquire all requested samples, then
reads 
 those samples. If you set the Read All Available Data property to TRUE,

 the VI reads the samples currently available in the buffer and does not

 wait for the task to acquire all requested samples.

 





Regards,
Rajesh Vaidya

Measurements Infrastructure Group
National Instruments







Subject: Re: DAQmx, etc.
From: Scott Hannahs [EMAIL PROTECTED]
Date: Tue, 18 May 2004 15:16:16 -0400

At 10:24 -0700 5/18/04, tim wen wrote:
In LV6 the 'AI read.vi' hogs the CPU waiting for the number of samples
requested to be available.
someone (sorry for not remembering the name) came up with a 
'non-blocking
AI read.vi' which i have
been using happily.
i noticed the new DAQmx 'contgraph.vi' is hogging the CPU also.  is 
there
a cure for it ( i think it makes
DLL calls)?

One version is at http://sthmac.magnet.fsu.edu/labview in the VI
library. I think there are a number of these around.  I have not updated
it for DAQmx since it is not available for my development platform. :-(

I don't know if it would be a simple modification to make it work with
DAQmx.  It is a fairly simple concept and not too complicated code.


another question:  i've been using LV2 style globals to pass data 
between
parallel loops
and am wondering if a queue is a better way to go?
Probably.  If you are just passing data in one direction it can work
well. With a LV2 style global you can build in internal processing and
value manipulation to the global (ie intelligent global).

-Scott







Re: Vertical centered text

2004-05-19 Thread zilla
Yes, Select the text in the string indicator you wish to center, then
look under text settings, select justify then center.



Re: how can I setup a batch file for my VI?

2004-05-19 Thread van oyama
How come its work if you just run readerv4.8 vi by it self?



Re: DAQmx, etc.

2004-05-19 Thread Scott Hannahs
At 7:58 -0500 5/19/04, [EMAIL PROTECTED] wrote:
If the task acquires a finite number of samples and you set this input to 
 -1, the VI waits for the task to acquire all requested samples, then reads
 those samples.

Is this a blocking wait like the non-DAQmx call into a CIN (or LLB) or is it a LV 
style wait where other LV nodes even in the same thread can execute?  That would be 
nice!  Is there a way to do this threading in our own created dlls (frameworks)?.  I 
would like to make my PCI-GPIB library non-blocking but that is not trivial because of 
this limitation.  Is there a way to set up a call back into LV for a non-blocking wait 
from a CIN or framework?

Then again, DAQmx could be ported to all the other platforms since it was written in 
such a nice modular way that it only needs a trivial stub driver for other 
platforms.  :-)

-Scott




Re: LV2 style globals, events. Was Re: DAQmx, etc.

2004-05-19 Thread Scott Hannahs
At 6:04 -0600 5/19/04, David A. Moore wrote:
At 10:24 -0700 5/18/04, tim wen wrote:
another question:  i've been using LV2 style globals to pass data between parallel 
loops
and am wondering if a queue is a better way to go?

Scott Hannahs [EMAIL PROTECTED] wrote:
Probably.  If you are just passing data in one direction it can work well.  With a 
LV2 style global you can build in internal processing and value manipulation to the 
global (ie intelligent global).

If you're passing LARGE data, probably not, because LV2 style globals
are more efficient than queues i.e. you can avoid making extra copies
of the data.

Interesting.  Does anyone know why a queue would make extra copies of data.  I haven't 
tried pushing MBytes thru queues but there doesn't seem to be any inherent reason that 
a queue would make extra copies of the data.  It should make a copy upon entering the 
data into the queue and the caller would release it.  Upon dequeue the queue should 
release the memory and the receiving VI would copy it.  (Note: these may not be actual 
copies but passing of pointers).

This should be equivalent to a LV2 style global with a USR?  The exact same memory 
allocation/deallocation should take place.

I guess the real test is to make a couple of benchmarks and profile it.

-Scott




logic function disable items

2004-05-19 Thread patounet
what is the logic of the array of the function enable disable items on
a Menu ring in LabView 5.1



Re: Vertical centered text

2004-05-19 Thread Dennis Knutson
For vertical text, there's no simple setting. You can make the string
indicator only as wide as a single character but you have to be
careful about different fonts. Captions for controls and indicators
can be stacked vertically - just show caption and then right click on
the caption itself to select Vertical Arrangement. You could choose to
hide the indicator itself and write your string values to the
control's caption using a property node.



Re: Error -1073807343 when calling the open visa function

2004-05-19 Thread JoeLabView
The error is defined by LV as:
Error -1073807343 occurred at an unidentified location

Possible reason(s):

VISA:  (Hex 0xBFFF0011) Insufficient location information or the
device or resource is not present in the system.

It looks as though the name of the session is okay, because it should
look like =  GPIB0::9::INSTR

Are you using this name to open the VISA session or to initialize the
instrument?

Once the session is opened, you should get a name like:
GPIB0::9::INST followed by the session number..

Unfortunately I don't have a true example of the number, but it looks
like... GPIB0::9::INST:1  I'm not sure if the column is in front of
the 1.

Hope this helps..

JLV



Re: pointer as an input parameter in call library function

2004-05-19 Thread Greg McKaskle
 long SetData(unsigned char *pbyData, unsigned short int *wDataLength);
 
 - The parameter pbyData (type U8) points to a buffer that contains an
 array (type U8);
 
 - wDataLength (int32) is the length of that array.
 
 What should I connect on the input of this function? Let's say I have
 the array I want to feed in into this function, how do I do that?
 


Double click or popup on the node and Configure.  In the dialog, you 
need to add parameters until you have two inputs and a return value. 
For the return value, in the Type ring, choose Numeric -- the default 
will be for an I32.

For the first parameter, change the name from arg1 to whatever you like, 
it doesn't really matter except as documentation.  Then set the Type to 
Array.  The fields below will default to I32, one dimension, and Array 
Data Pointer.  Change the I32 to U8.

For the second parameter, it should default to I32 by value.  Change the 
name as you please, change the Type to U16, and change the Pass to be 
Pointer to Value.

That should be it for the dialog.  The Function Prototype at the bottom 
of the dialog should look similar to your first line above.

---

To wire things up on the diagram.

For the array, you will need an array of U8s.  You can use a constant 
sized to the correct size, or you can use Initialize array to build one 
at runtime, or you can use Resize Array to take an existing Array and 
set it to the correct initial size according to what the DLL expects. 
There is no way for LV to know the initial assumption about the array 
size, you have to read the DLL documentation and set it.  If you set it 
too small, the DLL writes past the end of the array and corrupts memory 
either crashing immediately, stopping the VI with an error, returning an 
error, or silently setting LV up to crash when things get unloaded.  If 
you want to make certain it is the correct size, put a probe on the 
input wire or use execution hiliting to view the size of the input array.

Wire this array to the top input on the Call Library.  For the second 
parameter, wire up a U16, again it can be a constant, a control, or any 
other wire of the correct type.

By the way, opening the help window, switching to the wiring or auto 
tool and hovering over a wire gives lots of datatype information about a 
wire.

You can also wire the right side of the Call Library.  For the moment, 
I'd just create indicators to view the results.

If you still have problems, please be specific as to which step causes 
problems.

Greg McKaskle




Re: What happened if i check the property called Reentrant in SubVI's?

2004-05-19 Thread Greg McKaskle
 I am calling the SubVI called Addition.Vi from the Main VI two
 times. In first case i haven't checked the property Reentrant and i am
 executing the main program. So only one instance will be created and
 the SubVi's will be executed sequentially. In second case i checked
 the property Reentrant in SubVI. So multiple instance will be created
 and the subVI's will execute simultaneously. Here my question is is
 there any difference in memory usage for both the cases?

Rolf accurately summed up what is duplicated and what isn't.  But the 
bigger issue is when to use reentrancy.

As usual, the first issue to deal with is correctness.  Memory versus 
performance tradeoffs are one thing, but making your program produce 
incorrect results is a bigger issue.

One way to characterize a VI is -- functional or nonfunctional. 
Functional VIs are of the form y= f(x).  For the same x, they will 
always produce the same y.  Nonfunctional VIs such as a running average 
or a DSP filter do not do this, the history of previous calls will 
affect the result of a given call.  Nonfunctional VIs can be represented 
as y= f(x,state), and can be implemented functionally so that state is a 
parameter, either the state info or a reference to the state.  Or they 
can be implemented so that the block on the diagram holds the state.

With a functional VI, you can change reentrancy without affecting 
anything but the memory/versus parallelism tradeoff.  If you change 
reentrancy on a nonfunctional VI, you just made a big change to the 
behavior.  Take a LV2 style global for example.  Nonreentrant, and every 
reader sees the last writer.  Make it reentrant, and nobody talks to 
anybody else, all readers get the initial value, and the writers send 
the data to their own copy.  This VI works as intended only when 
nonreentrant.

Now lets look at a running average.  If reentrant, each call drops off 
new points for a channel and returns the running average for that 
channel.  Drop a second and it works independently on a separate channel 
of data.  Make the running average nonreentrant, and you are now 
combining the channels into one and returning the average of that data 
stream, which will probably produce very odd results.  This VI works as 
intended only when reentrant.

So the point is, before worrying about perfomance and parallelism, make 
sure your VI is functional first.  If it is nonfunctional, the 
reentrancy only makes sense one way, and the compiler can't tell which 
makes sense, only the designer of the VI.

Greg Mckaskle




Re: courious Q / was: Programmatically Creating Clusters

2004-05-19 Thread George Gatling (Contractor)

So if I got you right, this tool is meant as a universal logger and 
retriever of lab DAQ data. Your scientists seem to be satisfied with a 
SubVI containing all data that has been written some times, independently 
from what eqquipment was used and how it was composed to a complete system.
This SubVI with data is than -later- be used to individually analyse or 
process those data, right?
This is partly true... the sub-vi that reads the files actually returns a 
variant.  This variant is a cluster of the same type as the rows in this 
particular file.  To use the data in labview, you must define a cluster 
explicitly of the same type to convert the variant to labview data.  And my 
original question was aimed at simplifying the task of creating this cluster.


If this is true, you should at least also include some time stamps and 
logs of what VI wrote a given file, what instruments in what mode haven 
been used and so on. There may be a huge difference in, say, using a 4.5 
digit DMM or a 6.5 one, allthough both will provide an array of Dbl into 
your cluster.
Yes, this should be included... in the same header that defines the data 
type of the rows, there is also information about what equipment was used, 
which scientist took the data, any comments that seemed important at the 
time the data was acquired and so on.  As far as time stamping... we 
usually time stamp each of the rows... our lab is controlled by a PLC and a 
supervisory computer archives all of our tags to a database.  Therefore, 
with a time stamp it is possible to retrieve all of the known conditions in 
the lab... (magnetic fields, pressures, temperatures, etc)


My original Q was meant on _how_ would you process that newly created 
cluster when you do not know anything about it at devellopment time. But 
in your case the key seems to be to make those data availabel again for 
some kind of interactive analysis using LV.
This is half of it... in some cases, the data acquisition was ad hoc so 
we would not have any existing tools to handle this specific type of 
data... (we do however have a tool that will let you view any of these 
files, regardless of what is in them.)  And in this ad hoc state, the 
scientists would be doing interactive analysis on the data.  This situation 
is very common during the initial phases of many of our experiments, when 
we do not yet know exactly which instruments we will need, or what sort of 
data will ultimately appear in our papers.

The other half is when we have predefined row types... this is more common 
in mature experiments... and in this case we could write reusable code to 
manipulate/analyze these files.  In fact, we usually turn such things into 
finished applications.

The magic is in the file format, which is flexible enough to allow for 
these ad hoc things, but always writes the data in the same way to the file 
(which is how we can have a universal viewer).  And since the file includes 
all the metadata required to make sense of the data we never have to wonder 
what is in the file, or how to parse it.

George

George Gatling
Applied Technology Division, SFA Inc.
Space Physics Simulation Chamber
US Naval Research Laboratory
202-404-5405 (phone)
202-767-3553 (fax)
If trees could scream, would we be so cavalier about cutting them down?
We might, if they screamed all the time, for no good reason.  --Jack Handy  




Re: logic function disable items

2004-05-19 Thread Dennis Knutson
I'm not sure if you're asking why there should be disabled items or
how to disable selected items. Why is because there may be situations
where menu items don't apply and you don't want a user to select them.
As to how, if you have a menu ring with items a,b,c, and d. If you
want to disable b, this is element 1 in the array of elements and to
disable it, you create an array with 1 as the only element and wire
this to the property node DisabledItems (LV 6 and up. Not sure about
name if 5.1). On the Front Panel, you can simply select the item you
want to disable and then right click to enable or disable it.



Programmatically Make Current Values Default of a Global Variable

2004-05-19 Thread Patufet
I wish to be able to modify and save programmatically some values
stored on a global variable.
When trying to do that by using Make Current Values Default with VI
Server, I got an 1073 Invoke Node in Store_config.vi. The vi works
fine when used with a vi and not a global variable or when the global
variable is not called in the executing vi's. What could I do? Any
ideas?
One possibility would be to store  retrieve the config values of the
global variable on a file, but when there are many variables it is
annoying to define the reading and saving vi's.

Thanks for your help.


PS. I use Labview 7.0 under win 2k



Re: Unit indicator is not updated in Numeric Control

2004-05-19 Thread matthias.richwin
Hi,

I should have mentioned that I use the SI Notation in the indicator.
So that is really a feature, not a bug.

But the prefix isn't updated correctly.

Matthias



Re: Unit indicator is not updated in Numeric Control

2004-05-19 Thread shawn
Hello,

When units are used with numerics in LabVIEW, the physical quantity is
always in the base unit type (for length, the base unit is meters).
If you ever see a case where .01 mm is displayed as 10 micrometers,
this is a flaw in LabVIEW. (I haven't been able to reproduce it). If
you can include an example where this happens, that would be great.
However, it sounds like what is being wired is .01 meters, which is
10mm.
Also, there is an easy way to get the unit label to update as the
value of the numeric changes.  Click on the numeric control/indicator
and select Properties... Then go to the Format  Precision tab and
select SI Notation as the format.  This will cause the unit label to
use the SI prefixes when appropriate. Other comments appreciated.
Shawn



Internal Variables

2004-05-19 Thread Kura
I've been writing a lot of programs lately and have been having to
create lots of worthless front panel indicators just to generate
internal variables that the user will never need to see. Is there some
other way to create variables that will only be used within the
program code itself and that are -NOT- associated with anything on the
front panel?



Re: radar

2004-05-19 Thread ryank
You can also use the polar plot VIs:

http://digital.ni.com/public.nsf/websearch/9CEC8B2C1E67039586256DEF006F9A0E?OpenDocument



collecting through microphone port

2004-05-19 Thread Gorelick
I would like to record a voltage signal through the phono microphone
port on my laptop.Could you tell what the port # is to do this and if
there are any potential problems with this method?



Re: How to get continuous values

2004-05-19 Thread Brian Powell
I think we need to learn more about your application.  What instrument
vendor and model are you using?  When you say that the subVI connects
for two seconds, is the two seconds spent inside of the ActiveX
object, or are you doing something in the subVI to wait two seconds?
If the two seconds is being spent in ActiveX, there's probably not
much you can do about it (unless you are willing to not use the
ActiveX object and just talk to the serial port directly).  Note also
that the measuring device itself may take two seconds to do any
measurement.  In that case, you can't go faster without replacing the
device.

Brian



Re: Programmatically Make Current Values Default of a Global Variable

2004-05-19 Thread Ed Dickens
The problem with the Make Current Values Default is that it cannot
be used on a VI or Global that is currently running or in use. Using
that method requires a re-compile, and that cannot be done while the
VI is running.

Reading and writing from a file is going to be your best option. Take
a look at the a href=http://www.openg.org;Openg.org/a toolkit.
Part of this package is a set of VIs that use Variants to read an
entire front panel and write the values to a file. It can also read
from the file and write back to the panel. You can get the download a
href=http://www.openg.org/tiki/tiki-index.php?page=OpenG+Toolkit%3A+Downloads;here/a.
This makes it very easy to save panel setups without having to define
everything each time.

You may want to do some reading on the site on how to install and use
the toolkits. There is also a forum to ask questions about the various
tools available.

Ed



Re: Saving data in remote panel

2004-05-19 Thread jackolim
Hmm Don't reall quite get what u mean. Are u saying that make a
front panel that user will key in the file name himself without using
dialog. Have not try out anyway.



Re: Why do I keep getting Error 1000 When I run Abort VI Method?

2004-05-19 Thread Evan
Hitman,

Here is a KnowledgeBase that discusses the issue.
a
href=http://digital.ni.com/public.nsf/websearch/790AC75B07D971ED86256C53007BDCE9?OpenDocument;Why
Do I Get Error 1000 When Attempting to Abort a VI Through VI
Server?/a

Evan
National Instruments



Re: How to get continuous values

2004-05-19 Thread FerozP
Hi Skob,
There are different ways of calling a subVI in LabVIEW.  I'll mention
each of these ways in a little detail:

The simplest is by inserting the subVI in the main VI (You will see
the icon of the subVI on the block diagram).  When this VI is called,
the block diagram waits until the subVI is done executing, after which
the main VI continues to execute the rest of the VI.

Another way of calling a VI is called dynamically.  The following
links discuss the two way of calling a VI dynamically and their
differences.

a
href=http://zone.ni.com/devzone/conceptd.nsf/webmain/B837D4F9277EC75786256990006EBE5B?opendocument;Serving
Up Powerful Solutions - LabVIEW VI Server Examples/a

a
href=http://zone.ni.com/devzone/conceptd.nsf/webmain/04F9CCB32C67F24386256802007B878F?opendocument;Calling
a VI by Reference/a

a
href=http://digital.ni.com/public.nsf/websearch/4838398F3B2798A186256B82007B4ED0?OpenDocument;What
Is the Difference between Calling a VI with an Invoke Node and Calling
a VI with a Call by Reference Node?/a

Suggestions
1) Call your VI that acquires data dynamically.
2) Open connection to your instrument only once (especially because it
seems like it takes a while for this).  Then acquire the data.  After
you are done, close the connection.

I hope this helps.

Sincerely,
Feroz
National Instruments



Easy question: is it possible to copy an indicator or a...

2004-05-19 Thread Giulia
Easy question: is it possible to copy an indicator or a control from
the main Front Panel to the main Front Panel?

This means I don't want to create a new control or indicator in the
Block Diagram; just want to control or check the same function from
different positions in the Front Panel (this is because my Front Panel
is very large)

More over, where can I find help to learn how to edit the appearence
of the Front Panel?

Thank u



Re: Unit indicator is not updated in Numeric Control

2004-05-19 Thread shawn
Hi Mattias,
It seems wrong that the prefix isn't updated. I'm probably missing
something simple, but I haven't been able to reproduce this (the unit
label always updates correctly when I try it.) If you can write a VI
and describe the steps to reproduce this, I would be interested.
Otherwise, I'll just keep my eye open for this.  Thanks for posting
it.
Shawn



Re: Internal Variables

2004-05-19 Thread Dennis Knutson
The equivalent to variables in text based languages is the wire in
LabVIEW. There is seldom any reason to create a dummy indicator with a
properly written program. I'm assuming that when you create the dummy
indicator, you then create a local variable of it to pass it's value
to some other location in the program. As I said, the best way to do
this is with a wire. Local variables create copies of the data and can
result in race conditions. Besides wire, there are other ways to pass
data, i.e. shift registers and queues. If you would post an example of
one of your programs, I'm sure someone here on the forum could provide
help in redesigning your architecure.



Re: Internal Variables

2004-05-19 Thread Kura
Well, the problem I'm having is that each time the program is run it
saves a file for example test1.dat Now the way I see it, the easiest
way to make the next file saved be titled test2.dat would be to have
a variable that increments by one each time the user runs the program.
It just seems to me like it would be immeasurably simpler to have an
internal variable do this than some  complicated architecture to
accomplish the same goal.



Re: Internal Variables

2004-05-19 Thread Les Hammer
The problem with wires is that in big programs you can get a jumbled
mess - many wires tangled throughout the program.  One attempt to
overcome this is to use the dummy indicator and property node (value).
I'm assuming the cleaner solution is to create a cluster (with all the
initial values), pass it around (on just one wire - avoiding clutter)
and use the cluster widgets to get and set values.  Correct?

Les



Test

2004-05-19 Thread phillip.brooks
Sorry, just testing. 

I have tried to reply to messages, but they get rejected. Please ignore...

Phillip Brooks
Test Engineer 
IET Labs, Inc.
10 Dedham St.
Newton, MA 02461 
[EMAIL PROTECTED]
http://www.ietlabs.com




Re: [W] Capturing the keyboard

2004-05-19 Thread George Zou
From: Marco Tedaldi [EMAIL PROTECTED]
To: George Zou [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Re: [W] Capturing the keyboard
Date: Wed, 19 May 2004 08:43:24 +0200
George Zou wrote:
Marco,
Are you sure the video stops playing because loose the focus?
Is it posible because loose foreground?
Oh, that's a really interesting question. I can't answer this, because I 
don't know a way of letting the Application loose focus without loosing 
foreground too :-(
Would it make any difference?
   It might be.
Have you tried to set the video window as topmost window ?
No, not until now. But I don't think this application has a setting like 
always on top or something like this :-(
   You can do this with lvwutil32.zip.  You can download it from
   NI site.
It is indeed posible to capture keyboard events from another
application,  but it's not easy.
What do you mean with not easy?
I've managed to geht the keypresses, that's easy, but I could not supress 
them for the other applications.
   You are polling.  That's not event driven programming.
   If you poll too fast, you are waste a lot of UPC time; if you poll
   too slow, you might not be able to capture every key press.
By searcing the net, I've found out, the user32.dll has the functionality 
in need in it. The function is called SetWindowsHookEx
   That's the way to go.
(with the possibility to forward the Event back to windows or just
supress it). But with the documentation I've found from microsoft 
(http://msdn.microsoft.com/) I was not able to find a way to use this 
functionality in LabView.
   That's what I mean not easy.
George Zou
http://gtoolbox.yeah.net
_
Watch LIVE baseball games on your computer with MLB.TV, included with MSN 
Premium! http://join.msn.click-url.com/go/onm00200439ave/direct/01/




Aborting a SubVI

2004-05-19 Thread mkess
I have a VI that calls a subVI which runs a flat sequence loop.  I am
having trouble finding a way to stop the subVI so that the flat
sequence does not finish the iteration.  Basically, I want to be able
to have a stop button on the front panel of my main VI that
immediately aborts the subVI without progressing in the flat sequence.
Any suggestions?

Matt



time stamp to number conversion

2004-05-19 Thread Sam Mason
Hi All,

I notice in Labview 7.0 the 'Get Date/Time to Seconds' and 'Seconds to
Date/Time' now output a Time Stamp rather than actual seconds.
There is a 'To Time Stamp standard vi in the conversion pallet that
converts a number (seconds) to a time stamp but I really need to
convert from a Time Stamp to real seconds.
Does anyone have a vi that might do this or is there something already
in LabVIEW 7.0 I have overlooked?

Many Thanks in Advance for your help.

Sammy Mason



Re: Internal Variables

2004-05-19 Thread Dennis Knutson
Hi Les,

Since I almost always use a state machine, event structure, or a
combination, that is exactly what I do - create a cluster with all of
the elements I need to pass between different states and then use
bundle/unbundle by name.



Re: collecting through microphone port

2004-05-19 Thread Les Hammer
Normally the sound card (microphone) is on port 0.  (At least on my
laptop.)

As far as potential problems, I assume that when you say record a
voltage signal that you are recording something other than a normal
microphone - i.e. connecting up a real voltage.  If it has too high a
level (or DC offset) you could fry your PC.  If that's not a concern,
the answers you get are in DAC values, not volts.  You need to do your
own calibration - which will need to change if anyone/anything adjusts
the microphone volume settings.  If that's not a concern, note that
your PC's sound card may have low and high frequency roll-off, and
might not have very good frequency response in general, and might not
be linear.

If you would like to take a quick look at what your signals look like,
www.CompleteTest.com has a PC Scope on its Products page.  The PC
Scope uses the microphone port as an input and displays the signal on
a scope-like display.  It is written in LabVIEW 7.0.  You can use it
free for 10 days.

Les Hammer
Complete Test



Re: Aborting a SubVI

2004-05-19 Thread Ed Dickens
You can use an Invoke node with the 'Abort VI' method and get a
reference to your subVI and kill it that way, but it's not good
practice to use Abort to stop a VI, it's really a developmet/debugging
tool. Another problem is the Sequence structure, they cannot be broken
out of before it's done executing all of its frames.

Your best bet is going to be to redesign your subVI so it doesn't use
the sequence, and instead have it running in a While loop. You can
then use a Queue to send a message from your main VI to the subVI to
tell it to stop. A bit more work, but it's a better way to go about
it.

Ed



magnetic resonance application based on LabVIEW?

2004-05-19 Thread visible progress
Looking for information about any project past or present that used
LabVIEW to write  a magnetic resonance application.



Re: record ECG during MRI scan

2004-05-19 Thread Tiptop
Please refer a
HREF=http://exchange.ni.com/servlet/Redirect?id=11068504here/a.



Re: time stamp to number conversion

2004-05-19 Thread Les Hammer
Use the Get Date/Time in Seconds widget.
Connect it to a To Double Precision Float conversion to get the time
(since 1904) in seconds.

Les Hammer



Re: record ECG during MRI scan

2004-05-19 Thread Tiptop
Hey psk,

There are two approaches here.  If you know enough about the noise,
you can write a program to filter it out.  For instance, LabVIEW 7.0
has filter express VIs.  Secondly, you could look into shielding your
equipment.  Are you using a shielded terminal block, cable, and a DAQ
board with an electronic shield?

Let us know some of the details if you want any help figuring out what
we can do.

Best regards,

Justin T.
National Instruments



Re: DAQmx, etc.

2004-05-19 Thread Geoffrey Schmit
On 18/05/2004 at 11:24 AM, Info LabVIEW Mailing List
[EMAIL PROTECTED] wrote:

 In LV6 the 'AI read.vi' hogs the CPU waiting for the number of samples 
 requested to be available.
 someone (sorry for not remembering the name) came up with a
 'non-blocking AI read.vi' which i have been using happily.
 i noticed the new DAQmx 'contgraph.vi' is hogging the CPU also.  is
 there a cure for it ( i think it makes DLL calls)?

While read operations in DAQmx consume 100% of the CPU, like reads in
Traditional DAQ, there are a couple of critical differences:

*  In DAQmx, other threads in LabVIEW are not blocked and may
   continue to execute. In fact, even other threads performing DAQmx
   operations that involve other DAQmx tasks are not blocked and may
   continue to execute.

*  In DAQmx, read operations yield. That is, if there are other threads
   running on the system, they are not blocked and may execute.


Basically, DAQmx read operations say, Hey operating system, if you have
nothing better to do, let me run so I can be more responsive.  As a
result, the CPU monitor is not an effective tool to measure the
efficiency of the application.  Another potential disadvantage is that
your [EMAIL PROTECTED] client won't run during read operations :)

As a result, replacement read VIs should not be necessary for most
applications that use DAQmx.

This knowledge base article discusses this topic:
http://digital.ni.com/public.nsf/websearch/
09D80223FA84113D86256D6A004B97C3?OpenDocument

geoff
-- 
Geoffrey Schmit
Senior Software Engineer
National Instruments
[EMAIL PROTECTED]
www.ni.com




RE: Intelligent Stepper Drives

2004-05-19 Thread Dalmady, Otto
Title: RE: Intelligent Stepper Drives





George,


I've used RS-232 NEAT 310M stepper controllers in the past (over 5 years ago). They've worked quite well on high volume production lines that ran 24 hours a day.

See: http://www.neat.com/


Regards,
otto


---original message
Subject: Intelligent Stepper Drives
From: George Gatling (Contractor) [EMAIL PROTECTED]
Date: Tue, 18 May 2004 14:41:39 -0400


I am building some linear stages to be controlled by labview... the 
application is fairly distributed, so PCI cards and drives are not so 
convenient. I am looking for a 1 or 2 axis stepper drive with integrated 
controller and RS232 or ethernet communication. The motors are fairly 
small (3 amps currently). The market seems saturated with stuff for the 
hobbiest, but I am looking for something a little more industrial and use 
out of the box. Anyone know of products like this?




George Gatling
Applied Technology Division, SFA Inc.
Space Physics Simulation Chamber
US Naval Research Laboratory
202-404-5405 (phone)
202-767-3553 (fax)


If trees could scream, would we be so cavalier about cutting them down?
We might, if they screamed all the time, for no good reason. --Jack Handy 



--End Original Message--










CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, files or previous e-mail messages attached to it, may contain information that is confidential and/or legally privileged. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, please DO NOT disclose the contents to another person, store or copy the information in any medium, or use any of the information contained in or attached to this transmission for any purpose. If you have received this transmission in error, please immediately notify the sender by reply email or at mailto:[EMAIL PROTECTED], and destroy the original transmission and its attachments without reading or saving in any manner. (1)



LabVIEW.exe-Application Error

2004-05-19 Thread jschu5
How do I stop this error from happening?  It seems to be a random act
of damage.



Re: record ECG during MRI scan

2004-05-19 Thread psk
Thank you for your suggestion,

I have tried filtering but the frequency range of ECG signal (0.5-100
Hz) is exactly same to frequency range of MRI induced artifacts
(100Hz).  It seems, very complex procedure will be requird.

Don't know much abt shielding..i will do research abt it.

thanks



writing data to an Excel worksheet using LabVIEW

2004-05-19 Thread paris1
I am currently writing numerical data to Excel using Invoke and
Property Nodes in LabVIEW.  My problem is that I want the data to be
written to Excel but I want the spreadsheet to stay hidden until the
writing process is complete..  Writing all the data on the screen
takes upwards of two minutes for a spreadsheet that is only 1024 rows
long (by about 20 columns wide).  I see a Worksheet property called
visible but I cannot find anywhere the acceptable values for this
parameter.  It's NOT binary as I would have guessed it to be but
istead visible is asking for a 32 bit Integer.  I need to know what
32 bit Integer numeric value might correspond to not visible.  Or is
there some other way to hide the spreadsheet while I write to it??

Also, when I right click on Visible among other things I get an
option that says Help for Visible but when I select that nothing
happens..  When I right click on any parameter of an invoke or
property node, I get the same Help for  but again nothings
happens...  What have I failed to install in terms of help files??
And can anyone answer my question about how to hide the spreadsheet
while it is being written to or any other way to greatly speed up this
writing to excel process??  Any help would be appreciated...  thanks..



Is there an easy way to document a DAQ configuration using DAQmx?

2004-05-19 Thread Mike_Fortenberry
I'm looking for an equivalent to the Virtual_Channel_Info_Grabber.vi
that was available for traditional NI-DAQ.  I want to be able to
create a text/XML file with all of the configuration information for a
task or virtual channel.  Specifically signal conditioning settings.



Re: Datalogging and multiplot graphs/

2004-05-19 Thread Jeremy Braden
LabVIEW 5.1 is pretty old.  If you want to review LabVIEW 7.0, you can
download the eval a
href=http://sine.ni.com/apps/we/nioc.vp?pc=rescid=10440lang=USp_0=eval;here/a.



Re: Easy question: is it possible to copy an indicator or a...

2004-05-19 Thread Dennis Knutson
If your front panel is so large that the user has to scroll up/down,
left/right to see everyting, it's probably too large. As a rule of
thumb, I design a front panel so it fits an 800/600 screen. Things
like the tab control, pop-up subVIs, and sub-panels make this
possible. I would suggest you start with Chapter 6 of the LabVIEW
Development Guidlines (HelpSearch to LabVIEW Bookshelf).

Using the same indicator on different scrolled locations is possible
because you can programatically move it but it's pretty involved to
get screen position, etc, and move something back and forth.



Re: Datalogging and multiplot graphs/

2004-05-19 Thread Joel Andersen
you should read in the file first. From the Read File VI, you now have
(for example) an orange wire representing an array of doubles.  Now
take the new data you want to plot, and do a Build Array with the old
data (read from the file) and then wire the built arrays into a graph.

Somethings to keep in mind is that the arrays should be the same size
(dimension).  If you do a Build Array with array 1 having 10 pts, and
array 2 having 12 points, the resulting array will be a 2x12 array.
Therefore, you will have 2 extra points in array 1's slot in the new
2D array (that are the default vaue for that datatype).  If your array
are not the same size, you should resize them yourself before you call
BUild Array (use Delete From Array, or Array Subset).

Another thing to keep in mind is the time base, if the two signals
don't have the same time base you can use Align Waveform Timestamps
(if you have waveform data), or Interpolate 1D Array if you have an
array.



Re: Datalogging and multiplot graphs/

2004-05-19 Thread Joel Andersen
nice!  Where can I get the LV 7.1 eval version?



LabView driver for DATAQ DI-148 or DI-158 or DI-194

2004-05-19 Thread jimbab5
Looking for LabView driver for any of the $25 DATAQ data acquisition
hardware



Re: LabVIEW.exe-Application Error

2004-05-19 Thread Joel Andersen
do you have any more specifics on the issue?  What version of LV, what
are you doing when the crash occurs (running a VI or editting), can
you reproduce it, etc.  Also, is there anything else reported with the
crash, (error number, line number, module, .cpp file name, etc).



Re: Auto-Replace Currently Running VI?

2004-05-19 Thread Joel Andersen
the LV team made this drop dead simple in LabVIEw 7.0 by intgrating
your VI and the command line.  If you ahve LV 7.0, open the example
called CommandLine.vi to see how it works.

If you don't have LV 7, then I recommend that you look at the
evaluation version just for this feature.  The eval is free, and the
example I mentioned is easily found from the Example Finder.  This
feature alone my make it worth your while to upgrade.



Re: Continuous sin wave generation without buffer

2004-05-19 Thread Joel Andersen
If you are performing any sort of mathermatical analysis, then you
should upgrade your base version of LabVIEW to either full or
professional.  The extra cost for the upgrade will be paid for as soon
as you call the Sinewaveform VI you mentioned.  In addition to
function generation, you will get analysis routines for FFTs, Linear
Alg, Filters, Windowing, etc.

I used to have the base version only, and I wonder how I got anything
done.  It seemed that I always needed to write my own math routines.
What a waste of time!  Just call the ones that the experts write,
debug, and maintain.



Re: how to install and use labview goop wizard in labview 7.0 or 6.1

2004-05-19 Thread Joel Andersen
yeah,

have you tried the information available from the NI site?  Just type:
+GOOP into the search field and you will get lots of information,
tutorials, etc.

here's the search results for the search mentioned above
(http://search.ni.com/query.html?col=alldocsqs=-languagetype%3Anonenglish+-contenttype%3acommunitydiscussionslayout=defaultqt=%2BGOOP)



Re: string input to CIN is missing?

2004-05-19 Thread Joel Andersen
CINs are a pain.

Whenever possible, use a Call Library Function (CLF) instead.  Things
will go much smoother for you.  If you have LV 7.0, there is a
shipping example called Call DLL.vi in the lv
root\examples\dll\data passing\Call Native Code.llb.  This example is
an excellent resourse, and should address any issues you have with
calling external routines from LabVIEW.



Re: Datalogging and multiplot graphs/

2004-05-19 Thread Jeremy Braden
There exists no LV7.1 eval.



Will Value change events fire when changed via ActiveX?

2004-05-19 Thread Cyle Nelson
I have a VI with an Event Structure defining several Value Changed
events. These events are associated with various buttons on the
control panel. When I work through the panel and press the buttons,
the events fire correctly. However, if I connect via the COM/ActiveX
control and change the control values, the button indicator light
changes, but the Value Change event does not fire. Can we trigger
value changed events remotely or must they be triggered via a
mouse-click on the button?



Will Labview 6.1 work with Windows 98? If it does, will it be less efficient?

2004-05-19 Thread uscmagz
Thanks!

Lauren



Re: VI for HP70843B??

2004-05-19 Thread rangers
No, we do not have a VI for this instrument.
Have you managed to find one over the past few years?
Ray



Re: Errror 1305 When installing Lab View 7

2004-05-19 Thread NarenS
There are two possibilities:

1. There is a problem with the CD - Try copying the contents to your
hard disk drive and try the install from that location.

2. The installer service does not have adequate permission to access
your System32 folder - This can happen if you have NTFS on your drive
and the System account does not have Full Access to this folder.

If item two doesnt make sense, please repost and I will try to walk
through in more detail.

Naren



Re: append front panel image crashes in 7.0

2004-05-19 Thread Joel Andersen
try to generate an HTML report first, and then print that.  Some
printers are worse than other at printing (what looks like) a simple
object.

Otherwise, I would do some basic trouble shooting, like can you print
a simpler front panel image (say two numerics) to the printer.  Next,
I would try to print to a different networked printer.



Re: Datalogging and multiplot graphs/

2004-05-19 Thread RTSLVU
Labview 5.1 may be old but it is just as useful and has far lower
machine requrements.

I have LV 6i still the shrink wrap simply because we never had the
time or resources to upgrade several years worth of code just to have
the latest version.



Re: array to database

2004-05-19 Thread Joel Andersen
when putting arrays into a DB, you should define the column to be
image data.  (I'm sorry but I forgot the word that the DB people
use, it's not image data, but I think it is similar...).  Since an
image is a 2D array, that data type works perfect for arrays of data.
It will let you insert the entire array into one cell.   Sometimes
strings and databases don't work well with each other (null strings,
and termination chars).  Look at the shipping example(s) that come
with the toolkit to see various ways around this.  I think that Access
(in trying to appeal to everyone) is the worst at arrays of strings.



Re: simulating a sinus-signal in a graph

2004-05-19 Thread Joel Andersen
either build a Waveform (using the Build Waveform VIs) and supply the
initial time, and delta T.  Or use the waveform Graph, and a bundle to
supply the array of data with a initial time, and the delta T.

LabVIEW ships with an example called Waveform Graph that illustrates
the various ways to transform the data that is shown on the graph.
The middle graphs show what you are looking for.

Also, the LabVIEW help (which is excellent!) describes what you need
to do in great detail.  Just look for Waveform Graphs.



Errror 1305 When installing Lab View 7

2004-05-19 Thread wlfields
When installing labView 7.0 receive the following:

Error 1305.Error reading file: C:\WINNT\system32\ninetbrw.ocx.  Verify
that the file exists and that you can access it.

My problem is that the installer places this file out there and does
not seem to be able to access it.



Re: radar

2004-05-19 Thread Erin B.
Creo que quieres usar un polar plot de LabVIEW.  Para hacer eso,
tienes que tener LabVIEW 5.1 Full o Professional o mayor.  Debajo hay
unos enlaces con mas informacion.

http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/9cec8b2c1e67039586256def006f9a0e?OpenDocument

http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/f8f77c54c51b33a2862562ba0001ec44?OpenDocument

Espero que esta informacion te ayude.

Saludos,
Erin



Motion control and break-points

2004-05-19 Thread Mihai Costache
I have a motion control application, where a Hall probe is moving through a
magnetic field. The magnets can have quite awkward shapes, hence the
intervals between the locations where I need to take measurements are not
necessarily evenly spaced spaced along any of the axes. The implication is
that I cannot use the modulo option to define multiple break-points for
triggering my DAQ.
Question is: can I define multiple break-points before starting a move, or
is it always only one, as in the NI examples?

Many thanks in advance,

Mihai Costache
Senior Research  Development Engineer
Industrial Research Ltd.
Brooke House
24 Balfour Rd., Parnell
PO Box 2225
Auckland, New Zealand
DDI: +64  - 9 - 920 3645
Fax: +64 - 9 - 920 3106
www.irl.cri.nz


Men stumble over the truth from time to time, but most pick themselves up
and hurry off as if nothing happened. 
Sir Winston Churchill (1874-1965)






Re: Continuous sin wave generation without buffer

2004-05-19 Thread jhoskins
Just my 2 cents put you would benefit with upgrading to nothing less
than 7.0 but why not go 7.1 If this is an option do it. DAQmx
Assistant alone will save hours of design time. Not to mention all the
other math functions now available with 7.1

Joe



Re: Aborting a SubVI

2004-05-19 Thread mkess
Ed,
 Thanks for your help.  I was afraid you might say that about the
sequence loop.  I had read some articles that lead me to believe that
I should re-design to another type of loop.  I have a number of tasks
that need to be complete before the next task starts, which made it
seem (at the time) that the sequence loop was my best choice.  Will
the while loop be ok for that kind of requirement?
Matt



Re: LabVIEW.exe-Application Error

2004-05-19 Thread jhoskins
also one other thing if this is already an executable does it work in
design time. It sounds to me like there may not be any wait functions
in any of the loops which will cause the cpu usage to max out.



  1   2   >