<< Klik om de inhoudsopgave weer te geven >> Navigatie: Macro's > Macro: commando's en parameters > Macro: bewerkingen > Macro: arrays |
Arrays zijn gedefinieerd om grote hoeveelheden berekende resultaten op te slaan. Er zijn maximaal 9 tweedimensionale arrays beschikbaar met elk maximaal 100000 rijen en 1000 kolommen. Een waarde kan in een array worden opgeslagen met het commando Store. Met het commando Restore kunnen de waardes worden opgevraagd.
Algemene notatie:
Store ( index , rij , kolom , waarde )
Restore ( index , rij , kolom , waarde )
Hierin is index (1..9) de aanduiding van de arrays.
Voorbeeld:
procedure(calculate_deviation)
// calculate (U-Uref) / Uref * 100%
set(x,U)
subtract(x,Uref)
divide(x,Uref)
multiply(x,100)
end
procedure(store_voltages_in_matrix_1)
set(U,MyNode.U)
call(calculate_deviation)
add(i,1)
store(1,i,1,U)
store(1,i,2,Uref)
store(1,i,3,x)
end
procedure(print_voltages_matrix_1)
loop(j,1,i,1)
restore(1,j,1,A)
restore(1,j,2,B)
restore(1,j,3,C)
text(A:6:2,' kV ',B:6:2,' kV ',C:6:2,' %')
end
end
loadflow(0,,true)
if(Network.Result,=,'LF')
text('Voltage Reference Deviation')
text('======= ========= =========')
set(Uref,node('MS-Station').U)
set(i,0)
forselection(node('MS-net'),MyNode)
call(store_voltages_in_matrix_1)
end
call(print_voltages_matrix_1)
else
text('no loadflow')
end
Deze macro geeft met het demo netwerk als resultaat:
Voltage Reference Deviation
======= ========= =========
10,36 kV 10,36 kV 0,00 %
10,08 kV 10,36 kV -2,75 %
10,31 kV 10,36 kV -0,48 %
9,93 kV 10,36 kV -4,16 %
10,37 kV 10,36 kV 0,09 %
9,93 kV 10,36 kV -4,16 %