LabVIEW portal

  • Increase font size
  • Default font size
  • Decrease font size
Design patterns

Tasking Library

Using this Library you can organize communication between parallel VIs (Tasks). Every Write VI has Command and Data Inputs and every Read VI the same as Output. In really it's only a compact Wrapper Library, which uses Queued State Machine Design Pattern.

Tasking library

 

You can download this Library (for LV 8.2) here:

Tasking.zip

 

Publish/Subscribe

This is my realisation of topic based Publish/Subscribe Software Design Pattern.

http://en.wikipedia.org/wiki/Publish/subscribe
http://en.wikipedia.org/wiki/Observer_pattern

The dispatcher is the main task of this pattern, which administrates a topic table. If any (Queue- Notifier- User Event- and TCP/IP based) client starts, it should register himself by the dispatcher, so the dispatcher adds them into the topic table. The next step the client should do - is to subscribe to topics. If the dispatcher receives a message from any client, it looks which clients want to receive this message and send it only to this clients. So you can rediuce some data traffic in your programm. If a client is no more interested in a topic, it can unsubscribe from this topic. If a client want to be removed from the table, it should unregister.

So you can dynamically start/stop clients and realize a software, which is plugin able.

Supporting TCP/IP protocoll gives you a chance to communicate between programm modules, different applications, and different computers over network. Therefore you can connect two or more dispatchers and select topics, which you want to send or receive. This feature gives you a big advantage - remote debugging.
 
Download here (for LV 8.2):
Pubsub_v1_0_1.zip