Scheme of a simple trigger on one relay, switching on and off with one button.

More relay diagrams

Before the article was published, reader Alexey sent more diagrams, the description of which is given in the comments.

Scheme of automatic phase switching from the city electrical network and generator with foolproof protection:

Scheme of automatic phase switching from the city electrical network and generator with foolproof protection

Scheme of automatic phase switching from the city electrical network and generator with foolproof protection. I apologize for the editing, the main principle here is.

Scheme of automatic phase switching from the city electrical network and generator with foolproof protection

I discuss similar schemes in an article about connecting a generator to a home electrical network.

Here is another diagram, controlling three loads over two wires. The author explains in detail in the video how and what works:

Simple automation: Easy programmable relays

Hello, dear community! On Habré, a lot of words have already been said about various automation devices, ranging from simple Arduino to industrial multiprocessor systems. I want to fill in another blank spot on the Habro-Automation map with an article about intermediate devices - programmable relays

, using the example of Easy microprocessor devices manufactured by Eaton (Moeller) Corporation. Quite a lot of time has passed since my first acquaintance with this type of device, but as before, these “electronic babies” remain indispensable assistants for implementing a wide range of engineering and household tasks.

Programmable (smart) relay
is a type of programmable logic controllers (PLC). Programmable relays have found their main application as automation tools for local circuits, individual units of machines and mechanisms, and for domestic use. Based on intelligent relays, various automatic control systems are built intuitively and clearly, for example, control systems for pumping equipment, drilling machines, and automatic transfer transfer systems (ATS). Compact dimensions and ease of programming make it possible to develop smart home system elements based on programmable relays. Standard means of describing and constructing programs for these devices are relay logic languages ​​() or function block languages ​​(FBD), developed specifically for engineers involved in the field of industrial and production automation. The simplicity of the programming language and the ease of transition from obsolete automation systems based on relay-contactor circuits to microprocessor devices have allowed programmable relays to take a reliable position in the automation device market.

Theory

Relay as the main programming operator

Based on the name of the described class of devices, the main operated element will be a relay. A relay
is an electromechanical device designed to switch electrical circuits for given changes in electrical or non-electrical input quantities.
A classic relay has a control coil x
and a group of contacts that implement the output function
y=f(x)
. When a control voltage is applied to the coil input, the contacts change their initial state to inverse.

A contact group can contain two main types of contacts: normally open contacts

and
normally closed contacts
. Normally open contact - a contact that is in an open state when there is no voltage on the control coil. Normally closed contact - a contact that is in a closed state when there is no voltage on the control coil.

Thus, we can write two main types of functions implemented using relays: y(x) = x

— for normally open contacts;
y(x) = x̅
- for normally closed contacts.

Other types of functions implemented using relays are based on giving the contact group additional properties. The functions and types of relay contacts are shown in the figure below.

1 - relay coil (control circuit), 2 - normally open contact, 3 - normally closed contact, 4 - normally open contact with retarder when activated, 5 - normally open contact with retarder when returning, 6 - normally open pulse contact, 7 - normally open contact without self-resetting, 8 - normally closed contact without self-resetting, 9 - normally closed contact with retarder when activated, 10 - normally closed contact with retarder when returning.

Elements of the theory of discrete automated devices

A discrete automated device
as a control device that processes a priori and current information into control information, and the carriers of all of the listed components of information are signals that are discrete in level and time.
This means that the signal state of each input (output) of an automated device is characterized by two levels: the minimum, conventionally designated “0,” and the maximum, designated “1.” Drawing up a block diagram of control according to the given conditions of its operation is called synthesis
. Determining the operating conditions of a circuit or its individual elements based on the existing structure is called analysis of control circuits.

Circuits based on relay and contactless elements can be composed in two ways.

First way

experienced, widely used in the practice of logical design of relay-contactor circuits. Based on the given operating conditions of individual parts of the working machine, a schematic diagram of the automation system is drawn up. Similarly, non-contact analogues of relay-contact circuits are constructed, in which the specified operating conditions of the circuit are expressed in the form of functions of logic algebra. In this case, it is advisable to minimize any contact or non-contact circuit built in such an experimental way. Minimization of circuits is carried out based on the laws of logical algebra.

Second way

