Notions complémentaires Fonctions de calcul Fonctions de calcul Fonction Les fonctions de calcul sont applicables en priorité aux paramètres R et aux variables (ou constantes et fonctions) de type REAL. Les types INT et CHAR sont également admis. Opérateur arithmétique / fonction Signification de calcul + Addition - Soustraction * Multiplication / Division Attention : (type INT)/(type INT)=(type REAL) ; Exemple : 3/4 = 0.75 DIV Division, pour types de variable INT et REAL Attention : (type INT)DIV(type INT)=(type INT) ; Exemple : 3 DIV 4 = 0 MOD La division modulo (uniquement pour le type INT) fournit le reste d'une division INT. Exemple : 3 MOD 4 = 3 : Opérateur de concaténation (pour variables de type FRAME) Sin() Sinus COS() Cosinus TAN() Tangente ASIN() Arc sinus ACOS() Arc cosinus ATAN2( , ) Arc tangente 2 SQRT( ) Racine carrée ABS( ) Valeur absolue POT( ) 2. Puissance (carré) TRUNC( ) Partie entière Précision réglable avec TRUNC( ) dans les instructions relationnelles (voir "Correction de la précision pour les erreurs relationnelles (TRUNC)") ROUND() arrondir à un nombre entier LN( ) Logarithme naturel EXP( ) Fonction exponentielle This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=19801200139&Language=fr-FR&TopicId=17551932171 19/04/2017 Notions complémentaires Fonctions de calcul MINVAL() valeur la plus petite de deux variables (voir "Minimum, maximum et plage de variables (MINVAL, MAXVAL, BOUND)") MAXVAL() valeur la plus grande de deux variables (voir "Minimum, maximum et plage de variables (MINVAL, MAXVAL, BOUND)") BOUND() valeur de variable se trouvant dans la plage de valeurs définie (voir "Minimum, maximum et plage de variables (MINVAL, MAXVAL, BOUND)") CTRANS() Décalage CROT () Rotation CSCALE () Changement d'échelle CMIRROR () Fonction miroir Programmation La notation mathématique usuelle est valable pour les fonctions de calcul. Les priorités de traitement sont fixées par des parenthèses. Les fonctions trigonométriques et leurs inverses emploient la notation en degrés (angle droit = 90°). Exemples Exemple 1 : ATAN2 A partir de deux vecteurs orthogonaux, la fonction de calcul ATAN2 détermine l'angle du vecteur somme. Le résultat s'inscrit dans la plage des quatre quadrants (-180° < 0 < +180°). La base de la référence angulaire est toujours représentée par la 2ème valeur dans le sens positif. Exemple 2 : Initialisation de tableaux de variables complets This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=19801200139&Language=fr-FR&TopicId=17551932171 19/04/2017 Notions complémentaires Fonctions de calcul Code de programme Commentaire R1=R1+1 ; Nouveau R1 = ancien R1 +1 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 R13=SIN(25.3) R14=R1*R2+R3 ; La multiplication est prioritaire. R14=(R1+R2)*R3 ; Les parenthèses sont traitées en priorité. R15=SQRT(POT(R1)+POT(R2)) ; Les parenthèses internes sont levées d'abord. R15 = racine carrée de (R1+R2) RESFRAME=FRAME1:FRAME2 FRAME3=CTRANS(…):CROT(…) Voir aussi ; L'opérateur de concaténation combine des frames en un frame résultant ou assigne des valeurs aux composantes de frame. → Correction de la précision pour les erreurs relationnelles (TRUNC) → Minimum, maximum et plage de variables (MINVAL, MAXVAL, BOUND) This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=19801200139&Language=fr-FR&TopicId=17551932171 19/04/2017