LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using VI Server to read Registered Controls Reference (Event based)

Event firing, registering and detection, all have to exist in the same process context. No way around that.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 11 of 16
(976 Views)

OK there is a ay to do this but it is not trivial or in any way built in.

 

[Set Word_Salad_Mode = True]

 

1) Exe_Recieve

Each exe that want to register for the event should expose a Wrapped up AE that creates a User Event and can invoke the event.

 

2) Exe_Gen

The exe that will initiate the event can expose another Wrapped up AE that maintains an array of the connections to the OTHER served Wrapper.

 

3) Exe_Recieve

Invoke served Wrapper in Exe_Gen that opens a connection to the Wrapper in Exe_Recieve and the connection is added to the array.

 

4) Exe_Gen

When it is time to gen the event invokes the AE with the array of refs and invoke a Gen Event method using the AE in the Exe_Recieve. An event structured registered for the event then receive the event.

 

Using the above approach any number of Exe_Recieves can receive an User Event from Exe_Gen and with some other actions unregister as need.

 

[Set Word_Salad_Mode = False]

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 12 of 16
(969 Views)

Guys,

Thank you for sharing your thoughts and ideas. I have been playing around with labview and seems like for future modularity and ease in deploying modify or add-on feature for the sake of client. I believe labview have the potential of making this happen. 

 


Ben,

 

How to execute all this? in Labview?

 

1) Exe_Recieve

Each exe that want to register for the event should expose a Wrapped up AE that creates a User Event and can invoke the event.

 

2) Exe_Gen

The exe that will initiate the event can expose another Wrapped up AE that maintains an array of the connections to the OTHER served Wrapper.

 

3) Exe_Recieve

Invoke served Wrapper in Exe_Gen that opens a connection to the Wrapper in Exe_Recieve and the connection is added to the array.

 

4) Exe_Gen

When it is time to gen the event invokes the AE with the array of refs and invoke a Gen Event method using the AE in the Exe_Recieve. An event structured registered for the event then receive the event.

 

Using the above approach any number of Exe_Recieves can receive an User Event from Exe_Gen and with some other actions unregister as need.

 

[Set Word_Salad_Mode = False]

0 Kudos
Message 13 of 16
(951 Views)

I'm not sure OP wants to register for User Events, or the normal events (value changed, etc.). I understood 'normal events'...

0 Kudos
Message 14 of 16
(927 Views)

"

I have been playing around with labview and seems like for future modularity and ease in deploying modify or add-on feature for the sake of client. I believe labview have the potential of making this happen

"

 

Forget (for now ) what I wrote since  that "word Salad" was a literal reply to what you had questioned.

 

LabVIEW supports LVOOP which is Object Oriented and Dynamic Class instanciation which allows for new components to be deployed to existing exes.

 

Ben

 

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 15 of 16
(914 Views)

Thank you Ben appreciate your sharing, 

I guess I have to look into on LVOOP and find way on how to do so.

0 Kudos
Message 16 of 16
(875 Views)