tushar Posted March 19, 2008 Report Share Posted March 19, 2008 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 Quote Link to comment
Justin Goeres Posted March 19, 2008 Report Share Posted March 19, 2008 QUOTE (tushar @ Mar 17 2008, 09:48 PM) Look at the attached Demo application. Please do let me know your comments on this architecture. Is the Demo App supposed to run? When I run it I get an infinite loop of Error 1003s & Error 1s. Quote Link to comment
Tomi Maila Posted March 19, 2008 Report Share Posted March 19, 2008 QUOTE (Justin Goeres @ Mar 18 2008, 03:25 PM) Is the Demo App supposed to run? When I run it I get an infinite loop of Error 1003s & Error 1s. Same here. I'm using LV 8.5. Quote Link to comment
TobyD Posted March 19, 2008 Report Share Posted March 19, 2008 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. I am also getting the error. Quote Link to comment
tushar Posted March 20, 2008 Author Report Share Posted March 20, 2008 QUOTE (Justin Goeres @ Mar 18 2008, 06:55 PM) Is the Demo App supposed to run? When I run it I get an infinite loop of Error 1003s & Error 1s. 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 Quote Link to comment
TobyD Posted March 20, 2008 Report Share Posted March 20, 2008 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!?! 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. Quote Link to comment
Ton Plomp Posted March 20, 2008 Report Share Posted March 20, 2008 QUOTE (tushar @ Mar 19 2008, 02:17 AM) Actually its an OpenG VI, it is just for those people who do not have OpenG installed on their system QUOTE (TobyD @ Mar 19 2008, 06:04 PM) There are people who code in LabVIEW without OpenG!?! 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 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.