Sie können Funktionen innerhalb des Programms und innerhalb von Funktionen aufrufen.

Die Syntax entspricht der Funktionsbeschreibung ohne Angabe der Datentypen. Geben Sie alle anderen Zeichen und Stichwörter (z. B. ref und [ , ]) mit dem Datentyp an.

Rufen Sie Funktionen ohne Ausgabewerte, mit einem Ausgabewert oder mit mehreren Ausgabewerten auf.

Ohne Ausgabewerte

Beispiel

program

  section globals
    //definition of global variables
    text Message_Error
  endsection

  sendMessage(Message_Error)
endprogram

// Declaration of functions

function sendMessage(text t)
  sys:logInfo(sys:ui, "%s", t)
endfunction

Ein Ausgabewert

Beispiel

program
  section globals
    int32 value
    int32 absValue
  endsection
  absValue = myAbs(value)
endprogram

function int32 result = myAbs(int32 a)
  if a < 0 then
    result = a * -1
  else
    result = a
  endif
endfunction

Mehrere Ausgabewerte, mehrere Parameter

Beispiel

program
  section globals
    int32 myState, myMode
    real64 resultVariable, input1
  endsection
  [myState, resultVariable] = myAbs(input1, myMode)
endprogram

function [int32 state, real64 result] = myAbs(int32 mode, real64 var)
  if var:isValid then
    state = -1
    result = 0.0
  else
    state = 1
    switch mode
      case 1
        if var < 0 then
          result = -1 * var
        else
          result = var
        endif
      case 2
        result = abs(var)
      default
        result = var
    endswitch
  endif
endfunction