{'fraction_non_alphanumeric': 0.021560830123027216, 'fraction_numerical': 0.001926183670933267, 'mean_word_length': 5.304347826086956, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Software and technical implementation of intelligent energy-saving control systems based on industrial controllers

Automation and control systems of technological objects are widely used in almost all industries currently. They allow continuous monitoring of the main operating parameters of the object, as well as provide a synthesis of control actions to achieve the best performance indicators of the technological installation, both in terms of performance and energy saving. Therefore, the problem of developing systems for optimal energy-saving control is very significant and relevant. The article deals with the issues of software and hardware implementation of energy-saving systems for managing complex technological objects. The generalized structure of the energy-saving control system software, obtained by decomposing the system into separate functional subsystems and program modules, is presented. The proposed software structure is largely universal and invariant to various control objects. The main components of the technical support of the energy saving control system are considered. A practical example of software and hardware implementation of the system of energy-saving control of dynamic modes of a group of heat engineering devices (multi-section roller-belt drying units) based on industrial controllers is shown.


Introduction
The current stage of development of industrial technologies involves a high degree of automation in most production operations. At present, almost no modern production can operate without control systems that allow solving more and more complex optimization problems. Another important direction in the development of modern production is the widespread introduction of energy-saving technologies and measures aimed at improving the energy efficiency of technological installations.
One of the most important components allowing to realize the above mentioned directions fully are energy-efficient control systems (EECS), which provide a significant reduction in energy costs, increasing the productivity of technological processes, as well as achieving the required quality indicators of products. Therefore, the design and implementation of such systems are relevant and attract considerable attention of researchers.
At present, many scientific papers have been published on this subject, which are devoted to the design and development of industrial automation systems and the optimal energy-saving control of complex technological objects. In particular, papers [1][2][3][4][5] are devoted to the consideration of these questions.
It should be noted that the development of algorithmic support for the EECS, ensuring the solution of problems of optimal control of energy-intensive technological objects, as a rule, is a timeconsuming study, because the structure of the algorithmic support of the designed system can include complex computational algorithms (model identification; optimal control; simulation modeling; decision making under uncertainty, etc.). Therefore, modern EECS, in fact, are specialized computer systems, the software and technical implementation of which should take into account not only the complexity of the applied algorithmic support, but also the features of the control object and its model.

Formulation of the problem
Modern control systems of technological objects, as a rule, are built on the basis of universal or specialized computers (for example, personal computers or industrial controllers), while the complexity of the software and hardware of the system is largely determined by the complexity of the technological process and the model of the control object [6,7]. Control systems of energy-intensive industrial facilities, as a rule, contain a large number of computational algorithms, in which methods of the theory of optimal systems, artificial intelligence, etc., are widely used. It should also be noted that for most industrial facilities it is necessary to implement control actions in real time, which in its turn, imposes high performance requirements on the software and hardware of the EECS [8]. In this regard, consideration of the theoretical and practical aspects of the software and technical implementation of intelligent EECS by complex technological objects is of considerable interest.

Theory
Software design (software) of an EECS, in most cases, is an iterative process by which software requirements are translated into a certain understanding of software. At the initial design stage, this presentation is largely abstract and represents a certain concept, which is refined at later stages and ultimately leads to forms close to the texts of the program modules of the system.
The software design process can be conventionally divided into several subprocesses, among which preliminary, detailed, and interface design are usually distinguished. The first subprocess is responsible for the formation of architectural level abstractions, the second subprocess specifies the generated abstractions and complements them with details of the algorithmic level, the third subprocess ensures the formation of a graphical user interface [9].
In the process of preliminary design, the problem of structuring the software of the EECS is solved. In this case, structuring is the decomposition of software into individual components (subsystems and modules). At this stage, the models of relations between the components of the system are also determined.
Consider the generalized software structure of the software of the EECS, including a knowledge and data management subsystem, an interface subsystem, and six basic software modules [10].
The main components of the knowledge and data management subsystem are: -knowledge base, which implements the algorithmic support of the EECS in the form of procedural knowledge; -a database in which the arrays of the source data and the results of the operation of the EECS are stored.
In addition to the above components, the subsystem includes all the necessary auxiliary components that ensure the operation of the main components (output machine, database management system (DBMS), etc.).
The subsystem of the interface provides a graphical user interface of the EECS and includes: the input data module; a cognitive graphics module that provides visualization of the results of the EECS operation; integrated development environment that allows you to make changes in the knowledge base and to adjust the parameters of the program modules of the EECS.
The basic software modules that are part of the generalized software structure of the EECS, have the following functional purpose: -the dynamics model identification module provides the solution of the problems of structural and parametric identification of the object dynamics model; -the module of analysis of optimal control problems is used to obtain the results of a complete analysis of the optimal energy-saving control problem for a given array of input data quickly, including the study of the domain of the problem solution, determine the types and parameters of optimal control functions; -the module of the synthesis of control actions provides the choice of the optimal control algorithm of the object, using the results obtained in the process of the other modules of the system; -the simulation modeling module is used to compare the effectiveness of various control algorithms for synthesis ( -the experiment planning module provides for drawing up an experiment plan and obtaining statistical data on a given number of experiments (it is applied, as a rule, together with the simulation module).
The considered structuring of the software of the EECS through subsystems and modules is largely universal in relation to various control objects. However, it is necessary to take into account that, despite the general functional purpose of the subsystems and modules, their practical software implementation at the detailed design stage may have significant differences depending on the complexity of the particular control object for which the EECS is designed. In this case, the composition of the software components of the EECS may differ both in the direction of increasing the number of modules and subsystems, and in the direction of decreasing.
It should also be noted that software for control systems of technical objects should be considered as a complex system, which fully covers all the main problems associated with the design, research, implementation and operation of complex systems [11]. Ideally, software creation is desirable to reduce to the conjugation of standardized components (subsystems, modules, programs, subroutines) with minimal development of non-standard unique components to perform new original specific functions [12].
In the practical development of the software, it is possible to use two different approaches. The first approach is based on the use of specialized tool software, for example, SCADA-systems. It is quite convenient and popular when developing an EECS on the basis of an existing production management system and allows adding new modules or expanding the functionality of modules already existing in the system without creating a system from scratch. The second approach involves the use of software development applications based on CASE-and RAD-technologies in the development of the software of the EECS. It can be used in cases where the EECS is designed for an object that does not have any automation tools.
Another very important step in the EECS building is the selection of the necessary technical support for the system, which is a set of hardware that ensures the functioning of the developed software, as well as the necessary documentation for the hardware.
As the main components of the technical support of the EECS, the following can be identified: 1) The technical means of the control channel, ensuring the implementation of the optimal control actions synthesized by the system (interface with the object).
2) Measurement channel technical means providing continuous monitoring of the main operating parameters of the control object (measuring devices).
3) Industrial controller that directly controls the interface with the object and receives data from the measuring device.
Another possible component of the EECS can be a personal computer (server) containing an archive of data of the system functioning results.

