Re: Filtering out and sending data to the correct graph depending

2004-02-04 Thread Dargar
Thanks for a fast reply with relevant information! :)

I think using a history buffer and have one graph will be to slow. The
satellite will be active for 6 - 8 hours, and towards the end of that
time, I think (I don't know) that the time it would take to read in
the buffer and then display the data would be significant, taking away
resources needed to keep logging the new, incomming information. So, I
will try and play with the property node and see if I can get
anywhere.


Now, the first part of my question still remains valid for anyone who
has a few minutes to answer it, about how to multiplex the incomming
command and data to the correct branch.

Yet again, thanks to Greg McKaskie for his quick reply.



Re: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi

2004-02-04 Thread Dr Sanjay Gupta
Gerd,

Why not just add up the complex fft's of the various segments prior to
computing the magnitude and phase. Works every time.

Sanjay Gupta

+-+
+ Chief Scientific Officer  Former Head Phones:0512-2597830 (Off)+
+ Advanced Centre for Materials Science 2574628, 3117477 (Res)+
+ Indian Institute of Technology  +
+ Kanpur 208016, India Fax:+91-(0)512-2597459 +
+ +
+-+




Re: importing vi from old LV versions (Mac to Win)

2004-02-04 Thread tmh
I believe that opening the old VI's and re-saving them in LV 4 would
also work. If you don't have LV4 or 5 then a conversion kit for old
VI's is supposedly available from NI.

You might be able to find a workaround for problem (2) by temporarily
moving some of the problem VI's out of where they currently are in the
hierarchy (vi.lib?) before you load your old VI's, and/or creating
'wrapper' VI's to go around the new VXI VI's that have the connectors
in the places you need.

If the conversion in (3) is a problem, can you avoid it by saving the
VI's into an LLB on the Mac before bringing them to Windows?



Re: Synchronize read from RS232

2004-02-04 Thread tmh
If the message transmitted by your sensor is always terminated by a
specific character, e.g. CR or LF, just enable that as the VISA
termination character for serial reads and set a timeout that is a bit
longer than the sensor interval, e.g. 2-3 times as long. Use a VISA
Read function and wire a large value to 'bytes to read' (larger than
the maximum expected message length). VISA Read will wait until a
complete message is received and then return it.

If the message doesn't have a termination character, read one byte at
a time in a while loop and assemble the bytes into a string or array
using a shift register. Use appropriate code to detect when a complete
message has been assembled.

Either of these methods will return the sensor response to your LV
program as soon as possible after the sensor has sent it, which is
what I assume you mean by 'on time'.

There are two possible problems to bear in mind when you have a device
that sends data continuously, rather than in response to a request:
first, that readings may build up in the serial buffer before your
program starts reading them, and second, that the first response you
read may have the beginning chopped off, if you opened the port while
the device was half-way through sending something. Make sure you've
considered both of these. (Using the 'flush' function can help, but
remember you might flush the buffer while the device is half-way
through sending!)



ScreenPrinting pauses LabVIEW application

2004-02-04 Thread Boeing
System Configuration:
LabView 6.02
Windows NT 4.0
Pentium III 800 MHZ dual CPU, 256 Mbytes
PXI chassi

Problem:

My LabView application encounters two intermittent problems while
printing. A printer is directly connected to the system thru the
printer port.

The first problem occurs in the serial communication (RS232) with
another computer (VAX) while printing. Characters are detected missing
from the string of characters that my system is receiving from the VAX
(other computer). This problem occurs almost every time that my system
prints a page.

The second problem is not as frequent as the first one. This one
appears to occur the first time that you try to print after a long
time without printing. What occurs is that if one tries to print at
the same time that one of the Control fields (String control) number
is changed, the field is locked out and the number can not be changed
unless the file that is open (recording data) is closed.



Re: How can I move keyfocus on different contols using a keybord input?

2004-02-04 Thread LegalEngineer
It works as I anticipated. This is the answer. Just out of curiosity
how would you programmatically control the order. I think turning the
order off will use property settings of contorls to false. To program
the order of keyfocus I need to know what user is typing and whenever
tab is pressed I need to set keyfocus property to true. Not sure how
to read user'skeyboard input.



Re: Waveform Chart Y-T Values

2004-02-04 Thread Dennis Knutson
The only difference is that the 6.1 version that creates an x array is
just called Get Waveform Time Array.



Re: Automation close (windows) does not work.

2004-02-04 Thread Joe Guo
Have you test your vi over long period of time?  Did you see the
memory increased steadly?  Or does it go to a level and then drop back
to a lower level?

From what I tested, it seems the memory does not increase all the
time.  The memory usage increased to a certain amount and then
maintain that level (decrease and increase to that level again).
Therefore I don't think there is a memory leak.  The memory profile I
did also does not indicate any memory leak.

-Joe



Re: Quel est le VI actif ?

2004-02-04 Thread geeaile
as tu essay=E9 de peser sur pause une fois qu'il est pris dans une loop,
et ensuite tu peux faire avancer le program step by step.



can labview record data through a serial connection from a load cell controller?

2004-02-04 Thread DavidE123
I am assembling a system and need to be able to control both a newport
motion controller (already has LV drivers, so I am sure that's all
set) as well as take load data from a Sensotec load cell controller -
the controller uses a serial connection for data transfer.  Can I use
labview to readily acquire data from the load cell controller (it's a
sensotec 2000, if that helps)?



DLL calling convention

2004-02-04 Thread louis
Hello
Here's my problem. DLL looked always magic to me, so I tried to work
with them to see how it works. I wrote a DLL in Labwindow/CVI 6.0 and
my first fonction  had the following prototype

extern int  __cdecl MyDLL_Init (int In1,char *Out2);

I did'nt exactly know why using a C type declaration or a standard one
but the I followed a typical example found in the Developer zone.
Actually my function had one integer input (In1) and two output: a
status Integer and a C string parameter. I called the function in
Labview 6i following the example given and I was surprised that
everything worked the first time. I wanted to add another output
string to my function, so I changed the prototype

extern int  __cdecl MyDLL_Init (int In1,char *Out2,char *Out3);

I changed the configuration in Labview Call Library Function and then
Labview crashed all the time. I tried to call the DLL in a CVI program
and everything went well. I came back to Labview and it crashed again.
I came back to the first prototype and it worked well. I thought it
might be the fact that Labview does not use C type string but it
worked fine with only one output string, so it does do the conversion
if the String Format is correctly chosen in the configuration. Finally
I just changed the convention from cdecl to stdcall and everything
worked well. As a mechanical engineer, I am more a self-taught
programmer and most of the time I change everything till it works
without understanding very well but I wonder why this happens like
this.
Thank you very much
Louis



Re: Comment effacer un startup.exe dans un field point

2004-02-04 Thread geeaile
as tu essay=E9 via le ftp!



Re: GPIB Read.vi does not output right data?

2004-02-04 Thread Noel
Based on the data you included in your question, I would guess your
(A) analyzer is set to return data in ASCII format while your (B)
analyzer is set to return data in binary format.  Typically data
encoding format is settable on many instrument. Therefore, you can set
(B) to return data in the same format as (A).  Alternatively, the
binary format is probably an IEEE 488.2 definite length block format.
You might choose to return data in binary format for improved
performance.  Below is a link to some examples for parsing definite
length block format:

a
href=http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=C993A8A8911F19DDE034080020E74861p_node=DZ52341p_submitted=Np_rank=p_answer=p_source=External;Waveform
Encoding and Scaling for Instrument Control Applications
/a



Re: Best books to get up to speed with LabView 7?

2004-02-04 Thread Jeremy Braden
You can see the classes and books NI offers at the a
href=http://www.ni.com/training/;customer education page/a.



Re: Filtering out and sending data to the correct graph depending on data identifier

2004-02-04 Thread Brian Powell
Regarding your string parsing...

Maybe I don't understand your protocol, but it looks to me like it's
just a simple query/response protocol.  So I'm not sure what you mean
when you talk about a continuous stream of data.

It seems like you'd just send ?Temperature1\n and immediately do a
VISA Read knowing that the data you expect back is for Temperature1.

I'd suggest that you terminate your data with an end of line
character, and use VISA's termination character functionality to
simplify the read.  E.g., have the satellite return something like
!Temperature1[Data]\n.  Then configure \n as your VISA termination
character.  You could leave out the Temperature1, since you should
know what you queried for.  But, it does make a good sanity check if
you identify the data that comes back with the appropriate channel
name.

Is the data encoded in ASCII?  If so, then the Scan from String and
Spreadsheet String to Array functions will be useful.  If it's in
binary format, you'll probably end up using the Type Cast function.

I'd suggest downloading some of the native LabVIEW instrument drivers
on http://ni.com/idnet/.  E.g., download something for an oscilloscope
that includes a serial interface.  This should provide you with
several examples of how to read data with VISA and parse it.  This
should also show you many examples of how to get real-valued data
(orange) instead of pink or blue.

I hope this helps.

Brian



Re: General LS Linear Fit - Number of Equations

2004-02-04 Thread mochalatte
I'm having the same problem.  Seems that if you have more than 90
parameters, the General LS Linear Fit.vi returns error -20021.  Seems
like there is an unstated maximum array size for the GenLSFit_head
function in the DLL the vi calls.

Did you ever find a workaround?



Re: do all the sub VIs in a reentrant VI need to be reentrant?

2004-02-04 Thread Ed Dickens
It depends on how you want your sub-vis to behave.

Any sub-vi will follow what is set in its execution properties. So if
it=92s set for reentrant operation, it will run that way. If it=92s not
set for reentrant operation, the same instance of the VI will be used
regardless of what is calling it. So reentrant VI=92s can call the same
instance of sub-vis and they will share data within the non reentrant
sub-vis.

So you=92ll need to decide how you want the sub-vis to work and set them
appropriately.

Ed



Getting Library Function Call errors!

2004-02-04 Thread Dave M
Just recently, we've been trying to upgrade our testers to an Analogic
Digitizer which uses Dll files for programming.  So we've modified our
test code with the appropriate library function calls and have tried
to run the software via our labview test executive.

It seems that when we run the new software via the test executive, we
see errors induced in the operation of our Asset 3.1.1 Boundary Scan
Library function calls...?  These older Asset LFC's have not been
modified with the latest upgrades and are currently running with the
older version of production test software without issues.

I'm thinking we've run into a memory constraint of some type that my
be due to the 5.1.1 version of LabView software.  Could you tell me if
there are
any memory constraints with this version of Labview...?  If there's a
limitation to the number of vi's and/or library function calls that
can be
contained within a single library...?

We are trying to run the software via a library without diagrams...

Could you also give me the name and number of your nearest technical
representative so I may be able to hash this out with him/her over the
phone if need be...?



Stopping Labview when it has to search for a file...?

2004-02-04 Thread Dave M
When loading opening a new test sequence in labview, the software may
go off and search for a dll that may be located in another unexpected
directory.  Usually, the software will find the file before you can
determine which file it was searching for and what path it expected to
find the it and where it eventually found it.  Is there a way to stop
the software load when labview has to search for a file so that the
user can easily determine what files may be in an incorrect
directory...?



Re: Problem with converting levenberg marquardt fitting program from LV6.1 to LV7

2004-02-04 Thread Matthew C
Ruud,

Thank you for contacting National Instruments.

The problem does in fact have to do with the very small values of Y.
As you mentioned, the solution is to scale the Y values, perhaps by
multiplying them by 10^+8.  The following link will take you to a
knowledge base article that will give you more information:

http://digital.ni.com/public.nsf/websearch/6F23B120B7A2C585862566F700130A0A?OpenDocument

Hope this helps!

Matthew C
Applications Engineer
National Instruments



RE: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi

2004-02-04 Thread Bruce Ammons
The only way to get meaningful phase is to start your acquisition at the
same phase for every segment.  An example of this would be an encoder
pulse.  If each acquisition starts at a once per rev pulse from the
encoder, they will all have the same phase components.  Another
possibility is doing order tracking, where there is a fixed number of
samples per revolution.  If you shift your window by the number of
samples per revolution, you will get the same phase again.

Any time you have a steady stream of data with no reference point, the
phase data is essentially useless.  If it is a repeating signal you
should be able to identify a reference point.  I suppose if you don't
have a hardware signal, you could use convolution to identify repeating
cycles of data.  If phase is important, you should have a reference
signal.

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 Gerd Rech
Sent: Wednesday, February 04, 2004 3:36 AM
To: [EMAIL PROTECTED]
Subject: Re: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


Hi folks,

I know the overlapping average technology from signal analysers. In
those cases I used them up to now, phase was not relevant. Now I have an
idea about a different use where phase would be important. Scott's
comment that phase would be meaningless if overlapping averaging is used
is making me thinking.

What about this:
1. Cut the long waveform stream into a number of (overlapping) pieces.
2. Use the FFT vi for each piece, which will produce amplitudes and
phases for each frequency bin. 3. Average apmlitude and phase for each
frequency bin separately.

Would this create meaningful phase?
I would guess yes, as all pieces were acquired in a consistant stream of
data originally.

Seems that my mathematical understanding does not reach far enough to
understand this completely.

Cheers

Gerd





Re: How do I create a code interface node on OS X?

2004-02-04 Thread FerozP
Hi,

Yes, you can create a CIN on Mac OS X.  You can find more information
on it in the a
href=http://digital.ni.com/manuals.nsf/websearch/8D930295FFBF9F7686256D2C00624728?OpenDocumentnode=132100_US;Using
External Code in LabVIEW/a manual pages 3-10 to 3-12.

I hope this helps.

Feroz
National Instruments



Re: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi

2004-02-04 Thread Scott Hannahs
At 16:19 +0530 02/04/2004, Dr Sanjay Gupta wrote:
Gerd,

Why not just add up the complex fft's of the various segments prior to
computing the magnitude and phase. Works every time.

Works differently.  That is a vector addition.  For a varying phase it will reduce 
your signal.  For overlapping FFTs phase slip will reduce the signal to zero after 
enough time.  RMS averaging will average the magnitude.  Very different.

-Scott
-- 
 Dr. Scott Hannahs, Head of User Research Instrumentation
 http://sthmac.magnet.fsu.edu
 National High Magnetic Field Laboratory, Florida State University
 1800 E. Paul Dirac Dr., Tallahassee FL 32310, (850)644-0216/FAX 644-0534

  Do not meddle in the affairs of sysadmins,
   for they are easy to annoy and have the root password.




synchronize communication on tcp/ip

2004-02-04 Thread sumitrishi
want to achieve synchronous Bi directional Communication in a client
server setup using tcp ip .

The client sends some data to the server and immediately start waiting
for an acknowledgement from the server. now, how do i ensure that the
client reads the acknowledge ment and not the data that it wrote to
the server( i am using  character 'A' for acknowledgement and the
server data being sent back to client can easily have it). I am not
sure if I am very clear in asking the question . Please revert if you
think you understood the query or may be with little more elaboration
you would be able to.



Re: Channel configuration with HP34970A

2004-02-04 Thread Dennis Knutson
The driver comes with a complete set of functions and several high
level examples that incorporate them. There's one called HP34970A
Advanced Scan Example that will take voltage and/or resistance
measurments from a single scan list. It is easily modified to take
other measurments. There's another one called HP34970A EZ Scan
Example. To use either one as is, open it, specify the address of the
instrument, enter a channel list, pick the configuration, and then run
it.



Re: Item names in a strictly typed ring control do not update.

2004-02-04 Thread Zvezdana S.
Sudhir,
This is an expected behavior with strictly typedef ring constants.
Instead of menu rings, you will want to use enums.
A Strict typedef keeps its cosmetic information on the front panel but
not on the Block Diagram. The type of the ring does not depend upon
its strings - like it does with enums.

See a similar post on this topic bellow:
a
href=http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=135HOID=506500080016B2UCATEGORY_0=_49_%24_6_UCATEGORY_S=0;Strict
Type Def with Menu Ring does not automatically update linked
constants/abr
Zvezdana S.
National Instruments



Re: what is the difference between wiring a datasocket reference...

2004-02-04 Thread Matthew C
John,

Thank you for contacting National Instruments.

To answer your first question, whether it is better to wire a URL or
reference into a DataSocket Read/Write depends on your application.
When you are going to be writing or reading multiple times to the same
connection (such as using a loop), it is more efficient to first open
a DataSocket connection before the loop, pass a reference to your
write/read functions within the loop, and then close the connection
after the loop.  Using only a DataSocket Read/Write will cause your
connection to open and close each time the loop repeats.  This can
significantly increase the load on your processor and system
resources.

LabVIEW will allow you to supply a URL directly to a DataSocket
Read/Write, which is useful if you are only going to be making one
read or write.

You can open multiple DataSocket connections simultaneously using
DataSocket Open.  It is recommended, however, that you close every
connection once you have finished performing the necessary tasks for
that connection.  I believe you can perform both read and write
functions to the same connection before closing it if you wire a
=93ReadWrite=94 constant to the =93mode=94 connector of the DataSocket Open
VI.

I hope this helps!

Matthew C
Applications Engineer
National Instruments



Re: Invoke Node Method: Close FP (LV7)

2004-02-04 Thread Steve
Very Slick.  Thanks for the indepth reply.  It certainly has helped.
I've just been playing it safe and closing all references.  It was
indeed the creation of a bigger badder VI in which I came to wonder
about this.  Thanks for clearifying.

Steve



RE: RE: IMAQ references/LV7

2004-02-04 Thread Jack Hamilton
Don,

Thanks for the IMAQ examples. What I am finding is that if you drag the
property node into another blank VI then drag the reference to the blank VI
front panel – problems occur:
1.  The reference does not show as an IMAQ reference but a odd looking thing
with a red x “PlugInContol Refnum” when I try to connect this reference to
the property node in the blank VI – I get an ‘insane” error and LV7 crashes.
2.  I can’t seem to find the ‘proper’ IMAQ reference.

I really what to do the coding at a sub-VI level not on the top level – this
is where the problems lie.

Jack Hamilton
Hamilton Design
[EMAIL PROTECTED]
www.Labuseful.com
714-839-6375 Office






Teststand help

2004-02-04 Thread Scott Serlin
Can anyone help me pass variables from my VI into teststand to run the
pass/fail test?  I'm able to get my VI to run but cannot get the info
out of my VI and into teststand after the VI runs.  How do I do this?
How do I  also pass that info into the pass/fail test?  Any other
teststand tips would be appreciate.

Thanks.

Scott




Re: Invoke Node Method: Close FP (LV7)

2004-02-04 Thread Ben
I've just been playing it safe and closing all references

Good go! Someone will benefit by this appraoch. It may even be you.

Thanks for the kind words.

Ben


a
href=http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101RPAGEID=261HRedirected=TrueHUserId=101_3529RFORMNUMBER=6;Ben
Rayner/a
a href=
http://volt.ni.com/niwc/common.jsp?page=products_certification_cldnode=10638;
Certified LabVIEW Developer /a
www.DSAutomation.com



Re: Is there a way to create a multi-state button or have a pict ring behave like boolean?

2004-02-04 Thread Robert Cole
I just had a thought (don't everyone cringe at once)...

You could change the text on the button programmatically using
property nodes and then when the button was pressed, read the button
text to see which state it was in. A little clunky but it should
work.

There are other, better ways of doing this, but I think that this is a
workable solution. By building a typedef list of texts for the
button, you could change it quite easily. I may try this just to see
how it works.

 Rob



RE: [W] Image acquisition

2004-02-04 Thread Bruce Ammons
I don't really see a need for anything else for your application.  If
you are using a non-NI driver to acquire from the image, you should be
getting a 2D array from the camera.  If not, you should be able to
easily convert it to a 2D array.  The summing operations are standard
array manipulation.  You can always display the results using an
intensity plot or picture control.  If you want higher speed, you could
use the new image control in LV 7.  You might have to install IMAQ to
get that control.

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 Jean-Pierre Drolet
Sent: Wednesday, February 04, 2004 10:18 AM
To: Info-LabVIEW
Subject: [W] Image acquisition


Hello all.

I'm not familiar with image acquisition and I have to communicate with a
CCD camera, Photometrics CE 300, using its driver PVCAM. The camera
acquires a spectrum and the only processing required is to sum
horizontal or vertical lines into bins.

I have LabVIEW 7 Pro and I would like to know if someone here can tell
me what else is required to get this job done.

Thanks

Jean-Pierre Drolet
Avensys.





Why the control passes the previous value to my function?

2004-02-04 Thread SteveChen
I want to use a control to subscribe to value of a modbus register
through datasocket and pass the present register value to other
functions. I found that after subscribing, the control shows the
present register's value but pass the previous value to others instead
of current value. When I put breakpoint into the program, the
operation is correct. But when I remove the breakpoint away, that
strange thing happens again. It looks as if there is some delay. How
can I solve it?

Thank you for your help.

Steven



Re: i am trying to communicate with a robotic arm which is...

2004-02-04 Thread Dennis Knutson
You said that the robot arm came with a driver. Typically this is DLL.
I'm assuming that this works but you want to integrate control of the
arm with a LabVIEW program. Hopefully the vendor can provide and API
(Application Program Interface) that describes the functions in the
DLL. The DLL would do all of the communication to the device through
the parallel port. If you want to use LabVIEW functions (i.e. outport
or VISA Write) to talk to the serial port, then I think you'll have to
uninstall the driver and duplicate it's functions.



Re: Filtering out and sending data to the correct graph depending on data identifier

2004-02-04 Thread Dargar
Hi Brian and thanks for your feedback.

A few comments:

I'm tagging the data, because I want to be able to sample and send
in a loop from the satellite side, without querying for the data. But
I also want to be able to query specifically for data manually. I
don't know what I will end up doing in the final application though,
so right now I'll go with ASCII (easyer to check for errors and read
for humans) and the identifiers, I might remove them later.

Also, I'm not sure if using just a /n character (8 bit ASCII code) is
good enough, because the data comming is from an ADC circuit (or
actually 10) and they can have any value from 0 to 1024 and the data
might accidentally contain a sequence that in ASCI corresponds to the
/n character. Thats why I will use at least 2 characters for the end
of data sign. :)



