Description fonctionnelle
Le bloc fonctionnel _FM3502_read exécute les requêtes de lecture enregistrées dans
l'élément read.execJobNumber et transfère les données lues dans la structure de données
de type Struct_FM3502_fmData.
Le FB _FM3502_read doit uniquement être appelé lors de l'exécution de requêtes de lecture.
Intégration dans une tâche (appel)
Le bloc fonctionnel _FM3502_read peut être appelé via la tâche BackgroundTask ou
TimerInterruptTask. Un appel n'est pas admis dans SystemInterruptTask. Un appel du FB
n'est pas recommandé dans IPOSynchronousTask en raison des durées d'exécution.
Une requête d'écriture est déclenchée par l'assignation d'un numéro de requête dans
l'élément read.execJobNumber. Le FB _FM3502_read doit être appelé de façon cyclique
jusqu'à ce que l'élément read.execJobNumber soit zéro. Avant qu'une nouvelle requête de
lecture ne puisse être effectuée, la dernière requête de lecture doit avoir été traitée, c'est-à-
dire que read.execJobNumber est remis à 0.
Remarque
Pour une exécution correcte, l'adresse du module doit être saisie dans l'élément
moduleAddress de la structure de données de type Struct_FM3502_fmData (sous
"Caractéristiques générales").
Comportement au démarrage
Le FB _FM3502_read ne coordonne pas le démarrage avec le FM 350-2. Durant la phase de
démarrage, le traitement de la requête est bloqué. Une requête en cours n'est pas perdue :
elle est effectuée une fois le démarrage acquitté.
Message d'erreur durant un appel
Si une erreur se produit durant un appel, elle est signalée dans le paramètre de sortie status.
Remarque
Un code d'erreur dans status n'est présent que pendant un cycle. Les valeurs 0x7001 et
0x7002 indiquent qu'un transfert de données a été initié et qu'il est en cours.
Complément aux modules FM 350-1, FM 350-2, FM 352
Description fonctionnelle, Édition 03/2009
Blocs fonctionnels du FM 350-2
3.4 Bloc fonctionnel _FM3502_read
39