mcagui is a tool that enables fast and efficient creation of graphical user interfaces for MCA2 controle software.
A MCA2 controle systems constist of several (but at least one) MCA parts. These parts are arranged on levels beginning woth zero. As parts depend on each other, they are created in an specific order. (If parts do not interact with each other they may be arranged independently on the same or diffenret levels.) In any cases there are one or several parts on the top level of this system. The sensor outputs and controller inputs of these parts are summarized to two virtual output/input vectors, which are used by mcagui.
mcagui communicates via TCP/IP with the MCA2 system as all MCA2 parts and tools do. It only knows about the virtual output/intput vector of the system but not about the internal structure. The controller input is called the actor side, as the GUI is able to change the input using actor widgets. The sensor output is called sensor side.
Whenever a user changes an actor value, it is sent via TCP/IP to the MCA2 system, e.g. values are only sent if necessary. As mcagui may not guess whenever sensor values may change, these values are polled frequently. The period is of course configurable.
The are many already implemented widgets for visualizing sensor values and manipulating actor values. These widgets can easily be created and configurated by the user. Their size, position and apperance can be changed as simple as their behaviour. After configuration they are connected to several sensor and/or controle channels.
Although working via TCP/IP, the GUI is fast enough to poll values in a 40ms period. And it of course need not be executed on the same host as the MCA2 controle system.