La liste suivante présente les fonctions Twido :
Cette fonction renvoie les deux caractères sous la forme d'une valeur entière.
Valeurs d'entrée |
i_sChar : STRING avec 2 caractères. |
Valeurs renvoyées |
Renvoie les caractères sous la forme d'une valeur entière. |
Si la chaîne est non valide, la variable globale G_xSystemBitS18 prend la valeur TRUE.
La fonction de conversion d'ASCII en entier convertit une valeur de type chaîne ASCII en sa valeur entière correspondante.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_psStartAddr : POINTER TO STRING ; |
Valeurs renvoyées |
ASCII_TO_INT : INT |
Les règles de conversion d'une valeur ASCII en valeur entière sont les suivantes :
oLa valeur ASCII doit être comprise entre -32 768 et 32 767.
oLa fonction lit toujours l'octet de poids fort en premier.
oTout caractère ASCII en dehors de l'intervalle [0...9] ([30 hex - 39 hex]]) est considéré comme un caractère de fin, à l'exception du signe moins '-' (2D hex) lorsqu'il est le premier caractère.
oEn cas de dépassement (> 32 767 ou < -32 768), la variable globale G_xSystemBitS18 (erreur détectée ou dépassement arithmétique) est réglée sur 1 et la valeur 32 767 ou -32 768 est renvoyée.
oSi le premier caractère de l'opérande est un caractère de « fin », la valeur 0 est renvoyée et la variable globale G_xSystemBitS18 est mise à TRUE.
La fonction de conversion d'ASCII en REAL en entier convertit la valeur de chaîne ASCIIen sa valeur REAL correspondante.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_psStartAddr : POINTER TO STRING |
Valeurs renvoyées |
FC_AsciiToReal : REAL |
Les règles de conversion d'une valeur ASCII en REAL sont les suivantes :
oLa fonction lit l'octet de poids fort en premier.
oTout caractère ASCII non compris dans l'intervalle [0 à 9] ([30 hex - 39 hex]) est considéré comme un caractère de « fin », sauf les caractères suivants :
ole point décimal '.' (2E hex) ;
ole signe moins '-' (2D hex) ;
ole signe plus '+' (2B hex) ;
ol'exposant 'e' ou 'E' (65 hex ou 45 hex).
oLa chaîne ASCII peut figurer en notation exponentielle (c'est-à-dire « -2.34567e+13 ») ou décimale (c'est-à-dire 9826.3457).
oEn cas de dépassement (si le résultat du calcul est > 3.402824E+38 ou < -3.402824E+38-) :
oLa variable globale G_xSystemBitS18 (dépassement arithmétique ou erreur détectée) prend la valeur TRUE.
oLa valeur +/- 1.#INF (valeur + ou - infini) est renvoyée.
oSi le résultat du calcul est compris entre -1.175494E-38 et 1.175494E-38, il est arrondi à 0,0.
oSi l'opérande n'est pas un nombre, la valeur 1.#QNAN est renvoyée et la variable globale G_xSystemBitS18 prend la valeur TRUE.
Cette fonction concatène deux entiers en un entier double.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iLowVal : INT i_iHighVal : INT |
Valeurs renvoyées |
FC_ConcatOfInt : DINT |
La fonction copie un tableau de valeurs DINT dans une autre adresse mémoire donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiSource : POINTER TO DINT i_pdiDestination : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_CopyArrDint : BOOL |
La fonction copie un tableau de valeurs INT dans une autre adresse mémoire donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_piSource : POINTER TO INT i_piDestination : POINTER TO INT i_bySize : BYTE |
Valeurs renvoyées |
FC_CopyArrInt : BOOL |
La fonction copie un tableau de valeurs REAL dans une autre adresse mémoire donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_prSource : POINTER TO REAL i_prDestination : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_CopyArrReal : BOOL |
La fonction copie un tableau de valeurs BOOL dans une autre adresse mémoire donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pxSource : POINTER TO BOOL i_pxDestination : POINTER TO BOOL i_bySize : BYTE |
Valeurs renvoyées |
FC_CopyBitString : BOOL |
La fonction copie un BitString empaqueté de la longueur des bits i_bySize dans un autre emplacement mémoire.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pbySource : POINTER TO BYTE i_pbyDestination : POINTER TO BYTE i_bySize : BYTE - limited to SIZE OF (DINT) |
Valeurs renvoyées |
FC_CopyPackedBitString : DINT |
La fonction FC_DegToRad convertit en radians un angle exprimé en degrés.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rDeg : REAL ; |
Valeurs renvoyées |
FC_DegToRad : REAL |
Formule |
Radian = Degrees * (Pi / 180) Where, Pi = 3.1415926535 |
Règles d'utilisation :
L'angle à convertir doit être compris entre -737 280 et +737 280.
Pour les valeurs situées hors de ces plages, le résultat affiché est + 1.#QNAN et la variable globale G_xSystemBitS18 prend la valeur TRUE.
La fonction FC_EqualArrDint compare 2 tables de taille définie, élément par élément. Si une différence apparaît, le rang du premier élément dissemblable est renvoyé sous forme d'entier. S'il n'y a aucune différence, la valeur "-1" est renvoyée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiFirstArrStartValue : POINTER TO DINT i_pdiSecondArrStartValue : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_EqualArrDint : INT |
Les adresses de début des 2 tableaux à comparer sont fournies au niveau des 2 entrées de pointeur.
Le nombre d'éléments à comparer doit être défini à l'entrée i_bySize.
La fonction FC_EqualArrReal compare 2 tables de taille définie, élément par élément. Si une différence apparaît, le rang du premier élément dissemblable est renvoyé sous forme d'entier. S'il n'y a aucune différence, la valeur -1 est renvoyée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiFirstArrStartValue : POINTER TO REAL i_pdiSecondArrStartValue : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_EqualArrReal : INT |
Les adresses de début des 2 tableaux à comparer sont fournies au niveau des 2 entrées de pointeur.
Le nombre d'éléments à comparer doit être défini à l'entrée i_bySize.
La fonction FC_FindEqDint recherche dans un ensemble de valeurs DINT données la position du premier élément de tableau qui est égal à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diValue : DINT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_FindEqDint : INT |
Si la valeur donnée ne figure pas dans le tableau, la valeur -1 est renvoyée.
La fonction FC_FindEqReal recherche dans un ensemble de valeurs REAL données la position du premier élément de tableau qui est égal à une valeur donnée définie par l'utilisateur.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rValue : REAL i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_FindEqReal : INT |
Si la valeur donnée ne figure pas dans le tableau, la valeur -1 est renvoyée.
La fonction FC_FindGtDint recherche dans un ensemble de valeurs DINT données la position du premier élément de tableau qui est supérieur à une valeur donnée définie par l'utilisateur.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diValue : DINT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_FindGtDint : INT |
Si aucun élément du tableau n'est supérieur à la valeur donnée, la valeur -1 est renvoyée.
La fonction FC_FindGtReal recherche dans un ensemble de valeurs REAL données la position du premier élément de tableau qui est supérieur à une valeur donnée définie par l'utilisateur.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rValue : REAL i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_FindGtReal : INT |
Si aucun élément du tableau n'est supérieur à la valeur donnée, la valeur -1 est renvoyée.
La fonction FC_FindLtDint recherche dans un ensemble de valeurs DINT données la position du premier élément de tableau qui est inférieur à une valeur donnée définie par l'utilisateur.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diValue : DINT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_FindLtDint : INT |
Si aucun élément du tableau n'est supérieur à la valeur donnée, la valeur -1 est renvoyée.
La fonction FC_FindLtReal recherche dans un ensemble de valeurs REAL données la position du premier élément de tableau qui est inférieur à une valeur donnée définie par l'utilisateur.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rValue : REAL i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_FindLtReal : INT |
Si aucun élément du tableau n'est supérieur à la valeur donnée, la valeur -1 est renvoyée.
Cette fonction extrait les bits de poids fort (MSB) d'un entier double vers un entier.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diVal : DINT |
Valeurs renvoyées |
FC_LoOfDint : INT |
La fonction de conversion d'entier en ASCII convertit une valeur entière en sa valeur de chaîne ASCII équivalente.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iVal : INT |
Valeurs renvoyées |
INT_TO_ASCII : ARRAY [1..4] OF INT |
Les règles de conversion d'une valeur entière en valeur ASCII sont les suivantes :
oLa valeur entière doit être comprise entre -32768 et 32767.
oLa fonction écrit toujours l'octet de poids fort en premier.
oLe caractère de fin est le « retour chariot » (ASCII 13).
oLa fonction détermine automatiquement le nombre de zones %MW devant contenir des valeurs ASCII (de 1 à 4).
La fonction FC_Lkup sert à interpoler un ensemble de données en virgule flottante X par rapport à Y pour une valeur X donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_Lkup : INT |
Les conditions suivantes s'appliquent à la valeur d'entrée i_prSartAddr :
onombre pair de valeurs ;
ominimum de 6 valeurs ;
ole premier élément est la valeur x à trouver ;
ole deuxième élément est défini par la fonction : résultat de l'interpolation ;
otous les éléments suivants sont des points de support d'interpolation par paires de X et Y.
Règles d'interpolation :
La fonction LKUP suit la règle d'interpolation linéaire, comme défini dans l'équation suivante :
Pour Xi ≤ X ≤ Xi + 1, où i = 1 … (m-1)
En supposant que les valeurs Xi sont classées dans l'ordre croissant : X1 ≤ X2 ≤ ...X...≤ Xm-1 ≤ Xm
Si deux valeurs Xi consécutives sont égales (Xi=Xi+1=X), l'équation 1 entraîne une exception non valide. Pour gérer cette exception, l'algorithme suivant est utilisé à la place de l'équation 1 :
Pour Xi = Xi+1 = X, où i = 1…(m-1).
Valeur de résultat :
La valeur de résultat indique si l'interpolation a réussi ou non.
0 : Interpolation réussie
1 : erreur d'interpolation : tableau incorrect, Xm < Xm-1
2 : erreur d'interpolation : i_rXValue hors limites, X < X1
4 : erreur d'interpolation : i_rXValue hors limites, X > Xm
8 : taille non valide du tableau de données : i_prYValue est défini comme nombre impair, ou i_prYValue < 6
Le résultat ne contient pas la valeur d'interpolation calculée (Y). Pour une valeur (X) donnée, le résultat de l'interpolation (Y) est contenu dans i_prYValue.
i_rXValue est la variable en virgule flottante qui contient la valeur (X) définie par l'utilisateur, pour laquelle calculer la valeur (Y) interpolée.
La plage valide de i_rXValue est :
X1 ≤ i_rXValue ≤ Xm
Cette fonction extrait les bits de poids faible (LSB) d'un entier double vers un entier.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diVal : DINT |
Valeurs renvoyées |
FC_LoOfDint : INT |
Dans un ensemble de valeurs DINT données, cette fonction recherche la valeur maximale. La recherche n'est effectuée que sur la longueur définie de la table.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_MaxArrDint : DINT |
Dans un ensemble de valeurs REAL données, cette fonction recherche la valeur maximale. La recherche n'est effectuée que sur la longueur de table définie.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_MaxArrReal : REAL |
Dans un ensemble de valeurs REAL données, cette fonction sert à calculer la moyenne de la longueur requise de la table de valeurs REAL.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_MeanArrReal : REAL |
Dans un ensemble de valeurs DINT données, cette fonction recherche la valeur minimale. La recherche n'est effectuée que sur la longueur définie de la table.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_MinArrDint : DINT |
Dans un ensemble de valeurs REAL données, cette fonction recherche la valeur minimale. La recherche n'est effectuée que sur la longueur définie de la table.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_MinArrReal : REAL |
La fonction déplace la valeur d'entrée dans la table de valeurs DINT, d'un nombre d'éléments égal à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diValue : DINT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_MoveArrDint : BOOL |
La fonction déplace la valeur d'entrée dans la table de valeurs INT, d'un nombre d'éléments égal à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iValue : INT i_piStartAddr : POINTER TO INT i_bySize : BYTE |
Valeurs renvoyées |
FC_MoveArrInt : BOOL |
La fonction déplace la valeur d'entrée dans la table de valeurs REAL, d'un nombre d'éléments égal à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rValue : REAL i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_MoveArrReal : BOOL |
Dans un ensemble de valeurs DINT données, cette fonction recherche le nombre d'éléments égaux à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_diValue : DINT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_OccurArrDint : INT |
Dans un ensemble de valeurs REAL données, cette fonction recherche le nombre d'éléments égaux à une valeur donnée.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rValue : REAL i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_OccurArrReal : INT |
Cette fonction FC_RadToDeg convertit en degrés un angle exprimé en radians.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rRad : REAL ; |
Valeurs renvoyées |
FC_RadToDeg : REAL |
Formule |
Degree = Radian * (180 / Pi) Where, Pi = 3.1415926535 |
Règles d'utilisation :
L'angle à convertir doit être compris entre -4096Pi et 4096Pi.
Pour les valeurs situées hors de ces plages, le résultat affiché est + 1.#QNAN et G_xSystemBitS18 prend la valeur TRUE.
La fonction de REAL à ASCII convertit une valeur REAL en sa valeur de chaîne ASCII équivalente.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_rVal : REAL |
Valeurs renvoyées |
FC_RealToAscii : ARRAY [1..7] OF INT |
Les règles de conversion d'une valeur REAL en valeur ASCII sont les suivantes :
oLa fonction écrit toujours l'octet de poids fort (MSB) en premier.
oLa représentation s'effectue en notation scientifique conventionnelle.
oLe résultat « Infini » ou « Pas un nombre » renvoie la chaîne « NAN ».
oLe caractère de fin est le « retour chariot » (ASCII 13).
oLa précision de conversion est de 6 chiffres.
Dans un tableau DINT donné, cette fonction décale chaque élément de n positions vers l'adresse de début de la liste. Les n premiers éléments sont déplacés en fin de liste.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iShiftPosNumber : INT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_RolArrDint : BOOL |
Si la valeur de i_iShiftPosNumber est négative ou nulle, aucun décalage n'est effectué.
Dans un ensemble de valeurs REAL données, cette fonction effectue un décalage circulaire de n positions de haut en bas des éléments.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iShiftPosNumber : INT i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_RolArrReal : BOOL |
Si la valeur de i_iShiftPosNumber est négative ou nulle, aucun décalage n'est effectué.
Dans un tableau DINT donné, cette fonction décale chaque élément de n positions vers l'adresse de fin de la liste. Les n derniers éléments sont déplacés en début de liste.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iShiftPosNumber : INT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_RorArrDint : BOOL |
Si la valeur de i_iShiftPosNumber est négative ou nulle, aucun décalage n'est effectué.
Dans un ensemble de valeurs REAL données, cette fonction effectue un décalage circulaire de n positions de bas en haut des éléments.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iShiftPosNumber : INT i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_RorArrReal : BOOL |
Si la valeur de i_iShiftPosNumber est négative ou nulle, aucun décalage n'est effectué.
La fonction FC_Round arrondit une représentation en virgule flottante stockée dans une chaîne ASCII.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_psStartAddr : POINTER TO STRING ; i_byRoundNumber : BYTE ; |
Valeurs renvoyées |
FC_Round : ARRAY[1..7] of INT |
Les règles de l'instruction ROUND sont les suivantes :
oL'opérande est toujours arrondi à la valeur inférieure.
oLe caractère de fin de la chaîne de l'opérande est utilisé comme caractère de fin de la chaîne de résultat.
oLe caractère de fin peut être tout caractère ASCII compris dans l'intervalle [0 à 9] ([30 hex - 39 hex]), à l'exception des caractères suivants :
ole point '.' (2E hex),
ole signe moins '-' (2D hex),
ole signe plus '+' (2B hex),
ol'exposant 'e' ou 'E' (65 hex ou 45 hex).
oLe résultat et l'opérande ne doivent pas compter plus de 13 octets, soit la taille maximale d'une chaîne ASCII.
La fonction trie les éléments d'une table de valeurs DINT dans l'ordre croissant ou décroissant, et stocke le résultat dans la même table.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iSortDirection : INT i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_SortArrDint : BOOL |
Le paramètre de sens i_iSortDirection indique la séquence de tri :
osens > 0, tri dans l'ordre croissant.
osens < 0, tri dans l'ordre décroissant.
osens = 0, aucun tri effectué.
La fonction trie les éléments d'une table de valeurs DINT dans l'ordre croissant ou décroissant, et stocke le résultat dans la même table.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_iSortDirection : INT i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
Valeurs renvoyées |
FC_SortArrReal : BOOL |
Le paramètre de sens i_iSortDirection indique l'ordre du tri :
osens > 0, tri dans l'ordre croissant.
osens < 0, tri dans l'ordre décroissant.
osens = 0, aucun tri effectué.
La fonction FC_SumArrDint additionne un nombre déterminé d'éléments de tableau dont l'adresse est définie à l'entrée i_pdiStartAddr. Cela signifie que la fonction effectue la somme de tous les éléments d'une table d'objets.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_SumArrDint : DINT |
La variable globale G_xSystemBitS18 prend la valeur TRUE lorsque le résultat est hors des limites du format de mot double correspondant à l'opérande de la table.
La fonction FC_SumArrReal additionne un nombre déterminé d'éléments de tableau dont l'adresse est définie à l'entrée i_pdiStartAddr. Cela signifie que la fonction effectue la somme de tous les éléments d'une table d'objets.
Nom dans EcoStruxure Machine Expert - Basic / Twido |
|
Valeurs d'entrée |
i_pdiStartAddr : POINTER TO DINT i_bySize : BYTE |
Valeurs renvoyées |
FC_SumArrReal : REAL |
La variable globale G_xSystemBitS18 prend la valeur TRUE lorsque le résultat est hors des limites du format de mot double correspondant à l'opérande de la table.