Circuit Builder can calculate the rating for components in the circuit based upon some multiple of the full load amp value of the motor or load. For example, the electrical code standard might state that a disconnect switch must be rated not less than 115% of the load amperage. An expected maximum load of 28 amps would require a disconnect switch rated at not less than 115% of 28 amps, or 32.2 amps. If standard switch ratings are 30 and 60 amps, a 60 amp switch would be selected.
Such an automatic calculation can be accomplished by creating a relationship between the call in the ANNOTATE_LIST field value in the circuit codes sheet of the circuit builder spreadsheet, and the MOTOR_I_* tables in the electrical standards database.
Here is how it is defined:
- The CODE value of the marker block on the inserted circuit template drawing, points at a group of rows in the circuit codes sheet. These rows define the types of components that can be inserted at the location of this marker block.
- The row for the inserted component, either the default component or the component selected on the Circuit Configuration dialog box, contains an ANNOTATION_LIST column value.
- The ANNOTATE_LIST column value contains a call to the API function c:ace_cb_anno2. This function includes a code argument like “A1”.
- The code argument should match a code value in the MOTOR_I_DESC table of the electrical standards database file.
Here is an example for a disconnect switch entry:
(c:ace_cb_anno2 nil “A1” “RATING1” 0 nil)
In this example, “A1” is the code to match in the MOTOR_I_DESC table (for “Disconnect switch non-fused”), and “RATING1” is the attribute on the inserted disconnect switch symbol to receive the final calculated amp value.
- The MOTOR_I_CALC table also has a column of data with a label that matches the code used in the C:ace_cb_anno2 call.
- The cell in the MOTOR_I_CALC table contains an expression using “I” to represent the full load amps of the motor. This expression is evaluated using the actual full load amps for the motor. The calculated value is used to determine the value to assign to the attribute.
Valid operations are +-*/^. The “^” character is the exponential function. For example, I^2 is I squared, while I^0.5 is the square root of I.
If-then-else statements are supported including one level of nested statements. For example, “(if (I > 400) then (I * 8) else (I * 11))” means the calculated amp value is eight times FLA current for 0-400 amps and 11 times for greater than FLA of 400 amps. One level of nesting is supported. “(if (I >= 9.0) then (I * 1.25) else if (I < 2.0) then (I * 3.0) else (I * 1.67)” means the calculated value is set to (I * 1.67) if I is less than 9 but greater or equal to 2.0 amps. If less than 2.0 amps it is (I * 3.0) and if greater than or equal to 9.0 amps it is (I * 1.25).
Valid Boolean operations are >, <. >=. <=, =.
- The MOTOR_I_MAP table contains a row with a matching code value, such as “A1”.
- The result of the calculation, made from the expression in the MOTOR_I_CALC table, is compared to the MAX values in the MOTOR_I_MAP table to determine the appropriate RATING value. In the earlier example, the 28 amp motor load multiplied by 1.15 yields 32.2 amps minimum for “A1”. This means that a match is made on the record with a MAX value of 60 and yields a 60A switch rating.
- The RATING value is assigned to the attribute specified in the c:ace_cb_anno2 call, for example “RATING1”.
- Define an optional catalog assignment to the component by adding a value in the DEFAULT field in the MOTOR_I_MAP table. The format is MFG={manufacturer};CAT={catalog}. For example, an “A3” entry for 15A time-delay fuses might look like the following example:
MFG=BUSSMAN;CAT=KTK-R-15
When a component has multiple calculated values such as a disconnect switch with fuses, the two RATING attributes for the component are semicolon delimited, as shown in this example:
(c:ace_cb_anno2 nil “A7” “RATING1;RATING2” nil 0)
The MOTOR_I_MAP table contains corresponding semicolon delimited values in the RATING column.
