Description de la fonction

La fonction SET_VAL est utilisée pour transférer les données d'une variable à une autre.

La fonction élémentaire peut accéder aux variables publiques et privées et le chemin d'accès à ces variables est issu des variables globales.

NOTE : Pour une application de sécurité, le chemin d'accès aux variables est issu de la portée PROCESS en fonction de l'emplacement actuel de l'instance SET_VAL.

Les paramètres supplémentaires EN et ENO sont aussi configurables.

Conditions requises en matière de version du système d'exploitation

Pour utiliser cette fonction élémentaire dans une application, la version minimale requise du système d'exploitation pour l'UC est :

Plate-forme

Version minimale du système d'exploitation

M340

3.30

M580

3.20

Représentation en FBD

Représentation en LD

Représentation en IL

Représentation :

CAL SET_VAL (WRITE_REQ := Write, DEST := VariablePath, DATA := InputValue, ERROR => SetValError, OUT => OutputValue)

Représentation en ST

Représentation :

SET_VAL (WRITE_REQ := Write, DEST := VariablePath, DATA := InputValue, ERROR => SetValError, OUT => OutputValue);

Description des paramètres

Le tableau suivant décrit les paramètres d’entrée :

Paramètre

Type de données

Signification

WRITE_REQ

BOOL

Réglé sur 1, il écrit la valeur du paramètre DATA sur la variable gérée par le paramètre DEST et la déplace sur le paramètre OUT.

Réglé sur 0, il lit la valeur de la variable gérée par le paramètre DEST et la déplace sur le paramètre OUT.

DEST

STRING

Chemin d'accès à la variable à écrire avec la valeur de paramètre d'entrée DATA.

Exemple : « MyVar.subfield[6] ».

Si le chemin d'accès à la variable commence par le caractère « . », le chemin d'accès dépend de l'emplacement actuel de l'instance SET_VAL.

  • Par exemple, lorsque vous utilisez SET_VAL dans un DFB, il peut accéder à toutes les variables de ce DFB (sorties(4), variables publiques, variables privées, instances DFB privées) avec la syntaxe .MyVar.

  • Par exemple, lorsque vous utilisez SET_VAL dans une unité de programme, il peut accéder à toutes les variables de cette unité de programme (variables publiques, variables privées, instances DFB privées) avec la syntaxe .MyVar.

NOTE : les variables de type DDT qui contiennent BOOL avec une définition de bit extrait ne sont pas prises en charge dans le dictionnaire de données. Les paramètres d'entrée et de sortie de la fonction élémentaire ne voient donc pas les variables de ce type.

DATA

ANY (1) (2) (3)

Données à écrire dans la variable identifiée dans l'entrée DEST. Si l'entrée DATA n'est pas connectée, la valeur écrite par défaut est zéro.

(1) Avec des restrictions. Les types de données suivants mappés sur ANY ne sont pas pris en charge : instance IODDT, instance DDT d'équipement, instance DDT qui contient une référence (REF), ainsi que ARRAY OF EBOOL, EFB et DFB.

(2) Les types de données EBOOL et BOOL peuvent coexister.

(3) Des types de données STRING de différentes longueurs peuvent coexister.

(4) A l'exception de ARRAY

Le tableau suivant décrit les paramètres de sortie :

Paramètre

Type de données

Signification

ERROR

BOOL

Réglé sur 1 en cas d'erreur détectée.

OUT

ANY (1) (2) (3)

Fournit la valeur de la variable spécifiée par l'entrée DEST à tout moment.

(1) Avec les mêmes restrictions que le paramètre DATA.

(2) Les types de données EBOOL et BOOL peuvent coexister.

(3) Des types de données STRING de différentes longueurs peuvent coexister.

NOTE : Les types de données des valeurs DATA et OUT doivent correspondre à la variable gérée par la valeur DEST. Le type de données pour DATA est vérifié par la fonction élémentaire, tandis que le type de données pour DEST est vérifié au moment de l'exécution.

Options du projet

Le dictionnaire de données doit être activé pour que la fonction élémentaire SET_VAL récupère la définition de variable sur l'automate.

L'activation de l'option Inclure les variables DFB/PU privées permet l'accès aux variables privées.

Pour plus d'informations, consultez le chapitre Options du projet.

Codes d'erreur

Si une erreur est détectée pendant l'exécution du bloc, un message s'affiche dans le tampon de diagnostic. Celui-ci indique le code d'erreur d'application.

Le tableau suivant décrit les codes d'erreur d'application détectés :

Code de l'erreur détectée

Description

APPLICATION ERROR 1

Le paramètre DEST est une chaîne de type NULL.

APPLICATION ERROR 2

Le paramètre DEST est trop long (> 1 000 caractères)

APPLICATION ERROR 3

Les types DEST et DATA ne correspondent pas.

APPLICATION ERROR 4

La variable ou le champ est introuvable dans le dictionnaire de données.

APPLICATION ERROR 5

Erreur de syntaxe du chemin d'accès à la variable.

APPLICATION ERROR 6

Le type de variable n'est pas un tableau.

APPLICATION ERROR 7

Tableau hors limites.

APPLICATION ERROR 8

La variable de tableau a trop d'indices.

APPLICATION ERROR 9

Les dimensions du tableau sont supérieures aux dimensions maximales prises en charge.

APPLICATION ERROR 10

Le bit extrait n'est pas pris en charge sur ce type de variable.

APPLICATION ERROR 11

Classement des bits extraits non valides.

APPLICATION ERROR 12

La variable est en lecture seule.

APPLICATION ERROR 13

Le dictionnaire de données n'est pas présent dans l'application ; activez-le dans les options du projet.

APPLICATION ERROR 15

Erreur interne avec sous-code.