Évaluateur d’expression

Calculez le résultat d'une expression avec des entiers, des décimales, des variables numériques, des variables de chaîne pour comparer les chaînes, des opérateurs arithmétiques et booléens, ou un ensemble de fonctions.

Propriétés

Propriété
Description
Expression
Expression à calculer.
Pour ajouter des variables à l’expression, saisissez des nombres consécutifs ou des chaînes uniques commençant par
#
entre accolades
{}
. Par exemple, saisissez
{0}
et
{1}
plus loin dans l’expression. Remplissez les champs
Lien dynamique
{#}
correspondant à chaque variable.
L'expression peut contenir un nombre illimité de crochets correctement ouverts et fermés
{}
. Si la syntaxe de l'expression est incorrecte, le convertisseur n'exécute pas le calcul.
Mode
Direction du lien dynamique :
  • Lecture du nœud source au parent.
  • Écriture du parent au nœud source.
  • Lecture du nœud source au parent et écriture du parent au nœud source.

Source

Une ou plusieurs variables identifiées par :
Espace réservé
{
index_number
}
Entier progressif égal ou supérieur à zéro. Par exemple,
{1}
Espace réservé
{#
placeholder_identifier
}
Chaîne avec le préfixe
#
. Par exemple,
{#speed}
CONSEIL: Utilisez des combinaisons d’espaces réservés dans n’importe quel ordre. Utilisez autant d’espaces réservés que vous voulez dans l’expression.

Litéraux

  • Boolean.
  • Entiers.
  • Décimales séparées par un point.
  • Nombres hexadécimaux avec le préfixe
    0x
    .
  • Texte tel qu'une chaîne délimitée par des guillemets doubles.
    CONSEIL: Les guillemets doubles répétés deux fois (
    ""
    ) sont interprétés comme une séquence d'échappement.
  • Date et heure. Par exemple,
    2017-06-28T15:26:06.0790910
    .

Opérateurs

Catégorie
Opérateur
Associativité
Commentaire
Unaire
Moins unaire :
-
NOT binaire :
~
Opérateur de conversion :
(type)
De droite à gauche
L’opérateur de conversion
(type)
ne s’applique qu’aux types de données numériques et Boolean.
Multiplicatif
*
,
/
,
%
De gauche à droite
Additif
+
,
-
De gauche à droite
Décaler
<<
,
>>
De gauche à droite
Les opérateurs de décalage et relationnels s’appliquent aux types de données suivants :
  • Numeric
  • DateTime
  • Duration
Relationnel
<
,
<=
,
>
,
>=
De gauche à droite
Égalité
==
,
!=
De gauche à droite
Les opérateurs Égalité s’appliquent aux types de données suivants :
  • Numeric
  • DateTime
  • Duration
  • String
  • LocalizedText
AND XOR, OR binaires
&
,
^
,
|
De gauche à droite
AND logique
&&
De gauche à droite
OR logique
||
De gauche à droite

Types de données

Conventions sur les types de données dans l’évaluateur d’expression :
  • Les entiers littéraux sont Int32.
  • Les littéraux décimaux sont Double.
  • Les valeurs numériques sont considérées comme Int32.
  • Les littéraux Vrai et Faux sont interprétés comme Boolean.
  • L'opérateur / renvoie toujours une valeur Double.
  • L'opérateur % génère une exception en cas de division par modulo zéro.
  • L'opérateur % accepte les opérandes Float et Double.
  • Toutes les fonctions renvoient une valeur Double à l'exception du signe, qui renvoie une valeur Int32.
Le
type
des opérateurs de conversion unaire peut être l’un des types de données suivants :
  • bool, Boolean
  • sbyte, SByte
  • short, Int16
  • int, Int32
  • long, Int64
  • byte, Byte
  • ushort, UInt16
  • uint, UInt32
  • ulong, UInt64
  • float, Float
  • double, Double
Opérateurs appliqués à des types de données spécifiques :
Opérateur
Operand1
Operand2
Description
Plus
DateTime
Nombre intégral
Operand2
est interprété en millisecondes.
Plus
Nombre intégral
DateTime
Operand1
est interprété en millisecondes.
Plus
DateTime
TimeZone (Struct)
Operand2
est interprété en minutes (TimeZone.Offset).
Plus
TimeZone (Struct)
DateTime
Operand1
est interprété en minutes (TimeZone.Offset).
Plus
TimeZone
Nombre intégral
Operand1
est interprété en minutes (TimeZone.Offset).
Operand2
est interprété en minutes.
Plus
Nombre intégral
TimeZone
Operand1
est interprété en minutes.
Operand2
est interprété en minutes (TimeZone.Offset).
Moins
DateTime
Nombre intégral
Operand2
est interprété en millisecondes.
Moins
DateTime
TimeZone (Struct)
Operand2
est interprété en minutes (TimeZone.Offset).
Moins
TimeZone
Nombre intégral
Operand1
est interprété en minutes (TimeZone.Offset).
Operand2
est interprété en minutes.

Fonctions

Fonctions à utiliser dans l’évaluateur d’expression :
Fonction
Syntaxe
Description
Afficher le type de données
max
max(
value1
,
value2
,
value3
, ...)
Affiche la valeur la plus élevée.
Double
min
min(
value1
,
value2
,
value3
, ...)
Affiche la valeur la plus basse.
Double
avg
avg(
value1
,
value2
,
value3
, ...)
Affiche la moyenne des valeurs données.
Double
abs
abs(
value
)
Affiche la valeur absolue du nombre donné.
Double
trunc
trunc(
value
)
Affiche la partie entière d'un nombre décimal.
Double
ceil
ceil(
value
)
Affiche la valeur approximative par excès.
Double
floor
floor(
value
)
Affiche la valeur approximative par défaut.
Double
round
round(
value
)
Affiche l’approximation à l’entier le plus proche.
Double
sqrt
sqrt(
value
)
Affiche la racine carrée du nombre donné.
Double
sign
sign(
value
)
Vérifie si le nombre à virgule flottante donné est négatif. Affiche
0
si vrai ou
1
si faux.
Int32
like
like(
string_value
,
pattern
)
S’applique uniquement aux types de données String, QualifiedName et LocalizedText
.
Affiche
vrai
si le paramètre
string_value
correspond à la valeur
pattern
.
Le
modèle
accepte le caractère générique
%
au début ou à la fin.
Exemples :
  • like("motor23", "motor%")
    renvoie
    vrai
  • like("machine_2", "motor%")
    renvoie
    faux
Boolean
isempty
isempty(
variable
)
Vérifie si un NodeID, String, LocalizedText ou DataTime donné est vide.
Boolean
if
if(
condition
,
value_if_true
,
value_if_false
)
Vérifie si le
condition
est vrai et renvoie
value_if_true
ou
value_if_false
La syntaxe doit répondre aux exigences suivantes :
  • Pour
    value_if_true
    et
    value_if_false
    , des paramètres du même type de données doivent être utilisés.
  • Pour les valeurs booléennes,
    true
    ou
    false
    doivent être utilisés en minuscules.
  • Pour les couleurs, créez un lien vers les valeurs des couleurs ou utilisez la syntaxe
    0x
    AA
    RR
    GG
    BB
    , où :
    • 0x
      est la notation hexadécimale
    • AA
      est le canal alpha (transparence)
    • RR
      est le canal rouge
    • GG
      est le canal vert
    • BB
      est le canal bleu
Type de données
value_if_true
left_of
left_of(string, pattern)
Renvoie la sous-chaîne située à gauche de la première occurrence du motif d’expression régulière.
IMPORTANT: N’utilisez pas de caractères génériques dans les motifs.
Chaîne
right_of
right_of(string, pattern)
Renvoie la sous-chaîne située à droite de la première occurrence du motif d’expression régulière.
IMPORTANT: N’utilisez pas de caractères génériques dans les motifs.
Chaîne

Sortie

Valeur résultante de l'expression.

Exemples

Renvoie la valeur absolue d’une variable
Si la valeur de la variable est supérieure à 40, rend un objet graphique visible
Si la valeur de la variable est supérieure à 50, change la couleur d’arrière-plan d’un objet graphique en bleu
Si la valeur de la variable est comprise entre 30 et 40, l’objet LED vert clignote lorsqu’il est actif
Si la couleur du cadre de la zone de texte est rouge, active le bouton
Si le texte de l’étiquette est égal à « AVERTISSEMENT », change la couleur du texte de l’étiquette en rouge
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal