I
Fonctions de PROFIBUS DP-V1
7
Configuration d'un maître C1
0 0
NEGR: NOP
0;
L
3; //défaut Movilink
T
#bError;
L
#MVLK_Resp.Attachment[2]; //écriture du code de défaut dans les paramètres chargés de son acheminement
SLW 8;
L
#MVLK_Resp.Attachment[3];
+I
;
T
#dwData;
SET
; //la fonction est terminée
S
#fDone; //=> Mettre Done à 1 ; mettre fActivate, Busy, fStaticBusy et fDPV1WriteDone à 0
R
#fActivate;
R #fBusy;
R
#fStaticBusy;
R
#fDPV1WRITEDone;
L
0;
T
#TimeoutCounter; //remettre à 0 le compteur Time-out (Timeoutcounter)
BEA
;
ENDB: SET
; //Busy End
S
#fBusy;
END:
NOP
0;
END_FUNCTION_BLOCK
Exemple de lancement du bloc fonctionnel FB5 "DPV1_Movilink_FB"
FUNCTION FC 1 : VOID
TITLE =exploitation du canal-paramètres DP-V1
//Cet exemple de programme ne donne qu'une procédure de principe.
//SEW décline toute responsabilité en cas d'erreurs de programmation et
//de défauts consécutifs à ces erreurs !
VERSION : 0.1
BEGIN
NETWORK
TITLE =écriture d'un paramètre de Movitrac 07
//Cet exemple écrit de façon volatile la valeur 123 tours/minute
//dans la consigne interne n11 (P160). Cette écriture est provoquée par un flanc montant de
//M100.0 (tableau des variables du "MC07").
//
//Cette requête concerne le variateur Movitrac 07 d'adresse SBus 2 :
//
//Adresse PROFIBUS 9
//Per.-Adr.512
//I
//
UFP11A MC07_1
// I________________I_______________I
// SBUS-Adr.0
SBUS-Adr.1
//
//
//Remarque sur la configuration matérielle : afin que l'entrée "Drive_IO_Address" puisse être
//définie sans ambiguïté, il faut que les numéros xyz soient pris identiques pour ceux des
//mots-mémoire PEWxyz et PAWxyz de la périphérie de l'automate qui sont
//associés à l'UFP.
//
//
L
L#123000; //convertir la valeur du paramètre de DINT..
T
MD 110; //... en DWORD
//Facteur de conversion et plage de valeurs autorisées : voir liste des paramètres dans le manuel "Communication
sérielle pour Movitrac 07"
CALL FB
5 , DB
Drive_IO_Address
bService
bAxis
wParameterIndex
wSubIndex
dwWRITEData
InstanzDB_SFB52
InstanzDB_SFB53
bError
dwData
fActivate
fBusy
fDone
END_FUNCTION
82
Pour lancer ce bloc fonctionnel, insérer les lignes suivantes dans votre programme
cyclique S7.
MC07_2
SBUS-Adr. 2
5 (
:= 512,
:= B#16#3,//0x01 = read, 0x02 = write, 0x03 = write volatile
:= B#16#2,//MC07 d'adresse SBus 2
:= W#16#2129//paramètre P160 'consigne interne n11' d'index Movilink 8489 (déc)
:= W#16#0,//Subindex MOVILINK = 0
:= MD
110,//Paramètre à écrire
:= DB
201,//Instance de SFB52, nécessaire pour DPV1_READ
:= DB
202,//Instance de SFB53, nécessaire pour DPV1_WRITE
:= MB
118,//0 = absence de défaut ; 1 = défaut S7 ; 2 = Time-out ; 3 =
défaut MOVILINK
:= MD
114,//si bError = 0 => valeur du paramètre lu ; si bError = 1 => Error-
Code S7
:= M
100.0,//bit d'activation : demande d'exécution d'une requête de paramètre
:= M
100.1,//requête de paramètre en cours de traitement ou Time-out écoulé
:= M
100.2);//traitement de la requête-paramètre achevé
Manuel Interface bus de terrain DFP21B pour PROFIBUS DP-V1