Jump to content

Tushar's Event Architecture


Recommended Posts

Look at the attached Demo application. Please do let me know your comments on this architecture.

Introduction

There are many architectures called Event, Message handler, state machine, queued state machine etc. and I don't know what should I call this new architecture I have developed, so I will simply call it Tushar's event architecture

Most of the architectures proposed by NI and other forums provide excellent data and flow management between single VI. But in real world big applications that is seldom the case; especially if your application utilizes layered design.

Proposed architecture is suitable where a layer of an application needs to execute a process as per other layer's request (Along with sync issues).

Architecture Details

Core of this architecture is Event Client object. One can create N number of instances of this object in an application. Only constrain is each instant should have a distinct name.

Every instance of Event Client can subscribe his own choice of events. Subscribed events can be added or removed in run time.

As soon as the subscribed event is raised, it is made available to appropriate instance of event client instance.

(Note: One event can be subscribed by more than one instance of event client. When such event is raised it will be made available to all the instances who have subscribed it)

To get the actual event EventClient_GetEvent.vi should be used. This vi is very much similar to Dequeue element vi. Using this VI it is possible to wait for any subscribed event for specified timeout.

Template

The template provided is a variant of Queued message handler. In the state machine user can handle the events generated by event structure, Event client as well as he can insert his own states as per requirements.

If you need Event Client Toolkit with you own logo for Server Startup, Please mail the request along with your logo to t_jambhekar@rediffmail.com. Toolkit will be mailed to you free of cost.

Please mention form where you came to know about this toolkit

Link to comment

QUOTE (Justin Goeres @ Mar 18 2008, 06:55 PM)

Sorry,

the code needed a mass compile as the toolkits relative position is changed from my default directory. please find a mass compiled code here

QUOTE (TobyD @ Mar 19 2008, 03:04 AM)

I'm curious as to why you hide all of this code in a flat sequence structure. Why not use a SubVI? It really impedes readability.

Actually its an OpenG VI, it is just for those people who do not have OpenG installed on their system

Link to comment

QUOTE (tushar @ Mar 18 2008, 06:17 PM)

Actually its an OpenG VI, it is just for those people who do not have OpenG installed on their system

There are people who code in LabVIEW without OpenG!?! :o

Edit:Hey wait a minute...doesn't that violate the liscense agreement?

NOTICE -- YOU MUST LEAVE THIS NOTICE IN PLACE. PER THE TERMS OF THE LICENSE BELOW, YOU MAY SUBLICENSE THIS SOFTWARE

IN ANY WAY THAT DOES NOT CONFLICT WITH THIS LICENSE.

Link to comment

QUOTE (tushar @ Mar 19 2008, 02:17 AM)

QUOTE (TobyD @ Mar 19 2008, 06:04 PM)

There are people who code in LabVIEW without OpenG!?!
:o

Well it is thoughtful, if you include OpenG software as part of your toolkit, to include it (namespaced) this ensures the code will not change!

I haven't downloaded the toolkit so I can't say anything about the license that might been removed, but if you use an OpenG toolkit VI the license should stay.

Ton

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.