Re: tcp read / tcp write ?

2004-02-04 Thread Mads
No.



Re: when to consider giving different port number to every new client that is connecting to the server?

2004-02-04 Thread Mads
When the server receives requests from the clients, does it really
reply in parallell, or does it handle the requests sequencially?

If the latter, improve the performance by dynamically creating
connection handlers that process requests from each client
individually.

Compression is another thing that may improve the performance.



Re: intaller remove other labview applications

2004-02-04 Thread m3nth
Use different compile scripts for different versions of your
program--what needs to be different in the compile script is the
registry key the installer is looking for.  When an install package
finds that the key is already registered it will try and do the
uninstall, which is really handy if you want it to do that, and not
handy at all if you don't :)



Re: Filtering out and sending data to the correct graph depending on data identifier

2004-02-04 Thread Brian Powell
So it sounds like you want to send back a sequence of two-byte binary
data samples.  Thus, you'll use the Type Cast function.

(When I talked about ASCII, I meant that encoded the value 142 as
three ASCII characters, '1', '4' and '2'.  It sounds like you are not
going to encode your data this way.)

Back to the continuous vs. query mode...  It's kind of weird to be
combining both of those.  Usually devices either constantly spew data,
or they are queryable.  Maybe they can do either, but they are
typically put into one mode or the other as part of their
configuration.

