26.10
Extraction de données (RK 512) avec SFB64 "FETCH RK"
Description
Le bloc SFB FETCH_RK (SFB64) vous permet d'aller chercher un segment de données
chez le partenaire et de ranger ces données dans un bloc de données.
L'envoi des données est activé par l'appel du bloc avec un front montant à l'entrée de
commande REQ.
La zone où ranger les données extraites est indiquée par RD_1 (numéro de DB et
adresse de début), la longueur du segment par LEN.
Vous indiquez également dans le SFB de quelle zone du partenaire il faut extraire les
données. La CPU écrit ces informations dans l'en-tête du télégramme RK512 et les
transmet au partenaire.
La zone du partenaire est indiquée par le numéro de CPU R_CPU (qui n'a de sens qu'en
cas de communication multiprocesseur), le type de données R_TYPE (blocs de données,
blocs de données étendus, mémentos, entrées, sorties, compteurs et temporisations), le
numéro de bloc de données R_DBNO (seulement pour les blocs de données et les blocs
de données étendus) et le décalage R_OFFSET où extraire le premier octet.
R_CF_BYT et R_CF_BIT vous servent à déterminer l'octet et le bit de mémento de
couplage dans la CPU partenaire.
Avec le paramètre SYNC_DB, vous précisez le DB où stocker les données communes de
tous les SFB RK que vous employez, afin qu'ils soient initialisés à la mise en route et
synchronisés. Ce numéro de DB doit être le même pour tous les SFB RK employés dans
votre programme utilisateur.
Il faut appeler le SFB avec R(Reset)=FALSE pour qu'il puisse traiter la tâche. Un front
positif à cette entrée de commande R provoque l'abandon de la transmission en cours et
met le SFB à l'état initial. Un message d'erreur (sortie STATUS) signale la fin de la tâche
interrompue.
Vous indiquez par LADDR l'adresse E/S définie pour votre sous-module dans HW
Config.
Si la tâche est menée à terme sans erreur, DONE prend la valeur TRUE; si elle se
termine avec une erreur, c'est ERROR qui prend la valeur TRUE.
En cas d'erreur ou d'avertissement, la CPU utilise STATUS pour indiquer le numéro
d'événement.
L'état logique de DONE ou de ERROR/STATUS est également indiqué en cas de
réinitialisation du SFB (R=TRUE).
Lorsqu'une erreur se produit, le bit de résultat binaire RB est mis à 0. Lorsque le bloc est
exécuté sans erreur, le résultat binaire est TRUE.
Nota
Le SFB ne vérifie pas les paramètres; en cas d'erreur de paramétrage, la CPU peut
passer à l'ARRET.
Quand des données sont extraites de votre CPU, vous devez y programmer un bloc SFB
"SERVE_RK".
Logiciel système pour SIMATIC S7-300/400
A5E00261421-01
SFB pour les CPU compactes
26-49