Re: DT2828 Labview driver
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
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
"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
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
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
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
>>> 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
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
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
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
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
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
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
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,000s of us have to every time. Hey, dont fix it now!!! Jack Hamilton Hamilton Design [EMAIL PROTECTED] www.Labuseful.com 714-839-6375 Office
Write to File
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 whos only job is to push the data into a file. (dont 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
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