From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

synchronization objects

Hello there,

I'm planing a bigger application using LV5.1, with several tasks (slow
DAQ), which could run parallel. I want to do this with NT4. I might be
good, to pack these tasks in subvi's and synchronize them using these
new LV synchronization object, like semaphores and queues. I had some
good experiences with multitasking programs in other programming
languages, but I think LV is under NT4 a better choice because of its
guaranteed 1ms clock.
Is there anybody who has taken extensive use of these synchronization
objects, and what were the expierences? Do I have the 1ms clock in
every task, even when I have many of them? In the future my
application could possibly run under a LabviewRT, which then hopefully
runs on an PC-based co
ntroller. Has anybody information, if these
objects then run in the same way they do under NT4?
And a last question: Is there any good literature on LV, which tell
more than using For-Next-Loops?

Many thanks

-- Michael
0 Kudos
Message 1 of 2
(4,121 Views)
> I'm planing a bigger application using LV5.1, with several tasks (slow
> DAQ), which could run parallel. I want to do this with NT4. I might be
> good, to pack these tasks in subvi's and synchronize them using these
> new LV synchronization object, like semaphores and queues. I had some
> good experiences with multitasking programs in other programming
> languages, but I think LV is under NT4 a better choice because of its
> guaranteed 1ms clock.
> Is there anybody who has taken extensive use of these synchronization
> objects, and what were the expierences? Do I have the 1ms clock in
> every task, even when I have many of them? In the future my
> application could possibly run under a LabviewRT, which then hopefully
> runs on an PC-based controller. Has anybody infor
mation, if these
> objects then run in the same way they do under NT4?
> And a last question: Is there any good literature on LV, which tell
> more than using For-Next-Loops?
>

I'll comment on a few of these. I'm not sure what you mean by a
guaranteed 1ms clock. LV is quite good at carrying out parallel
tasks, and it is about as good as any other language at guaranteeing
timings, but the OS makes no guarantees; so neither can LV or other
SW languages.

The synchronization objects do work under RT, and the timing functions
are available in all parallel tasks regardless of whether they use
the synchronization functions. The synch functions make it easier
and more efficient to make the parallel tasks cooperate in an
organized manner like starting, stopping or clocking in a particular
way. Its also possible for parallel tasks to be totally independent
and use no synch functions.

As for good literature, there are a number of books -- do an Amazon
search or something similar. I'd hig
hly recommend the Gary Johnson
books, and there are some German books authored or co-authored by
a person that works in the NI Germany office -- Jamal I believe is
the spelling.

Enjoy.
Greg McKaskle
0 Kudos
Message 2 of 2
(4,121 Views)