Hello, dear community!
On Habré, a lot has been said about various automation devices, ranging from simple Arduino to industrial multiprocessor systems. I want to paint over another white spot on the Habro-Automatics map with an article about intermediate devices -
programmable relays , using the example of microprocessor-based Easy devices manufactured by Eaton (Moeller).
A lot of time has passed since my first acquaintance with this type of devices, but still, these “electronic kids” remain indispensable helpers for the implementation of a wide range of engineering and household tasks.
A programmable (intelligent) relay is a kind of programmable logic controllers (PLC).
Programmable relays have found the main use as automation tools for local circuits, separate units of machines and mechanisms for home use.
On the basis of intelligent relays, various automatic control systems are built intuitively and clearly, for example, control systems for pumping equipment, drilling machines, automatic transfer systems (ATS). Compact size and simplicity of programming allow developing elements of the “smart home” system on the basis of programmable relays.
Standard means of describing and building programs for these devices are relay logic languages (
LD ) or functional blocks (
FBD ), designed specifically for engineers engaged in the field of industrial automation and manufacturing.
The simplicity of the programming language, the ease of transition from obsolete automation systems based on relay-contactor circuits to microprocessor devices, allowed the programmable relays to take a reliable position in the market of automation devices.
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.
Relay - an electromechanical device designed for switching electrical circuits for given changes in electrical or non-electrical input values. The classic relay has a control coil
x , and a group of contacts that implement the output function
y = f (x) .
When the control voltage is applied to the input of the coil, 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 .
A normally open contact is a contact that is in the open state when there is no voltage on the control coil.
Normally Closed Contact — A contact that is in the closed state when there is no voltage on the control coil.
Thus, it is possible to record two main types of functions implemented using relays:
y (x) = x - for normally open contacts;
y (x) = x̅ - for normally closed contacts.
The remaining types of functions implemented by the relay are based on imparting additional properties to the contact group. 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 triggered, 5 - normally open contact with retarder upon return, 6 - normally open contact pulse, 7 - normally open contact without self-return, 8 - normally closed contact without self-return, 9 - normally closed contact with the retarder when triggered, 10 - normally closed contact with the retarder upon return.
Elements of the theory of discrete automated devices
A
discrete automated device is a control device that processes a priori and current information into a control device, the carriers of all the listed information components being discrete in level and in time signals. This means that the signal state of each input (output) of an automated device is characterized by two levels: the minimum, conditionally denoted by “0”, and the maximum, denoted by “1”.
Compiling a control flow chart for the given conditions of its operation is called
synthesis . The definition of the operating conditions of the circuit or its individual elements according to the existing structure is called the analysis of control circuits.
Circuits on the relay and contactless elements can be made in two ways.
The first method is experienced, widely used in the practice of logical compilation of relay-contactor circuits. Based on the specified operating conditions of individual parts of the working machine, make up the schematic diagram of the automation system. Similarly, they make contactless analogs of relay-contact circuits, in which the specified conditions of the circuit operation are expressed as functions of the
algebra of logic . It is advisable to minimize any contact or contactless circuit built in such an experimental way. The minimization of schemes is carried out on the basis of the laws of algebra of logic.
The second method of constructing (synthesizing) schemes is based on a more complete use of the theory of algebra of logic and the principles of formalizing the real conditions of operation of the automation scheme. In this case, they proceed from the specified operating conditions by compiling the corresponding state tables (function maps), where combinations of arguments and function values (output signals) are marked as logical “1” and “0”. The main task of the synthesis is to determine such a form of expression of the desired logical function, which can be implemented using the minimum number of the simplest possible elements. The synthesis of relay control circuits is reduced to the compilation of a structural formula (analytical expression) describing the logical functions that must be performed by this device. Then analyze the resulting algebraic formula and make a graphical outline of the scheme.
The analysis of the full course of the theory of logic and synthesis of schemes is beyond the scope of this article. Anyone interested in this topic can become familiar 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 with a simple life example.
Synthesis of relay-contactor control circuit for example
Formulation of the problem
It is necessary to develop a lighting control system for an office space in accordance with the following conditions:
GivenOffice space with one group of main lighting (fluorescent lamps) and one group of standby and background lighting.
Curtains blinds with electric.
Required- At the end of the working day (18:15) to ensure the shutdown of the main lighting group and ensure the inclusion of stand-by lighting. If the blinds remain closed - ensure their opening.
- Before the start of the working day (8:45) to ensure the shutdown of emergency lighting.
- In case of insufficient natural light, ensure that the main light is turned on by a signal from the dimming sensor, provided that the blinds are open.
- Ensure the inclusion of background lighting with closed blinds. If the main light was on, turn it off.
- When turning on the background lighting to provide automatic lowering blinds.
Additional terms- The light sensor has a binary output that is adjustable to a specific light threshold. In case of insufficient illumination - the contact closes.
- The louver drive system has contact points informing you of the limit positions.
Decision
Let's first determine the correspondence of the input and output signals of the designed system to variables. We agree to designate all input signals as variables
I with resp. index, and all output signals - variables
Q with acc. by index.
Input Variables :
I1 - light sensor signal.
I2 - signal of the upper position of the blinds.
I3 - signal of the lower position of the blinds.
I4 - background light enable signal.
Output Variables :
Q1 - on / off main lighting group.
Q2 - on / off standby lighting.
Q3 - enable / disable 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 divide our task into conditional parts and construct logical functions for each of the parts.
- The end of the working day
- Turn off the main light: Q1 = not (T1)
- Turn on the duty light: Q2 = T1
- Open the blinds if closed: Q4 = not (I2) ⋅T1
- The begining of the work day
- Turn off the standby light: Q2 = not (T2)
- Control of the light level
- Turning the main light on the light sensor, checking whether the louver is open: Q1 = I1⋅ I2⋅not (T1) T2
- Manage background lighting
- Enable background lighting with shutters closed: Q3 = I3
- Disable the main lighting when the blinds are closed. Q1 = not (I3)
- Blind control depending on the included background lighting
- When turning on the background lighting, lower the blinds, if not the end of the working day: Q5 = I4⋅not (I3) not (T1) ⋅T2
So, we got logical functions describing the behavior of the elements of our system depending on the conditions and disturbing influences. Next, it is necessary to make the transition to the relay-contactor circuit, that is, to describe the operation of our system on real physical devices.
The transition from the functions of the algebra of logic to the relay-contactor circuit is very simple. To do this, it is enough to present all input and intermediate variables in the form of relay contacts, and output functions in the form of relay coils.
A single word needs to be said about time-dependent variables. In our example, these are variables that describe the time period of the working day, T1 and T2. For the representation of time-dependent variables, there are special types of relays -
time relays and
timers .
Iron
To move on to the practical part of our task, you need to figure out on which “hardware” it is more profitable and more convenient to carry out the set solution. Manufacturers represent 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 variety.
A programmable relay is usually a monoblock design that has terminals for connecting power, inputs, outputs, LCD screen and controls.

