LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

queue

Dear sir,
            I want to know the details of queue and notifier.will u pls send the details to me and also explain which one is best for applications.
 
Thanks and regards
jayanthi.k
0 Kudos
Message 1 of 13
(3,465 Views)

i think there is no universal condition nad you cant say Queue is better that Notifier or vice versa. it depends on the situation

what exactly you are trying to achieve. may be based on that i can offer some help.

Tushar Jambhekar
tushar@jambhekar.com

Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog

0 Kudos
Message 2 of 13
(3,455 Views)

Dear sir,

       My actual need is I want to control the cfp(processor) from master pc.cfp program is running in one pc and master program is running in another pc, i want to read the datas of cfp in master and write the commands to cfp through master.This is the actual thing we need.So pls explain which one is(queue/notifier) suitable for me.

      Pls I want to know the difference between these two(queue and notifier).

what is the main difference between notifiers and queues?  Which should I use in which case?  Are queues preferable to pass data? 

 

Thanks and Regards

Jayanthi.k

0 Kudos
Message 3 of 13
(3,446 Views)

Hi

I think queues will be more suitable in your case.

I will post you some study material which will help you to understand in genreal sync. techniques.

i hope you are using TCP IP to transfer the data. may be in couple of days i will send some code snippets which will make your job simpler...

 

Tushar Jambhekar
tushar@jambhekar.com

Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog

0 Kudos
Message 4 of 13
(3,434 Views)
Actually, neither the queue nor the notifier will work in your case.  Both require the sender and receiver to be in the same process.  Since your two applications are on different computers, this will not be the case.  There are several options, depending on what operating systems and which version of LabVIEW you are using:
  1. Use one of the network protocols (TCP or UDP) with a transmit loop in one app and a receive loop in the other.  This is an older method that is more difficult to set up, but will work in almost all situations.
  2. Use VI server to communicate.  You can open references to VIs on remote machines and use these references to control the VIs.
  3. Use the shared variable (need LV8.0 or better).  This is probably the easiest way to communicate between two machines.
There are probably other methods, but one of these will probably work for you.  Good luck!
Message 5 of 13
(3,409 Views)

what you are saying is correct but i think the communication must be still separated from the other code. if i am designing an application i would not like my entire application to crash or give a error if someone just pulls out network cable for sometime.

generally when using TCP/IP i do use queues and separate out the communication part entirely from application.

Tushar Jambhekar
tushar@jambhekar.com

Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog

0 Kudos
Message 6 of 13
(3,385 Views)

dear sir ,

       I am running two vi seperately in two pcs. one is master another is cfp

cfp is giving the output from the various modules ;master is reading that o/p and display it  and also cfp is reading the command from the master (ie controling details) and write it to the cfp.

But my doubt is how shall i change this condition ie when master is reading condition cfp in writing and vice versa.

Pls clarify my doubt.

And also i create notifier and the data type of this notifier is cluster format.I read data from cfp(through tcp) in master and stored in this notifier and then unbundle this value and displayed as a seperate value.Is this correct format or not.

Pls suggest me

Thanks and regards

0 Kudos
Message 7 of 13
(3,346 Views)
Hi Jayanthi,

I do not understand what exactly you mean by changing the condition of master being in reading condition and cfp in writing - assuming you are using some sort of producer/consumer architecture with a queue, the host(slave) will always be reading elements as long as there are some in the queue, and the master (cfp) is writing to the queue all the time.

Best regards,
-Sam F, DAQ Marketing Manager
0 Kudos
Message 8 of 13
(3,311 Views)
Hello,
 
Please read my project description below and let me know if your response applies to my situation as well:
 
We have a PXI chassis with embedded controller (stand-alone computer) and a PXI-6115 ADC card. We are trying to digitize data and store the data to a laptop which is networked to the PXI. We currently use a producer/consumer loop which pushes digitized data to a local queue on the PXI and pops the data from the queue to a TCP send. The data is sent over the network and is eventually stored on the laptop. The laptop simply listens over the TCP connection and stores data.
 
Are there more efficient alternatives to accomplishing this task? Will items 2) and 3) in your response help me out? We have access to LV8.0 and LV8.2.
 
Thanks,
 --Somit
0 Kudos
Message 9 of 13
(3,220 Views)
Using a producer consumer loop and TCP/IP to communicate between PCs sounds like the best way to go.  I wouldn't change a thing unless you are having some specific trouble.
 
To clear up the notifier vs queue question, a notifier is a one element queue.  In other words, a notifier is a queue that can hold just one element, the notification flag.  The notifier has to be read (dequeued) before it can be set again (queued).  A queue can hold lots of elements.  You cannot use either across a network, they must reside on the same PC.  Use TCP/IP to send a message in your case.
- tbob

Inventor of the WORM Global
Message 10 of 13
(3,213 Views)