Description fonctionnelle
La fonction READ_REMOTE
est utilisée
pour lire la valeur de variables distantes qui sont ensuite échangées
entre applications d'automate.
Lorsque la valeur d'entrée EN
est TRUE
:
Le bloc fonction de communication READ_REMOTE permet d'échanger des valeurs de variable entre automates. Les variables localisées et non localisées peuvent être lues.
Il est possible de lire tout type de variable distante nommée (localisée ou non localisée) sur la base du nom de la variable.
Le nombre de broches liées à la sélection des variables est fixe et ne peut pas être modifié par l'utilisateur : 14 broches pour spécifier des variables locales et 14 broches pour spécifier des variables distantes. Il n'est pas nécessaire de connecter toutes les broches d'entrée et de sortie.
R_VAR_x
peuvent
être modifiés au moment de l'exécution. Cela entraîne
une relance du processus de vérification entre les automates
local et distant.Les paramètres supplémentaires EN
et ENO
peuvent
être configurés.
Limites liées au micrologiciel des UC
Le bloc READ_REMOTE
est pris en charge par :
UC M580 avec système d'exploitation de version 3.20 ou ultérieure
UC M340 avec système d'exploitation de version 3.30 ou ultérieure
Pour permettre la vérification de type via une comparaison de sommes de contrôle (voir Contrôle des types de données), l'UC distante doit utiliser la version minimale de micrologiciel suivante :
UC M580 avec système d'exploitation de version 3.20 ou ultérieure
UC M340 avec système d'exploitation de version 3.30 ou ultérieure
Représentation en FBD
Représentation :

Représentation en LD
Représentation :