At the top of the device are:
- power terminals;
- terminals of digital inputs of the device;
- analog input terminals (0..10 V).
At the bottom of the device are located:
- terminals relay (or transistor) outputs of the device.
On the front panel are located:
- LCD screen - for displaying informational messages, editing the program, changing parameters;
- keyboard - to navigate through the device menu;
- Connector for programming cable.
Power devices
By voltage and type of power, programmable relays are divided into:
- devices with power 12, 24 V (DC);
- devices with power 24, 110-220 V (AC).
Digital inputs
The power supply and the type of power supply voltage of the programmable relays determine the value of the logical unit at the digital inputs of the device. That is, in order to supply a logical unit to the device input, it is necessary to apply a voltage corresponding to its value and type of device power supply voltage. Thus, the input voltage exist:
- devices with inputs 12, 24 V (DC);
- devices with inputs 24, 110-220 V (AC).
Depending on the type of programmable relay Easy, one or more digital inputs can be used as “fast counters” - for counting pulses with a frequency of up to 3 kHz.
Analog inputs
For processing analog signals, such as signals from temperature sensors, wind speed sensors, external potentiometers, Easy programmable relays, there are 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.
Relay and transistor outputs
For switching of output signals, 4 or more outputs are provided in the programmable Easy relays. Outputs of the device are of two types:
- transistor outputs, providing the possibility of switching small loads up to 0.5 A;
- relay outputs providing switching of loads up to 8 A (AC1).
Devices with transistor outputs are mainly used wherever low-current switching is necessary, or the task is to transfer the signals of the relay output functions to other parts of the automation system.
To devices with relay outputs, it is possible to directly connect lighting sources, low-powered motors and other consumers with an active load not exceeding 8 A.
Analog outputs
The programmable relays of the
Easy800 series have an analog output (0. 10 V) on board.
Screen
The built-in screen is intended for displaying text (in Easy500, 700, 800 series devices) and graphic (in MFD-Titan series devices) information.
Communication and system scalability
Ethernet - connectivity through an expansion module that implements the functions of an OPC server. For the entire line of devices.
Profibus, CANopen, DeviceNet, As-i - connectivity via expansion modules. For Easy700, Easy800 series devices.
Easy-net - the ability to connect programmable relays to the network. For Easy800, MFD-Titan devices.

