Generatore di circuiti consente di calcolare il rating per i componenti del circuito in base ad un multiplo del valore degli ampere a pieno carico del motore o del carico. È ad esempio possibile che lo standard del codice elettrico indichi che il rating di un sezionatore non debba essere inferiore al 115% dell'amperaggio di carico. Un carico massimo previsto di 28 ampere richiede un rating per il sezionatore non inferiore al 115% di 28 ampere o 32.2 ampere. Se i rating degli interruttori standard sono 30 e 60 ampere, viene selezionato un interruttore da 60 ampere.
Questo calcolo automatico può essere eseguito mediante la creazione di una relazione tra la chiamata nel valore di campo ANNOTATE_LIST nel foglio dei codici di circuito del foglio di calcolo di Generatore di circuiti e le tabelle MOTOR_I_* nel database degli standard elettrici.
Tale relazione viene definita nel modo seguente:
Di seguito è riportato un esempio di codice per un sezionatore:
(c:ace_cb_anno2 nil “A1” “RATING1” 0 nil)
In questo esempio, "A1" è il codice che deve corrispondere ad un valore della tabella MOTOR_I_DESC (per "Disconnect switch - non-fused") e "RATING1" è l'attributo sul simbolo del sezionatore inserito che deve ricevere il valore calcolato finale espresso in ampere.
Le operazioni valide sono +-*/^. Il carattere "^" corrisponde alla funzione esponenziale. I^2 corrisponde ad esempio ad I al quadrato, mentre I^0.5 corrisponde alla radice quadrata di I.
Sono supportate le istruzioni if-then-else con un livello di nidificazione. Ad esempio, "if (I > 400) then (I * 8) else (I * 11))" indica che il valore in ampere calcolato corrisponde ad otto volte quello della corrente nominale di 0-400 ampere e ad undici volte i valori della corrente nominale superiori a 400 ampere. È supportato un solo livello di nidificazione. "(if (I >= 9.0) then (I * 1.25) else if (I < 2.0) then (I * 3.0) else (I * 1.67)" indica che il valore calcolato viene impostato su (I * 1.67) se I è minore di 9 ma maggiore o uguale a 2.0 ampere. Se I è minore di 2.0 ampere, il valore calcolato è (I * 3.0). Se invece è maggiore o uguale a 9.0 ampere, corrisponde a (I * 1.25).
Le operazioni booleane valide sono >, <. >=. <=, =.
MFG=BUSSMAN;CAT=KTK-R-15
Quando un componente presenta più valori calcolati, ad esempio un sezionatore con fusibili, i due attributi RATING per il componente vengono delimitati da un punto e virgola, come illustrato in questo esempio:
(c:ace_cb_anno2 nil “A7” “RATING1;RATING2” nil 0)
Nella colonna RATING della tabella MOTOR_I_MAP sono contenuti i valori corrispondenti delimitati da un punto e virgola.