In this guide you will learn what a Curve data relay does in Leanheat® Monitor, how to create one, and how the curve converts a value read from one device into the value written to another.
A curve data relay reads a register from a source device, converts the value through a curve you define, and writes the result to one or more registers on a target device. The source and the target can be two different devices, or the same device. This lets one measured value control a setting that the controller itself cannot derive, for example letting the measured flow set the desired pump pressure.
The relay repeats on every readings period. If the source value cannot be read in a period, nothing is written in that period.
How the curve is calculated
The curve is a list of 2 to 5 points. The x value of a point is a possible source value, the y value is what should be written to the target at that source value.
Between two neighbouring points the value follows a straight line, so a source value in between gives a proportional result.
If the source value is below the first point or above the last point, the outermost line segment is continued in the same direction.
The result is then limited by "Maximum curve value" and "Minimum curve value". The written value is never higher than the maximum or lower than the minimum, whatever the source value is.
Both axes use the values as Leanheat Monitor shows them, not the raw register content. The "Scaling" you enter for each register tells Leanheat Monitor how to convert between the two, so x is in the unit of the source register and y is in the unit of the target register.
Requirements
The curve data relay must be included in your plan. If "Device - Curve" is not offered in the data relay type list, contact support.
The source and target devices must be connected to Leanheat Monitor with the ECL, Modbus or SP connection type.
You need to know the register address, the scaling and the register type of the source register and of every target register. For SP connected devices the register is selected by its name instead.
The target register must be writable. Registers that must not be written are rejected with "Register is prohibited", and a register that another data relay already writes to is rejected with "Register is already taken".
The readings period can be set between 10 seconds and 24 hours.
Creating the relay
Navigate to the "Admin" tab and select "Data Relays".
Click "Create data relay".
Enter a name for the data relay and choose the "Device - Curve" relay type.
Set the "Readings period", which is how often the source is read and the target is written. The minimum readings period is 10 seconds.
Select the source device from the list on the left. The editor for that source opens.
Enter the source "Register", "Scaling" and "Register type".
Click "Define curve" and fill in the curve, as described in the next section.
Under "Targets", select the target device and enter its "Register", "Scaling" and "Register type". Use "Add register" if the same converted value should be written to more than one register.
Click "Apply". Repeat from step 5 if the relay should contain more sources, each with its own curve.
Click "Save data relay" in the top right corner.
Defining the curve
In the "Define curve for data relay" window you set the limits first and the points after that. A preview on the right shows the curve while you type.
Enter "Maximum curve value" and "Minimum curve value". These are limits for the written value, and the maximum must be higher than the minimum.
Fill in "Point 1" and "Point 2" with their x and y values. Use the plus button to add further points, up to 5 points in total, and the minus button to remove one.
The x values must rise from point to point. A point whose x value is not higher than the previous one is refused with "Wrong x value provided".
Confirm the window and then click "Apply" in the source editor.
You can change the curve later with "Edit curve" on the same source.
Example: flow controlled pump pressure
A customer lets the measured heat meter flow set the desired differential pressure of the circulation pump on the same ECL310 controller, which runs application A333.3.
Source: register 6058, scaling 10, register type UI32. This is the energy meter 2 flow ("HeatMeter2 Flow") in l/h.
Target: register 12322, scaling 10, register type I16. This is the desired differential pressure of the circulation pump ("DP_Ref") in bar, the same setting the controller shows as "dP Set Master".
The curve translates flow into pressure:
| Point | x (flow, l/h) | y (pressure, bar) |
|---|---|---|
| 1 | 1,000 | 0.8 |
| 2 | 10,000 | 1.2 |
| 3 | 20,000 | 1.5 |
| 4 | 30,000 | 2.0 |
With a measured flow of 8,760 l/h the value sits between point 1 and point 2, so the relay writes 1.14 bar to the pump setpoint. When the network draws more water the pump is asked for more pressure, and when the flow drops the pressure is lowered again, which saves pump energy.
Checking a running relay
Open the relay from the "Data Relays" list to see it working. The Source card on the left shows the curve, the register settings and the last value read, with the time it was read. Move the mouse over a point of the curve to see its x and y values. The Targets card on the right shows the register that is written and the value that was last written to it.