Experimental results
Let us consider a practical example of a software and hardware implementation of an EECS by a group of complex heat engineering devices. The objects of control are convective multisection rollerbelt drying units used for drying paste-like materials.
From the point of view of automation, each drying unit is considered as a MIMO-object, in which the degrees of opening of steam supply valves to air heaters (heaters) are used as control actions, and the temperatures in each section of the unit are used as phase coordinates. In this case, the influence of adjacent sections on each other, arising due to the temperature difference, is considered as disturbing influences [13].
The main functional purpose of the considered EECS is to implement the optimal energy-saving control of a variety of similar objects (drying units) differing from each other in technological and design parameters (number of sections, types of heaters installed in sections, etc. The structure of the software of the EECS by a group of drying units, developed in accordance with the above approach, is shown in Figure 1. Consider the algorithm of functioning and interaction of the main components of the EECS software. The input of the system receives an array of source data, which can be set directly by the operator using the data input program module (DIM) or loaded from the database. The array of initial data analyzes the optimal control problem in the software control problem analysis module (CPA) and the simulation modeling in the (SM) module, after which the drying unit is directly controlled and the results are output using the cognitive graphics module (CG). The process of controlling the drying unit is performed according to the following cyclic algorithm: 1) the current state of the drying unit operation is identified by the data obtained from the sensors by the module of identification of the state of functioning (ISF); 2) according to the results of the operation of the CPA and SM modules, the most optimal algorithm for the synthesis of control actions is selected, which is implemented by the synthesis module of control actions (SCA); 3) the ISF module receives the values of the main process parameters necessary for identifying the state of operation of the EECS from the measurement channel (by feedback).
It should be noted that at the same time point for each drying unit, depending on its current state of functioning, different control tasks can be solved and different synthesis algorithms of optimal control actions can be chosen.
The composition of the technical support of the EECS includes: [14] 1) Technical means of the control channel (devices of interface with the object): -two-port single-seated valves designed for smooth adjustment of steam supply to the heaters of the drying unit sections; -electric drives designed for automatically regulation of the opening degree of the steam valves in the heaters.
2) Measurement channel technical means (measuring devices): -temperature measurement sensors installed in all sections of the drying units; -secondary devices designed to transmit information about temperature values from sensors to an industrial controller.
3) Industrial controllers. 5) The server that stores the data archive with the results of the system functioning. The scheme of the technical implementation of the EECS at the enterprise using the technical means described above is shown in Figure 2.
The work with the software of the EECS, is carried out by the operator, who has the ability to control the parameters of the drying process. If it is necessary to make changes to the software modules and knowledge base of the EECS, it is possible to remotely access the system for an expert. The need for changes may arise, for example, when changing the dried material, replacing process equipment, etc.  The developed EECS has been implemented at an industrial enterprise and is used to control the dynamic modes of the drying processes of organic dyes that make up the printing ink.

Results and discussion
Software and technical implementation of the EECS for a real industrial object, in most cases, is a rather complex and "science-intensive" task consisting of a number of stages, starting with the preliminary design of software and ending with the selection of the necessary technical tools to ensure the required system functionality.
The generalized software structure of the EECS, considered in the article, obtained by decomposing the system into separate functional subsystems and software modules, seems to be largely universal with respect to various control objects. Thus, we can conclude that the structure of the software of the EECS for various industrial facilities obtained at the preliminary design stage may be similar, however, at the stages of detailed and interface design, the software implementation of modules and subsystems may differ significantly both in the direction of complexity and simplifications.
An equally important stage in the design of the EECS is the technical implementation of the developed algorithmic and software systems. Despite the fact that this stage is more a solution to a specific engineering problem than a scientific one, nevertheless, when selecting technical automation tools (controllers, sensors, drives, etc.), it is necessary to take into account not only many technical parameters, but also such characteristics as speed, reliability, etc.

Conclusion
The article discusses the features of software and technical implementation of energy-saving systems for managing complex technological objects. A generalized structure of software and