Re: DT2828 Labview driver

2004-01-19 Thread pirotte pascal
Thank you for the answer.

That's a very good idea... If the card works fine then I'll buy the 
Labview driver.

Thank you again.

Pascal


HMPang wrote:
> You should be able to download data acquisition Omni CD from data
> translation web site and test the board
> 
> http://www.datatranslation.com/support/data-acq.htm
> 
> HMPang
> 
> pirotte pascal <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>...
> 




Re: Error in the call of a DLL function

2004-01-19 Thread Obatistor
OK, I'm gonna explain it more detailed...

The function is the next one:

Visual C++.Net 2002 (the language it has been developed in):

void decode_char_test (int *ptr_readbuf, int size_buffer, unsigned int
*ptr_writebuf, int *n_elements, unsigned int Y, unsigned int N);


Labview 7.0 (where I'd like to use it):

void decode_char_test(long *ptr_readbuf, long size_buffer, unsigned
long *ptr_writebuf, long *n_elements, unsigned long Y, unsigned long
N);

I don't know how to attach a screenshot of the configuration so I
explain some things that appair there:

Calling Convention: "stdcall (WINAPI)".

Run in UI Thread.

You can see the other parameters in the function call, six lines up.

Thank you for all, again...

Obatistor



RE: Import picture

2004-01-19 Thread Rolf Kalbermatter
"Daniel Alejandro Moyano" <[EMAIL PROTECTED]> wrote:

> I would need to know if it is possible import *.gif files to customize
> control buttons pannel. I couldn't do it yet. Could somebody help me.
> Tks.

For more common image formats including GIF (I believe in LabVIEW 7 even
animated) use "Edit->Import Picture from File..." which places the picture
on the clipboard to be used inside LabVIEW.

For other image formats open the according program select the image and
copy it to the clipboard and then go back to LabVIEW.

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]
 




Hide icon in window header

2004-01-19 Thread Sergey Yakovlev
Can I hide application icon (in top left corner at window header) in LabView
dialog windows?





Re: Error in the call of a DLL function

2004-01-19 Thread Obatistor
Hi all!!

I think I solved the problem. It was an initialization problem. The
"ptr_readbuf" was an input array that was treated in the function and
returned an output array "ptr_writebuf". I didn't thought of
initialize this, because I thought that the function itself would use
the correct number of elements of the array. But suposedly, the C
function needed to know how many elements had the output array,
because of a question of memory. Firstly, I had put the parameter
"ptr_writebuf" as a void array. And then I realized that it could be a
problem (in fact, it was) and I initialized it to a vector of as many
zeros as it needed to store the output. And it works!!!

Nevertheless, thank you for all!!!

Obatistor



RE: State machine diagram editor

2004-01-19 Thread Paul F. Sullivan
At 10:31 AM -0800 1/18/04, PJ M wrote:
...>The OpenG toolkit has a "Set Enum String Value" VI ...

One can also just use the "Scan From String" primitive with the enum 
type def constant as the "default value 1" and the string you want 
to set as "input string". This way "output 1" will return the enum 
type def with the "input string" value.
Ouch! How could I have missed that? As long as you watch the error 
output for error 85 (the string is not an element of the enum), it 
works great. Even in LV 5.1, which is as far back as I have on this 
machine.

Thanks to this forum, I'm getting less stupid every day.

--
EnWirementally,
Paul F. Sullivan


SULLutions  (781)769-6869
"when a single discipline is not enough"
	visit http://www.SULLutions.com






RE: State machine diagram editor

2004-01-19 Thread John Howard
>>> Lewis Drake 01/18/04 03:02PM >>>
... when I added a new value to the enum, the state case structure case
labels would sometimes shift to ones which were incorrect, and I'd have to
continually check every case and manually adjust the case names.  Perhaps
this is not a problem in LV7.0, I haven't bothered to check it because the
strings work fine.

Lewis,

Just to let you know, this hasn't been a problem ever since 6.0 or so.  (can't 
remember exactly when NI fixed this)

John H.




RE: State machine diagram editor

2004-01-19 Thread Howard, John
A few more state machine options to add:

- use an array to manage the task list as Uwe mentioned
- use a queue to do the same thing, but with a little different 'flavor'