Expansion modules are available for the Easy700, Easy800 series of devices that allow you to increase the number of inputs and outputs of devices. Expansion modules can be mounted end-to-end, via an adapter, or installed remotely (up to 100 m). Remote installation is convenient if, for example, you implement a two room control system.
Only one expansion module can be connected to one programmable Easy relay.
The programmable relays of the Easy800 series have an Easy-net interface onboard that allows you to combine up to 8 devices into a single network, and an expansion module can be connected to each of the devices. Thus, it is possible to organize a system with the number of inputs / outputs up to 328.

Easy programmable relay line
Easy programmable relays are represented by Easy500, Easy700, Easy800 and MFD-Titan series devices.
Easy500 Series Programmable Relays
The initial series of programmable relays designed to solve simple automation problems, such as: lighting control of a small room, heating systems, presence control, engine start control, compressor or pump control.

Key Features of Easy500 Series Programmable Relays
- Supply voltage and voltage of digital inputs: 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 12 V power supply, 24 V DC and 24 V AC.
- 4 relay outputs: 8 A, or 4 transistor outputs: 24 V DC / 0.5 A.
- 128 "lines of the program" with 3 contacts and 1 coil.
- Easy500 series relays do not have the ability to connect expansion modules.
Easy700 Series Programmable Relays
Devices, combining all the advantages of Easy500-series devices, with the possibility of connecting additional expansion units: analog and digital I / O, communication modules and so on.
This series of Easy programmable relays is optimal for solving quite complex automation tasks, with the ability to control a large number of signals (lines). Also, the devices are ideal for use in projects involving the further expansion of the capabilities of the control system with minimal costs.

Key Features of the Easy700 Series Programmable Relays
- Supply voltage and voltage of digital inputs: 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 12 V power supply, 24 V DC and 24 V AC.
- 6 relay outputs: 8 A, or 8 transistor outputs: 24 V DC / 0.5 A.
- 128 "lines of the program" with 3 contacts and 1 coil.
- Ability to connect expansion units.
Easy800 Series Programmable Relays
Advanced, and the most functional series of devices Easy, which allows to realize a flexible solution of almost any task of household and industrial automation. Easy800 series devices can be expanded with additional modules for expanding functionality and communications.
Along with the standard features introduced in the easy500 / 700, such as multifunction relays, impulse relays, counters, analogue comparators, timers, real-time clock and non-volatile memory, the easy800 additionally contains PID controllers, arithmetic units, value scaling units and many other functions . The ability to network up to 8 devices makes easy800 the most powerful programmable relay on the electrical market.
When solving complex tasks, Easy800 programmable relays can be combined into one common network of EasyNet devices.

Key features of the Easy800 Series programmable relays:
- Supply voltage and voltage of digital inputs: 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 12 V power supply, 24 V DC and 24 V AC.
- 6 relay outputs: 8 A, or 8 transistor outputs: 24 V DC / 0.5 A.
- 256 "lines of the program" with 4 contacts and 1 coil.
- Integrated EasyNet interface for connecting devices to the network (up to 8 devices).
- Ability to connect expansion units.
Practice
Device selection
And so, we looked at almost the entire line of devices, we know their main characteristics. It remains to find the necessary programmable relay for solving our problem.
Since our task is rather trivial, not requiring additional communication and other device capabilities, we will use a simple algorithm to select the appropriate programmable Easy relay.
- Determine the number of digital inputs . We have 4 input variables I1..I4, so the presence of 4 inputs in the device is enough.
- Determine the supply voltage and the 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 voltage values of digital inputs - 220 V, 50 Hz.
- We define the types and number of output contacts . To control the 5 output variables, we need to select a device with the appropriate number of outputs. Since the outputs of the 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, choose 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
For the development of automation systems based on programmable relays Easy, the device manufacturer offers a fairly convenient and practical to use development environment
Easy-Soft .
The software allows you to easily "draw" your relay-contactor circuit using a convenient graphical development environment.
If necessary, it is possible to choose one of several types of display relay-contactor circuits:
- contacts and coils are displayed in accordance with IEC standards;
- contacts and coils are displayed in accordance with GOST standards;
- pins and coils are displayed according to the 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 via the
link .
Programming
The process of writing a program for the programmable relay Easy is reduced to “drawing” the relay-contactor circuit in accordance with the obtained logical functions and determining the necessary parameters, such as time constants, timer values, etc.
Run Easy-Soft and create a new project.
Select the desired 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 you should choose the version 10- - this corresponds to devices with Cyrillic support.

