03-17-2008 11:49 PM
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).
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.
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
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
03-18-2008 02:51 AM
Hi Tushar,
The entire coding looks very clean n neat.
But when I run the Main VI, I get the attached error message.
I ran in LV 8.5 Eval.
03-18-2008 05:07 AM
03-18-2008 05:44 AM
03-18-2008 08:57 AM
03-18-2008 01:40 PM
03-18-2008 08:12 PM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
03-23-2008 12:30 PM
Sharing is good. Thanks for that, although as Paul said, password protecting the lower level hurts your cause somewhat.
I would have to agree that the architecture is a bit too complicated to understand easily. Most toolkits which provide complex functionality (e.g. dqGOOP, which you used) provide a wizard for doing part of the work. Since you didn't publish this as a toolkit, however, you're not obligated to do that.
Another important point is that there are other alternatives, and some of them communicate across application instances, so you can even use them from other computers. A couple of examples include the Active VI toolkit and LVx.
03-24-2008 08:37 AM
03-24-2008 12:58 PM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog