Lire des données de la station esclave
Cette instruction lit les données d’un module intelligent de la station esclave MEWNET-F.
Entrée
Sauvegarde les données de contrôle pour la configuration maître/esclave
Adresse de départ de la zone mémoire à lire
Nombre de mots qui doivent être lus (32 mots max.)
Zone de départ de 16 bits dans laquelle les mots lus sont sauvegardés (voir F153)
Les variables s2_Start et d_Start doivent être du même type de données.
Il n’est pas possible d’exécuter plusieurs instructions F152_RMRD et F153_RMWT en même temps. Le programme doit être configuré de manière à ce que ces instructions F152_RMRD/F153_RMWT soient exécutées lorsque le drapeau autorisant l’exécution de l’instruction sys_bIsMewnetFNotActive est TRUE.
sys_bIsMewnetFNotActive | 0 : Exécution non autorisée (une instruction F152_RMRD/F153_RMWT est en cours d’exécution) 1 : Exécution autorisée |
L’instruction F152_RMRD ne fait qu’accepter une demande. Le traitement réel est exécuté à la fin de la scrutation. Le drapeau de fin d’exécution de l’instruction F152_RMRD/F153_RMWT (R9036) peut être utilisé pour vérifier si l’instruction a été exécutée.
sys_bIsMewnetFError | 0 : Exécution terminée normalement 1 : Terminée avec une erreur (code de l’erreur sauvegardé dans sys_wMewnetFErrorCode) |
sys_wMewnetFErrorCode | Si une erreur apparaît lorsque la transmission est terminée (sys_bIsMewnetFError (passe à TRUE et reste TRUE) , le contenu de l’erreur (code de l’erreur) est sauvegardé. |
Code d’erreur (HEX) |
Description |
---|---|
16#5B |
Temps d’attente dépassé (pas de module intelligent trouvé à l’endroit indiqué) |
16#68 |
Pas de mémoire (pas de mémoire trouvée à l’adresse indiquée) |
16#71 |
Temps d’attente d’envoi de la réponse dépassé |
16#72 |
Temps d’attente dépassé, mémoire tampon d’envoi pleine |
16#73 |
Erreur réponse hors délai |
Le code d’erreur 16#71–16#73 signifie que la communication a été interrompue après que le temps d’attente spécifié a été dépassé. Le temps d’attente peut être défini de 10,0ms à 81,9s (unités de 10ms) à l’aide du registre système 32. La valeur par défaut est de 2 secondes.
s1 sauvegarde les données de contrôle pour la configuration des stations maîtres et esclaves du réseau. n mots sont lus à partir de l’adresse de la mémoire partagée du module intelligent, spécifiée par s2_Start. Le résultat est sauvegardé dans d.
Caractéristiques de s1_Control :
Module intelligent avec banc de mémoire : Module mémoire des données FP3
Référence : AFP32091 AFP32092
Si les données de contrôle s1_Control sont en dehors de l’intervalle indiqué.
Si aucune unité maître MEWNET-F n’a été trouvée.
Si les données lues sont en dehors de la zone de s2_Start
Si les données de contrôle s1_Control sont en dehors de l’intervalle indiqué.
Si aucune unité maître MEWNET-F n’a été trouvée.
Si les données lues sont en dehors de la zone de s2_Start
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
Start: BOOL:=FALSE;
ControlData: DWORD:=16#000A0105;
(*No bank,
slot no. 10,
Master station 1,
Slave station 5*)
StartingAddress: WORD:=0;
NoWordsWrite: INT:=5;
WordsWritten: ARRAY [0..4] OF WORD:=[5(0)];
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_F,F152_RMRD,,11,1,20,8,,?DEN?D@'s1'?Ds2?Dn?Dd?AENO);
B(B_CONTACT,,Start,5,1,7,3,);
B(B_VARIN,,ControlData,9,3,11,5,);
B(B_VARIN,,StartingAddSlave,9,4,11,6,);
B(B_VARIN,,NumberWordsRead,9,5,11,7,);
B(B_VARIN,,WordsRead[0],9,6,11,8,);
L(1,0,1,8);
L(1,2,5,2);
L(7,2,11,2);
L(11,2,11,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (Start) Then
F152_RMRD(s1_Control := ControlData,
s2_Start := StartingAddress,
n_Number := NoWordsWrite,
d_Start := WordsRead[0]);
End_if;