Représentation en IL
Représentation :
CAL READ_REMOTE_Instance
CTRL:=ReadRemote_Control, ENABLE:=ReadRemote_Enable, ADDR:=Address,
ABORT:=ReadRemote_Abort, R_VAR_1:=RemoteVariable_1, ..., R_VAR_14:=RemoteVariable_14,
DONE=>ReadRemote_Done, ACTIVE=>ReadRemote_Active, ERROR=>ReadRemote_ExecutionError,
STATUS=>ErrorCode, EXT_STATUS=>ExtendedErrorCode, L_VAR_1=>LocalVariable_1,
..., L_VAR_14=>LocalVariable_14)
Représentation en ST
Représentation :
READ_REMOTE_Instance
(CTRL:=ReadRemote_Control, ENABLE:=ReadRemote_Enable, ADDR:=Address,
ABORT:=ReadRemote_Abort, R_VAR_1:=RemoteVariable_1, ..., R_VAR_14:=RemoteVariable_14,
DONE=>ReadRemote_Done, ACTIVE=>ReadRemote_Active, ERROR=>ReadRemote_ExecutionError,
STATUS=>ErrorCode, EXT_STATUS=>ExtendedErrorCode, L_VAR_1=>LocalVariable_1,
..., L_VAR_14=>LocalVariable_14);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre |
Type |
Commentaire |
---|---|---|
|
|
Paramètre d'entrée
NOTE : La vérification de type via la somme de
contrôle du type n'est pas effectuée dans le cas de
INT [1]. Cette vérification s'appuie uniquement sur la longueur
du type (par exemple, les types des variables locale et distante sont
considérés comme cohérents s'ils ont la même
taille en octets).
|
|
|
La fonction est exécutée
lorsque ce paramètre est |
|
|
La fonction n'est pas exécutée
(abandon) lorsque ce paramètre est |
|
|
Tableau contenant l'adresse de l'automate, résultat de :
|
|
|
Identification (nom symbolique) d'une variable distante. |
Le tableau suivant décrit les paramètres de sortie :
Paramètre |
Type |
Commentaire |
---|---|---|
|
|
La fonction demandée est correctement exécutée et validée. |
|
|
|
|
|
Un nouvel état non nul est reçu. |
|
|
Fournit le code d'erreur si le bloc fonction détecte une erreur. NOTE : La valeur du
paramètre
STATUS est 0 uniquement
si la valeur du paramètre EXT_STATUS est 0 pour chaque accès de variable. |
|
|
Fournit le code d'erreur étendu si une erreur est détectée par le bloc fonction : un état pour chaque accès de variable. |
|
|
Variable locale utilisée pour stocker la valeur lue dans une variable distante. NOTE : Le type d'une variable locale doit correspondre au type d'une
variable distante (voir Contrôle des types de données ci-après).
|
Règles d'utilisation
Cette fonction prend en charge les données distantes suivantes :
Variables élémentaires
Tableaux
Instances DDT sans références (indirection de type
=1
)
Les types de syntaxe suivants sont pris en charge :
MyVar
MyArray[2]
MyDdtArray[4].elem1
Array
doit être une valeur immédiate.MyVar[2].elem1
.Le bloc fonction de communication READ_REMOTE
lit d'abord la définition, l'adresse
et le type des variables distantes ; il lit ensuite les variables
elles-mêmes. Cette règle s'applique également
aux modifications en ligne des données du serveur d'automate,
par exemple la suppression d'une variable ou d'une instance
de bloc fonction.
La fonction
doit être activée à la fois par un automate client et par un automate serveur.Le bloc fonction de communication READ_REMOTE
doit être invoqué et exécuté à partir de
la tâche MAST, FAST, AUX0, ou AUX1.
Le jeu de caractères autorisé pour une variable distante est Standard. Si un caractère étendu ou Unicode est utilisé pour une variable distante, une erreur est détectée et le message le serveur OFS affiche un message indiquant que la variable est introuvable.
Si l'option READ_REMOTE
. Cette opération est effectuée
dans une application locale ou une application distante.
Contrôle des types de données
ATTENTION | |
---|---|
Le bloc fonction de communication READ_REMOTE lit des variables dont les types de données sont identiques.
Le contrôle du type de données entre variables locales et distantes est effectué par défaut et s'applique aux types suivants :
EDT
DDT
Tableau (ARRAY) de DDT
Tableau (ARRAY) anonyme
Le contrôle de type d'utilisateur s'appuie sur la somme de contrôle et sur la longueur des types.
Les attributs exportés du format source défini sont vérifiés au cours du contrôle de type basé sur l'égalité des sommes de contrôle.
Un contrôle minimum de cohérence basé sur la longueur des types est systématiquement effectué pour vérifier que les variables locale et distante présentent la même taille en octets.
Il n'y a pas de contrôle par nom de type en raison de la différence entre les définitions utilisées par l'automate client et le serveur.
Pour
désactiver le contrôle de type de données, utilisez
les paramètre CTRL
. Seul le contrôle
de type de données basé sur l'égalité des
sommes de contrôle de type peut être désactivé
via le paramètre CTRL
.
STRING
et STRING[n]
sont considérés
identiques même si la longueur de chaîne est différente.
Seuls les caractères correspondant à la longueur minimum
des variables locale et distante sont échangés. La troncature
de chaîne concerne uniquement les variables de type chaîne
(STRING
ou STRING[n]
). Cette règle ne s'applique pas aux
variables de type chaîne situées à l'intérieur
des DDT.EXT_STATUS
correspondant. Pour éviter
un échange de données incorrect, vous devez modifier le
type DDT dans Premium ou Quantum. Pour plus d'informations, reportez-vous
au chapitre DDT : Règles
de mappage. Control
Expert peut indiquer que l'alignement semble différent
lors de la compilation. Pour activer cette option, modifiez la propriété dans .Comportement du mode de redondance d'UC
En mode de redondance d'UC, READ_REMOTE
s'exécute de la même
manière que les autres blocs fonction de communication. La règle
de programmation décrite dans Bloc fonction de
communication asynchrone doit être suivie.
Lors d'un basculement,
l'adresse IP de l'automate cible est basculée dans
l'automate serveur tandis que la requête en cours est relancée
en mode de redondance. La communication avec le bloc fonction READ_REMOTE
est ainsi restaurée et se
poursuit normalement.
READ_REMOTE
.Simulateur d'automate
Le bloc fonction de communication READ_REMOTE
peut être utilisé avec le simulateur d'automate de
requêtes de communication en cours. Voir EcoStruxure™ Control Expert - Simulateur d'automate pour plus d’informations.
Limites
Cette fonction ne prend pas en charge les données suivantes mappées sur le type de données ANY :
Instances IODDT
Instances de DDT d'équipement contenant des types EBOOL
Instances de DDT comprenant une référence (indirection de type
=1
)Tableaux de types EBOOL, EFB et DFB
Autres limites :
Le nombre maximum de variables est 14
La taille de la requête ne doit pas dépasser 1 Ko. Autrement dit :
La taille totale des données échangées doit être inférieure à 1 Ko
La somme de toutes les chaînes décrites dans tous les chemins de variable doit être inférieure à 1010 octets
Si la taille de la requête est supérieure à 1 Ko, une erreur d'état est générée
Le temps de réponse dépend du temps de cycle de l'automate et il est limité à la valeur de timeout indiquée dans le premier mot du paramètre CTRL.