LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Architecture for multi hardware control

Hi

I am designing a optical multi board control system which includes a Laser source, a Polorization Control module and a Polorimeter, the 3 modules are dependent with each other. I think we only need to understand the hardware are 3 different modules and cooperate with each other, do not need to understand the instrument detail.

I need to open modules, active Laser source, use Polarization Control to change light parameter and use Polorimeter to measure the result.

Every module should be configed, measure prosess must contains control, acquire, save data, and so on, the software can open and analyze saved data without instument connection.

Always I like to use PC event pattern to construct my event driven system to make it looks like a classic windows software, day after day I find that event driven is not suitable everywhere and LabVIEW is not a traditional language with his own characteristic, more project I have finished, more puzzles for my architecture design, I browses NI forum everyday for good thead about architecture, but I am still a pupil in LabVIEW area.
Another thing is an instument keep alive information need to be sent with fixed interval, if I understood"keep alive correctly".

Anyone have such a multi instuments development experience.

Thank you very much for your sinerely advice.

********************************
*The best Chinese farmer*
********************************
0 Kudos
Message 1 of 11
(4,006 Views)

Any suggestion or samples?

********************************
*The best Chinese farmer*
********************************
0 Kudos
Message 2 of 11
(3,977 Views)

Hi paulbin,

Do you control these 3 instruments via VISA? Maybe you can use parallel structure to control instruments synchronously.

0 Kudos
Message 3 of 11
(3,968 Views)
Hi,
do you have the possibility to hardware trigger all instruments in order to synchronise them? This could avoid possible data or instrument setting collision during the further communication. What type are your instruments communication interfaces?
Ciao,
Olli
0 Kudos
Message 4 of 11
(3,957 Views)
Hi Liming and Olli
 
My instrument are controlled by VISA but vendor provide me relevant instrument drivers VI.
 
the 3 instruments do not need high speed to run, the 3rd instrument which is a meter is usually at 333s/s speed, I do not think they need a synchronous structure(maybe I have not understood "synchronous" you said.), just a slow cooperation with each other. e.g, the 1st instrument general laser and keep it, the laser through the 2nd instrument and changed status, then the 3rd instrument measurement interrated parameters, these parameters must be saved and the saved data can be open and analyzed after acquisition. Sometimes it seems a "chain", everyone depend on the others and sometimes I only need a single instrument such as laser source to work for other intent .
 
Previously I use a Producer/consumer to make it a event based architecture, but I found it is  very difficult to flexible control them in one consumer loop.
More project I finished, more puzzles I have on LabVIEW architecture.
Smiley Happy
 
Thanks everyone.
 
 
 
 
********************************
*The best Chinese farmer*
********************************
0 Kudos
Message 5 of 11
(3,945 Views)
Hi Paulbin,
I understand synchronisation the way, that every device in your system and your LabVIEW application knows the status of eachother: e.g. your first laser acts. the second one reacts and the measurement device is triggered by one of these events. After finishing your readings you proceed them (save,  analyse, visualise). When you are able to communicate through VISA (serial, GPIB or whatever) I think LabVIEW is the right choice. What kind of meter are you using?
Ciao,
Olli

0 Kudos
Message 6 of 11
(3,936 Views)

Hi Olli

The 1st laser source is GPIB, the 2nd controller is USB and the 3rd is usb too, the usb driver and instrument driver were provided by vendor I only need to use these VIs.

I wonder which design pattern is suit me.

 

Thanks very much.

********************************
*The best Chinese farmer*
********************************
0 Kudos
Message 7 of 11
(3,908 Views)
How about the code structure as attached file showing?
0 Kudos
Message 8 of 11
(3,897 Views)

Hi Liming

Your picture seem a "chain", my application si a long time running system, sometimes it need to run for a whole day due to the iterative acquisition for a specific laser wavelength field, maybe I need to give a while loop for the "read data", or I throuth the 3 "start" to 3 while loops and exchange data via Locals? I always do not like using Locals and Globals, 🙂

Thank you very much.

********************************
*The best Chinese farmer*
********************************
0 Kudos
Message 9 of 11
(3,872 Views)
It's easy and wise to add While loop to "read data" moduleSmiley Very Happy
0 Kudos
Message 10 of 11
(3,855 Views)