Open Advanced Process Control

Working and Usage Principle

The application consists of two basic elements that are working together: the HMI Editor and the Flow Editor.

First of all the HMI Editor can be used to create the interface that is visible to the user. Here several elements like buttons, input fields, sliders, images, lines, text labels and much more are available. These elements can be placed easily just by doing some mouse clicks. No programming is necessary to set up the layout of the program, everything can be done using the mouse. The result is visible immediately, the user always can see what the application will look like.

In a second step these elements can be placed within the Flow Editor. Here they are not represented as the end user will see them but as logic elements. So for an example: when you have placed a simple button within the HMI Editor you can set an element here that corresponds to that button and that offers a digital output. This output will send data depending on the state of the button and depending if the button was hit by the end user or not. Or for a text input field: beside some other possibilities and functions the logic flow element will offer an output that sends the text string the end user has entered within the related text field.
Now these elements can be connected with each other by some lines that represent the flow of data. That means when e.g. the output of a number input field is connected with the input of a gauge, the gauge will change its state whenever a new value is entered within the input field.

Beside of that the Flow Editor offers several more objects that do not correspond to a HMI element. Here tools for data conversion, for calculation, for logic operations, for disk operations and much more can be found. Using these elements complex operations can be defined, complete program flows are possible. Additionally several external flow elements are available that can be used to communicate with external hardware. Using them the application is able to communicate with the outer world: it can be used to control motors, to access external displays, to interact with other applications, to send data to external devices.

Once a new project was set up using these two types of editors of the main application they can be executed within the debugger. Here the developer is informed about everything that goes wrong or might be a problem within the project and the defined flow of data. It is also possible to execute the application in single step mode to check how all elements are working together. The debugger can be executed out of the editor so that switching between edit mode and debug mode can be done easily.

And once everything works fine the project can be executed on the target system within the player: this is a small and highly efficient application that runs projects, it uses them in the same way like the debugger but runs smooth and silent completely without debugging information that are not interesting to the end user. But more than that: editor, debugger and player are available on many different operating systems so that a project can be edited on one system and can be executed on a completely different one. The whole application including the project file is designed in a highly portable way, projects can be migrated from one platform to an other fast and easy.

Nevertheless it might happen that the integrated user interface and flow elements are not enough because they do not offer a very specific functionality. In this case it is possible to implement own Plug-Ins that extend the functionality of the application. The software package offers open programming interfaces that give the possibility to implement own elements of every kind: new HMI elements that are integrated seamless into the user interface or new flow elements that do fully integrate into the logical flow of data. Much of the base functionality of the software already uses such external Plug-Ins and most of them are available as free sourcecode.

Such Plug-Ins can act as plain flow objects or as HMI elements. In first case they do not have a visual representation to the end user, they can be added and modified only within the Flow Editor. In second case they have both: interfaces to be accessible within the Flow Editor and functionalities to be visible in the HMI Editor and to the end user. But in both cases the interfaces are open, fully documented and available for free. The full documentation, several examples and source codes can be found within the SDK.

These two kinds of Plug-Ins are the most common but not the only possibilities to add new functionalities or to access the application from the outer world. So there are several possibilities to dock onto the application via the Interlock Server. This can be done to control processes, manipulate the state of the whole system, watch for interlock conditions and much more. This kind of access to the process control solution is possible out of own applications using a programming interface or via separate interpreters for LUA and IL (Instruction List) languages. Both are part of the whole package and can be used to implement some kind of PLC functionality.

For more details please refer to the programming manual within the SDK.

Imprint | Privacy | Subscribe to our newsletter | 100% carbon-neutral webpage hosting | Links