Approach to development of HMI screens for CNC with dynamic kinematics

. Adaptation of the user interface of the CNC system to work with machines with dynamic kinematics is considered in this paper. The method of changing the kinematic processing scheme “on the fly” should also allow switching user screens “on the fly”, changing them to the option that is currently needed. For these purposes, the basic functionality of the system is expanded by processing events from the CNC kernel.


Introduction
Currently, the idea of reconfigurable production systems is becoming popular, allowing to increase or decrease production capacity as needed, change the type and composition of the used technological equipment [1][2][3][4][5][6]. In this regard, technological equipment, in particular CNC machines, must also be configurable for various production tasks. Configuration means the ability to change the kinematic structure of the machine by changing the modules included in the equipment [7,8]. Changing the composition of the modules (for example, adding a swivel head, adding a swiveling rotary table to a vertical milling machine) is possible due to the modular concept of building modern CNC machines. All of this allow to reduce production space and scale production capacity. Also, in some cases, a change in the kinematic structure of the machine allow to avoid transferring the part for further processing to other machines, and, consequently, relocation, which makes it possible to reduce the positioning errors.
Machine tool reconfiguration implementation can be different. In some cases, it is necessary to completely stop the equipment, reinstall the modules. The most advanced machines allow changing the kinematics without having to shut down the equipment. Of particular interest in this case is the change of kinematics by command in the control program [8].
When controlling these machines, several problems arise, for the solution of which it is necessary to adapt the CNC system. These are such tasks as the possibility of expanding the capabilities of the CNC at the kernel level for changing the kinematic scheme, adding highlevel language constructions for selecting the kinematic scheme, setting machine parameters, selecting a spindle / axis, the need to change the user screen when changing the equipment configuration [9].
In this regard, the following tasks arise: • changing the appearance of controls, when changing the kinematic structure of the machine, for example, when changing the number of axes, • changing the location of controls on the screen when changing the kinematic scheme.
The main problem is that the current CNC interface is formed, is functioning, and it is necessary to make changes to the working product in such a way as to minimize changing in the existing solutions.

Work organization of the user interface with the server
The current organization of the HMI for the CNC AxiOMA Control [10][11][12][13] and its interaction with the server in Fig. 1  The server receives commands from the control system kernel and issues the necessary events and data to the screen manager. The screen manager manages operator screens and their activity. Each screen manages its own controls and their location, and each control manages its appearance and state by itself. The hierarchy of control and greater independence is achieved because screens and controls are created independently, and the main task is to organize the interface depending on the needs of the user (operator).
The versatility of the interaction of various controls and screens with Screen Manager and Server is achieved by the specification of data flows between the screen manager and screens, as well as between screens and controls. To support these specifications, all controls inherit from the base control BaseUserControl, and screens from the base screen BaseUserScreen. BaseUserScreen provides an interface for the Screen Manager to interact with user screens, and BaseUserControl provides an interface between user screens and controls on those screens [14].
Considering the general independence of controls and screens, the screens themselves determine the behaviour when changing the kinematic scheme, but they need to receive a notification about the change of the scheme.

Adaptation of the user interface to the ability to work with changing the kinematic scheme
The CNC AxiOMA Control implements commands in a high-level language that allow changing the kinematic diagram of the machine "on the fly" anywhere in the part program [15][16][17].
#kinematics(kinematiсs_schema_id, channel_id) The command switches the kinematics to the kinematics_schema_id schema in channel_id. In this case, the kinematic schemes used are predetermined in the machine parameters of the machine: the number of axes and their type, the parameters of the axes are adjusted (Table 1). When executing the part program, the interpreter parses this command, and the corresponding requests to change the kinematics are formed. You also need to generate a notification for the user interface.
Adding a notification is implemented as follows: the CNC kernel generates an event about a scheme change, the server receives this event and sends it to the screens, the screens broadcast the event to their controls.
To provide similar functionality, a reaction to the KinematicSchemaChanged event is added to the base classes BaseUserScreen and BaseUserControl (Fig. 2 It is enough to make the change only in BaseUserControl, since BaseUserScreen inherits from BaseUserControl. In the ChangeKinematicScheme method, a notification is sent to all child controls and OnKinematicSchemaChanged is called, which is overridden in the user control and makes internal changes.
An example of the implementation of changing the user interface when switching the processing scheme is shown on the Fig.3:   Fig. 3. Changing users screens when changing the kinematic diagram.
In this example, the change of the kinematic structure from a vertical milling machine (spindle -rotation of the tool, and feed drive -movement of the table and milling head) to kinematics with a rotary milling head (kinematics 3 + 2) is considered.

Conclusion
The method of adapting user screens to work with machines with variable kinematics considered in the article is possible due to the original architecture embedded in the CNC system. Adaptation to work with a new type of equipment makes it possible to increase the versatility of the control system and its overall attractiveness in the market for modern control systems.
The reported study was funded by RFBR according to the research project № 20-07-00305\20.