Moscow, Azovskaya 14
+7 (495) 310-97-15
Mo-Fr: 9.00 - 18.00 (Moscow time)
Order a call
Your name *
Enter phone *
Your Email *
Call me back
An example of the implementation of the operator interface

Self-programming interface

In this article, I will explain the creation of a self-programming interface (parametric programming), based on a software modernization project for a traffic police emergency site.



The terms of reference describe how the software should behave when performing certain procedures called by the operator. The task is to enable the operator, without any programming or mathematical experience, to be able to freely control any process on the site, that is, assign certain timings, start certain pumps, control the process of the procedure, perform procedures in any sequence. At the same time, the programs should be able to be adjusted, that is, adjusted by the operator himself for specific needs. The terms of reference describe the basic program, which is similar to the SFC languages (sequential diagrams).


We see actions, transition conditions, certain steps - the conceptual decision that needs to be made. The program itself can start running when you click on the "Start" button, it can pause, or it can be minimized / completed before reaching the final cycle.


The terms of reference contain certain requirements for visualization - the operator must see at what step the procedure is. In addition, the operator should be able to conduct a question-answer dialogue with the program. Answering the questions of the dialogue, he chooses a certain action or certain conditions.

All of the above requirements have been implemented on the TP1900 Comfort panel. A set of 26 programs has been created that allow you to select, correct, edit, rename, save, view, execute.

The program implements a human-machine interface like an independent set of levers for a barrel organ (a mechanical musical instrument), that is, a cyclic software drum is set. The operator, choosing from a list of available conditions and actions, similar to the choice of impact hammers, assigns the necessary conditions and actions of the equipment. After the drum starts spinning, the program performs the appropriate actions (implementation of recipes).


The operator selects a timer from the available conditions, assigns a certain number of seconds, selects the next step condition, for example, crossing the "Start" line. Next, select "Enable Obstacle Line 1". Answers the question (selects) to turn the device on or off. If "Enable" is selected, then a specific action is already programmed to turn on the pump. That is, the operator has entered a certain sequence of actions, will begin to be executed after pressing the "Start" button.


When the procedure starts, we see the countdown of the timer - the filling of the field proportionally decreases, a decreasing countdown is registered in seconds. After the end of this condition, the next step is performed - emulation of the intersection of the "Start" line. Then the line of water barriers turns on. The program will finish its actions when all the steps programmed by the operator are completed. All other (not selected) empty steps are not executed (skipped). After performing the specified sequence of actions, the procedure becomes in the "Stop" state. We can either restart the procedure from here, or select a different procedure so that we have the option of choosing a different process.

I will try to explain how all this is implemented in general (by a PLC programmer). We have Siemens equipment, namely the S7-300 controller and the TP1900 Comfort visualization panel. The controller is programmed with STEP7 software. In the project, the source code is mostly written in the pascal language SCL (in other programs it is called ST).


When working with SCL in STEP7, there are certain nuances (program freezes), but we get around them using the Windows Task Manager. We try to execute the program code with comments, which allows us to make the software product inheritable for other users, since we consider this the right style in the production of programs for automated process control systems. Next, we use the state machine, operating with which we fill in the necessary arrays by index. We need this to implement procedures. Scripts (TIA Portal algorithms) look like this.


These scripts are needed to implement each selected field, that is, they contain certain properties that, depending on the PLC code, display the required text in the mimic field. 

#Selfprogrammableinterface, #Siemens, #TP1900

If you didn't find what you were looking for, please let us know in the comments.

Be the first to comment

You comment add