
Register formatting
The Modbus data register set includes both 16 and 32 bit values, as well as signed and unsigned numbers. On Modbus
systems that do not allow you to read 32bit values, you can calculate the pulse count as follows:
Total = (MSW * 65536) + LSW
When using C or other programming languages, you can combine them with bit shifting and xor.
Total = (MSW << 16) | LSW;
It is important to read both the MSW and LSW values in a single Modbus read request. Use the Modbus function 0x03 to
read all the Modbus data registers in a single block, and then assemble the data point values from the Modbus registers
received in the query. If the MSW and LSW values are read in separate queries, the value may be updated between Modbus
queries and the resulting combined number may be incorrect.
Data points such as the total and per-channel current measurements are provided as signed values to represent both positive
and negative current flow. A positive value represents current flow in the direction of the arrow on the top of the hall effect
sensor. Signed values are encoded in standard two's compliment format.
As a general rule, disabled or max scale current channel register values are formatted with a MAXINT16 or MAXINT32
value depending on whether the register is 16 or 32 bit respectively. This rule applies for all of the individual current
measuring channels 1-12, the total current and average current sets including instantaneous and average values. The
Modbus register point map described earlier defines the entire Modbus map for the device.
Alarm configuration
The A90DC-12 provides features to detect alarm conditions related to Solar PV applications. For example, in a PV array,
the system may have 10 pv panels wired in series per string, and 12 strings that run back to a combiner box. The A90DC-12
can be installed at the combiner box to monitor the current levels on all 12 strings at the same time. If a panel in one of the
strings fails, the A90DC-12 can detect the reduction in current from the failed string and set an alarm flag to indicate the
problem.
To configure the A90DC-12 to detect this fault condition, several options must be configured. These options include the
following:
●
Deviation threshold.
●
Minimum current threshold.
●
Minimum deviation time for alarm.
The first item to do is calculate what level you need to detect. If you have 10 panels in series and one fails, there should be a
10% reduction in power production. The deviation threshold should be set less than but close to 10%. A good starting
point will be 7%, and then adjust the set point after the system has some working data to review.
The second item is the minimum current threshold. In a solar PV system, the total current produced varies throughout the
day. At sunrise and sunset, the amount of power produced is minimal. The minimum level at which the A90DC-12 can
detect current is 0.75A, so the differences between channels will be below the ability of the A90DC-12 to detect. To prevent
this, the minimum current threshold option sets the point at which current levels must reach in order to enable the alarm
feature. If the minimum current threshold is set to 4 amps, the alarm feature will become operational when the average
current per channel level exceeds 4 amps. A good value to set for this option is the maximum current expected, less 10%.
This will allow the average to exceed the minimum current threshold even if one channel fails completely.
The third feature that you must set is the minimum deviation time for alarm. This feature allows you to select the period of
time which the alarm must be in effect before it is reported. This will help suppress transient alarms when brief problems
occur such as shadows from a truck or plane are present on one or more panels in a single string.
Page 14
A90DC-12 – DC Current Monitor
www.
.com
1.800.561.8187