FlexPro le ofrece la opción de programar sus propias funciones en FPScript o Python. Se crean como fórmulas normales, pero se utiliza la instrucción Arguments en la primera línea de código para declarar los argumentos de la función. La fórmula se convierte así en una función y debe recibir argumentos cuando se la llama. Puede guardar dichas funciones en bases de datos de plantillas y ampliar así el conjunto de funciones FlexPro.
Python forma parte de FlexPro en la edición Professional.
Un ejemplo
a) FPScript
Una función FPScript Sum tendría este aspecto, por ejemplo:
Arguments a, b
a + b
Esta función se puede llamar ahora en otra fórmula:
Sum(1 V, 2 mV)
o
Sum(ConjuntoDeDatos1, ConjuntoDeDatos2)
Los argumentos a y b sirven como parámetros formales para aceptar los argumentos pasados. Puede utilizarlas como variables locales.
Puede omitir cualquier elemento de la lista de argumentos al llamarlos; entonces se les asigna el tipo de datos Vacío:
Por tanto, Sum( , 2) es equivalente a Sum(Empty, 2) y Sum(1) es equivalente a Sum(1, Empty).
Tenga en cuenta que en la función Sum no es necesaria ninguna instrucción Return. El resultado de la última instrucción de una fórmula FPScript se utiliza automáticamente como resultado de la fórmula.
b) Python
El mismo ejemplo en Python tiene un aspecto ligeramente diferente. En Python, debe asignar explícitamente el resultado del cálculo al valor de resultado de la función. Los argumentos se transfieren como objetos flexpro.Data con valor y unidad:
arguments a, b
this.data = a.value + b.value
Si desea transferir el resultado con una unidad, el código es el siguiente:
arguments a, b
this.data = flexpro.Data(a.value + b.value, a.unit)
Una función FPScript o Python se llama en una fórmula Python de la siguiente manera:
flexrpro.call('Sum', flexpro.Data(1, 'V'), flexpro.Data(2, 'V'))
Tenga en cuenta que Python no comprueba ni ajusta la unidad. Si, por ejemplo, a tiene la unidad V y b tiene la unidad mV, el resultado calculado es incorrecto.
Guardar funciones FPScript o Python como plantilla
Si guarda una función FPScript o Python en una base de datos de plantillas, podrá utilizarla en sus bases de datos del proyecto como si fuera una función incorporada. Para guardar una función, utilice un asistente en el que puede introducir un comentario para cada argumento y especificar los tipos y estructuras de datos permitidos. Las funciones guardadas de este modo
•se muestran en el asistente para insertar una función en una fórmula de la categoría Personalizado,
•son compatibles con la función de asistencia del editor FPScript,
•admiten argumentos opcionales con valores predeterminados y
•comprueban automáticamente los argumentos pasados durante la llamada en busca de tipos y estructuras de datos permitidos.
Compartir funciones FPScript
Las ediciones Professional y Developer Suite de FlexPro admiten bases de datos de plantillas compartidas. Puede compartir con sus colegas las funciones FPScript o Python que guarde en una base de datos de plantillas de este tipo. Utilice bases de datos de plantillas personalizadas para crear bibliotecas de funciones para su departamento o empresa.
Véase también
Tutorial Funciones FPScript personalizadas
Trabajar con funciones FPScript
Guardar una función FPScript como plantilla