The construction (synthesis) of circuits is based on a more complete use of the theory of algebra of logic and the principles of formalizing the real operating conditions of an automation circuit. In this case, they proceed from the given operating conditions, compiling the corresponding state tables (function maps), where they mark combinations of arguments and function values ​​(output signals) in the form of logical “1” and “0”. The main task of synthesis is to determine such a form of expression for the desired logical function that can be implemented using the minimum number of elements as simple as possible. The synthesis of relay control circuits comes down to drawing up a structural formula (analytical expression) describing the logical functions that must be performed by a given device. Then the resulting algebraic formula is analyzed and a graphical outline of the diagram is drawn up.

Analysis of the full course on the theory of logic and circuit synthesis is beyond the scope of this article; anyone interested in this topic can familiarize themselves with the subject in detail using references to the literature (at the end of the article).

Let's look at the process of creating a control scheme using a simple real-life example.

Synthesis of a relay contactor control circuit using an example
Formulation of the problem

It is necessary to develop a lighting control system for office premises in accordance with the following conditions:
Given

Office space with one group of main lighting (fluorescent lamps) and one group of duty and background lighting. Electric blinds.

Necessary

  1. At the end of the working day (18:15), ensure that the main lighting group is turned off and the emergency lighting is turned on. If the blinds remain closed, ensure they open.
  2. Before the start of the working day (8:45) ensure that the emergency lighting is turned off.
  3. If there is insufficient natural light, ensure that the main lighting is turned on based on a signal from the dimming sensor, provided that the blinds are open.
  4. Ensure that background lighting is turned on when the blinds are closed. If the main lighting was on, turn it off.
  5. When the background lighting is turned on, provide for automatic lowering of the blinds.

Additional terms

  1. The light sensor has a binary output that is adjusted to a certain light threshold. When there is insufficient light, the contact closes.
  2. The blind drive system has contacts that inform about limit positions.
Solution

Let's first determine the correspondence of the input and output signals of the system being designed to variables. Let us agree to denote all input signals by variables I
, respectively.
index, and all output signals are Q
with the corresponding index.

Input Variables

: I1 - light sensor signal. I2 - signal for the upper position of the blinds. I3 - lower position signal for blinds. I4 - signal to turn on the background lighting.

Output Variables

: Q1 - turn on/off the main lighting group. Q2 - turn on/off emergency lighting. Q3 - turn on/off background lighting. Q4 - raising the blinds. Q5 - lowering the blinds.

Time Variables

: T1 - reaching the end of the working day. T2 - reaching the start time of the working day.