But let's run with this.  Here's what I'm envisioning, and you can
tell me if I'm right.

When no queries are going on, the satellite is constantly spewing
out...

!Temp1[data]End
!Temp2[data]End
!Temp3[data]End
 and starting over...
!Temp1[data]End
etc.

If the satellite receives a query, it reports the results back at the
next opportunity.  Something like this...

!Temp1[data]End
!Temp2[da
 Computer queries for ?Temp1 while receiving !Temp2
ta]End
!Temp1[data]End
!Temp3[data]End
etc.

If that's the case, then I think you'll want two parallel loops.  One
is responsible for waiting for a reason to query for a specific data
value.  It doesn't do anything until that data is needed.

The other loop is constantly reading, and has no idea whether data was
queried, or just received as part of the normal spewage.  It is
responsible for taking whatever is read, parsing it and updating some
data structure (e.g., a set of globals) that contain the latest data
values.

The rest of your program that needs to display or log or analyze the
data just looks at the globals.

Is any of this making sense?  Am I off track?

Brian

PS:  I think any posting that contains the noun spewage is worthy of
a 4-star rating, don't you? ;-)



RE: Teststand help

2004-02-04 Thread Mahoney, Richard C
In LabVIEW, there are TestStand Native VI's for:
Get Boolean, Set Boolean,
Get String Set String
Get Number, Set Number
Get Variant, Set Variant etc.
These are all available in the scalar, or array variety,
(and I've actually created multi-dimensional array VI's also.)

