Distributed Control & Automation Framework (DCAF)

cancel
Showing results for 
Search instead for 
Did you mean: 

target "synchronization"

Frequently one of the things that I have seen in machine control applications is the need to connect to a running target application that is not in its default state. For example the machine may be running independently doing some task, have certain things turned on and off etc. 

 

What I see using the Tag Engine Communication module is that connecting to running target causes the target to immediately take the state of the variables in the UI application. So for example you have a valve open on the machine, commanded by the UI.  Then for whatever reason the UI program has to close (operator error, programmer bug, windows problems). You start up the UI program again, it connects to the target, and that valve is immediately shut due to the startup state of the UI program defaults that valve as closed.

 

In the past I had handled this problem by first using a command based architecture where no action was taken to change the target until the operator hit hte button on the UI, and by doing a "synchronization" with the target upon connection, where the UI programs reads the state of the target and sets the front panel control programmatically. 

 

I'm thinking of good ways to do this within the DCAF framework. Possibly by doing the synchronization before even starting the DCAF engine in the UI program, or possibly by making the TEC module one-way (target to host) and making all host to target comms command based. 

 

Any ideas? 

0 Kudos
Message 1 of 2
(2,975 Views)

The discussion for this post is on :https://forums.ni.com/t5/Distributed-Control-Automation/quot-synchronization-quot-with-an-already-ru...

Benjamin C
Principal Systems Engineer // CLA // CLED
0 Kudos
Message 2 of 2
(2,949 Views)