<< Klik om de inhoudsopgave weer te geven >> Navigatie: Macro's > Macro: commando's en parameters > Macro: conditionalcommando > Macrocommando If |
If ... [Else] ... End
Doel:
Voert een aantal macro-commando's uit afhankelijk van de uitkomst van een vergelijking van twee waardes.
Het If-commando komt altijd voor samen met een End. Er is ook een Else mogelijk voor het geval de uitkomst van de vergelijking niet waar is. Tussen If en End staan de voorwaardelijk uit te voeren commando's. Algemene notatie:
If ( waarde1 , vergelijkingsteken , waarde2 )
[Else]
End
Het vergelijkingsteken kan zijn:
= (gelijk),
<> (ongelijk),
< (kleiner dan),
<= (kleiner dan of gelijk aan),
> (groter dan),
>= (groter dan of gelijk aan).
Voorbeelden:
Verlaag, als de stroom door de kabel met naam 'MijnKabel' groter is dan 80% van de maximale stroombelastbaarheid, de belasting met naam 'MijnBelasting' met 10%:
If( Cable( 'MijnKabel' ).Load, >, 80 )
Multiply( Load( 'MijnBelasting' ).Pl, 0.9 )
Multiply( Load( 'MijnBelasting' ).Ql, 0.9 )
End
Schrijf een tekst als de transformator met naam 'MijnTransformator' voor 90% of meer belast is:
If( Transformer( 'MijnTransformator' ).Load, >= , 90 )
Text( 'Transformator bijna overbelast' )
Else
Text( 'Transformator niet overbelast' )
End
Verstel de trappenschakelaar van de transformator met naam 'MijnTransformator' indien deze niet uitgeregeld is en indien de spanning op het knooppunt met naam 'MijnKnooppunt' lager is dan 95% van de nominale waarde:
If( Node( 'MijnKnooppunt' ).Upu, < , 0.95 )
If( Transformer( 'MijnTransformator' ).Tap, > , 1 )
Subtract( Transformer( 'MijnTransformator' ).Tap, 1 )
Else
Text( 'Transformator uitgeregeld' )
End
End
Test van de werking van de logische functie and. De tekstfunctie levert FALSE en het if-commando levert onwaar. Ook mogelijk met or en xor.
set( a, true )
set( b, false )
text( and( a, b ) )
if( xor( a, b ), = , true )
text( 'waar' )
else
text( 'onwaar' )
end