I'm not sure if this is the right place to post this (I'm fairly new, but Stackoverflow and Superuser suggested this site for my question), but here goes.
I currently have the following:
- A frontend - made with WPF
- A Dll
- An IO-server - Hardware.
The Dll contains ways of communicating with the IO-server, and the frontend should be able to control when to open/close and also read from the IO server. I now need to make a new program to handle this.
The way it should operate, roughly, is:
You click a button on the frontend and it sends a tag (e.g "qw450") to the program i'm about to make. This then converts the tag to a function (so depending on the tag it does something different). Then it calls the corresponding function and updates the IO server acordingly. This should go both ways. So if the IO server gets a signal, the "tag interpreter" should send a tag to the frontend and update some visuals (e.g change color or show numbers)
So far I've thought of 3 different solutions and would like to know which is better and why. The most important thing will be the speed of each operation as it might be used to control emergency stops and such.
[EDIT: Added images]
Solution 1: Standalone program
Create a new program and have that implement the DLL. Then keep the current frontend and have it call the new program.
Solution 2: Expand the frontend
Keep the current setup and insert the way to communicate into the frontend program (in a dal layer)
Solution 3: Create another dll
Create this as a dll and have to current frontend implement both the dlls.
I really hope this makes sense to you and you would like to help me. And of course if there is an even better solution i would love to hear it!