NOVUS AUTOMATION
www.fieldlogger.net
76/104
Exponentiation
2
Receives the result from the first high channel to the second channel.
Example: VC = C1
C2
. The value of the exponent is limited to the range
of -120 to 120, and must necessarily be of the integer type (the decimal
part shall be disregarded).
Count
1
1
Copies the current counting value of the selected digital channel
(operand) to this virtual channel. It uses only 24 bits, which means it
can count up to “16777215” (most significant byte of the counting’s
ignored).
Variation
2
1
At a configurable time rate (in seconds), shows the difference from the
current channel value related to the previous time value.In other words,
it has the value of the final time minus the value of the initial time. In
case this operation is being performed in a digital channel, the variation
of its countings will be computed.
Accumulation
2
1
Receives the accumulated value of the selected channel. At a
configurable time rate (in seconds), gets the current channel value and
sums to the accumulated amount.
ByteInv FloatToFloat
3
2
Transforms two 16-bit values in a “float”. It works just like the
FloatToFloat
operation, but each register has its bytes swapped (byte
high ↔ byte low) right before the operation. Useful when the register
read from a slave has a byte order (
endianness
) which is opposite to
the one expected by
FieldLogger
.
ByteInv Int32ToFloat
3
2
Transforms an integer 32-bit signaled value in a floating point value. It
works just like the
Int32ToFloat
operation, but each register has its
bytes swapped (byte high ↔ byte low) right before the operation. Useful
when the register read from a slave has a byte order (
endianness
)
which is opposite to the one expected by
FieldLogger
.
(1) Note 1:
Available from firmware version 1.10 on.
(2) Note 2:
Available from firmware version 1.20 on.
(3) Note 3:
Available from firmware version 1.40 on.
When an error occurs on any channel (for example, disconnected sensor in an analog channel), its configured error
value is set to it. If this channel is used as an operand of a virtual channel, its error value will be detected and the
outcome of the virtual channel will be its own configured error value, leading to a propagation of the error values. One
exception is the operation “Int32ToFloat”, that does not propagates the error of the source channels (operands), because
it is typically used in the conversion of two remote channels in a 32-bit value and, on this case, it would show an error
every time one of the remote channels would have the error value (all values are valid – there is no error value that can
be set outside of the valid range). The other exception is the “Accumulation” operation, that simply holds accumulation
instead of displaying the error value.
Sample of chaining virtual channels in order to obtain more complex formulas
As an example, we will be using the formula for calculating the flow measurement using an orifice plate, which is very
popular in the industrial instrumentation environment. The formula is the following:
Where Q = flow
ρ = flow density
∆P = differential pressure
K = constant that makes the appropriateness of units and dimensions involved
In this case, we will be considering that the differential
pressure (∆P) will be read as an analog channel (ChAnalog_1 =
∆P), with the limits configured for measuring the correct unit.
In the Configurator software, we must enter the following virtual channels:
VC1 = K (“constant” operation with the numeric value of K)
VC2 = p (“constant” operation with the numeric value of p)
VC3 = ChAnalog_1 / VC2 ("Division" operation)
VC
4 = √VC3 ("square root" operation)
VC5 = VC1 x VC4 ("multiplication" operation)
As a result, VC5 has the flow value of Q.