Skip to main content

Sección: Parameters

En esta sección se pueden definir todos los parámetros que deben estar disponibles para una parametrización en el Parámetros de la instancia del módulo.

SEC Parameters                               //optional: yes, modifier: [UPDATE]
    SEC Param : <parameter identifier>         //optional: yes, modifier [HIDE,UPDATE]
            Variable := <variable name>;         //optional: yes, type: InstancePath
            VariableType := <data type>          //optional: yes, type: @JG???IEC-Typ
            Name := <parameter name>;            //optional: no, type: text
            Desc := <parameter description>;     //optional: no, type: text
            Group := <parameter group name>      //optional: yes, type: text
            MustBeSet := TRUE/FALSE              //optional: yes, type: BoolFlag
            Default := <default value>;          //optional: yes, type: LiteralOrConstant
            Max := <max value>;                  //Optional: yes, type: LiteralOrConstant
            Min := <min value>;                  //Optional: yes, type: LiteralOrConstant
    END_SEC
END_SEC

Los detalles sobre la sintaxis de los tipos de definición se describen en la sección Declaración del módulo.

. Especificación:
  • El objetivo de la sección Param debe identificar el parámetro de forma única.

  • La definición Variable es una ruta de instancia de entrada relativa al bloque de funciones del módulo. Esta variable almacenará el valor del parámetro, su tipo define el tipo de parámetro. Si Variable se declara, el parámetro VariableType no es necesario definirlo y se ignorará.

  • El parámetro VariableType define el tipo IEC de la variable. Si VariableType se declara pero no se proporciona ninguna variable FB real existente en el Variable definición, la Default La definición debe existir. Este valor debe coincidir con el VariableType.

  • Los parametros Name y Desc son cadenas y deben definirse en una lista de texto.

  • Los parámetros del módulo pueden ser tipos y enumeraciones básicos, pero no instancias de estructuras y matrices.

  • Las variables de parámetros deben tener Valores de inicialización, que se definen en la declaración del bloque de funciones.

  • El parámetro opcional Default permite sobrescribir el valor de inicialización. Para la expresión de inicialización y para el valor predeterminado se permiten literales y constantes del tipo correcto. Esto incluye los parámetros de la biblioteca.

  • El parámetro opcional Group permite dividir los parámetros en grupos. Luego, cada grupo se muestra como una pestaña separada en el editor de módulos en Parámetros .

  • Con el parámetro opcional MustBeSet se puede obligar al usuario a establecer un parámetro en el editor de módulos. Si el parámetro no está configurado, aparece un mensaje de error.

  • Las definiciones mín. y máx. permite establecer límites para el valor del parámetro. Una comprobación de estos límites sólo es posible para variables de tipo numérico o de tiempos. Todos los demás tipos de variables no están permitidos y producirán un error.

ejemplo 20. Ejemplo
SEC Parameters
        SEC Param : InParam1
                Variable := xIn1;
                VariableTyp := BOOL;
                Name := TL.Input1_Name;
                Desc := TL.Input1_Desc;
        END_SEC
END_SEC

La variable xIn1 debe definirse en la parte de declaración del bloque de funciones: xIn1 : BOOL := FALSE ;



Valores de inicialización

El valor de inicialización es el valor de una variable que se define en la inicialización. En variables simples del FB este valor siempre está en el lado derecho de la declaración de la variable:

iVar : INT := 17 ;  // Initialisierungswert: 17

En caso de definición de variables en estructuras la inicialización de la estructura es esencial:

TYPE s : STRUCT
        i1 : INT := 7 ;
        r1 : REAL := 5 ;
END_STRUCT END_TYPE

Declaración en el módulo FB:

structVar : s := (i1 := 2, r1 := 0.0) ;

En este caso el valor de inicialización que define el valor de structVar.i1 es 2 (y no 7).

En estructuras anidadas se deben tener en cuenta todas las inicializaciones en la ruta desde el módulo FB hasta la variable. La inicialización más externa de la variable determina el valor.