En la lista siguiente se proporciona una descripción general de las funciones de Twido:
Esta función devuelve los dos caracteres como un valor entero.
Valores de entrada |
i_sChar: STRING con dos caracteres. |
Valores de retorno |
Devuelve los caracteres como un valor entero. |
Si la cadena no es válida, la variable global G_xSystemBitS18 se establece en TRUE.
La función de conversión de ASCII a entero ejecuta la conversión de un valor de la cadena ASCII a su valor entero equivalente.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_psStartAddr: POINTER TO STRING; |
Valores de retorno |
ASCII_TO_INT: INT |
Las reglas de la instrucción de conversión de ASCII a entero son las siguientes:
oEl valor ASCII debe estar comprendido entre -32.768 y 32.767.
oLa función siempre lee primero el byte más significativo.
oTodo carácter ASCII que no se encuentre en el intervalo [0...9] ([30 hex - 39 hex]) se considera un carácter de fin, excepto en el caso de un signo menos '-' (2D hex) cuando se coloca como primer carácter.
oEn caso de desborde (>32.767 o <-32.768), la variable global G_xSystemBitS18 (desborde aritmético o error detectado) se establece en 1 y se devuelve el valor 32.767 o -32.768.
oSi el primer carácter de un operando es un carácter de "fin", se devuelve el valor 0 y la variable global G_xSystemBitS18 se establece en TRUE.
La función de ASCII a REAL ejecuta la conversión de un valor de cadena ASCII a su valor REAL equivalente.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_psStartAddr: POINTER TO STRING |
Valores de retorno |
FC_AsciiToReal : REAL |
Las reglas de conversión de ASCII a REAL son las siguientes:
oLa función lee primero el byte más significativo.
oTodo carácter ASCII que no se encuentre en el intervalo [0...9] ([30 hex - 39 hex]) se considera un carácter de "fin", a excepción de:
opunto decimal '.' (2E hex)
omenos '-' (2D hex)
omás '+' (2B hex)
oexponente 'e' o 'E' (65 hex o 45 hex)
oEl formato de cadena ASCII puede expresarse en forma de notación exponencial (es decir, "-2.34567e+13") o decimal (es decir 9826,3457).
oEn caso de desborde (el resultado del cálculo es > 3.402824E+38 o -3.402824E+38):
oLa variable global G_xSystemBitS18 (desborde aritmético o error detectado) se establece en TRUE.
oSe devuelve el valor +/- 1.#INF (valor infinito + o -).
oSi el resultado del cálculo se encuentra entre -1.175494E-38 y 1.175494E-38, se redondea a 0,0.
oSi el operando no es un número, se devuelve el valor 1.#QNAN y la variable global G_xSystemBitS18 se establece en TRUE.
Esta función concatena dos enteros en un entero doble.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iLowVal: INT i_iHighVal: INT |
Valores de retorno |
FC_ConcatOfInt : DINT |
La función copia una matriz de valores DINT en otra dirección de memoria determinada.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiSource : POINTER TO DINT i_pdiDestination : POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_CopyArrDint : BOOL |
La función copia una matriz de valores INT en otra dirección de memoria determinada.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_piSource : POINTER TO INT i_piDestination: POINTER TO INT i_bySize : BYTE |
Valores de retorno |
FC_CopyArrInt : BOOL |
La función copia una matriz de valores REAL en otra dirección de memoria determinada.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_prSource : POINTER TO REAL i_prDestination : POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_CopyArrReal : BOOL |
La función copia una matriz de valores BOOL en otra dirección de memoria determinada.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pxSource : POINTER TO BOOL i_pxDestination : POINTER TO BOOL i_bySize : BYTE |
Valores de retorno |
FC_CopyBitString : BOOL |
La función copia un BitString empaquetado de la longitud de los bits i_bySize en otra ubicación de la memoria.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pbySource : POINTER TO BYTE i_pbyDestination: POINTER TO BYTE i_bySize : BYTE - limited to SIZE OF (DINT) |
Valores de retorno |
FC_CopyPackedBitString : DINT |
La función FC_DegToRad ejecuta la conversión de un ángulo expresado en grados a radianes.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rDeg : REAL; |
Valores de retorno |
FC_DegToRad: REAL |
Fórmula |
Radian = Degrees * (Pi / 180) Where, Pi = 3.1415926535 |
Reglas de utilización:
El ángulo que se va a convertir debe estar comprendido entre -737.280,0 y +737.280,0.
Para los valores no comprendidos entre estos límites, el resultado mostrado será + 1.#QNAN y la variable global G_xSystemBitS18 se establece en TRUE.
La función FC_EqualArrDint compara dos tablas de tamaños definidos, elemento a elemento. Si hay alguna diferencia, se devuelve el rango del primer elemento distinto en forma de entero. Si no hay diferencias, se devuelve el valor "-1".
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiFirstArrStartValue: POINTER TO DINT i_pdiSecondArrStartValue: POINTER TO DINT i_bySize: BYTE |
Valores de retorno |
FC_EqualArrDint: INT |
Las direcciones de inicio de las dos matrices que se van a comparar se encuentran en las dos entradas de puntero.
La cantidad de elementos que se va a comparar debe definirse en la entrada i_bySize.
La función FC_EqualArrReal compara dos tablas de tamaños definidos, elemento a elemento. Si se muestra alguna diferencia, se devuelve el rango del primer elemento distinto en forma de entero. Si no hay diferencias, se devuelve el valor -1.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiFirstArrStartValue: POINTER TO REAL i_pdiSecondArrStartValue: POINTER TO REAL i_bySize: BYTE |
Valores de retorno |
FC_EqualArrReal : INT |
Las direcciones de inicio de las dos matrices que se van a comparar se encuentran en las dos entradas de puntero.
La cantidad de elementos que se va a comparar debe definirse en la entrada i_bySize.
La función FC_FindEqDint busca en un conjunto de valores DINT determinados la posición del primer elemento de la matriz, que es igual a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diValue: DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_FindEqDint : INT |
Si el valor indicado no está contenido en la matriz, se devuelve -1.
La función FC_FindEqReal busca en un conjunto de valores REAL determinados la posición del primer elemento de la matriz, que es igual a un valor determinado definido por el usuario.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rValue: REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_FindEqReal : INT |
Si el valor indicado no está contenido en la matriz, se devuelve -1.
La función FC_FindGtDint busca en un conjunto de valores DINT determinados la posición del primer elemento de la matriz, que es mayor que un valor determinado definido por el usuario.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diValue: DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_FindGtDint : INT |
Si ningún elemento de la matriz es mayor que el valor indicado, se devuelve -1.
La función FC_FindGtReal busca en un conjunto de valores REAL determinados la posición del primer elemento de la matriz, que es mayor que un valor determinado definido por el usuario.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rValue: REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_FindGtReal : INT |
Si ningún elemento de la matriz es mayor que el valor indicado, se devuelve -1.
La función FC_FindLtDint busca en un conjunto de valores DINT determinados la posición del primer elemento de la matriz, que es menor que un valor determinado definido por el usuario.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diValue: DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_FindLtDint : INT |
Si ningún elemento de la matriz es mayor que el valor indicado, se devuelve -1.
La función FC_FindLtReal busca en un conjunto de valores REAL determinados la posición del primer elemento de la matriz, que es menor que un valor determinado definido por el usuario.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rValue: REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_FindLtReal : INT |
Si ningún elemento de la matriz es mayor que el valor indicado, se devuelve -1.
La función extrae los bits más significativos (MSB) de un entero doble a un entero.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diVal: DINT |
Valores de retorno |
FC_LoOfDint : INT |
La función de entero a ASCII ejecuta la conversión de un valor entero a su valor de cadena ASCII equivalente.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iVal: INT |
Valores de retorno |
INT_TO_ASCII : ARRAY [1..4] OF INT |
Las reglas de conversión de entero a ASCII son las siguientes:
oEl valor entero debe estar incluido entre -32.768 y 32.767.
oLa función siempre escribe primero el byte más significativo.
oEl carácter de fin es "Retorno de carro" (ASCII 13).
oLa función determina automáticamente cuántos %MW se deben llenar con valores ASCII (de 1 a 4)
La función FC_Lkup se utiliza para interpolar un conjunto de datos de coma flotante de X con respecto a Y para un valor dado de X.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_Lkup : INT |
Las condiciones siguientes se aplican al valor de entrada i_prSartAddr:
onúmero par de valores
omínimo de 6 valores
oel primer elemento es el valor x que se encuentra
oel segundo elemento lo establece la función: resultado de interpolación
olos siguientes elementos son puntos de apoyo de interpolación por pares de X e Y
Normas de interpolación:
La función LKUP utiliza la norma de interpolación lineal, tal como se define en la ecuación siguiente:
Para Xi ≤ X ≤ Xi + 1, donde i = 1 … (m-1)
Partiendo de que los valores de Xi tienen un orden ascendente: X1 ≤ X2 ≤ ...X...≤ Xm-1 ≤ Xm
Si dos valores de Xi consecutivos cualesquiera son iguales (Xi=Xi+1=X), la ecuación 1 da como resultado una excepción no válida. Para resolver esta excepción, se utiliza el siguiente algoritmo en lugar de la ecuación 1:
Para Xi = Xi+1 = X, donde i = 1…(m-1).
Valor del resultado:
El valor del resultado indica si la interpolación ha sido o no satisfactoria.
0: Interpolación correcta
1: Error de interpolación: matriz incorrecta, Xm < Xm-1
2: Error de interpolación: i_rXValue fuera de rango, X < X1
4: Error de interpolación: i_rXValue fuera de rango, X > Xm
8: Tamaño no válido de la matriz de datos: i_prYValue se establece como un número impar o i_prYValue < 6
El valor del resultado no contiene el valor (Y) de interpolación calculado. Para un valor (X) determinado, el resultado de la interpolación (Y) está contenido en i_prYValue.
i_rXValue es la variable de coma flotante que contiene el valor (X) definido por el usuario para el que se va a calcular el valor (Y) interpolado.
El rango válido para i_rXValue es:
X1 ≤ i_rXValue ≤ Xm
La función extrae los bits menos significativos (LSB) de un entero doble a un entero.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diVal: DINT |
Valores de retorno |
FC_LoOfDint : INT |
En un conjunto de valores DINT determinados, esta función busca el valor máximo. La búsqueda sólo se lleva a cabo en la longitud definida de la tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_MaxArrDint : DINT |
En un conjunto de valores REAL determinados, esta función busca el valor máximo. La búsqueda sólo se lleva a cabo dentro de la longitud definida de la tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_MaxArrReal : REAL |
En un conjunto de valores REAL determinados, esta función se utiliza para calcular la media aritmética en la longitud requerida de una tabla de valores REAL.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_MeanArrReal : REAL |
En un conjunto de valores DINT determinados, esta función busca el valor mínimo. La búsqueda sólo se lleva a cabo en la longitud definida de la tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_MinArrDint : DINT |
En un conjunto de valores REAL determinados, esta función busca el valor mínimo. La búsqueda sólo se lleva a cabo en la longitud definida de la tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_MinArrReal : REAL |
La función desplaza el valor de entrada en las tablas de valores DINT un número de elementos igual a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diValue : DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_MoveArrDint : BOOL |
La función desplaza el valor de entrada en la tabla de valores INT un número de elementos igual a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iValue : INT i_piStartAddr: POINTER TO INT i_bySize : BYTE |
Valores de retorno |
FC_MoveArrInt : BOOL |
La función desplaza el valor de entrada en las tablas de valores REAL un número de elementos igual a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rValue : REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_MoveArrReal : BOOL |
En un conjunto de valores DINT determinados, esta función busca el número de elementos iguales a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_diValue: DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_OccurArrDint : INT |
En un conjunto de valores REAL determinados, esta función busca el número de elementos iguales a un valor determinado.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rValue: REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_OccurArrReal : INT |
La función FC_RadToDeg ejecuta la conversión de un ángulo expresado en radianes a grados.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rRad : REAL; |
Valores de retorno |
FC_RadToDeg: REAL |
Fórmula |
Degree = Radian * (180 / Pi) Where, Pi = 3.1415926535 |
Reglas de utilización:
El ángulo que se va a convertir debe estar comprendido entre -4096Pi y 4096Pi.
Para los valores no comprendidos entre estos límites, el resultado mostrado será + 1.#QNAN y G_xSystemBitS18 se establece en TRUE.
La función de REAL a ASCII ejecuta la conversión del valor REAL a su valor de cadena ASCII equivalente.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_rVal: REAL |
Valores de retorno |
FC_RealToAscii : ARRAY [1..7] OF INT |
Las reglas de conversión de REAL a ASCII son las siguientes:
oLa función siempre escribe primero el byte más significativo (MSB).
oLa representación se realiza mediante notación exponencial convencional.
oLos resultados "Infinito" o "No es un número" devuelven la cadena "NAN".
oEl carácter de fin es "Retorno de carro" (ASCII 13).
oLa precisión de la conversión es de 6 cifras.
En una matriz DINT determinada, esta función desplaza todos los elementos n posiciones hacia la dirección inicial de la lista. Los primeros n elementos se mueven al final de la lista.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iShiftPosNumber: INT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_RolArrDint : BOOL |
Si el valor de i_iShiftPosNumber es negativo o 0, no se realiza ningún desplazamiento.
En un conjunto de valores REAL determinados, esta función realiza un desplazamiento circular de los elementos de n posiciones desde la parte superior hasta la inferior.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iShiftPosNumber: INT i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_RolArrReal : BOOL |
Si el valor de i_iShiftPosNumber es negativo o 0, no se realiza ningún desplazamiento.
En una matriz DINT determinada, esta función desplaza todos los elementos n posiciones hacia la dirección final de la lista. Los últimos n elementos se mueven al principio de la lista.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iShiftPosNumber: INT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
Valores de retorno |
FC_RorArrDint : BOOL |
Si el valor de i_iShiftPosNumber es negativo o 0, no se realiza ningún desplazamiento.
En un conjunto de valores REAL determinados, esta función realiza un desplazamiento circular de los elementos de n posiciones desde la parte inferior hasta la superior.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iShiftPosNumber: INT i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_RorArrReal : BOOL |
Si el valor de i_iShiftPosNumber es negativo o 0, no se realiza ningún desplazamiento.
La función FC_Round redondea una representación de coma flotante almacenada en una cadena ASCII.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_psStartAddr: POINTER TO STRING; i_byRoundNumber: BYTE; |
Valores de retorno |
FC_Round: ARRAY[1..7] of INT |
Las reglas de la instrucción ROUND son las siguientes:
oEl operando se redondea siempre hacia abajo.
oEl carácter de fin de la cadena del operando se utiliza como carácter de fin de la cadena de resultado.
oEl carácter de fin puede ser cualquier carácter ASCII que se encuentre en el intervalo [0...9] ([30 hex - 39 hex]), a excepción de:
opunto '.' (2E hex),
omenos '-' (2D hex),
omás '+' (2B hex),
oExp 'e' o 'E' (65 hex o 45 hex).
oEl resultado y el operando no pueden tener un tamaño superior a 13 bytes: el tamaño máximo de una cadena ASCII es de 13 bytes.
La función ordena los elementos de una tabla de valores DINT en orden ascendente o descendente y almacena el resultado en la misma tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iSortDirection: INT i_pdiStartAddr: POINTER TO DINT i_bySize: BYTE |
Valores de retorno |
FC_SortArrDint: BOOL |
El parámetro de dirección i_iSortDirection indica la secuencia de ordenación:
odirección > 0, orden ascendente.
odirección < 0, orden descendente.
odirección = 0, ningún orden determinado.
La función ordena los elementos de una tabla de valores DINT en orden ascendente o descendente y almacena el resultado en la misma tabla.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_iSortDirection: INT i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
Valores de retorno |
FC_SortArrReal : BOOL |
El parámetro de dirección i_iSortDirection indica el orden de la clasificación:
odirección > 0, orden ascendente.
odirección < 0, orden descendente.
odirección = 0, ningún orden determinado.
La función FC_SumArrDint se utiliza para añadir un número definido de elementos de la matriz cuya dirección se define en la entrada i_pdiStartAddr. Esto significa que la función recopila todos los elementos de una tabla de objetos.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiStartAddr: POINTER TO DINT i_bySize: BYTE |
Valores de retorno |
FC_SumArrDint : DINT |
Cuando el resultado no se encuentra dentro del rango válido de formato de palabra doble según el operando de la tabla, la variable global G_xSystemBitS18 se establece en TRUE.
La función FC_SumArrReal se utiliza para añadir un número definido de elementos de la matriz cuya dirección se define en la entrada i_pdiStartAddr. Esto significa que la función recopila todos los elementos de una tabla de objetos.
Nombre en EcoStruxure Machine Expert - Basic/Twido |
|
Valores de entrada |
i_pdiStartAddr: POINTER TO DINT i_bySize: BYTE |
Valores de retorno |
FC_SumArrReal : REAL |
Cuando el resultado no se encuentra dentro del rango válido de formato de palabra doble según el operando de la tabla, la variable global G_xSystemBitS18 se establece en TRUE.