The Application Builder will happily take a .ico file and use it for
the icon of my built application, the missing step is only to convert
the LabVIEW icon to the .ico file, and that can't be so hard if
someone is giving away freeware to do it ;-) It does seem bizarre to
me that this tiny feature
I don't see why it needs an event structure... the simplest way is to
make one VI a subVI of the other (it is up to you which way round),
use the Front Panel Visible properties of the two VI's to control
which one is visible at which time, and use dataflow to ensure that
the functions of the main
I always thought it was bizarre that LabVIEW's own icon editor can't
be used to create an icon for a built application...
If I'm not missing something, your diagram will try and create a
folder whose name is a single character, equal to the value of the
23rd byte in the data file. Since 1 through 8 aren't printable ASCII
characters, I guess this might not work, and I assume the poster
actually wants the folders to be
No, it doesn't. If you check the online help for Date/Time to Seconds
it clearly states that 'day of year' is ignored.
As long as your subVI doesn't need to keep running after the main
(user interface) VI has quit, there's no need at all to use VI Server,
or to meddle with control references - just drop the subVI on the
diagram of the main VI, outside any loop.
To stop the subVI (and start it, if you need to
Have you tried using the VISA functions to control the parallel port
outputs, as described here?:
http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B123AE0CB9CB111EE034080020E74861p_node=ZONEp_source=external
I don't know if this will be a complete solution to your problem
because
If it doesn't use any features of 7 that didn't exist in 5, and
doesn't rely on any behaviours that changed between those versions,
you could 'save for previous version' repeatedly using older versions
of LabVIEW until you reached version 5 (do you mean 5.0, or 5.1?). If
you don't have access to
As Mads comments, this is a perfect application for a queue (and a
really bad application for a local!)
I'm not sure what you mean by '9.1 is 68k also'. Mac OS versions 8.5
upwards required a PowerPC processor, i.e. they won't run on a 68k
machine. However, that doesn't mean they can't run applications
written only in 68k code - for example, I still happily run Word 5.1
under Mac OS 9.0.4 on my
Think from the perspective of the VI, not the program: a control is
always an input to the VI on whose front panel it's placed, and an
indicator is always an output. Whether the control or indicator is
displayed to the user or not is really secondary.
If you're using a control to both pass data
I've used Get Date/Time in Seconds extensively for timing things. In
my experience at least (mainly LV5.1 on Windows 98), it returns the
time the OS currently thinks it is, e.g. in Windows the time currently
set in the Date/Time control panel. This means that if you change the
system time while
Just for the record - since this question came up for me recently -
the official answer is that VISA 3.0.1 does support LabVIEW 5.1. In
fact it should support any older version of LabVIEW, but that may not
be tested/officially supported. See a
If the file is as small as your example, or even if it's several times
bigger, I would just read the whole file into a string, convert it to
a string array using Spreadsheet String to Array, use the array
functions to strip off the unwanted data and append the new data, then
convert and write the
Pretty much, yes.
If you want to play around with image analysis, have a look at the
free ImageTool software from http://ddsdx.uthscsa.edu/dig/itdesc.html
- the brightness contrast adjustment tool in this program
illustrates the idea very neatly.
(Mac users of course should get NIH Image from
In all the image analysis packages I've seen, the basic brightness and
contrast adjustment functions use a simple straight-line relationship
between the old and the new intensity - basically z = a + b.z0 where
z0 is the old intensity and z is the new intensity value. 0 b 1
would give reduced
You don't want a modem, you want to connect directly to your phone -
either via a cable, as the previous poster suggests, or via an
infrared or Bluetooth connection if this is supported by your phone
and PC.
There's some pointers to information on how to download SMS from the
phone here:
What is it that stops your calling VI from continuing to run while the
subVI also runs? LabVIEW code only waits for a subVI call to finish if
you have made it do so by some kind of data dependency.
If your problem is that you need to pass data to/from a running subVI,
you might want to look at
Notifiers are ideal for this situation. If your two loops don't
necessarily run simultaneously (or fast enough), you might want to
make a third loop just for the purpose of reading the button and
sending the notification each time it is clicked.
One thing you'll have to think about is each time
How about using a queue?
One way of doing this would be to initialise a Boolean array with 4096
elements, i.e. one for each number, then use Replace Array Element to
set/clear each one as needed, Index Array to check whether an
individual number has been used and Search 1D Array to find the first
unused number.
Another
I've come across equipment where a certain command needed delays
between characters in order to be recognised, because its
microcontroller was too busy doing something else... Admittedly this
was a product of the company I worked for at the time and was somewhat
funky, but many commercial
Only problem with this is that if the program actually does stop
working (hangs up somewhere), the indicator keeps animating and the
user just learns to hate the lying indicator ;) This is why I curse
and swear at the Windows animation of pages flying from folder to
folder, which keeps running
I'd guess that the previous method using Search 1D Array would be
faster, if your array is large...
Just another thought on this though... you could put the frames of
your animation into a pict ring indicator and have your program
increment the indicator to animate the picture as the task progresses.
1) Yes, as long as you have the appropriate LabVIEW development
environment for the other OS and you aren't relying on
platform-specific features such as ActiveX. Any CIN's/DLL's that
aren't part of LabVIEW would obviously also need recompiling.
2) No, unless you can get it to work under some
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
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
Sebastian's answer is exactly what you need, as long as you don't mind
the whole LabVIEW development environment starting up in order to run
your VI (and staying open afterwards). Just put your VI, or a link to
it, in the Startup programs group - I assume we're talking about
Windows here, of
Just use two separate loops on your VI's diagram, one for the data I/O
and one for the GUI. Use queues, notifiers or local/global variables
to send data from one loop to the other.
Thanks for the translation! Gracias!
In LabVIEW versions up to 5.1, the VISA resource name for COM1 on a PC
is ASRL1::INSTR, for COM2 ASRL2::INSTR etc. I believe LabVIEW 6
and later allow you to use the COM names as aliases but I'm a late
adopter ;-) In any case I believe the ASRL notation should still work
(someone else can probably
If I understand correctly, you want to read from two serial ports
where the data arrives at different rates? Just use separate,
independent loops to read from each port. Use queues to send the data
from each loop to where it is needed, which could be another VI or a
third loop in the same VI.
Drivers and manuals for ICP-DAS products, including LabVIEW software,
are available here:
http://www.icpdas.com/download/
Have you tried their VI's and if so do they work?
I'm not familiar with those instruments, but I've controlled MKS mass
flow controllers via RS-485 from LabVIEW and found it straightforward.
I think there were some VI's from MKS that used the old serial
functions, but I decided to write my own driver using VISA. As long as
you have the manual for
I've found notifiers (or queues) easier to understand and use than
occurrences. When one VI changes a value, have it also send a
notification. The other VI's use Wait on Notifier which will wait
until it receives the notification.
In fact, you may be able to do away with variables altogether and
36 matches
Mail list logo