Next, we will divide our problem into conditional parts and compose logical functions for each of the parts.

  1. End of the working day Turn off the main light: Q1=not(T1)
  2. Turn on the emergency light: Q2=T1
  3. Open the blinds if they are closed: Q4=not(I2)⋅T1
  • The begining of the work day
    1. Turn off the emergency light: Q2=not(T2)
  • Light level control
      Turning on the main light by light sensor, checking whether the blinds are open: Q1=I1⋅I2⋅not(T1)⋅T2
  • Controlling background lighting
      Switching on background lighting with closed blinds: Q3=I3
  • Turn off the main lighting when the blinds are closed Q1=not(I3)
  • Blind control depending on the background lighting switched on
      When the background lighting is turned on, lower the blinds unless it is the end of the working day: Q5=I4⋅not(I3) ⋅not(T1)⋅T2
  • So, we have obtained logical functions that describe the behavior of the elements of our system depending on conditions and disturbing influences.
    Next, it is necessary to make the transition to a relay-contactor circuit, i.e., to describe the operation of our system on real physical devices. The transition from logic algebra functions to a relay circuit is very simple. To do this, it is enough to represent all the input and intermediate variables in the form of relay contacts, and the output functions in the form of relay coils. A special word needs to be said about time-dependent variables. In our example, these are variables describing the time period of the working day, T1 and T2. To represent time-dependent variables, there are special types of relays - time relays and timers.

    Iron

    To move on to the practical part of our task, we need to figure out on which hardware it is more profitable and convenient to carry out the given solution. Manufacturers present a fairly wide range of programmable relays for optimal cost and functionality solutions to certain types of engineering problems. Let's try to understand this diversity. A programmable relay is usually a monoblock design that has power connection terminals, inputs, outputs, a liquid crystal screen and controls.


    At the top of the device are located:

    • terminals for power connection;
    • device digital input terminals;
    • analog input terminals (0..10 V).

    At the bottom of the device are located:

    • terminals of the relay (or transistor) outputs of the device.

    On the front panel there are:

    • LCD screen - for displaying information messages, editing a program, changing parameters;
    • keyboard - to navigate through the device menu;
    • connector for connecting the programming cable.
    Powering devices

    Based on voltage and type of power supply, programmable relays are divided into:

    • devices with power supply 12, 24 V (DC);
    • devices with power supply 24, 110-220 V (AC).
    Digital inputs

    The power supply and type of supply voltage of the programmable relays determine the value of logical one at the digital inputs of the device. That is, in order to apply a logical one to the input of the device, it is necessary to apply a voltage corresponding in its value and type to the supply voltage of the device. Thus, according to the input voltage there are:

    • devices with 12, 24 V (DC) inputs;
    • devices with inputs 24, 110-220 V (AC).

    Depending on the type of Easy programmable relay, one or more digital inputs can be used as “fast counters” - to count pulses with a frequency of up to 3 kHz.

    Analog inputs

    To process analog signals, such as signals from temperature sensors, wind speed sensors, external potentiometers, Easy programmable relays have two or more analog inputs 0..10 V (DC) on board. It should be noted that analog inputs are provided only on devices with 12 V (DC), 24 V (AC, DC) power supply.

    Relay and transistor outputs

    To switch output signals, Easy programmable relays provide 4 or more outputs. Device outputs are of two types:

    • transistor outputs providing the ability to switch small loads up to 0.5 A;
    • relay outputs providing switching of loads up to 8 A (AC1).

    Devices with transistor outputs are primarily used where switching with low currents is required, or where the task is to transmit signals from the output functions of the relay to other parts of the automation system. Devices with relay outputs can be directly connected to lighting sources, low-power motors and other consumers with an active load not exceeding 8 A.

    Analogue outputs

    Programmable relays of the Easy800
    have an analog output (0..10 V) on board.

    Screen

    The built-in screen is designed to display text (in devices of the Easy500, 700, 800 series) and graphic (in devices of the MFD-Titan series) information.

    Communications and system scalability

    Ethernet
    – connectivity via an expansion module that implements the functions of an OPC server. For the entire line of devices.

    Profibus, CANopen, DeviceNet, As-i

    – possibility of connection via expansion modules. For devices of the Easy700, Easy800 series.

    Easy-net

    – the ability to connect programmable relays to a network. For Easy800, MFD-Titan devices.

    Expansion modules are available for devices of the Easy700, Easy800 series, allowing you to increase the number of inputs and outputs of the devices. Expansion modules can be end-to-end mounted using an adapter, or installed remotely (up to 100 m). Remote installation is convenient if, for example, you are implementing a control system for two rooms.

    Only one expansion module can be connected to one Easy programmable relay. Programmable relays of the Easy800 series have an Easy-net interface on board, which allows you to combine up to 8 devices into a single network, and an expansion module can be connected to each of the devices. In this way, it is possible to organize a system with up to 328 inputs/outputs.

    Easy programmable relay range

    Easy programmable relays are represented by devices of the Easy500, Easy700, Easy800 and MFD-Titan series.

    Easy500 series programmable relays

    An initial series of programmable relays designed to solve simple automation tasks, such as: control of small room lighting, heating systems, presence control, motor start control, compressor or pump control.


    Main characteristics of Easy500 series programmable relays

    • Supply voltage and digital input voltage: 24 V and 100 – 240 V AC, 12 V and 24 V DC.
    • 8 digital inputs.
    • 2 analog inputs: 0 - 10 V (0 - 1023 bit), in versions with power supply 12 V, 24 V DC and 24 V AC.
    • 4 relay outputs: 8 A, or 4 transistor outputs: 24 V DC/0.5 A.
    • 128 “program lines” with 3 contacts and 1 coil.
    • Easy500 series relays do not have the ability to connect expansion modules.
    Easy700 series programmable relays

    Devices that combine all the advantages of Easy500 series devices, with the ability to connect additional expansion units: analog and digital inputs/outputs, communication modules, etc. This series of Easy programmable relays is optimal for solving fairly complex automation problems, with the ability to control a large number of signals (lines). Also, the devices are ideal for use in projects that require further expansion of the control system capabilities at minimal cost.


    Main characteristics of Easy700 series programmable relays

    • Supply voltage and digital input voltage: 24 V and 100 – 240 V AC, 12 V and 24 V DC.
    • 12 digital inputs.
    • 4 analog inputs: 0 - 10 V (0 - 1023 bit), in versions with power supply 12 V, 24 V DC and 24 V AC.
    • 6 relay outputs: 8 A, or 8 transistor outputs: 24 V DC/0.5 A.
    • 128 “program lines” with 3 contacts and 1 coil.
    • Possibility of connecting expansion units.
    Easy800 series programmable relays

    An advanced and most functional series of Easy devices, allowing for a flexible solution to almost any task in household and industrial automation.
    Easy800 series devices can be expanded with additional functionality and communication modules. In addition to the standard features found in easy500/700, such as multifunction relays, impulse relays, counters, analogue comparators, timers, real-time clocks and non-volatile memory, easy800 additionally contains PID controllers, arithmetic blocks, value scaling blocks and many other functions . Also, the ability to network up to 8 devices makes the easy800 the most powerful programmable relay on the electrical market. When solving complex problems, Easy800 programmable relays can be combined into one common network of EasyNet devices. Main characteristics of Easy800 series programmable relays:

    • Supply voltage and digital input voltage: 24 V and 100 – 240 V AC, 12 V and 24 V DC.
    • 12 digital inputs.
    • 4 analog inputs: 0 - 10 V (0 - 1023 bit), in versions with power supply 12 V, 24 V DC and 24 V AC.
    • 6 relay outputs: 8 A, or 8 transistor outputs: 24 V DC/0.5 A.
    • 256 “program lines” with 4 contacts and 1 coil.
    • Integrated EasyNet interface for connecting devices into a network (up to 8 devices).
    • Possibility of connecting expansion units.

    Practice

    Device selection

    And so, we have examined almost the entire line of devices, we know their main characteristics. All that remains is to select the necessary programmable relay to solve our problem. Since our task is quite trivial and does not require additional communication and other device capabilities, we will use a simple algorithm to select a suitable Easy programmable relay.

    1. Let's determine the number of digital inputs
      . We have 4 input variables I1..I4, so it is enough to have 4 inputs in the device.
    2. Let's determine the supply voltage and type of digital inputs
      . Since we plan to use a programmable relay for domestic needs, with a 220 V, 50 Hz intra-house power supply, the most suitable device will have similar power requirements and digital input voltage values ​​- 220 V, 50 Hz.
    3. Let's determine the types and number of output contacts
      . To control 5 output variables, we need to select a device with the appropriate number of outputs. Since the outputs of a programmable relay must provide switching of intra-office light sources and other power devices, then we need the presence of relay outputs.

    Using the catalog of programmable relays, we select the type of device that is most suitable for our purposes: EASY719-AC-RC10
    . The selected relay has on board:

    • 12 digital inputs (220 V, 50 Hz);
    • 6 relay outputs (load switching up to 8 A);
    • real time clock;
    • device power supply – 110-220 V, 50 Hz.
    Development environment

    To develop automation systems based on Easy programmable relays, the device manufacturer offers a fairly convenient and practical development environment Easy-Soft
    . The software makes it easy to “draw” your relay circuit using a convenient graphical development environment. If necessary, it is possible to select one of several types of display of relay contactor diagrams:

    • Contacts and coils are displayed in accordance with IEC standards;
    • contacts and coils are displayed in accordance with GOST standards;
    • Contacts and coils are displayed according to ANSI standard.

    Easy-Soft has an emulator that allows you to debug the program without connecting a physical device. Software documentation is available in several languages, including Russian. You can download the demo version of Easy-Soft from the link.

    Programming

    The process of writing a program for a programmable relay Easy comes down to “drawing” a relay-contactor connection diagram in accordance with the obtained logical functions and determining the necessary parameters, such as time constants, timer values, etc. Let's launch Easy-Soft and create a new project. Select the required device type from the list on the left and drag it into the project window. A menu for selecting the device version will appear. From the drop-down list, select version 10-хххххххх - this corresponds to devices that support the Cyrillic alphabet.

    Next, go to the section for editing the wiring diagram

    by selecting the appropriate item in the menu at the bottom left. Configure the connection diagram display option that is convenient for you using the appropriate menu. For me, the first display option is more convenient, as it allows you to view the program in its usual form - from top to bottom. For electrical engineers, perhaps the second option will be more convenient, since it corresponds as closely as possible to standard relay contactor circuits.

    Let's move from the logical functions of the lighting control system that we synthesized in the “theory” section to the relay contactor circuit. To do this, it is enough to represent all the input and intermediate variables in the form of relay contacts, and the output functions in the form of relay coils. Since one line of program can only contain 3 contacts and one coil, intermediate variables should be introduced if necessary to break up long logic functions. Intermediate variables are called markers

    in the ideology of relay contactor circuits.

    To determine the end and beginning of the working day, it is convenient to use a weekly timer

    (H), which has flexible settings for days of the week. Also, using a weekly timer allows you to use only one variable to determine the boundaries of the working day.

    To “render” a relay circuit, simply drag the necessary elements from the menu on the left onto the project workspace. The elements are connected using the pencil tool. After adding elements to the diagram, you need to determine their available parameters. Let's see how to do this using a weekly timer as an example.

    The weekly timer is designed to initiate any actions during the week, depending on the established time limits. The timer has 4 independent channels A, B, C, D. Each of the channels can be configured for specific time periods. For example, in our case, the configuration of the weekly timer ensures that it operates from Monday to Sunday, from 18:45 to 8:45.

    You will be correct if you notice that our example uses an office space whose working days are usually from Monday to Friday.

    The final relay-contactor circuit of our example

    Debugging

    After constructing the relay contactor circuit, it is convenient to use the program debugging mode. To do this, just go to the Simulation
    . All input and output signals of the device, as well as all variables of the programmable relay, are available for simulation. For ease of debugging, it is possible to configure the type of input signals. For example, by simulating the position of blinds, it is convenient to configure the corresponding input signal as a self-locking button. This will allow you to click on it once and fix its position. When using debug mode, the current time of the simulated device is your computer's system time.

    Firmware

    If you have a real physical device, after debugging the operation of the relay contactor circuit, you need to flash it into a programmable relay. To do this, use the menu item Communication
    . I think there is no need to comment on individual menu items, since they are intuitive.

    Connecting and assembling the control system

    When implementing real tasks, the next step would be the physical connection of the programmable relay to the executive bodies and mechanisms, in our case, connection to the intra-office network.
    It is fair to say that, as with any development from scratch, it is advisable to first debug systems built on programmable relays in the form of a prototype assembly. This is quite simple, taking into account the features of the device and the ease of connecting management and executive bodies.

    When designing real control systems, you should be guided by the general rules for connecting programmable relays. You can find detailed information about connections in the device documentation (at the end of the article).

    The main requirement when connecting a load (incandescent lamps, engines, etc.) is not to exceed the permissible currents at the group of device output contacts:

    • 8 A resistive load (AC1) for devices with relay outputs;
    • 0.5 A - for devices with transistor outputs.

    If the permissible loads are exceeded, for example when controlling an electric heated floor, intermediate contactors

    . In this case, the load will be limited only by the power of the intermediate contactor.

    Conclusion

    I hope that many who did not know about the described class of devices now have the information and initial knowledge to begin implementing their ideas that may have arisen while reading this article.
    I would like to believe that my work was not in vain and the information presented will be useful to people for the practical implementation of their engineering ideas in industry and at home. With Easy programmable relays it's really simple and fun!

    If the Habrocommunity finds the information interesting, I plan to prepare a number of articles for the future on the practical application of the described devices in automation and industry. I’ll tell you about some undocumented capabilities of Easy programmable relays, for example, how to make a graphical interface with the ability to monitor all internal variables. Yes, you are absolutely right, you can build a dispatch system with a graphical interface using the Easy relay.

    Helpful information

    [1] Wikipedia – algebra of logic.
    [2] Wikipedia – Karnaugh maps – methods for minimizing Boolean functions. [3] Wikipedia – relay. [4] Documentation for programmable relays of the Easy500, Easy700 series. [5] Documentation for Easy800 series programmable relays. [6] Easy Relay Training Center - many examples of the use of Easy programmable relays (in Russian). [7] Software for Easy relays (including in Russian). [8] Manufacturer's website. [9] Catalog of programmable relays Easy. [10] Easy - it's simple. Tutorial. O.A. Andryushchenko, V.A. Vodichev. Some links to documentation are provided not from the manufacturer’s website, but from the website of my company, since after the merger of Eaton and Moeller corporations, internal resources are being reconstructed, and links to documentation are sometimes unavailable.

    UPD 1. Added literature [10] - a textbook for university students. Examples, laboratory work. UPD 2. Yes, these devices can be programmed directly from the built-in keyboard. Large programs, of course, are not very convenient to type, but for quickly editing circuits, it is quite possible to use this opportunity. UPD 3. Habrouser ShadowHacker suggests that it is more correct in terms of electrical engineering/electronics to use the expression “normally open contact” and “normally closed contact”. In the article I will leave the original terminology due to the fact that in Russian documentation and catalogs the terms “normally closed contact” and “normally open contact” are used for the device.

    Download

    If the topic interests you more deeply, I recommend that you read the literature listed on the page.

    Here is one of the books listed there: • Lomonosov, V.Yu.; Polivanov, K.M.; Mikhailov, O.P. Electrical engineering. / Lomonosov, V.Yu.; Polivanov, K.M.; Mikhailov, O.P. Electrical engineering. One of the best books on the basics of electrical engineering. The presentation begins with the very basics: it explains what voltage, current and resistance are, provides instructions for calculating the simplest electrical circuits, and talks about the relationship and interdependence of electrical and magnetic phenomena. Explains what alternating current is and how an alternating current generator works. It describes what a capacitor is and what an inductor is, what their role is in alternating current circuits. It is explained what three-phase current is, how three-phase current generators are designed and how its transmission is organized. A separate chapter is devoted to semiconductor devices: it talks about semiconductor diodes, transistors and thyristors; on the use of semiconductor devices for rectifying alternating current and as semiconductor switches. The achievements of microelectronics are briefly described. The last third of the book is entirely devoted to electrical machines, units and equipment: chapter 10 deals with direct current machines (generators and motors); Chapter 11 is devoted to transformers; AC machines (single-phase and three-phase, synchronous and asynchronous) are described in detail in Chapter 12; switches, electromagnets and relays are described in Chapter 13; Chapter 14 deals with electrical diagramming. The last, chapter 15, is devoted to measurements in electrical engineering. This book is an excellent way to learn the basics of electrical engineering, to understand the fundamental principles of the operation of electrical machines and units., zip, 13.87 MB, downloaded: 2730 times./

    Device contacts

    Depending on the design features, the contacts are:

    1. Open. Until voltage is applied to the core, the contacts remain open. Then, after applying voltage, they close.
    2. Closed. Closed contacts function in reverse because they only open when a pulse is received.
    3. Reversible. In this case, in the absence of current, the central contact fixed to the core is considered common and closes with the fixed contacts. After triggering, it, together with the moving element, moves towards this contact, where it closes with it.

    Important. Many switches have several groups of contacts at once, which allows you to connect to several circuits for control purposes.

    Light control using pulse relays

    Let me remind you that a pulse (bistable) relay is a relay that changes its state every time it receives an action from the switch.

    We can say that a pulse relay divides the frequency of incoming pulses by two.

    Read my old article on the design and connection of a pulse relay (bistable switch) from the Belarusian company Euroavtomatika FiF.

    By the way, I also have an article on F&F - Voltage control relay EuroAutomatika F&F CP-721.

    A big plus of a pulse relay is that you can connect as many switches (more precisely, non-latching buttons) to its input as you like, within reasonable limits.

    Minuses -

    • We depend on the controller and its software, which can fail due to interference and other influences, including service life.
    • Not everyone likes the fact that some kind of automation decides when the lights should be turned off. Some people want to be in complete control of the situation, rather than waiting for the lights to go off on a timer. Or won't it turn off? Is the counter ticking?
    • Not everyone likes it when non-latching buttons are used instead of the usual switches, in which everything is clear/understandable.

    To be fair, I will say that such relays are now quite often installed in houses where there are rooms with several inputs/outputs.

    However, what should you do if for some reason you cannot install a pulse relay? For example, the owner does not want to install buttons because he has already bought switches? But you can’t install crossover and pass-through switches, because... Are there 2 wires per switch in the wall? Or are there no crossover switches on sale (by the way, there are problems with this in Taganrog)?

    I suggest a way out:

    Rating
    ( 1 rating, average 5 out of 5 )
    Did you like the article? Share with friends:
    For any suggestions regarding the site: [email protected]
    Для любых предложений по сайту: [email protected]