Next, go to the
editing section of the
scheme of connections by selecting the appropriate item in the menu on the bottom left.
Set up a convenient way for you to display the connection scheme using the appropriate menu. The first display option is more convenient for me, as it allows you to view the program in its usual form - from the top down. For electricians and engineers, perhaps the second option will be more convenient, since it corresponds as closely as possible to the standard relay-contactor circuits.

Let us turn from the logical functions of the lighting control system synthesized by us in the “theory” section to the relay-contactor circuit. To do this, it is enough to present all input and intermediate variables in the form of relay contacts, and output functions in the form of relay coils.
Since one program line can contain only 3 contacts and one coil, if necessary, intermediate variables should be introduced to break down 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 the
weekly timer (H), which has flexible settings for the days of the week. Also, the use of a weekly timer allows you to use only one variable to determine the boundaries of the working day.
To “draw” the relay-contactor circuit, simply drag the necessary elements from the menu on the left to the project workspace. The connection of elements is performed using the pencil tool.
After adding elements to the scheme, you need to determine their available parameters. Let's see how to do this on the example of a weekly timer.

The weekly timer is designed to initiate any actions during the week, depending on the time limits set. The timer has 4 independent channels A, B, C, D. Each of the channels can be configured for specific time intervals. For example, in our case, the configuration of the weekly timer provides its operation from Monday to Sunday, from 18-45 to 8-45.
You will be right if you notice that in our example we use office space, which usually has working days from Monday to Friday.
The final relay-contactor circuit of our example
Debugging
After building the relay-contactor circuit, it is convenient to use the debug mode of the program. To do this, just go to the menu
Imitation .
All input and output signals of the device are available for simulation, as well as all variables of a programmable relay.
For ease of debugging - there is the possibility of setting the type of input signals. For example, simulating the position of the blinds, it is convenient to configure the corresponding input signal, like a button with self-locking. That will allow once clicking on it, fix its position.
When using debug mode, the current time of the simulated device is the system time of your computer.
Firmware
If there is a real physical device, after debugging the operation of the relay-contactor circuit, it is necessary 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, as they are intuitive.
Connecting and assembling a control system
In the implementation of real tasks, the next step would be the physical connection of the programmable relay to the executive bodies and mechanisms, in our case, the connection to the intra-office network.
It is fair to say that, as with any development from scratch, systems built on programmable relays should preferably be debugged as a prototype assembly. It is quite simple, given the features of the device and the convenience of connecting managers and executive bodies.
When designing real control systems, one should follow the general rules for connecting programmable relays. Detailed information on connections can be found in the documentation for the devices (at the end of the article).
The main requirement when connecting the load (incandescent lamps, motors, etc.) is not to exceed the allowable currents on the group of output contacts of the device:
- 8 A resistive load (AC1) for devices with relay outputs;
- 0.5 A - for devices with transistor outputs.
In case of exceeding permissible loads, for example, when controlling an electric floor heating, use
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 the implementation of their ideas, possibly arising from reading this article.
I want 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 easy and fun!
If the HabooCommunity finds the information interesting, for the future I plan to prepare a series of articles on the practical application of the described devices in automation and industry. I'll tell you about some undocumented features 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 dispatching system with a graphical interface on the Easy relay.
Useful information
[1]
Wikipedia is an algebra of logic.
[2]
Wikipedia - Carnot maps - methods for minimizing Boolean functions.
[3]
Wikipedia is a relay.
[4]
Documentation for programmable relays of the Easy500 series, Easy700.
[5]
Documentation for Easy800 series programmable relays.
[6] Easy Relay
Training Center - many examples on the use of Easy programmable relays (in Russian).
[7]
Software for Easy relay (including in Russian).
[8] Manufacturer's
website .
[9]
Catalog of programmable relays Easy.
[10]
Easy is easy . Tutorial. O.A. Andryushchenko, V.A. Vodichev.
Some links to the documentation are not from the manufacturer’s website, but from my company’s website, since after the merger of Eaton and Moeller corporations, internal resources are reconstructed, and links to documentation are not available.
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 quick editing of schemes - you can easily use this feature.UPD 3. Habrouse ShadowHacker suggests that it is more correct to use the expression “normally open contact” and “normally closed contact” in terms of electrical engineering / electronics. I will leave the original terminology in the article for the reason that the terms “normally closed contact” and “normally open contact” are used in the Russian-language documentation and directories for the device.