and these are available from the TestStand Pallet on the LV Block
Diagram and Front Panel
If these TestStand VI's are not available, you may need to either
reinstall TS, 
or find the TS .llb on NI web site and download and copy it to the
vi.lib directory
under LV.

In TS, you need to wire a sequence reference in to the LV connector from
TS. You must enable 
the Sequence reference check box in TS's Specify module dialog. Then use
the Seq Ref and wire
to the TS VI's and pass data back and forth at will. 

The variable can be accessed via name stored on the Locals tab of any
sequence.
These are referenced by Locals.variablename in LV. actually, the
examples are quite
good for this detail...

Rick Mahoney
Equipment Test Design
Lockheed Martin Corp
Syracuse, New York 13221

 
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Scott Serlin
Sent: Wednesday, February 04, 2004 12:03 PM
To: [EMAIL PROTECTED]
Subject: Teststand help


Can anyone help me pass variables from my VI into teststand to run the
pass/fail test?  I'm able to get my VI to run but cannot get the info
out of my VI and into teststand after the VI runs.  How do I do this?
How do I  also pass that info into the pass/fail test?  Any other
teststand tips would be appreciate.

Thanks.

Scott




RE: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi

2004-02-04 Thread Bruce Ammons
I don't see any benefit to averaging parts of the signal.  If you
average within a single revolution, you will lose your phase
information.  There is no benefit of averaging sections of repeated
signals either.  Just do a large FFT for each revolution and average
them.

