Funciones de PROFIBUS DP-V1
I
7
Planificación del proyecto de un maestro C1
0 0
NEGR: NOP
0;
L
3; //Fallo Movilink
T
#bError;
L
#MVLK_Resp.Attachment[2]; //Escribir código de fallo en parámetro de salida
SLW
8;
L
#MVLK_Resp.Attachment[3];
+I
;
T
#dwData;
SET
; //La función ha finalizado:
S
#fDone; //=> Activar Done,..resetear Busy
R
#fActivate;
R
#fBusy;
R
#fStaticBusy;
R
#fDPV1WRITEDone;
L
0;
T
#TimeoutCounter; //Resetear el Timeoutcounter
BEA
;
ENDB: SET
; //Busy End
S
#fBusy;
END:
NOP
0;
END_FUNCTION_BLOCK
Ejemplo de activación del FB5 "DPV1_Movilink_FB"
FUNCTION FC 1 : VOID
TITLE =Manejo del canal de parámetros DPV1
//Este ejemplo de programa muestra sólo el modo principal de proceder.
//¡El fabricante no se hace responsable de los fallos en las funciones del
//programa ni de las consecuencias de los mismos!
VERSION : 0.1
BEGIN
NETWORK
TITLE =Escritura de un parámetro MC07
//En este ejemplo se describe de forma volátil el valor de consigna fija n11 (P160)
//con el valor de 123 r.p.m..
//M100.0 (tabla de variables "MC07").
//
//El servicio de parámetro activa el MC07 con la dirección de SBUS 2:
//
//Dir. PROFIBUS 9
//Dir. per.512
//
I
//
UFP11A
//
I________________I_______________I
//
SBUS-Adr.0
//
//
//Indicación para la configuración de hardware:
//Las direcciones periféricas ("dirección PIW" y "dirección POW") de la UFP11A deben
//tener el mismo valor numérico para que la entrada "Drive_IO_Address" se pueda
//definir claramente.
//
//
L
L#123000; //Convertir el valor de parámetro de DINT..
T
MD
110; //... a DWORD
//Factor de conversión/rango de valores del valor de parámetro: véase la lista de parámetros en el manual
"Comunicación con MC07"
CALL FB
5 , DB
Drive_IO_Address
bService
bAxis
wParameterIndex
wSubIndex
dwWRITEData
InstanzDB_SFB52
InstanzDB_SFB53
bError
dwData
=> S7-ErrorCode
fActivate
fBusy
fDone
END_FUNCTION
82
Inserte estas líneas para la activación de la función módulo en su programa S7 cíclico.
El servicio de parámetro se puede inicializar mediante un flanco positivo en
MC07_1
MC07_2
SBUS-Adr.1
SBUS-Adr. 2
5 (
:= 512,
:= B#16#3,//0x01 = read, 0x02 = write, 0x03 = write volatile
:= B#16#2,//MC07 con dir. SBUS 2
:= W#16#2129,//Índice de parámetro MOVILINK 8489d = P160, consigna interna n11
:= W#16#0,//Subíndice MOVILINK = 0
:= MD
110,//Valor de parámetro que se escribe
:= DB
201,//Instancia DB para SFB52, se precisa para DPV1_READ
:= DB
202,//Instancia DB para SFB53, se precisa para DPV1_WRITE
:= MB
118,//Ningún fallo = 0; fallo S7 = 1, TimeOut = 2, Fallo de MOVILINK = 3
:= MD
114,//bError = 0 => valor de parámetro que ha sido leído; bError = 1
:= M
100.0,//Bit de activación: Iniciar una petición de parámetro
:= M
100.1,//Se procesa la petición de parámetro o se ha presentado un
:= M
100.2);//La petición de parámetro está finalizada
//tiempo de desbordamiento
Manual – Interface de bus de campo DFP21B PROFIBUS DP-V1