Macrocommando If

<< Click to Display Table of Contents >>

Navigation:  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%:

IfCable'MijnKabel' ).Load, >, 80 )

MultiplyLoad'MijnBelasting' ).Pl, 0.9 )

MultiplyLoad'MijnBelasting' ).Ql, 0.9 )

End

 

Schrijf een tekst als de transformator met naam 'MijnTransformator' voor 90% of meer belast is:

IfTransformer'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:

IfNode'MijnKnooppunt' ).Upu, < , 0.95 )

IfTransformer'MijnTransformator' ).Tap, > , )

SubtractTransformer'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