- a slightly 'odd ball' implementation I have experimented with is with user
defined events (using the state machine's type def enum as my data type). 
This allows control of the state machine from anywhere in your program -
including the various parallel loops.

Just in case we didn't have enough options already.  :)

John Howard

>>> Uwe Frenz 01/19/04 03:36AM >>>
Scott and all,

I am a bit late here, but...
"Scott Serlin" <[EMAIL PROTECTED]> wrote on Fri, 16 Jan 2004
11:17:53 -0600
... 
> Also, does anyone have any state machine
> tips that they can share?  I typically use a string driven state
> machine.  I then call out each state from other states.  I also use a
> "nextstate" local variable so that I can reuse particular states in the
> machine over and over again and not have to replicate the state
> throughout the machine.  Let me and the email list know your tips.
...
My last devellopment of a rather 'big' (e.g. complicated) state machine is
some month ago. So my memoried details are fading, but one point I remember
being very important was that I used an 'array of steps/states' instead of
just 'nextstate'. This was very importand in cases where (in my case
transmission) errors my damage data in a given state AND there's a way to
recall that data within a given time frame (e.g. to recover from specific
errors). Whenever the data receiving state detected an error it switched to
the error recover state by putting that error state in front of the array
of steps. And a finished step is removed from the array whenever it is
really finished, e.g. afterwards. 
This way one could also 'script' such a state machine by calling it with
more than one element in the step array.

Just what I remember. 
At the moment I can not access that project code to recall more details.

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: State machine diagram editor

2004-01-19 Thread Scott Serlin
Paul,

Can you elaborate further on where the OpenG toolkit can be found with
the "Set Enum String Value" VI?  Is it part of the professional
development suite?  LV7.0 or LV6.1 or both?  I have 7.0 but have not
upgraded from LV6.1 yet because I do not like to redo code that is
already working.  On that note and this will most likely spawn another
thread here, how does everyone deal with upgrades on the SSP?  Does
everyone just upgrade and fix all issues that come about from the
upgrade or do people do what I'm doing and hang back for a while until
the time is right to make the upgrade.  I usually end up leap-frogging
my versions.  I take big jumps rather than little steps.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Paul F. Sullivan
Sent: Sunday, January 18, 2004 6:11 AM
To: Mark Smith
Cc: [EMAIL PROTECTED]
Subject: RE: State machine diagram editor


Mark,

You wrote:

>... I use string driven
>state machines instead of enum type defs when I want to create a
scriptable
>state machine.  That is, the state sequence is driven by a text file
that
>has information about what order the states are executed.  This means
the
>test sequence can be modified in the field using any text editor...

The OpenG toolkit has a "Set Enum String Value" VI that would allow a 
text script to run an enum-based sate machine. I didn't know about 
the OpenG VI when I first needed this capability so I built a "Set 
Enum with String" VI that works with control references. If you'd 
like that, just let me know.

-- 
EnWirementally,
Paul F. Sullivan



SULLutions  (781)769-6869
"when a single discipline is not enough"

visit http://www.SULLutions.com






RE: State machine diagram editor

2004-01-19 Thread Paul F. Sullivan
At 9:59 AM -0600 1/19/04, Scott Serlin wrote:

Can you elaborate further on where the OpenG toolkit can be found with
the "Set Enum String Value" VI?
It's not an NI package. It's available through http://www.openg.org/, 
where you'll find the information. In the box on the right side of 
the screen just below search, click Downloads. That will redirect you 
to http://sourceforge.net/projects/opengtoolkit/ for the actual 
download, where you'll probably want "all_packages" but could get 
along with only lib_lvdata and lib_err. Set Enum String Value is in 
the lvdata.llb.

--
EnWirementally,
Paul F. Sullivan


SULLutions  (781)769-6869
"when a single discipline is not enough"
	visit http://www.SULLutions.com






RE: Autostarting LabVIEW VI in Linux

2004-01-19 Thread Jason Dunham

Thanks to Jim and Scott and Richard for the tips.  
I finally found the magic setting:
[GNOME] Extras -> Preferences -> Sessions -> Startup Programs


Jason Dunham
SF Industrial Software, Inc.

-Original Message-
From: Jason Dunham 
Sent: Thursday, January 15, 2004 1:19 PM
To: [EMAIL PROTECTED]
Subject: Autostarting LabVIEW VI in Linux

I'm using Linux (RH8) and trying to get a LabVIEW VI to run when the
system boots up.
I added a line to /etc/rc.local, but it doesn't seem to have an effect
The line was
/usr/local/lv70/labview /home/jason/myvi.vi

The computer already boots into a normal X-window session
Any ideas or tips?  Is there a list of command-line switches for
LabVIEW/Linux?

Thanks,

Jason Dunham
SF Industrial Software, Inc.




RE: Read packets

2004-01-19 Thread Jason Dunham

Farzad:

The manufacturer of the sensor needs to provide you with documentation
on the responses your program can expect.  There are no standards on
this for serial port communications.

The documentation should also describe how many bytes you can expect to
receive for each command, or they may have implemented a protocol.  For
example, their protocol might require the response packet to start with
the number of bytes to follow.  Then you could read that value and then
read the remaining bytes with a second read command.

If the sensor manufacturer didn't do any of this, you throw the sensor
away and buy one from a better company!

As a last resort you can read one byte at a time in your while loop and
set a short timeout value for the serial driver (VISA) Assume that you
have read everything if you time out after receiving at least one byte,
and end the while loop.

Good luck,

Jason Dunham
SF Industrial Software, Inc.


-Original Message-
From: Farzad [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 19, 2004 3:37 PM
To: [EMAIL PROTECTED]
Subject: Read packets 

Hi all,
Hi,
 I'm trying to communicate with a sensor (Inertial
sensor called EiMU) which is connected to my computer
through a serial port.
The commands which I send are a single byte command,
in response to the command the sensor may send packets
of different size depending on the request type. 
How can I know what is the packet size prior to my
reading ? 
Another point is:
 even if I manually enter the number of bytes to be
read, they are mainly sambols. Does anyone have any
suggestion of what and how should I convert them to a
readable form ?
Thank you.


__
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus




RE: Another wish-list item - 2D array concatenation

2004-01-19 Thread Michael Aivaliotis
Have you seen the new "merge signals" function in LV7? It will do what you
ask. You have to generate waveform outputs from your DAQ functions to use
it. This little doo-hicky is great! You can merge signals from multiple
sources.

Michael Aivaliotis

> While we're on the subject of wish lists, I'd like to propose a
> more flexible build array function.
> My current frustration is caused by 2D array concatenation.  If I
> have two NI-DAQ devices, each collecting 3 channels with 1000
> samples, I'd like to be able to concatenate the outputs of the AI
> Reads so that I have an array of 6 channels of 1000 samples each.
>  Instead, I get a 3 by 2000 array.  The workaround is to
> transpose the outputs of each AI Read, concatenate, then
> transpose the resulting array - not a very efficient approach as
> the number of samples increases.
> It would be nice if the build array function had the options
> "Concatenate columns" and "Concatenate rows".
> Just my two cents.
>
> Gary




Array Wish list

2004-01-19 Thread Jack Hamilton
I wish they would fix the orientation of the array that comes from the
analog DAQ functions.

All the arrays are transposed wrong and you have to transpose them to even
plot them (yes, yes you can select the plot to ‘transpose’) Transposing is
memory intensive no matter how you do it.

Hopefully, the guy at NI who programmed this initially – still winces when
he goes to sleep at night – He did not fix then - so now the other 1,000’s
of us have to – every time.

Hey, don’t fix it now!!!

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





Write to File

2004-01-19 Thread Jack Hamilton
Shankar,

I would propose that you totally remove the File I/O from the DAQ loop. You
should acquire the data in the DAQ loop and use a Queue to pass the data to
another loop – who’s only job is to push the data into a file. (don’t use
global variables)

The file loop you be ‘asleep’ by wiring the Queue wait timeout to –1. It
will wake up when the DAQ sends a message to it. Queues can handle any data
format.

This removes any performance issues that current and future additions to the
code will likely add.

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





RE: Array Wish list

2004-01-19 Thread Jason Dunham

As far as I've ever heard, the transpose arrays don't use any extra
memory.  The transpose function is done "in place". I'm sure a few extra
bytes are needed for temporary storage, but supposedly the same array
buffer is reused. I would guess that the graph transpose option is also
not a memory hog.  

The way the data comes from the DAQ vis is probably the most sensible
way.  It's actually good in that if you want to combine the output of
two or more successive calls to AI Read, you can just concatenate the
arrays. 

If you think of how a labview 2D array is stored in memory (row data
lies together), and how a DAQ scan card has to store it's data (data
from a single scan lies together) then the current order makes a lot of
sense.  lvdaq.dll would have to transpose the data in order to give it
to you in the other format.  It may not take memory, but it's probably a
waste of time. 

I'd rather keep control of when the transposes happen rather than have
the computer assume I always need it done.  That's such a Microsoft
approach ("why would you want to see any DLLs in the Windows Explorer?
I'll just hide them." or everyone's favorite: "It looks like you're
writing a letter...")

Jason Dunham, President
SF Industrial Software, Inc.
415 743 9350 x142
[EMAIL PROTECTED]


-Original Message-
From: Jack Hamilton [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 19, 2004 9:23 PM
To: LabVIEW -Info; [EMAIL PROTECTED]
Subject: Array Wish list

I wish they would fix the orientation of the array that comes from the
analog DAQ functions.

All the arrays are transposed wrong and you have to transpose them to
even
plot them (yes, yes you can select the plot to 'transpose') Transposing
is
memory intensive no matter how you do it.

Hopefully, the guy at NI who programmed this initially - still winces
when
he goes to sleep at night - He did not fix then - so now the other
1,000's
of us have to - every time.

Hey, don't fix it now!!!

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