FYI, you could average the signals themselves or the complex FFTs for
repeated signals.  I don't recommend averaging magnitude and phase in
this case.

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 Gerd Rech
Sent: Wednesday, February 04, 2004 10:26 AM
To: Bruce Ammons
Cc: Info LabVIEW
Subject: AW: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


I have a phase reference pulse once per rev which starts the
acquisition. So I should get consistent phase readings for repeated
measurements. However, I was wondering if it would make sense to average
parts of the signal(using overlapping segments) for speeding up the
averaging process. The idea is to make as much use as possible out of
the data that I get into the PC.

Gerd


-Ursprungliche Nachricht-
Von: Bruce Ammons [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 4. Februar 2004 15:27
An: 'Gerd Rech'; [EMAIL PROTECTED]
Betreff: RE: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


The only way to get meaningful phase is to start your acquisition at the
same phase for every segment.  An example of this would be an encoder
pulse.  If each acquisition starts at a once per rev pulse from the
encoder, they will all have the same phase components.  Another
possibility is doing order tracking, where there is a fixed number of
samples per revolution.  If you shift your window by the number of
samples per revolution, you will get the same phase again.

Any time you have a steady stream of data with no reference point, the
phase data is essentially useless.  If it is a repeating signal you
should be able to identify a reference point.  I suppose if you don't
have a hardware signal, you could use convolution to identify repeating
cycles of data.  If phase is important, you should have a reference
signal.

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 Gerd Rech
Sent: Wednesday, February 04, 2004 3:36 AM
To: [EMAIL PROTECTED]
Subject: Re: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


Hi folks,

I know the overlapping average technology from signal analysers. In
those cases I used them up to now, phase was not relevant. Now I have an
idea about a different use where phase would be important. Scott's
comment that phase would be meaningless if overlapping averaging is used
is making me thinking.

What about this:
1. Cut the long waveform stream into a number of (overlapping) pieces.
2. Use the FFT vi for each piece, which will produce amplitudes and
phases for each frequency bin. 3. Average apmlitude and phase for each
frequency bin separately.

Would this create meaningful phase?
I would guess yes, as all pieces were acquired in a consistant stream of
data originally.

Seems that my mathematical understanding does not reach far enough to
understand this completely.

Cheers

Gerd






RE: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi

2004-02-04 Thread Scott Hannahs
The benefits are that you can see the signal change during the 120 second acquisition 
time.  You could see a 200 hz signal oscillate back and forth for example.  This is 
the approach taken by the JTFA (joint time frequency analysis) toolkit.  They use 
gabor spectrograms that take gaussian windows of the data.  There is a tradeoff 
between response time (ie time to put that frequency on the screen) and accuaracy (ie 
long data sets).  The overlapping FFT with exponential averaging is a tradeoff but it 
all depends on the requirements of the job.

If you want real time display then you can't wait for that long 120 second acquisition 
time.  Also if you want information about frequency changes within that 120 seconds.

-Scott


At 13:56 -0500 02/04/2004, Bruce Ammons wrote:
I don't see any benefit to averaging parts of the signal.  If you
average within a single revolution, you will lose your phase
information.  There is no benefit of averaging sections of repeated
signals either.  Just do a large FFT for each revolution and average
them.

FYI, you could average the signals themselves or the complex FFTs for
repeated signals.  I don't recommend averaging magnitude and phase in
this case.

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 Gerd Rech
Sent: Wednesday, February 04, 2004 10:26 AM
To: Bruce Ammons
Cc: Info LabVIEW
Subject: AW: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


I have a phase reference pulse once per rev which starts the
acquisition. So I should get consistent phase readings for repeated
measurements. However, I was wondering if it would make sense to average
parts of the signal(using overlapping segments) for speeding up the
averaging process. The idea is to make as much use as possible out of
the data that I get into the PC.

Gerd


-Ursprungliche Nachricht-
Von: Bruce Ammons [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 4. Februar 2004 15:27
An: 'Gerd Rech'; [EMAIL PROTECTED]
Betreff: RE: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


The only way to get meaningful phase is to start your acquisition at the
same phase for every segment.  An example of this would be an encoder
pulse.  If each acquisition starts at a once per rev pulse from the
encoder, they will all have the same phase components.  Another
possibility is doing order tracking, where there is a fixed number of
samples per revolution.  If you shift your window by the number of
samples per revolution, you will get the same phase again.

Any time you have a steady stream of data with no reference point, the
phase data is essentially useless.  If it is a repeating signal you
should be able to identify a reference point.  I suppose if you don't
have a hardware signal, you could use convolution to identify repeating
cycles of data.  If phase is important, you should have a reference
signal.

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 Gerd Rech
Sent: Wednesday, February 04, 2004 3:36 AM
To: [EMAIL PROTECTED]
Subject: Re: [W6.1] RMS averaging with FFT Spectrum (Mag-Phase).vi


Hi folks,

I know the overlapping average technology from signal analysers. In
those cases I used them up to now, phase was not relevant. Now I have an
idea about a different use where phase would be important. Scott's
comment that phase would be meaningless if overlapping averaging is used
is making me thinking.

What about this:
1. Cut the long waveform stream into a number of (overlapping) pieces.
2. Use the FFT vi for each piece, which will produce amplitudes and
phases for each frequency bin. 3. Average apmlitude and phase for each
frequency bin separately.

Would this create meaningful phase?
I would guess yes, as all pieces were acquired in a consistant stream of
data originally.

Seems that my mathematical understanding does not reach far enough to
understand this completely.

Cheers

Gerd




Re: [W] Image acquisition

2004-02-04 Thread Hamid_Yazdi

Hi Jean-Pierre;

I had to look for this particular camera (photometrics 300). I did not spend much time but it seems to me that the camera is made
by Roperscientific and they also provide the frame grabber (PCI bus). By the sound of it, I guess the camera is RS170 and most probably
has some special features which makes is so special! (I guess it communicates with the card).

Now, I don't know what exactly you want to do? I guessed you want to write a particular program in LV.

If you want to have the functionality of PVCAM (I think it is Roper's software) then you will need more information
regarding their DDL's and most probably their SDK.

If you can get hold of the pointer to the pixel values in the memory, (assuming you would know the image format) 
then the rest of the job is a piece of cake!

But getting hold of that pointer may not be an easy job.

What would I do? I would buy a frame grabber from NI and a compatible camera according to my application and then
IMAQ 7 and viola!

If you need further help please contact me

Regards


+
Dr. Hamid R. Yazdi
Federal Mogul
Manufacturing technology
3935 Research park drive
Ann Arbor, MI 48108

Tel: 734 222 4108


RE: [W] VI Server vs. System Exec.

2004-02-04 Thread Junginger, Johann

As I understand it a version of LabVIEW can always(?) open a VI written with
an earlier LV version but the converse is not true. 

If you have access to LV7 you can try 'Save with Options' to save those LV7
VIs as LV6.1 VIs. Sometimes this causes errors though...

Probably the better option is to mass compile (Tools -- Advanced -- Mass
Compile) your LV6.1 VIs to LV7. Make sure you keep a backup of your 6.1 code
in a safe place, as a recent poster to this list recently learned. 

If you don't have access to LV7 you might be out of luck, unless someone on
the list offers to 'downgrade' your VIs. I don't have LV7 yet, so I'm not
volunteering. :)


Johann Junginger

Research Scientist
Xerox Research Centre of Canada
[EMAIL PROTECTED]
Ph: (905) 823-7091 x306
Fax: (905) 822-7022





-Original Message-
From: Niesen, Melissa [EPM/MTN]
[mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 04, 2004 18:03
To: '[EMAIL PROTECTED]'
Subject: [W] VI Server vs. System Exec.


I have several built VIs I want my users to have easy access to.  So, I
made a program launcher in LabVIEW that they can use to browse through
the available programs and start them, among other things.  I used VI
Server in this launcher to run the built applications.  Now, I've run
into a problem.  The launcher is built in LV 6.1 and some of the
programs are in 7.0, which gives me unhelpful errors.  Could it be that
VI Server in the 6.1 launcher cannot start programs written in 7.0?  If
so, would there be any drawbacks if I just went ahead and started the
programs using the System Exec? Or is there a way to get around the
problem and still use VI Server?  All of the computers are running
Windows, but I like to keep things as platform-neutral as possible.

Thanks for any tips, 

Melissa Niesen 
Fisher Controls Division of Emerson Process Management 




Position adjustment of cursor name in XY-graph

2004-02-04 Thread ELCA
I put tens of cursors on X-Y graph using property node. Also. I used
the names of the cursors as some indicators. Is there a way to decide
the position of the cursor name? e.g., like using the property node.
Presently, I adjust the position menually one by one.
I am not talking about the position of cursor, but about the position
of the cursor name(possibly the position seem to be related to the
cursor position).

The second problem occurs when I copy the X-Y graph to another vi. In
that case, the position of cursor name changes to a wierd position,
such as out of the graph.
Please let me know to control the position of the cursor name.