Autómatas Programables II: Profibus (Configuración en Siemens)
Autómatas Programables II: Profibus (Configuración en Siemens)
Autómatas Programables II: Profibus (Configuración en Siemens)
Programables II
PROFIBUS
(Configuración en
Siemens)
Autómatas Programables II 08
• Índice
• OBJETIVOS .......................................................................................................... 3
• INTRODUCCIÓN .................................................................................................. 4
8.1. Conceptos fundamentales ......................................................................... 5
8.2. Clasificación de las redes .......................................................................... 7
8.3. Características generales de una red PROFIBUS .................................... 9
8.3.1. Paso de testigo (TOKEN BUS) ............................................................. 9
8.3.2. Maestro-esclavo .................................................................................. 11
8.4. PROFIBUS-DP ........................................................................................... 12
8.4.1. Periferia distribuida a través del puerto integrado de la CPU ............. 13
8.4.2. Coherencia de datos ........................................................................... 17
8.4.3. Comandos SYNC y Freeze ................................................................. 20
8.4.3.1. SYNC ............................................................................................ 20
8.4.4. Periferia distribuida a través de una CP .............................................. 24
8.4.5. Inteligencia distribuida entre CPU’s .................................................... 28
8.4.6. Routing ................................................................................................ 34
8.4.7. PG Bus ................................................................................................ 40
8.4.8. Configuración de parámetros en una red PROFIBUS ........................ 41
8.5. Profibus FDL (Send/Receive) ................................................................... 44
8.6. Protocolo S7 .............................................................................................. 52
8.7. Protocolo FMS ........................................................................................... 56
• RESUMEN .......................................................................................................... 61
• Objetivos
• Introducción
Esto da lugar a una estructura de las redes industriales en las que se pueden
distinguir claramente tres niveles:
Comunicación:
Equipo
Subred
Red
1. Industrial Ethernet.
2. PROFIBUS / MPI.
3. Interface AS-i.
PLC
VME/PC
Nivel
Célula DCS Profibus-MPI
Nivel
Campo
Nivel
aktuador - AS-Interface
sensor
Nivel de célula
Nivel de campo
Nivel de actuadores-sensores
Profibus DP:
Método de acceso
Maestro/Esclavo Maestro/Esclavo CSMA/CD
al bus (Protocolo)
FDL: Paso de testigo
• Protocolo S7.
• DP periferia descentralizada.
Cuando una estación tiene el testigo, puede enviar telegramas mientras dure
el denominado tiempo de retención del testigo (configuración).
8.3.2. Maestro-esclavo
Si un anillo lógico consta de una sola estación activa y en el bus hay varias
estaciones pasivas, esto es un sistema Maestro-Esclavo.
Estación activa
Maestro 2
PROFIBUS
Estaciones pasivas
8.4. PROFIBUS-DP
PROFIBUS-DP cumple los elevados requisitos de tiempo que se imponen
para el intercambio de datos en el sector de la periferia descentralizada y los
dispositivos de campo.
El maestro dirige todo el tráfico de datos en el bus, esto significa que los
esclavos DP sólo pueden actuar en el bus tras solicitarlo el maestro. A tal
efecto, los esclavos DP son activados sucesivamente por el maestro
conforme a una lista de llamadas (lista de sondeo).
Requisitos hardware:
• S7-300 :
CPU: 31X-2DP. Puertos: 1 MPI y 1 DP integrado. Por defecto está
configurado como maestro, pero puede ser esclavo.
Excepto: 318-2DP que sólo puede ser maestro.
CP 342-5.
• S7-400:
CPU: 41X-DP (Sólo maestro). Si fuese 3DP: 1 puerto MPI, 1 puerto
DP, 1 puerto configurable como MPI/DP.
IM467: Módulo interface equivalente a un puerto DP. Sólo maestro.
CP 443-5 Extended. Sólo Maestro.
Maestro
CPU
DP
PROFIBUS
Esclavos
Familia ET 200
Cuando configuremos la red de este modo, las entradas y salidas de las ET's
las verá el maestro como propias, accediendo a ellas con las instrucciones
normales de S7.
Programa
L PAW100
L PAW102
Otra solución es utilizar las funciones SFC14 y SFC15 para leer y escribir
datos con coherencia.
CALL SFC14
LADDR:=
RET_VAL:=
RECORD:=
Parámetros de entrada
LADDR:=W#16#64.
Parámetros de salida
RET_VAL (INT): si durante la ejecución de la función ocurre un error,
este valor de retorno contiene un código de error. Se permite E, A, M,
D, L.
RECORD (ANY): área de destino para los datos leídos. Se permite E,
A, M, D, L. El tipo de datos ANY es un área de memoria indicada con
un puntero que es la dirección inicial de BYTE más la longitud en
número de BYTES.
Ej.: P#DB1.DBX0.0 BYTE 10 //Señala el área de datos de DB1
(DB0...DB9)
P#A0.0 BYTE 5 //Apunta al área de memoria de salidas
(AB0...AB4)
Por ejemplo, si tienes una ET de 64 salidas digitales con dirección inicial 200:
CALL SFC14
LADDR:=W#16#C8 //Dirección inicial de las salidas de la ET
(en la PAE o PEW)
RET_VAL:=MW100
RECORD:=P#DB1.DBX0.0 BYTE 8 //Guarda esas salidas en
un DB.
SFC 15 "DPWR_DAT": Permite transferir los datos a RECORD de forma
coherente con respecto al esclavo DP.
CALL SFC15
LADDR:=
RECORD:=
RET_VAL:=
Parámetros de entrada
LADDR (WORD): dirección inicial configurada desde el área PAA del
módulo en el que debe escribirse. La dirección se debe indicar en
valores hexadecimales, p. ej., para la dirección inicial 100 es:
LADDR:=W#16#64.
RECORD (ANY): área de donde recojo los datos útiles a escribir.
Debe tener la misma longitud que la que se ha configurado con STEP
7 para el esclavo seleccionado. Sólo se admite el tipo de datos BYTE.
Parámetros de salida
RET_VAL (INT): si durante la ejecución de la función ocurre un error,
este valor de retorno contiene un código de error. Se permite E, A, M,
D, L.
CALL SFC15
LADDR:=W#16#C8 //Dirección inicial de las entradas de la ET
(en la PAA o PAW)
RECORD:=P#DB1.DBX0.0 BYTE 8 //De donde coges los datos
para enviar a la ET
RET_VAL:=MW100
8.4.3.1. SYNC
Normalmente, el maestro DP transfiere los datos de salida cíclicamente
(dentro del ciclo del bus PROFIBUS DP) a las salidas de los esclavos DP.
Funcionamiento de SYNC
Con el comando de control SYNC los esclavos DP de los grupos
especificados cambian al modo SYNC, esto es, el maestro DP transfiere los
datos de salida actuales y hace que los esclavos DP afectados congelen las
salidas.
Procedimientos
Hay asignar los esclavos DP a grupos SYNC y FREEZE. En HW
Config haz doble clic sobre el sistema maestro DP, o botón derecho y
selecciona “Propiedades del objeto...”.
Comando SYNC/FREEZE:
CALL "DPSYC_FR"
REQ:=
LADDR:=
GROUP:=
MODE:=
RET_VAL:=
BUSY:=
PROFIBUS
Esclavos
E/S E/S E/S E/S
Familia ET 200
* FC1(DP_SEND).
* FC2 (DP_RECV).
Configurar el hardware del maestro.
CALL "DP_SEND"
CPLADDR:=
SEND :=
DONE :=
ERROR :=
STATUS :=
Parámetros de entrada
CPLADDR (WORD): dirección inicial de la CP. Al configurar el CP con
la herramienta de configuración STEP?7 se visualiza la dirección
inicial del módulo en la tabla de configuración, de modo que introduce
aquí esta dirección en hexadecimal. Ej.: W#16#130
SEND (ANY): zona de memoria (A, M, DB) de la CPU a transferir a la
CP. Se indica la dirección inicial y la longitud.
Parámetros de salida
DONE (BOOL): si está a 1, indica que se han aceptado nuevos
datos.
ERROR (BOOL): si está a 1, se ha producido error y el código de
error se indica en el parámetro STATUS.
STATUS (WORD): código de estado.
CALL "DP_RECV"
CPLADDR :=
RECV :=
NDR :=
ERROR :=
STATUS :=
DPSTATUS:=
Parámetros de entrada
CPLADDR (WORD): dirección inicial de la CP. Al configurar el CP con
la herramienta de configuración “HW Config” se visualiza la dirección
inicial del módulo en la tabla de configuración, de modo que aquí esta
dirección en hexadecimal. Ej.: W#16#130
RECV (ANY): zona de memoria (A, M, DB) de la CPU donde deposito
las entradas leídas en la CP. Se indica la dirección inicial y la longitud.
Parámetros de salida
NDR (BOOL): si esta a 1, indica que se han aceptado nuevos datos.
ERROR (BOOL): si esta a 1, se ha producido error y el código de error
se indica en el parámetro STATUS.
STATUS (WORD): código de estado.
DPSTATUS (BYTE): código de estado DP.
CPU Maestro
PROFIBUS
CPU Esclavo
ET 200
ET 200 ET 200
L PEW30
T DB1.DBW0
OB1 Esclavo:
L DB5.DBWO
T PAW20
L PEW100
T MW34
8.4.6. Routing
Se puede acceder a la red PROFIBUS a través de la red MPI. Se pueden
hacer hasta 2 pasarelas.
CPU CP
MPI DP
PROFIBUS
PG/
PC
CPU
Requisitos de Software
Requisitos de hardware
Observación
Procedimiento de configuración
Todas las estaciones que están entre los dispositivos de inicio y final se
deben configurar en un único proyecto STEP7. Desde el configurar de redes
NetPro:
Advertencia:
Configuraciones de ejemplo
2 3 2 3
PROFIBUS (1)
PROFIBUS
MPI (1)
MPI
MPI (2)
MPI
PG/PC AS
Modem Modem
TS-Adapter
PG/PC
(1)
8.4.7. PG Bus
Consiste en conectar la PG a la red PROFIBUS para acceder a los distintos
equipos existentes en dicha red.
Observaciones
Si se hace PGBUS a través de las CP’s o si se hace el acceso online
mediante “Mostrar estaciones accesibles”, no se accederá al
contenido de las CPU’s, sino al de las CP’s.
Recoger el hardware de los equipos a través de PROFIBUS no es
demasiado seguro, es aconsejable hacerlo a través del cable MPI.
Requisitos de hardware
S7-300 :
• CP 342-5 y CP343-5
S7-400:
• CP 343-5 BASIC Y EXTENDED
Enlaces
Cada enlace tiene dos puntos finales (situados en la respectiva CPU o CP),
que incluyen las informaciones necesarias para direccionar el interlocutor, así
como otros atributos para establecer el enlace.
Fundación de comunicación
AG-RECV
S7-
CPU CP
Enlace
Subred FDL
Módulo de manejo
SEND
S5-
CP
CPU
Los enlaces son bidireccionales, creamos uno para comunicar dos equipos.
ID=1 ID=2
CPU 1 CPU 2
ID=2 ID=1
CPU 3 Identificador
ID=1 ID=2
de enlace
Recursos de enlace
Cada enlace precisa recursos en los equipos implicados para el punto final
(por ej. CPU) o para el punto de transición (p.ej. CP). El número de recursos
de enlace depende del tipo de CPU/CP. Si están ocupados todos los recursos
de enlace de un interlocutor no puede establecerse ningún nuevo enlace.
Tipos de enlaces
Enlaces
Debes conectar las CP’s a una red PROFIBUS y el perfil de la red debe
ser “Estándar”.
2. El segundo paso es configurar los enlaces. Los enlaces se configuran
en la CPU. Haciendo clic sobre una CPU aparecerá la Tabla de enlaces, y
haciendo clic sobre la primera línea y botón derecho del ratón, “Insertar
nuevo enlace”.
Parámetros de bloque:
ID: número de ID local.
LADDR: dirección inicial del módulo (de la CP) en hexadecimal. La
dirección es la del HW Config.
3. Programación:
OB1 Equipo 1:
CALL "AG_SEND"
ACT :=
ID :=
LADDR :=
SEND :=
LEN :=
DONE :=
ERROR :=
STATUS:=
Parámetros de entrada:
ACT (BOOL: si ACT = 1 se envían los bytes.
Si ACT = 0 se actualizan los códigos de condición de estado DONE,
ERROR y STAT.
ID (INT): número del enlace FDL (1÷16) por el que voy a enviar.
LADDR (WORD : dirección inicial de la CP por la que voy a enviar.
Al configurar el CP con la herramienta de configuración “HW Config”
se visualiza la dirección inicial del módulo en la tabla de configuración.
Introduzca aquí esta dirección en hexadecimal.
Ej.: W#16#130
SEND (ANY): dirección y longitud de los datos que voy a enviar.
El área de datos puede ser la PAE, PAA, marcas o bloques de datos.
Ej.: P#E0.0 BYTE 2 //Mandaría EB0 y EB1
P#DB1.DBX0.0 BYTE 40 //Mandaría los primeros 40 bytes
del DB1.
LEN (INT): número de bytes (1 hasta 240 máx.) que enviaras del área
de datos indicada en el parámetro SEND. Este número debe ser
menor que la longitud de datos indicada con SEND.
Parámetros de salida
DONE (BOOL): si DONE=1, significa que la petición de envío ha
terminado con o sin errores.
ERROR (BOOL): si ERROR=1, se ha producido un error
STATUS (WORD): código de estado.
En nuestro ejemplo:
CALL "AG_SEND"
ACT := 1
ID := 1
LADDR := W#16#100
SEND := P#E0.0 BYTE 2
LEN := 2
DONE := M0.0
ERROR := M0.1
STATUS:= MW2
OB1 Equipo 2:
CALL "AG_RECV"
ID :=
LADDR :=
RECV :=
NDR :=
ERROR :=
STATUS:=
LEN :=
Parámetros de entrada
ID (INT): indica el número del enlace FDL (1÷16).
LADDR (WORD): dirección inicial de la CP por la que recibo, en
hexadecimal.
RECV (ANY): área de memoria donde se almacena los datos que
recibo. El área de datos puede ser la PAE, PAA, marcas o bloques de
datos.
Parámetros de salida
LEN (INT): indica el número de bytes (1÷240) que han sido recibidos
por la CP en el área de datos FDL.
NDR (BOOL): si NDR=1, indica si se aceptaron nuevos datos.
ERROR (BOOL): si ERROR=1, se ha producido un error.
STATUS (WORD): código de estado.
En nuestro ejemplo:
CALL "AG_RECV
ID := 1
LADDR := W#16#100
RECV := P#A4.0 BYTE 2
NDR := M0.0
ERROR := M0.1
STATUS:= MW2
LEN := MW4
8.6. Protocolo S7
Cada CPU S7 lleva integrada una serie de funciones S7 (SFB’s y SFC’s) para
la transferencia de datos entre ellas. Estas funciones son independientes del
tipo de red, pueden utilizarse para MPI, PROFIBUS e Ethernet.
Gracias a la repetición automática de los telegramas incompletos o erróneos
en PROFIBUS y MPI, se consigue una elevada seguridad de los datos.
Tipos:
Hay que tener en cuenta que la longitud del área de datos y el tipo de datos
de la CPU emisora deben coincidir con que la longitud del área de datos y el
tipo de datos de la CPU receptora.
Parámetros de salida:
• BUSY (BOOL):
BUSY=1: la emisión aún no ha finalizado.
BUSY=0: la emisión ha finalizado o no hay ninguna emisión
activa.
Si la CPU donde se escriben los datos pasa a STOP, no pasa nada ya que
los datos emitidos (que estarán en un búfer) se escriben de todos modos.
Función SFC67 “X_GET”: esta SFC permite a una CPU leer datos de otra
CPU sin que ésta última deba tener ninguna SFC, ya que esta
funcionalidad la realiza el sistema operativo.
CALL "X_GET"
REQ :=
CONT :=
DEST_ID :=
VAR_ADDR:=
RET_VAL :=
BUSY :=
RD :=
Parámetros de salida:
• BUSY (BOOL):
BUSY=1: la recepción aún no ha finalizado.
BUSY=0: la recepción ha finalizado o no hay ninguna emisión
activa.
• RD (ANY): indica el área de datos de la CPU receptora donde se van a
almacenar los datos leídos. Se permiten los tipos de datos siguientes:
BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD,
TIME, S5_TIME, DATE_AND_TIME, así como arrays de los tipos de datos
mencionados con excepción de BOOL.
Hay que tener en cuenta que la longitud del área de datos y el tipo de datos
de la CPU receptora deben coincidir con que la longitud del área de datos y el
tipo de datos de la CPU emisora.
Si la CPU de donde se leen los datos pasa a STOP, no pasa nada, los datos
son leíbles aún estando la CPU en STOP.
Enlaces configurados
Funciones:
SFB14 (GET) : lee por programa datos del programa de aplicación del
interlocutor.
Propiedades
Los servicios FMS permiten leer, inscribir y notificar las variables FMS a
través de enlaces FMS. El interlocutor confirma la recepción de los datos
mediante un acuse de usuario, es decir, la aplicación en el interlocutor remoto
ha recibido correctamente los datos. La transmisión de los datos usando el
servicio FMS se realiza exclusivamente a través de una red PROFIBUS.
CP CP
CPU CPU
PROFIBUS FMS
Requisitos hardware
S7-300:
{ CP343-5
S7-400:
{ CP443-5 Basic
4. Se configura el HW de los 2 equipos, el Cliente y Servidor y las 2 CP's
se deben conectar a una red PROFIBUS con perfil “Estándar”.
6. En el servidor se crea un DB :
En la tabla de símbolos:
Programa servidor:
L EB 0
T "datos".variable_1 //variable que utiliza el cliente para leer
• Resumen
• Todo ello ha llevado a la concepción de una estructura óptima de las redes para
obtener todas las ventajas con un mínimo coste y complejidad. Esta estructura
óptima contempla tres niveles jerárquicos: bus de campo, LAN y LAN/WAN.
• Para cada uno de estos niveles, el mercado ofrece una serie de productos, de
distintas fuentes, que solucionan una parcela del control y gestión.
Titulo unidad 61