Anda di halaman 1dari 55

TEMA 4

BUS DE CAMPO PROFIBUS. APLICACIONES


INDUSTRIALES

4.1. Introducción y orientación para el estudio


4.2. Objetivos
4.3. Capa física (PHY)
4.4. Capa de enlace de datos (FDL)
4.5. Máquina de estados del nivel de enlace de datos (FDL)
4.6. Tiempos y temporizadores
4.7. Estructura de las tramas
4.8. Seguridad en los datos y gestión de errores
4.9. Servicios de transferencia de datos
4.10. Aplicaciones y productos comerciales
4.11. Conclusiones
4.12. Bibliografía
4.13. Evaluación
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 105

4.1. INTRODUCCIÓN Y ORIENTACION PARA EL


ESTUDIO

En este tema se realiza una descripción del protocolo PROFIBUS (PROcess


FIeld BUS). Este bus de campo tiene una predominante aplicación industrial,
sobre todo en funciones de control y automatización. PROFIBUS tiene su
origen en Alemania en el año 1987 y surgió a partir de una iniciativa de un
grupo de fabricantes y usuarios con el apoyo del gobierno alemán.
Inmediatamente se desarrollo una norma basada sobre las distintas soluciones y
trabajos que se habían implementado. Esta norma alemana que describe el
protocolo PROFIBUS es la DIN 19245. Los primeros productos que cumplieron
esta nueva norma aparecieron en el año 1989 y se creo un grupo de usuarios que
recibió la denominación “PROFIBUS Nutzerorganisation” (PNO). Hoy en día,
existen grupos de usuarios de la norma PROFIBUS en la mayoría de los países
europeos, y también en Australia, Sudáfrica, USA, Japón y China. El protocolo
PROFIBUS se incluyó en la norma europea CENELEC EN 50170 en 1996.

El protocolo PROFIBUS tiene tres perfiles, cada uno orientado a diferentes


clases de aplicaciones: PROFIBUS-FMS, PROFIBUS-DP y PROFIBUS-PA
(Fig. 4.1). El perfil PROFIBUS-FMS (Fieldbus Message Specification) es la
solución adoptada para tareas de comunicaciones industriales en el nivel
superior (nivel de célula) y en el nivel de dispositivos de campo. PROFIBUS-
DP (Distributed Peripheral) es una versión optimizada en prestaciones y
dedicada especialmente a comunicaciones críticas en el tiempo entre sistemas
de automatización y la periferia distribuida. Por último, PROFIBUS-PA
(Process Automation) es la versión utilizada en automatización. Utiliza la
técnica de transmisión especificada en la norma IEC 1158-2 (ahora IEC 61158-
2) y permite seguridad intrínseca y alimentación de las estaciones por el bus.

PROFIBUS define las características técnicas y funcionales de un bus serie


para interconectar dispositivos de campo. El sistema tiene dos tipos de
estaciones denominadas principal (maestra o activa) y subordinada (esclava o
pasiva). Las estaciones principales son capaces de controlar el bus y pueden
transferir mensajes cuando tienen acceso a él. Estas estaciones también se
conocen con el nombre de estaciones activas. Las estaciones subordinadas son
dispositivos periféricos más sencillos (sensores, actuadores, etc.). Éstas no
tienen derechos de acceso al bus y solamente pueden confirmar o responder a
mensajes enviados por una estación principal. Estas estaciones subordinadas
necesitan una pequeña parte del protocolo y su realización es más sencilla.
106 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

FIGURA 4.1. Perfiles de protocolos PROFIBUS.

El protocolo PROFIBUS solamente emplea tres niveles de los siete posibles


en el modelo OSI: capa física (PHY, PHYsical layer), capa de enlace de datos
(FDL, Fieldbus Data Link) y capa de aplicación (FMS, Fieldbus Message
Specification / LLI, Lower Layer Interface). Las especificaciones de las capas
física y de enlace de datos están definidas en la norma DIN 19245 parte 1. La
capa de aplicación está definida en la parte 2 de esa misma norma. Además de
las capas anteriormente mencionadas, existen otras para la gestión de red
denominadas FMA (Fieldbus MAnagement) y que se dividen en dos: FMA 7
encargada de controlar las capas FMS y LLI, y FMA 1/2 encargada de realizar
la gestión de las capas PHY y FDL.

En la primera parte de este tema se estudia la capa física del protocolo


PROFIBUS (medio físico, métodos de transmisión, topología, etc.). A
continuación se describe en profundidad la capa de enlace de datos donde se
especifican el control de acceso al medio, tipos de estaciones y sus máquinas de
estados. También se explican los distintos temporizadores que deben
implementar cada una de las estaciones PROFIBUS. Se sigue con la descripción
de las diferentes tramas que se envían por la red y su estructura. Se realiza una
breve descripción de los servicios ofrecidos por la capa de enlace de datos a sus
usuarios y se comentan brevemente la seguridad en los datos y la gestión de
errores. Por último, se explican las principales aplicaciones y se nombran las
empresas más importantes que suministran productos comerciales PROFIBUS.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 107

4.2. OBJETIVOS

Los objetivos de este tema son ofrecer una idea global de la estructura
básica de una red PROFIBUS y cuales son los mecanismos de acceso al medio
y transmisión de información utilizados en este protocolo. Se describen los
diferentes tipos de estaciones y sus máquinas de estados con el fin de que el
lector pueda entender el funcionamiento básico de una red PROFIBUS.

Con la lectura de este tema, el lector deberá alcanzar un conocimiento


avanzado sobre las características principales de una red PROFIBUS, siendo
capaz de analizar y estructurar las comunicaciones y conexiones necesarias en
cualquier proceso de automatización. También podrá saber los parámetros que
hay que tener en cuenta a la hora de configurar una red de comunicaciones
PROFIBUS y los dispositivos conectados a ella para un funcionamiento
correcto y óptimo.

4.3. CAPA FÍSICA (PHY)

PROFIBUS define un único protocolo de acceso al medio para diferentes


técnicas de transmisión. Esto proporciona la posibilidad de especificar diversos
tipos de interfaces físicas para cubrir diferentes posibilidades en cuanto a
topología, longitud de segmentos, número de estaciones, velocidad de
transmisión y protección contra influencias ambientales.

4.3.1. Medio físico

El hilo de cobre es el medio físico de transmisión básico que se utiliza para


aplicaciones de fabricación. Las especificaciones que tienen que cumplir los
equipamientos que utilizan este medio físico están basadas en la norma de
comunicación EIA RS-485 (ISO DP 8482), que define el tipo de interfaz,
asignación de patillas en los conectores, terminaciones de bus, etc. El medio
físico es un cable con un par de hilos trenzados y apantallados, aunque se puede
usar sin apantallar si no hay excesivas interferencias electromagnéticas. La
impedancia característica del cable debe estar comprendida entre 100 y 130
con frecuencias por encima de los 100 kHz. La capacidad conductor-
conductor debe ser menor que 60 pF/m y su sección mayor que 0,22 mm2 (24
AWG). El cable de bus debe terminarse con resistencias.
108 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

Estas resistencias, especificadas en la norma EIA RS-485, deben


complementarse con una resistencia conectada a la masa de datos (pulldown) y
otra conectada a la alimentación (pullup). Con este montaje se consigue que
exista un valor de tensión bien definido en el bus cuando no hay ninguna
estación transmitiendo. Existen dos versiones de cables (A y B) que permiten
distintas distancias y tienen distintas características eléctricas como se muestra
en la Tabla 4.1.

Cada estación se conecta al medio físico mediante un conector de 9 patillas


tipo sub-D. El conector hembra se monta en la estación, mientras que el macho
se monta en el cable de bus. Las especificaciones mecánicas y eléctricas se
recogen en la norma ISO 4902-1980 (DIN 41652, parte 1). La asignación de
patillas en el conector se indica en la Tabla 4.2. El cableado mínimo entre dos
estaciones y la terminación del bus se representan en la Figura 4.2.

FIGURA 4.2. Cableado entre las estaciones y terminación del bus.


CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 109

TABLA 4.1. Características de los dos tipos de cables utilizados

Parámetro Cable A Cable B

Impedancia 135 a 165 (3 MHz f 20 MHz) 100 a 130 (f > 100 kHz)

Capacidad < 30 pF/m < 60 pF/m

Resistencia < 110 /km ---

2 2
Sección 0,34 mm (22 AWG) 0,22 mm (24 AWG)

TABLA 4.2. Asignación de patillas en el conector PROFIBUS

Pin nº Nombre señal Descripción

1 SHIELD (opcional) Tierra de protección

2 RP (opcional) Reservada para alimentación (24 V)

3 RxD/TxD – P Recepción/Transmisión datos (positivo)

4 CNTR – P Control (positivo)

5 DGND Tierra de datos

6 VP (sólo en estaciones finales) Tensión de alimentación +

7 RP (opcional) Reservada para alimentación (24 V)

8 RxD/TxD – N Recepción/Transmisión datos


(negativo)

9 CNTR - N (opcional) Control (negativo)

El protocolo PROFIBUS puede utilizar transmisión por fibra óptica para


aumentar la longitud del bus y trabajar en entornos con ruido eléctrico elevado.

En el protocolo PROFIBUS-PA se contempla que el medio físico esté


preparado para soportar transmisiones intrínsecamente seguras y para poder
alimentar las estaciones a través del bus según se especifica en la norma
internacional IEC 61158-2.
110 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.3.2. Método de transmisión

PROFIBUS utiliza una técnica de transmisión asíncrona orientada al


carácter. Cada carácter está formado por 11 bits y tiene la siguiente estructura
(DIN 66022/66203): un bit de inicio (start bit) que siempre es un 0 lógico, un
bit de fin (stop bit) que siempre es un 1 lógico, un bit de paridad (par) y ocho
bits de datos (Fig. 4.3).

FIGURA 4.3.Estructura de un carácter generado por una UART.

Estos caracteres son transmitidos tal y como se generan en la UART


(Universal Asynchronous Receiver-Transmitter). La codificación de cada bit es
del tipo no retorno a cero (NRZ, NonReturn-to-Zero). Un 1 se representa por
una tensión diferencial positiva constante entre los terminales 3 (RxD/TxD-P) y
8 (RxD/TxD-N), mientras que un 0 está representado por una tensión diferencial
negativa (Tabla 4.2).

Las tramas se construyen de forma que el bit de inicio del siguiente octeto
siga inmediatamente al bit de fin del octeto anterior. Entre dos tramas
consecutivas debe transcurrir un tiempo (Idle Time, apartado 4.6.1.7) en el cual
el bus está a nivel 1 lógico, con una duración mínima de 3 caracteres, es decir
33 bits.

Cuando una estación no envía datos, su transmisor debe presentar una alta
impedancia a la línea. Cuando ninguna estación transmite los terminadores de
bus hacen que en la línea aparezca una señal representando un 1 lógico. Los
receptores de las estaciones deben estar siempre desinhibidos.

4.3.3. Topología

La red se compone de uno o varios segmentos de bus. En cada segmento la


separación máxima entre dos estaciones depende de la velocidad de transmisión
y del medio empleado para la comunicación. Si se utiliza como medio un par
trenzado y apantallado se pueden utilizar las distancias y velocidades indicadas
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 111

en la Tabla 4.3 en función del tipo de cable utilizado (A o B). Para conectar
varios segmentos entre sí se utilizan repetidores bidireccionales, teniendo en
cuenta que cada segmento admite un máximo de 32 cargas en el bus, ya sean
estaciones (principales o subordinadas) o repetidores, que se permite un
máximo de tres repetidores entre dos estaciones y un máximo de 127 estaciones.

TABLA 4.3. Longitud máxima de segmento según velocidad y tipo de cable

Velocidad (kbps) Cable A (longitud en m.) Cable B (longitud en m.)

9,6 1200 1200

19,2 1200 1200

93,75 1200 1200

187,5 1000 600

500 400 200

1500 200 70

12.000 100 ---

4.4. CAPA DE ENLACE DE DATOS (FDL)

En la capa 2 (nivel de enlace de datos) se determinan los medios para


establecer, mantener e interrumpir un enlace de datos entre varias estaciones.
Para realizar esta labor se añade información de control adicional a los datos a
transmitir formando paquetes de datos.

En una red PROFIBUS hay dos tipos de estaciones: principales y


subordinadas. Las estaciones principales pueden enviar o pedir datos a otras
estaciones del bus cuando tengan el permiso correspondiente (testigo o token).
Las estaciones subordinadas sólo pueden intercambiar datos con otras
estaciones cuando alguna estación principal lo solicite. Cada estación tiene una
dirección única en la red que la identifica permitiendo de esta forma un
intercambio de información entre estaciones específicas, aunque también son
posibles transmisiones de los tipos multidifusión (multicast, a varias estaciones)
y difusión (broadcast, a todas las estaciones).
112 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

FIGURA 4.4. Ejemplo de conexión de varios segmentos en árbol.

Los parámetros de operación del FDL incluyen parámetros de bus, que


deben ser iguales para todas las estaciones, y parámetros específicos de cada
estación. Estos parámetros, que se recogen en la Tabla 4.4, son necesarios para
la correcta inicialización del FDL.

Se recomienda un máximo de 32 estaciones principales en la red global por


razones de velocidad de respuesta, aunque para aplicaciones no críticas en el
tiempo se permite un máximo de 127 (con direcciones desde 0 a 126). Un
ejemplo de conexión de varios segmentos con una estructura en árbol se
muestra en la Figura 4.4.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 113

TABLA 4.4. Parámetros principales del bus y de las estaciones

Parámetro Símbolo Tipo Tipo estación


parámetro
Tiempo de rotación objetivo TTR bus Principal
Factor de actualización del G bus Principal
GAP
Dirección de estación TS específico Principal/subord.
Velocidad de transmisión Baud_rate bus Principal/subord.
Redundancia medium_red bus Principal/subord.
Estado de revisión Hardware HW-release específico Principal/subord.
Estado de revisión Software SW-release específico Principal/subord.
Tiempo de ranura (slot) TSL bus Principal/subord.
Mín. tiempo retardo de estación min_TSDR bus Principal/subord.
Máx. tiempo retardo de max_TSDR bus Principal
estación
Tiempo conmutación TQUI bus Principal
transmisor
Entrar en anillo in_ring_desired específico Principal
Dirección de estación más alta HSA bus Principal
Tiempo de inicialización (setup) TSET Principal
específico
Máximo número de reintentos max_retry_limit específico Principal

Los parámetros dirección de estación, velocidad de transmisión y si se desea


o no entrar en el anillo son obligatorios. Los parámetros más importantes para
optimizar el sistema son el tiempo de rotación objetivo (TTR, apartado 4.4.3.4) y
factor de actualización del GAP (G, apartado 4.6.1.11). El primero depende del
número de estaciones principales en el bus y de la cantidad de datos a transmitir.
Debe de elegirse de forma que cada estación principal sea capaz de ejecutar un
número suficiente de ciclos de mensajes cuando recibe el testigo. G influye
directamente en el tiempo que una nueva estación principal necesita para entrar
en el anillo lógico. Para las estaciones subordinadas, G y TTR no son
importantes. Para configurar de forma óptima una estación subordinada sólo se
necesita el mínimo tiempo de retardo de estación (min TSDR, apartado 4.6.1.4).
A continuación se analizan algunas de las características más relevantes del
FDL.
114 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.4.1. Acceso al medio

El control de acceso al medio (MAC, Medium Access Control) debe


satisfacer dos requisitos de proceso y fabricación. Cuando se comunican
dispositivos con capacidad similar y alguna inteligencia (CNC’s, PLC’s, etc.),
debe dotarse a cada estación de tiempo suficiente, dentro de un intervalo, para
realizar sus tareas de comunicación. Por otro lado debe permitirse una
transferencia de datos en tiempo real entre dispositivos complejos y dispositivos
sencillos (sensores, actuadores, etc.). Los métodos de acceso que mejor se
adaptan a cada una de las circunstancias anteriores son, respectivamente, el paso
de testigo lógico y el de sondeo y selección entre principal y subordinada
(maestra-esclava).

El método de acceso mediante paso de testigo lógico se desarrolló


originalmente para topologías de Redes de Área Local (LAN’s, Local Area
Networks) en anillo. En este método, una determinada secuencia de bits,
denominada testigo (token), se pasa de una estación a la siguiente. Una estación
que quiera transmitir debe esperar a recibir el testigo y, una vez terminada la
transmisión, debe pasar el testigo a la siguiente estación en un intervalo de
tiempo predeterminado. Con este método se asegura que todas las estaciones
reciben el testigo en un tiempo máximo definido que constituye el tiempo de
rotación objetivo (TTR, Target Rotation Time, apartado 4.4.3.4). Esto constituye
una ventaja ya que se puede garantizar un tiempo máximo de respuesta, en
función del número de estaciones, debido a que es un método de acceso
determinista. Los inconvenientes son que la complicada gestión del testigo
(recuperación de errores como pérdida del testigo, testigos duplicados, etc.),
debe de realizarse en todas las estaciones y que parte de la capacidad de
transmisión se utiliza solamente para la gestión del acceso.

En el método de sondeo y selección, una estación principal (maestra o


activa) controla el acceso al medio distribuyendo explícitamente el permiso para
enviar datos por un tiempo determinado a otra u otras estaciones subordinadas
(esclavas o pasivas). En este caso, se pueden asignar distintas prioridades a los
nodos subordinados definiendo en el nodo principal la forma de consulta.

PROFIBUS utiliza un método de acceso al medio controlado e híbrido. Por


un lado está el método descentralizado y determinista, mediante multiplexado
por división en el tiempo siguiendo el principio del paso de testigo. Éste es el
utilizado por las estaciones principales. Por otro lado para la comunicación entre
estaciones principales y subordinadas se usa el método de sondeo y selección
(polling).
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 115

El testigo pasa automáticamente de una estación principal a la siguiente, en


orden ascendente de número de estación, y desde la última de nuevo a la
primera. El control del paso del testigo lo gestiona cada estación conociendo la
dirección en el anillo lógico de su estación predecesora (PS, Previous Station)
de la que recibe el testigo, la de su sucesora (NS, Next Station) a la que le envía
el testigo y la suya propia (TS, This Station). Cada estación principal determina
estos parámetros en la inicialización y los actualiza dinámicamente durante su
operación, si es necesario. En la Figura 4.5 se muestra el método de acceso al
medio establecido en la norma PROFIBUS.

Con el método híbrido de acceso al medio de PROFIBUS es posible realizar


sistemas que son principal-subordinado (una estación principal y varias
subordinadas), sistemas principal-principal (todas las estaciones son principales
y el método de acceso es el paso de testigo) y una mezcla de los dos anteriores.

FIGURA 4.5. Métodos de acceso al medio físico en PROFIBUS.

4.4.2. Procedimientos de transmisión

El intercambio de mensajes en una red PROFIBUS tiene lugar en ciclos. Un


ciclo de mensaje consiste en una trama de acción enviada por la estación
116 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

principal que tiene en ese momento el testigo, a una estación principal o


subordinada, y la correspondiente trama de confirmación o respuesta de esta
última (apartado 4.7). Los datos de usuario pueden transmitirse en la trama de
acción (envío) o en la trama de respuesta (recepción). Las tramas de
confirmación no transportan datos de usuario. Los ciclos de mensajes sólo se
interrumpen para realizar la transmisión del testigo o para el envío de datos a
varias (multicast) o a todas (broadcast) las estaciones. En ambos modos de
operación no hay confirmación.

Todas las estaciones, excepto la que tiene el testigo (iniciadora), deben


monitorizar todas las tramas de acción y devolver una confirmación o respuesta
sólo cuando son direccionadas. La estación iniciadora debe recibir esta
confirmación o respuesta dentro de un tiempo determinado denominado tiempo
de ranura (TSL, Slot Time) (apartado 4.6.1.9). En caso contrario la iniciadora
repite la petición. Este reintento en la petición no puede ser enviado hasta que
no transcurra un tiempo de espera denominado Idle Time (apartado 4.6.1.7). Si
la estación direccionada no responde después de un número determinado de
reintentos se marca como “no operacional”. Las peticiones realizadas a
estaciones de este tipo no se reintentan hasta que se complete un ciclo de
mensajes, momento en el cual la estación pasa a estar operacional de nuevo.

4.4.3. Gestión del testigo

En este apartado se analizan las distintas tareas relacionadas con el paso del
testigo lógico en una red PROFIBUS y se relacionan con los estados
correspondientes de las estaciones principales (apartado 4.5 y Figuras 4.7 y 4.8).

4.4.3.1. Paso del testigo

El testigo se va pasando entre las distintas estaciones principales en orden


creciente de número de estación mediante la trama testigo, excepto cuando se
trata de cerrar el anillo lógico (Fig. 4.5). En este caso la estación principal con la
dirección más alta le pasa el testigo a la estación principal con dirección más
baja.

4.4.3.1.1. Recepción del testigo

Cuando una estación principal recibe una trama testigo cuya dirección de
destino coincide con la suya propia, y cuya dirección origen es la que tiene
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 117

registrada como estación previa (PS) en su Lista de Estaciones Activas (LAS,


List of Active Stations), se apropia de él y puede ejecutar ciclos de mensajes. La
LAS se crea en el estado Listen_Token, después de la inicialización, y se va
actualizando, si es necesario, a medida que se reciben los testigos. Una estación
principal sólo recibe el testigo cuando se encuentra en el estado Active_Idle.

Si la estación que le envía el testigo no coincide con su PS, esta estación


supone que hay un error y no lo acepta. Solamente si hay un nuevo reintento en
el envío del testigo por parte de la misma estación se acepta, ya que se supone
que se han producido cambios en el anillo lógico. En este caso la estación
receptora del testigo cambia su antigua PS por esta nueva en la LAS.

4.4.3.1.2. Transmisión del testigo

La estación que tiene el testigo intenta pasarlo a su estación sucesora (NS)


cuando termina de enviar todos los mensajes de alta y baja prioridad, incluido el
mantenimiento de la lista de GAP, o bien cuando se queda sin tiempo de
retención del testigo (Fig. 4.6). El testigo se pasa transmitiendo la trama testigo
a su NS en el estado Pass_Token. Esta transmisión del testigo se monitoriza
para comprobar si es correcta. De esta forma la estación comprueba si su
transmisor y receptor funcionan adecuadamente. Después de transmitir el
testigo se pasa al estado Check_Token_Pass donde se espera un tiempo
determinado (Slot Time). Si antes de que transcurra ese tiempo, y después de
transcurrido el tiempo de sincronización (apartado 4.6.1.2), la estación que
acaba de pasar el testigo detecta en el bus una trama válida, asume que su NS ya
tiene el testigo y está ejecutando ciclos de mensajes. Si lo que detecta es una
trama inválida asume que otra estación está transmitiendo. En ambos casos la
estación pasa al estado Active_Idle.

Si no hay actividad en el bus durante el tiempo de ranura (Slot Time) se


reintenta el paso del testigo dos veces más, esperando de nuevo un tiempo de
ranura en cada reintento. Si después de los dos reintentos la estación NS no
presenta indicios de actividad, esta estación trata de pasar el testigo a la
siguiente estación principal que tiene registrada en su LAS. Este procedimiento
continúa hasta encontrar un sucesor que acepte el testigo o hasta confirmar que
esta estación es la única principal en el bus en este momento. En este caso se
retiene el testigo y se transmiten nuevos ciclos de mensajes o, si no hay nada
pendiente, se pasa el testigo a sí misma. Si la estación encuentra un sucesor
posteriormente cuando realice una actualización de su lista de GAP, intenta
pasarle el testigo siguiendo el procedimiento anterior.
118 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.4.3.2. Conexión y desconexión de estaciones

Para el funcionamiento normal del sistema, se deben cumplir una serie de


condiciones. Cada estación principal debe conocer la dirección de su
predecesora y la de su sucesora, de forma que pueda saber de quien tiene que
recibir el testigo y a quien se lo tiene que enviar. Después de la inicialización,
cada estación obtiene estos parámetros de forma autónoma y los actualiza
dinámicamente durante su operación, si es necesario.

Las estaciones, tanto principales como subordinadas, pueden conectarse o


desconectarse del medio de transmisión en cualquier momento. Cada estación
principal en el anillo lógico es responsable de añadir nuevas estaciones o
eliminar estaciones existentes, cuyos números de estación estén comprendidos
entre el suyo (TS, This Station) y su sucesor (NS, Next Station). Este rango de
direcciones se denomina GAP y se representa en la lista de GAP (GAPL). Hay
una excepción a esto último y es que el rango de direcciones comprendidas
entre la dirección de estación más alta (HSA, Highest Station Address,
Tabla 4.4) y 127 no pertenecen al GAP. Mediante este procedimiento es posible
añadir nuevas estaciones a la red o eliminarlas de ella durante el funcionamiento
normal, sin interrumpir la comunicación del sistema.

Con este fin cada estación principal examina su GAP cada cierto tiempo,
denominado tiempo de actualización del GAP (TGUD, apartado 4.6.1.11), para
añadir nuevas estaciones principales (que estén listas para entrar en el anillo
lógico) o subordinadas, o también para eliminarlas. Esto se lleva a cabo
enviando la trama de acción “Request FDL Status with Reply” (código 9,
Tabla 4.8) en el estado Pass_Token y esperando la confirmación durante un
tiempo de ranura en el estado Await_Status_Response. La norma especifica que
si no se recibe ninguna confirmación durante ese tiempo se vuelve al estado
Pass_Token y se reintenta una vez el registro de esa estación, en el supuesto de
que dicha estación ya estuviese incluida en la GAPL. Si la estación no está en la
GAPL no se realiza ningún reintento. Las estaciones que se han almacenado en
la GAPL en una actualización anterior, pero que no respondan ahora al
“Request FDL Status with Reply” se eliminan de la GAPL y se marcan como
estaciones no operacionales. Las peticiones dirigidas a estaciones marcadas
como no operacionales no se reintentan.

Una vez recibido el testigo la actualización del GAP comienza después de


completar todos los ciclos de mensajes pendientes, si queda tiempo de retención
del testigo. Si no es así, la actualización del GAP comienza en la siguiente o en
posteriores posesiones del testigo, inmediatamente después de gestionar todos
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 119

los mensajes de alta prioridad (Fig. 4.6). Solamente se realiza la actualización


de una dirección en cada recepción del testigo aunque se disponga de más
tiempo de retención del testigo.

Las direcciones comprendidas en el GAP se van examinando en orden


ascendente hasta completarlo o llegar a HSA, en cuyo caso se continúa con la
dirección 0. Una estación subordinada confirmará la trama “Request FDL Status
with Reply” con el estado “slave station”, mientras que una principal podrá
hacerlo bien con el estado “not ready” o con el estado “ready to enter logical
token ring”. La primera respuesta se dará en el caso en que la estación principal
se encuentre en el estado Listen_Token pero aún no haya completado su LAS y
la segunda cuando, estando en ese mismo estado, ya la haya completado. Las
estaciones subordinadas y las principales que no estén listas se introducen en la
GAPL, almacenando junto con sus direcciones de estación sus respectivos
estados.

Si una estación responde que está lista para entrar en el anillo lógico, ésta
será a partir de ahora la NS de esta estación, y por tanto a la que se le pase el
testigo. Normalmente la estación que tiene el testigo tendrá que modificar el
rango de su GAP, su GAPL y su LAS para reflejar el cambio producido en el
anillo lógico por la entrada de esa nueva estación principal. Ésta última ya ha
generado su LAS en el estado Listen_Token y por lo tanto conoce su NS y su
GAP.

Si una estación responde a un “Request FDL Status with Reply” con “master
station in logical ring” es que se ha producido un error. En este caso la estación
que tiene el testigo no cambia su GAPL y pasa el testigo a su NS en la LAS. De
esta forma la estación que responde incorrectamente se retira del bus y pasa al
estado Listen_Token donde genera de nuevo la LAS y espera a que su estación
PS la invite a entrar en el anillo lógico con la trama “Request FDL Status with
Reply” (apartado 4.5.2.1).

4.4.3.3. Inicialización del anillo lógico

La inicialización es un caso especial de actualización de las listas LAS y


GAPL. Si después del encendido una estación se encuentra en el estado
Listen_Token y expira el temporizador que mide el tiempo límite (Time Out,
apartado 4.6.1.10) porque no hay actividad en el bus, la estación toma el testigo
en el estado Claim_Token y comienza la inicialización del bus. Siempre va a
comenzar la inicialización del sistema PROFIBUS la estación principal con
dirección de red más baja. Lo primero que hace es transmitir dos tramas testigo
120 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

con dirección origen y destino la suya propia (SA=DA=TS), para informar a las
demás estaciones principales que ella es la única en el bus por el momento. Al
enviar dos testigos consecutivos e iguales se consigue que las demás estaciones
principales completen la creación de su LAS, poniendo en ella solamente a esta
estación.

A continuación transmite una trama “Request FDL Status with Reply” a


cada estación en orden ascendente para intentar registrar otras estaciones que
quieran entrar en el anillo. Si una estación responde con “master station not
ready” o con “slave station” la pone en su GAPL. La primera estación principal
que contesta con “ready to enter logical token ring” se registra como NS en la
LAS y con ello se cierra el GAP de la estación que tiene el testigo. Ahora que
ya se conoce la estación sucesora se le pasa el testigo. Si después de recorrer
todo el GAP no se encuentra ninguna estación sucesora, entonces se pasa el
testigo a sí misma y entra en el estado Use_Token.

Es necesaria una reinicialización cuando se pierde el testigo. En este caso no


se necesita inicializar todo el bus porque las listas LAS y GAPL que ya existen
en las estaciones principales siguen siendo válidas. Igual que antes el Time Out
expira antes en la estación que tiene la dirección de red más baja, pero ahora en
el estado Active_Idle. Lo que hace la estación es generar el testigo pasando al
estado Claim_Token y usarlo pasando al estado Use_Token en caso de tener
mensajes para enviar, o pasarlo a su estación sucesora en caso contrario.

4.4.3.4. Tiempo de rotación objetivo

Para garantizar que cada estación será capaz de transmitir sus mensajes
después de un cierto período de tiempo máximo, se define un intervalo de
tiempo en el cual el testigo debe de recorrer completamente el anillo lógico.
Este periodo de tiempo máximo se denomina tiempo de rotación objetivo del
testigo (TTR) (Target Rotation Time).

El método de asignar tiempos de transmisión fijos a cada estación no es


adecuado porque se desperdicia tiempo si la estación no tiene nada que
transmitir, y el tiempo puede no ser suficiente en estaciones que tengan una
larga cola de mensajes. Debido a que el tiempo que una estación necesita para
transmitir mensajes cambia durante la operación de la red, es más apropiada una
distribución de tiempo flexible. Esto puede realizarse utilizando un
temporizador en cada estación principal, que comience a medir el tiempo de
rotación real del testigo (TRR) tan pronto como éste se reciba (apartado 4.6.2.1).
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 121

La próxima vez que se reciba el testigo, que será después de una rotación
completa, el tiempo se lee, se compara con TTR y se reinicia el temporizador
para realizar una nueva medida de TRR. La estación principal puede enviar
tramas sólo cuando el tiempo medido sea inferior a TTR. Este método tiene el
inconveniente de no garantizar tiempo de transmisión para las estaciones si se
calcula mal el TTR. Una forma de evitar esto es asignar prioridades a los
diferentes mensajes.

Independientemente del tiempo TRR, cada estación principal siempre puede


ejecutar un mensaje de alta prioridad por testigo recibido (Fig. 4.6). Para poder
ejecutar otros mensajes de alta o baja prioridad se debe cumplir que TRR sea
menor que TTR. En caso contrario esos mensajes se guardan para la siguiente o
siguientes posesiones del testigo.

El mínimo TTR de un sistema PROFIBUS depende del número de estaciones


principales, duración de los ciclos del testigo y duración de los ciclos de
mensajes de alta prioridad. Además de esto el TTR debe ser suficiente para
realizar ciclos de mensajes de baja prioridad y tener además un margen de
seguridad para posibles reintentos. Para conseguir TTR lo más corto posible es
recomendable definir solamente los eventos importantes como mensajes de alta
prioridad y restringir su longitud al mínimo requerido. TTR es un parámetro que
se necesita para la inicialización del FDL y se puede calcular como:

min TTR = na (TTC + high TMC) + k low TMC + mt RET TMC (4.1)

siendo:

na: número de estaciones principales.

k: número estimado de ciclos de mensajes de baja prioridad por rotación del


testigo.

mt: número de ciclos de reintento de mensajes por rotación del testigo.

TTC: tiempo de un ciclo de testigo.

TMC: tiempo de un ciclo de mensaje. Depende de la longitud de trama.

RET TMC: tiempo de un ciclo de reintento de mensaje.

El primer término contiene un ciclo de mensaje de alta prioridad por


estación principal y rotación del testigo. Por tanto el tiempo de reacción
122 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

máximo, definido como el mayor intervalo de tiempo entre dos ciclos de


mensajes de alta prioridad consecutivos de una estación principal, con la carga
del bus máxima, para ciclos de mensajes de alta prioridad sin reintentos, está
garantizado para cualquier carga en el bus. El segundo término contiene el
número estimado de ciclos de mensajes de baja prioridad por rotación del
testigo, y el último sirve como margen de seguridad para posibles reintentos.

4.4.4. Modos de envío

Existe un modo de envío o envío/petición acíclico. En este modo de


operación se envían ciclos de mensajes esporádicos. El controlador del FDL de
la estación principal inicia este modo de operación cuando recibe el testigo y
debido a una petición del usuario. Si hay varias peticiones se continúa este
modo de operación mientras exista tiempo de retención del testigo.

PROFIBUS contempla también un modo de envío/petición cíclico. En este


modo la estación principal direcciona otras estaciones cíclicamente con la trama
“Send and Request Data (prioridad baja)” (código 12, Tabla 4.8), de acuerdo
con una secuencia predeterminada denominada lista de consulta (Poll List). Esta
lista se la pasa el usuario al FDL incluyendo en ella todas las estaciones
principales y subordinadas que se quieran consultar. Las estaciones de la lista
que no responden durante una consulta, incluyendo los posibles reintentos, se
marcan como no operacionales. Futuras consultas a estas estaciones no se
repiten hasta que se complete un ciclo de mensajes, momento en el cual pasan a
ser operacionales de nuevo.

Después de recibir el testigo la gestión de la lista de consulta, mediante


ciclos de consulta, comienza cuando se han terminado todos los ciclos de
mensajes de alta prioridad pendientes. Si es necesario, los ciclos de consulta se
pueden mezclar con ciclos de mensajes de baja prioridad como pueden ser:
envío o envío/petición acíclico, registro de estaciones (Live List, apartado 4.4.5)
y mantenimiento del GAP (GAPL, apartado 4.4.3.2). Los mensajes de baja
prioridad se envían en su orden de llegada pero sólo después de completar todo
el ciclo de consulta.

Si el ciclo de consulta se completa en una retención del testigo y queda aún


tiempo disponible, se envían los mensajes de baja prioridad por turno hasta que
se agote el tiempo de retención del testigo. Un nuevo ciclo de consulta
comienza en la próxima recepción del testigo que disponga de tiempo de
retención para mensajes de baja prioridad.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 123

Si cuando finaliza el ciclo de consulta no hay más tiempo de retención del


testigo disponible, los ciclos de mensajes de baja prioridad pendientes se
procesan en la próxima recepción del testigo que tenga tiempo de retención
disponible para mensajes de baja prioridad. Un nuevo ciclo de consulta
comienza en la próxima recepción del testigo como se comentó anteriormente.

Cuando el ciclo de consulta necesita varias recepciones del testigo para


llevarse a cabo, su procesamiento se hace de forma segmentada pero sin
intercalar otros ciclos de mensajes de baja prioridad en medio. Estos últimos
sólo se llevan a cabo cuando se completa el ciclo de consulta.

El tiempo necesario para llevar a cabo un ciclo de consulta depende de la


duración de un ciclo de mensaje, del tiempo de rotación del testigo, de la
longitud de la lista de consulta y de los mensajes de baja prioridad intercalados.
Para aumentar la prioridad en la consulta de una o varias estaciones, pueden
incluirse varias veces en la lista de forma que se acorta su tiempo de reacción.

4.4.5. Petición del estado de todas las estaciones

El FDL entra en este modo de operación (Petición del estado de todas las
estaciones, Live List) cuando el usuario local pide la lista de estaciones
conectadas en el bus (tanto principales como subordinadas), a través de la
gestión del bus (FMA1/2). Cuando se recibe el testigo, este modo de operación
comienza al finalizar todos los ciclos de mensajes de baja prioridad pendientes.
Si se está realizando una consulta cíclica, entonces este modo se lleva a cabo
entre ciclos de consulta.

En este modo de operación se utiliza la trama “Request FDL Status with


Reply” (código 9, Tabla 4.8) de forma cíclica. De acuerdo con el rango de
direcciones disponible (desde la 0 a la 126) cada estación es direccionada una
vez, excepto las estaciones principales que ya están registradas en la LAS
(apartado 4.4.3). Las estaciones que responden correctamente a esta consulta y
las estaciones principales se introducen en la lista de estaciones “vivas” en el
bus (Live List). La estructura formal de esta lista se representa en la Tabla 4.5.

4.4.6. Prioridades de las tramas

PROFIBUS tiene dos niveles de prioridad. Las transferencias de datos


normales tienen baja prioridad, mientras que a mensajes importantes puede
asignárseles una prioridad alta.
124 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

Estos mensajes de alta prioridad llegan antes a su destino que los de baja
prioridad. Cuando una estación principal recibe el testigo siempre envía todos
los mensajes de alta prioridad disponibles y después los de baja. Para asegurar
la transmisión de datos importantes, una estación siempre puede realizar un
ciclo de alta prioridad después de la recepción del testigo, incluyendo posibles
reintentos en caso de error, incluso aunque no tenga tiempo de retención de
testigo. Después de este ciclo y si no queda tiempo, el testigo debe pasarse
inmediatamente a la siguiente estación. Si TRR es menor que TTR se pueden
enviar más mensajes, empezando siempre por los de prioridad más alta para
continuar con los de baja prioridad. Una vez que se comienza un ciclo de
mensaje de alta o baja prioridad siempre se completa, con reintentos incluidos,
aún en el caso de que durante la ejecución TRR supere a TTR. Esta prolongación
del tiempo de retención del testigo automáticamente se traduce en su reducción
en la próxima recepción del testigo.

TABLA 4.5. Estructura formal de la “Live List”

Entrada Nombre
1 Longitud de la lista (3 a 2n+1)
2 Dirección FDL (DA) de la estación k
3 Tipo de estación y estado FDL de la estación k
4 Dirección FDL (DA) de la estación k+1
5 Tipo de estación y estado FDL de la estación k+1
… ...
r Dirección FDL (DA) de la estación n
r+1 Tipo de estación y estado FDL de la estación n

k: primera estación en el bus; n 127; r 254

Hay varios tipos de servicios de baja prioridad, que se gestionan en el


siguiente orden:

1. Lista de consulta (Poll List), que es un servicio cíclico.


2. Mensajes de baja prioridad (servicios acíclicos).
3. Lista de estaciones principales y subordinadas (Live List).
4. Actualización del GAP (máximo una dirección de la lista GAP).
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 125

Esta secuencia no es fija y puede ser modificada bajo ciertas condiciones de


operación. En el ordinograma de la Figura 4.6 se representa de forma
simplificada la gestión de prioridades. Hay que tener en cuenta, que en esta
figura, las consultas para crear la lista de estaciones “vivas” (Live List) están
incluidas en los mensajes de baja prioridad.

En la gestión de los distintos tipos de mensajes llevada a cabo en el estado


Use_Token (apartado 4.5.2.4) hay que tener en cuenta lo que se indica a
continuación. Siempre se puede realizar un ciclo de mensaje de alta prioridad
aunque no haya tiempo de retención de testigo. Mientras haya tiempo de
retención del testigo se gestionan en primer lugar los mensajes de alta prioridad
y a continuación los de baja prioridad.

Entre los mensajes de baja prioridad tiene preferencia el sondeo cíclico en


caso de que exista. Cuando se finaliza un ciclo de sondeo se pueden gestionar
mensajes de baja prioridad durante el tiempo que resta de retención de testigo o,
en caso de que no quede tiempo de retención, durante la siguiente recepción del
testigo que sí tenga tiempo de retención para mensajes de baja prioridad. El
siguiente ciclo de sondeo se inicia una vez terminados los mensajes de baja
prioridad si aún queda tiempo de retención de testigo, o en la siguiente
recepción del testigo con tiempo para mensajes de baja prioridad. Los mensajes
de baja prioridad se realizan en el orden en que se soliciten. Sin embargo hay
que tener en cuenta que si se está llevando a cabo la actualización de la lista
GAPL y en la anterior recepción del testigo no ha podido actualizarse por no
disponer de tiempo, entonces la actualización de una estación del GAP se
realiza antes que ningún otro servicio de baja prioridad. Si no se produce la
circunstancia anterior la actualización del GAP se realiza cuando ya no quedan
mensajes de baja prioridad para procesar.

4.5. MÁQUINA DE ESTADOS DEL NIVEL DE ENLACE DE


DATOS (FDL)

En este apartado se va a mostrar el funcionamiento global del nivel de


enlace de datos de las estaciones principales y subordinadas mediante diagramas
de estados interrelacionados.
126 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

FIGURA 4.6. Ordinograma de las prioridades de los mensajes.


CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 127

4.5.1. Estaciones subordinadas

El funcionamiento de las estaciones subordinadas en el nivel de enlace de


datos se muestra en la Figura 4.7.

FIGURA 4.7. Diagrama de estados del FDL de las estaciones subordinadas.

Esta clase de estaciones PROFIBUS es muy simple y sólo tiene dos estados.
Después de conectar la alimentación, la estación entra en el estado Offline y
realiza un autodiagnóstico. Una vez terminada la secuencia de encendido
permanece en este estado hasta que se han inicializado todos los parámetros
necesarios para su correcta operación en el bus, (Tabla 4.4). Solamente entonces
se conecta al medio de transmisión permaneciendo a la escucha y pasa al estado
Passive_Idle.

En el estado Passive_Idle, escucha la línea de comunicación y confirma o


responde cualquier trama de acción dirigida a ella, excepto las tramas de
difusión (broadcast) o multidifusión (multicast) que no se confirman y las
tramas testigo que no se consideran.

Si se recibe un “Reset FDL” desde la capa FMA1/2 de gestión del FDL o se


detecta un error grave se vuelve al estado Offline.
128 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.5.2. Estaciones principales

El funcionamiento de las estaciones principales en el nivel de enlace de


datos se muestra en la Figura 4.8.

Como en el caso de las estaciones subordinadas, las estaciones principales


entran en el estado Offline después de conectar la alimentación y realizan un
autodiagnóstico. Una vez terminada la secuencia de encendido permanece en
este estado hasta que se han inicializado todos los parámetros necesarios para su
correcta operación en el bus, (Tabla 4.4). Solamente entonces se conecta al
medio de transmisión permaneciendo a la escucha y pasa al estado al estado
Listen_Token. Si se recibe un “Reset FDL” desde la capa FMA1/2 de gestión
del FDL o se detecta un error grave se vuelve al estado Offline.

El funcionamiento de las estaciones principales es mucho más complejo que


el de las subordinadas. Por ello, a continuación se describen con mayor detalle
cada uno de los estados de las estaciones principales.

4.5.2.1. Listen_Token

Si la estación es principal entra en el estado Listen_Token después de


inicializar los parámetros de operación. En este estado la estación escucha el
bus para identificar las estaciones principales que ya están en el anillo lógico.
Para ello se analizan las tramas testigo intercambiadas entre las distintas
estaciones y con ellas se crea la Lista de Estaciones Activas (LAS, List of Active
Stations). Durante la generación de la LAS, la estación sólo responde a tramas
del tipo “Request FDL Status with Reply” con “not ready”. Las demás tramas no
son ni confirmadas ni respondidas. La LAS se considera correctamente creada
cuando se monitorizan dos rotaciones de testigo idénticas. Una vez creada la
LAS la estación espera en este estado hasta que la estación anterior a ella en el
anillo lógico (PS) la dirección con la trama “Request FDL Status with Reply”.
La estación responde con “ready for the ring” y entra en el estado Active_Idle.

Si durante la creación de la LAS la estación detecta su propia dirección


como dirección origen (SA, Source Address) en dos tramas testigo, asume que
ya hay otra estación con su misma dirección en el anillo lógico. El FDL debe
reentrar el estado Offline y comunicar este hecho al gestor de red FMA1/2
(Duplicate_address).
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 129

FIGURA 4.8. Diagrama de estados del FDL de las estaciones principales.

Al inicio de este estado se arranca un temporizador que monitoriza un


tiempo denominado tiempo límite (Time Out, apartado 4.6.1.10). Si el FDL no
observa actividad en el bus (ninguna trama) durante este tiempo supone que se
debe inicializar el bus y pasa al estado Claim_Token. Para evitar que dos
estaciones principales puedan (re)inicializar el bus al mismo tiempo, se define
en cada una un tiempo límite distinto, que es proporcional al número de estación.
Esto significa que siempre será la estación principal con dirección más baja la
que realizará la (re)inicialización del bus.

4.5.2.2. Active_Idle

Este estado es el equivalente, para estaciones principales, al estado


Passive_Idle de las subordinadas. En él la estación escucha el bus y si recibe
una trama de acción dirigida a ella la confirma o responde adecuadamente.

Si recibe la trama testigo entra en el estado Use_Token, en caso de querer


permanecer en el anillo lógico, en caso contrario vuelve al estado Listen_Token.
A este último estado también se pasa cuando se reciben dos tramas testigo
consecutivas en las que la dirección origen (SA) es igual a la dirección de esta
130 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

estación. Este hecho se comunica al FMA1/2 (Duplicate_address). Si en este


estado el FDL encuentra que ha sido eliminado del anillo lógico, es decir, no le
pasan el testigo, entra en el estado Listen_Token e indica esta situación al
FMA1/2 (Out_of_ring).

En este estado también se monitoriza el tiempo límite de forma que si no se


observa actividad en el bus durante este período de tiempo, se asume que es
necesaria una reinicialización en el bus por una pérdida del testigo. Este caso,
sin embargo, es distinto al reflejado en el estado Listen_Token ya que ahora no
hay que reinicializar todo el bus porque la LAS y la GAPL de las estaciones
principales siguen siendo válidas. Lo que hace simplemente la estación con la
dirección más baja es tomar el testigo y utilizarlo en el estado Use_Token.

4.5.2.3. Claim_Token

Si una estación principal no detecta actividad en el bus durante el período de


tiempo límite en los estados Listen_Token o Active_Idle pasa a este estado. En
él se hacen tareas diferentes dependiendo de cual sea el estado origen.

Si el estado origen es Listen_Token significa que la estación aún no estaba


en el anillo lógico y por lo tanto es necesaria una inicialización completa del bus.
Además como la estación no ha completado su LAS no conoce su sucesora ni su
GAP. En este caso lo que se hace es pasar al estado Pass_Token y realizar la
inicialización, que comprende las siguientes fases. Primero se envía dos tramas
testigo a sí misma, es decir SA=DA=TS. Con esto se consigue que las otras
estaciones principales, si las hay, realicen una entrada en su LAS confirmando
que por ahora la única estación principal en el bus es ésta. En segundo lugar se
comienza a crear la GAPL con idea de encontrar un sucesor (NS) a quien
pasarle el testigo. Para ello se envían tramas “Request FDL Status with Reply”
comenzando en la dirección siguiente a la de esta estación. Dichas tramas se
envían en el estado Pass_Token y se espera su confirmación en el estado
Await_Status_Response.

Si el estado origen es Active_Idle significa que la estación ya había sido


invitada a entrar en el anillo lógico y por lo tanto ya ha creado su LAS y está en
condiciones de conocer cual es su NS y su GAP. En este caso, que ocurre
cuando se pierde el testigo, lo que se hace es una reinicialización del bus
pasando directamente al estado Use_Token, ya que las listas de estado (LAS y
GAPL) siguen siendo válidas en todas las estaciones principales.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 131

4.5.2.4. Use_Token

El controlador del FDL de la estación principal entra en este estado desde el


estado Active_Idle cuando recibe el testigo, desde el estado Claim_Token
cuando se está realizando una reinicialización del anillo lógico o desde el estado
Pass_Token cuando es la única estación principal en el anillo. Este es el único
estado en el que se pueden llevar a cabo ciclos de mensajes de alta y baja
prioridad enviando tramas con datos de usuario. Solamente puede haber una
estación principal en el anillo en este estado, y todas las demás deben estar en el
estado Active_idle.

La norma especifica que al entrar en este estado se lee el tiempo de rotación


real del testigo (TRR) y el temporizador de rotación del testigo (Token Rotation
Timer) se reinicia (apartado 4.6.2.1). Este tiempo se compara con el tiempo de
rotación objetivo (TTR), que es uno de los parámetros necesarios en la
inicialización, para conocer el tiempo de retención de testigo que resta.
Independientemente de que haya o no tiempo de retención del testigo siempre se
puede realizar un ciclo de mensaje de alta prioridad. Sucesivos ciclos de
mensajes de alta o baja prioridad se podrán realizar solamente si queda tiempo
de retención del testigo.

Realmente lo que se lee del temporizador no es TRR si no el tiempo de


retención del testigo (TTH) que resta. Esto es así porque después de leerlo, este
temporizador se carga con el tiempo de rotación objetivo (TTR) y se va
decrementando a continuación. De esta forma el contenido del temporizador
indica siempre el TTH.

El FDL pasa al estado Check_Access_Time si al entrar en el estado


Use_Token no hay ningún mensaje de alta prioridad para enviar, o después de
completar un ciclo de mensaje de alta o baja prioridad. Cuando ya no haya más
ciclos de mensajes para ejecutar o cuando no quede tiempo de retención de
testigo se entra en el estado Pass_Token, para pasarle el testigo a la siguiente
estación principal en el anillo. En el diagrama de estados representado en la
norma no se indica la transición desde el estado Use_Token al estado
Pass_Token. Después de cada trama de acción transmitida se entra en el estado
Await_Data_Response, en el que se espera la confirmación o respuesta. La
norma especifica que se vuelve al estado Use_Token tan pronto como la trama
transmitida haya sido confirmada al usuario. Sin embargo, teniendo en cuenta lo
mencionado en el párrafo anterior, es más rápido que desde el estado
Await_Data_Response se pase directamente al estado Check_Access_Time, ya
que de esta forma se evita una transición adicional.
132 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.5.2.5. Await_Data_Response

Este estado se entra desde el estado Use_Token, después de la transmisión


de una trama de acción. En él el FDL espera un tiempo de ranura (Slot Time,
apartado 4.6.1.9) la confirmación o la respuesta, excepto en el caso de que el
servicio sea de difusión o multidifusión (SDN, Send Data with No Acknowledge,
apartado 4.9). En este caso la norma especifica que se vuelve al estado
Use_Token para procesar nuevos mensajes. También si se recibe una
confirmación o respuesta direccionada a esta estación, se confirma al usuario y
se pasa al estado Use_Token.

Si se recibe otra trama (testigo u otra trama de acción), quiere decir que
existen varios testigos en circulación. Cuando se da esta condición de error la
trama recibida se desecha y se pasa al estado Active_Idle.

Si se recibe otra trama que no sea ninguna de las anteriores o expira el


tiempo de ranura, el FDL reintenta la transmisión de la trama de acción un
número determinado de veces (max_retry_limit, Tabla 4.4), que es un parámetro
que también se debe conocer en la inicialización. Si después de los reintentos no
se recibe ninguna confirmación o respuesta se debe notificar al usuario un error
y volver al estado Use_Token. La dirección de la estación que no contesta se
almacena en una lista de estaciones no operacionales, de forma que nuevas
peticiones a estas estaciones no se repiten hasta que se realice un ciclo petición-
respuesta de forma correcta, y por tanto se eliminen de esta lista.

4.5.2.6. Check_Access_Time

En este estado se comprueba si queda tiempo de retención de testigo


comparando el tiempo de rotación real con el de rotación objetivo. Aquí hay que
tener en cuenta que lo que se lee del temporizador no es TRR si no TTH como se
describe en el apartado 4.5.2.4. Si hay tiempo disponible se pasa al estado
Use_Token, en caso contrario se entra en el estado Pass_Token.

4.5.2.7. Pass_Token

Cuando se llega a este estado, lo normal es intentar pasar el testigo a la


siguiente estación (NS) en el anillo lógico. A la vez que se transmite la trama
testigo el FDL debe monitorizar el bus para comprobar que su transmisor y
receptor funcionan correctamente. Si no recibe su propia trama testigo es que
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 133

hay un error grave en su transmisor o receptor. En este caso el FDL debe


detener su actividad en el bus, entrar en el estado Offline y comunicarlo al
gestor de bus FMA1/2 (Faulty_transceiver). Si la trama enviada se recibe
corrompida puede ser debido a un error temporal en su transmisor, receptor o en
el bus. Esta condición de error no supone abandonar el anillo lógico en primera
instancia, y se pasa al estado Check_Token_Pass como si hubiera recibido su
testigo de forma correcta. Sólo en el caso de que haya que retransmitir el testigo
porque la estación siguiente no reacciona, y se monitorice como incorrecto, se
debe detener la actividad en el anillo lógico, pasar al estado Listen_Token y
notificarlo al FMA1/2.

Si al entrar en este estado ha expirado el tiempo de actualización del GAP,


pero aún hay disponible tiempo de retención del testigo, antes de pasar éste se
intenta registrar una nueva estación para incluirla en el anillo lógico. Para ello
se transmite un “Request FDL Status with Reply” y se espera confirmación
entrando en el estado Await_Status_Response.

Cuando la estación que responde está lista para entrar en el anillo lógico, se
le pasa a ella el testigo. Una vez que el testigo se ha pasado de forma correcta,
el propio GAP, la GAPL y la LAS deben actualizarse convenientemente. Si la
estación que responde es una estación subordinada o una estación principal que
aún no está lista para entrar en el anillo lógico, se registra su dirección y su
estado en la GAPL. Si una estación que se había registrado previamente en el
GAPL no responde, incluso después de un reintento, se elimina de la GAPL y se
introduce en la lista de estaciones no operacionales. Cada vez que se produce un
cambio en la GAPL se comunica al FMA1/2 (GAP_event).

Si durante el registro de nuevas estaciones no hay ninguna estación


principal preparada para entrar en el anillo lógico, se pasa el testigo a la estación
NS original y se entra en el estado Check_Token_Pass. Solamente en el caso de
que no se conozca NS, es decir, cuando esta estación es la única que se
encuentra en el anillo lógico, se pasa el testigo a sí misma y retorna al estado
Use_Token.

4.5.2.8. Check_Token_Pass

En este estado el FDL espera un tiempo de ranura (Slot Time, apartado


4.6.1.9) a que haya una reacción de la estación a la que se le pasó el testigo.
Este tiempo de espera debe ser suficiente para cubrir el retardo entre la
recepción del testigo y la correspondiente reacción de la estación que lo recibe
para comenzar a enviar ciclos de mensajes. Si se detecta una trama válida, se
134 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

asume que el paso del testigo ha sido correcto y se pasa al estado Active_Idle,
donde se gestiona la trama recibida. Si la trama que se detecta es inválida, el
FDL asume que hay otra estación utilizando el testigo y entra también en el
estado Active_Idle. Si no se recibe ninguna trama en un tiempo de ranura, se
vuelve al estado Pass_Token donde se reintentará el paso del testigo a esta
misma estación dos veces más. En caso de no conseguir pasar el testigo se
intentará con la siguiente estación en la LAS, y así sucesivamente hasta
conseguir pasarlo o hasta confirmar que ésta es la única estación en el anillo
lógico.

4.5.2.9. Await_Status_Response

A este estado se pasa desde el estado Pass_Token cuando no se conoce la


estación sucesora (NS) o cuando se está actualizando el GAP. En este estado se
espera un tiempo de ranura (Slot Time) por una trama de confirmación. La
norma especifica que si no se recibe ninguna trama o se recibe alguna
corrompida el FDL entra de nuevo el estado Pass_Token para repetir el
“Request FDL Status with Reply”, pasar el testigo a su sucesor o pasarse el
testigo a sí mismo. Si el FDL recibe otra trama en vez de la de confirmación
indicando que existen múltiples testigos, pasa al estado Active_Idle.

4.6. TIEMPOS Y TEMPORIZADORES

Para la gestión del protocolo de nivel de enlace de datos se utilizan un


conjunto de tiempos y temporizadores que se definen a continuación. Todos
ellos se suelen medir en bits.

4.6.1. Tiempos

Para evitar confusiones, se definirán en minúscula (t) los tiempos definidos


en segundos y en mayúscula (T) los definidos en duración de bit.

4.6.1.1. Tiempo de bit

El tiempo de bit (tBIT, Bit Time), que transcurre durante la transmisión de un


bit y es el recíproco de la velocidad de transmisión en bps (bits por segundo).

tBIT = 1/velocidad de transmisión (bps) (4.2)


CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 135

4.6.1.2. Tiempo de sincronización

El tiempo de sincronización TSYN (Syn Time) es el mínimo intervalo de


tiempo durante el cual cada estación debe recibir un estado inactivo en el bus
(nivel 1 binario), antes de que acepten el comienzo de una trama de acción o de
testigo.

TSYN = 33 bit

4.6.1.3. Intervalo de sincronización

El Intervalo de sincronización TSYNI (Syn Interval Time) sirve de


supervisión del máximo intervalo de tiempo permitido entre dos
sincronizaciones del receptor o dos TSYN consecutivos. Este intervalo
comprende dos ciclos de mensaje completos, cada uno de los cuales está
formado por dos tramas de la máxima longitud y sus correspondientes tiempos
de sincronización. Se permite un error de un TSYN.

TSYNI = 2 (2 (33 bit + 255 11 bit)) + 33 bit = 11.385 bit

4.6.1.4. Tiempo de retardo de estación

El iempo de retardo de estación TSD (Station Delay Time) es el intervalo de


tiempo que puede transcurrir entre la transmisión o recepción del último bit de
una trama, hasta la transmisión o recepción del primer bit de la siguiente trama.
Se definen tres retardos de estación diferentes en tiempo de bit:

1. Retardo de estación como iniciador (transmitiendo una trama de acción


o testigo):

TSDI = tSDI / tBIT (4.3)

2. Mínimo retardo de estación como contestador (estación que confirma o


responde):

min TSDR = min tSDR / tBIT (4.4)

3. Máximo retardo de estación como contestador:

max TSDR = max tSDR / tBIT (4.5)


136 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

Cuando se cambian las señales NRZ (apartado 4.3.2) a otro tipo de


codificación debe tenerse en cuenta si el tiempo de caída del transmisor
(conmutación alto a bajo) es mayor que TSDR. Durante este tiempo TQUI (Quiet
Time) la transmisión y recepción de tramas deben inhibirse (Tabla 4.4).

Cuando se utilizan repetidores autocontrolados también hay que tener en


consideración su tiempo de conmutación. Se debe verificar que:

TQUI < min TSDR (4.6)

Para cumplir la condición anterior puede ser necesario aumentar TSDR.

4.6.1.5. Tiempo preparado

El tiempo preparado TRDY (Ready Time) es el tiempo en el cual una


estación principal debe estar lista para recibir una confirmación o respuesta
después de transmitir una trama de acción. Se define como:

TRDY < min TSDR (4.7)

Para cumplir la condición 4.7 puede ser necesario aumentar TSDR. También
se debe cumplir que:

TQUI < TRDY (4.8)

Para cumplir la condición 4.8 puede ser necesario aumentar TRDY y en


consecuencia TSDR.

4.6.1.6. Margen de seguridad

El margen de tiempo de seguridad TSM (Safety Margin) se define como:

TSM = 2 bit + 2 TSET + TQUI (4.9)

TSET es el tiempo que expira desde que ocurre un evento (interrupción:


último octeto enviado o expiró el Syn Time) hasta que se realiza la acción
requerida (arrancar el Syn Time o desinhibir el receptor):

TSET = tSET/tBIT (4.10)


CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 137

4.6.1.7. Tiempo de inactividad

El tiempo de inactividad TID (Idle Time) es el tiempo que debe expirar en el


iniciador después de recibir el último bit de una trama (1 binario), hasta que se
transmite el primer bit de una nueva trama. También es el tiempo que debe
expirar en el iniciador entre la transmisión del último bit de una trama que no
debe confirmarse y la transmisión del primer bit de la siguiente. Este tiempo
debe ser como mínimo el tiempo de sincronización más el de seguridad (TSYN +
TSM). Cuando se utilizan velocidades de transmisión elevadas, TSYN es muy
pequeño y los retardos de las estaciones comienzan a tener un valor
significativo y hay que tenerlos en cuenta. Se distinguen dos tiempos de
inactividad.

Después de una confirmación, respuesta o testigo el tiempo de inactividad


se define como:

TID1 = max (TSYN + TSM, min TSDR, TSDI) (4.11)

Después de una trama de acción que no debe ser confirmada:

TID2 = max (TSYN + TSM, max TSDR) (4.12)

4.6.1.8. Tiempo de retardo de transmisión

El tiempo de retardo de transmisión TTD (Transmisión Delay Time) se


define como el mayor tiempo que tarda una trama en pasar por el medio desde
el transmisor al receptor. Si existen repetidores sus tiempos de retardo también
deben considerarse.

TTD = tTD / tBIT (4.13)

En una línea con una longitud de 1 km, tTD es aproximadamente de 5 µs.

4.6.1.9. Tiempo de ranura TSL

El tiempo de ranura TSL (Slot Time) es el máximo tiempo que el iniciador


espera por la recepción completa del primer octeto de la trama de confirmación
o respuesta inmediatamente siguiente, después de transmitir el último bit de la
trama de acción.
138 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

También es el máximo tiempo que el iniciador espera por la recepción


completa del primer octeto de la primera trama enviada por el destinatario del
testigo, después de transmitir la trama testigo.

Después de una trama de acción, el tiempo de ranura se define como:

TSL1 = 2 TTD + max TSDR + 11 bit + TSM (4.14)

Después de una trama testigo, el tiempo de ranura se define como:

TSL2 = 2 TTD + max TID1 + 11 bit + TSM (4.15)

En el sistema solamente se utiliza un tiempo de ranura y es el mayor de los


dos definidos anteriormente:

TSL = max (TSL1, TSL2) (4.16)

4.6.1.10. Tiempo límite

Este tiempo (tiempo límite, TTO, Time Out) sirve para monitorizar la
actividad de las estaciones principales y subordinadas. La monitorización del
tiempo de inactividad del bus comienza en el estado Listen_Token (estaciones
principales) o Pasive_Idle (estaciones subordinadas) o más tarde después de
recibir el último bit de una trama. La monitorización termina al recibir el primer
bit de la siguiente trama.

Si el tiempo de inactividad (Idle Time) alcanza este valor de Time Out se


produce un error, por ejemplo debido a una pérdida del testigo. Se define como:

TTO = 6 TSL + 2 n TSL (4.17)

Para estaciones principales n coincide con el número de estación y para


subordinadas es 130.

El primer término de la fórmula asegura que haya suficiente diferencia con


respecto al mayor tiempo de inactividad posible entre dos tramas. El segundo
término asegura que no todas las estaciones principales reclamarán el testigo a
la vez después de un error, si no que lo hará la que tenga en ese momento el
menor número de estación.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 139

4.6.1.11. Tiempo de actualización del GAP

Se utiliza el tiempo de actualización del GAP TGUD (GAP Update Time)


en las estaciones principales para realizar el mantenimiento del GAP. Después
de la primera generación de la lista de GAP (GAPL), su actualización se realiza
una vez transcurrido el intervalo de tiempo TGUD. Este tiempo se define como
un múltiplo entero del tiempo de rotación objetivo (TTR):

TGUD = G TTR 1 G 100 (4.18)

4.6.1.12. Tiempo de ciclo de testigo

La carga del bus ocasionada por el control de acceso al medio (paso de


testigo) está determinada por el ciclo del testigo (TC, Token Cycle). El tiempo
de ciclo del testigo TTC (Token Cycle Time) (medido en tiempo de bit) está
compuesto por el tiempo necesario para transmitir la trama testigo (TTF), el
tiempo de retardo de transmisión (TTD) y el tiempo de inactividad del bus (TID1),
como se indica a continuación:

TTC = TTF + TTD + TID1 (4.19)

TTF es de 33 bit ya que una trama testigo se compone de 3 octetos, cada uno
de ellos formado a su vez por 11 bits. TTD depende de la longitud del bus (aprox.
5 ns/m) y es el que menor influencia tiene. TID1 es el tiempo que transcurre entre
la transmisión de una trama testigo y la siguiente trama, que podrá ser un testigo
o una trama de acción.

4.6.1.13. Tiempo de ciclo de mensajes

Un ciclo de mensaje (MC, Message Cycle) se compone de una trama de


acción (envío o envío/petición) y la correspondiente trama de réplica (respuesta
o confirmación). El tiempo de ciclo de mensaje TMC (Message Cycle Time) es la
suma del tiempo de transmisión de las tramas, de los tiempos de retardo de
transmisión y de los tiempos de retardo de estación.

TMC = TS/R + TSDR + TA/R + TID1 + 2 · TTD (4.20)

El tiempo de retardo de estación TSDR es el que transcurre entre la


transmisión de una trama de acción y la recepción de su correspondiente
140 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

respuesta o confirmación. Este tiempo se necesita para decodificar la trama de


petición y componer la trama de respuesta o de confirmación. Depende de como
se realice el protocolo en la estación y es mayor que el tiempo de retardo TTD.

El tiempo de inactividad TID1 es el que debe transcurrir en una estación


principal desde que recibe una trama de confirmación, respuesta o testigo, hasta
que puede enviar otra trama de petición o testigo.

Los tiempos de transmisión de las tramas de acción (TS/R) y confirmación o


respuesta (TA/R) dependen del número de caracteres que formen dichas tramas.
En su cálculo hay que tener en cuenta que cada carácter va a estar formado por
11 bits.

4.6.1.14. Tiempo de reacción del sistema

El tiempo máximo de reacción (TSR, System Reaction Time) de un sistema


formado por una única estación principal y n estaciones subordinadas en modo
sondeo, se puede calcular como:

TSR = n TMC + m RET TMC (4.21)

siendo:

n: número de estaciones subordinadas.

m: número de ciclos de reintento de mensajes por ciclo de sondeo.

TMC: tiempo de ciclo de mensaje (depende de longitud de tramas).

RET TMC: tiempo de un ciclo de reintento de mensaje.

En un sistema donde hay varias estaciones principales, el tiempo máximo de


reacción es igual al tiempo de rotación objetivo:

TSR = TTR (4.22)

En la Tabla 4.6 se recogen todos los tiempos definidos en el nivel de enlace


de datos de la norma PROFIBUS, indicando en que tipo de estación se utilizan.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 141

TABLA 4.6. Tiempos definidos en el protocolo PROFIBUS

Tiempo Símbolo Valor Tipo estación


Bit tBIT 1/velocidad (bps) Principal/
Subordinada
Sincronización TSYN 33 bit Principal/
Subordinada
Intervalo de sincronización TSYNI 11.385 bit Principal/
Subordinada
Retardo de estación como TSDI tSDI/tBIT Principal
iniciador
Mínimo retardo de estación min TSDR min tSDR/tBIT Principal/
como contestador Subordinada
Máximo retardo de estación max TSDR max tSDR/tBIT Principal/
como contestador Subordinada
Conmutación transmisor TQUI TQUI < TRDY Principal/
Subordinada
Preparado TRDY TRDY < min TSDR Principal
Margen de seguridad TSM 2 + 2 TSET + TQUI Principal
Set-up TSET TSET/tBIT Principal/
Subordinada
Inactividad 1 TID1 max (TSYN + TSM, min TSDR, TSDI) Principal
Inactividad 2 TID2 max (TSYN + TSM, max TSDR) Principal
Retardo de transmisión TTD tTD/tBIT 5 ns/m sin repetidores Principal/
Subordinada
Ranura después trama TSL1 TSL1=2 TTD + max TSDR + 11 + Principal
acción TSM
Ranura después trama TSL2 TSL2=2 TTD + max TID1 + 11 + Principal
testigo TSM
Ranura TSL TSL = max (TSL1, TSL2) Principal

Límite TTO 6 TSL + 2 n TSL Principal/


Subordinada
Actualización del GAP TGUD G TTR 1 G 100 Principal
Ciclo de testigo TTC 33 + TTD + TID1 Principal
Ciclo de mensajes TMC TS/R + TSDR + TA/R + TID1 + 2 TTD Principal
Reacción del sistema TSR TTR Principal
Rotación objetivo del TTR min TTR = na (TTC + high TMC) + Principal
testigo k low TMC + mt RET TMC
Rotación real del testigo TRR ---- Principal
Retención del testigo TTH TTR - TRR Principal
142 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.6.2. Temporizadores

Para realizar la supervisión de los tiempos que se necesitan para la gestión


de los distintos eventos que se producen en el protocolo PROFIBUS, se utiliza
un conjunto de temporizadores que se describen a continuación.

4.6.2.1. Temporizador de rotación del testigo

Cuando una estación principal recibe el testigo carga el temporizador de


rotación del testigo (Token Rotation Timer) con el tiempo de rotación objetivo
(TTR), y se va decrementando cada tBIT. Cuando la estación recibe de nuevo el
testigo el valor del temporizador se lee y se vuelve a cargar con TTR. El valor
leído es el tiempo de retención del testigo (TTH, Token Holding Time) de que
dispone la estación principal para realizar ciclos de mensajes. El tiempo de
rotación real se puede obtener como TTR - TTH. Los ciclos de mensajes de baja
prioridad sólo se pueden enviar si se verifica que TRR < TTR, o lo que es igual
TTH > 0.

4.6.2.2. Temporizador de inactividad del bus

El temporizador de inactividad del bus (Idle Timer) monitoriza el tiempo en


que el bus se encuentra inactivo (nivel 1 lógico), y por tanto el tiempo de
sincronización (TSYN).

El tiempo de sincronización que debe preceder a toda trama de acción es


necesario para que los receptores se sincronicen de forma correcta y sin
ambigüedad. En las estaciones subordinadas y en las estaciones principales que
no tienen el testigo, este temporizador se carga con el valor TSYN (apartado
4.6.1.2) después de la transmisión o recepción del último bit de una trama y se
va decrementando cada tBIT. El receptor de estas estaciones debe desinhibirse
inmediatamente después de que el temporizador expire.

En la estación principal que tiene el testigo este temporizador se carga con


TID1 o TID2 (apartado 4.6.1.7) en función del tipo de ciclo de mensaje a realizar.
La estación solamente podrá transmitir una nueva petición o el testigo, después
de que el temporizador expire. Siempre que en el bus haya un nivel 0 lógico el
temporizador se reinicia.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 143

4.6.2.3. Temporizador de ranura

El Temporizador de ranura (Slot Timer) sSe utiliza en las estaciones


principales para monitorizar si la estación a la que se le envía una trama de
acción o un testigo responde o pasa a ser principal respectivamente. Después de
la transmisión del último bit de una trama este temporizador se carga con TSL
(apartado 4.6.1.9) y se decrementa cada tBIT, tan pronto como el receptor se
desinhibe. Si el temporizador expira antes de recibir el primer bit de una trama
se produce un error y se reintenta el ciclo de mensaje anterior o se comienza
uno nuevo.

4.6.2.4. Temporizador límite

Este temporizador límite (Time Out Timer) monitoriza la actividad del bus
en estaciones principales y subordinadas. Después de la transmisión o recepción
del último bit de una trama se carga con un múltiplo del tiempo de ranura (TSL),
y se decrementa cada tBIT (apartado 4.6.1.10). Si el temporizador expira sin que
se reciba ninguna trama es que ha ocurrido un error grave, lo que causa una
(re)inicialización del bus.

El FMA1/2 de las estaciones principales y subordinadas recibe una


notificación de este hecho (Time_out).

4.6.2.5. Temporizador de intervalo de sincronización

Las estaciones principales y subordinadas utilizan el temporizador de


intervalo de sincronización (Syn Interval Timer) para comprobar que se produce
la sincronización de sus receptores dentro de este tiempo. Cada vez que el
receptor se sincroniza este temporizador se carga con TSYNI (apartado 4.6.1.3).
Desde el comienzo de una trama se va decrementando hasta que no se detecta
un nuevo TSYN (apartado 4.6.1.2).

Si este temporizador expira quiere decir que se ha producido un error en el


medio de transmisión (por ejemplo bloqueado a nivel 0). Cuando se produce un
error de este tipo se notifica al FMA1/2, tanto de las estaciones principales
como subordinadas (Not_syn).
144 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

4.6.2.6. Temporizador de actualización del GAP

El temporizador de actualización del GAP (GAP Update Timer) solo se


utiliza en las estaciones principales y cuando expira quiere decir que es
necesario comenzar un nuevo ciclo de actualización del GAP. Después de una
primera actualización del GAP (que puede necesitar varias rotaciones del testigo)
este temporizador se carga con un múltiplo del tiempo de rotación objetivo
(apartado 4.6.1.11).

Cuando una estación principal entra en el estado Listen_Token (Fig. 4.8), el


temporizador de inactividad se carga con TSYN (apartado 4.6.1.2), el
temporizador de tiempo límite con TTO (apartado 4.6.1.10), el temporizador de
intervalo de sincronización con TSYNI (apartado 4.6.1.3) y los demás se borran.
En el caso de una estación subordinada, el temporizador de tiempo límite se
carga con TTO y el temporizador de intervalo de sincronización con TSYNI,
cuando entra en el estado Passive_Idle. Los temporizadores definidos
anteriormente se recogen en la Tabla 4.7.

TABLA 4.7. Temporizadores utilizados en el protocolo PROFIBUS

Temporizador Valor inicial Inicio temporización Fin temporización


Rotación del testigo TTR Al recibir el testigo Al recibir el testigo. Su
valor indica el TTH
TSYN
(subordinadas y
principales sin El temporizador se
Inactividad del bus testigo) Transmisión o recepción inicializa cuando el
del último bit de una trama nivel en el bus es “0”
TID1 o TID2 lógico
(principal con
testigo)
Ranura TSL Transmisión del último bit Nuevo ciclo o
de una trama reintento del anterior
Límite TTO Transmisión o recepción Error que se comunica
del último bit de una trama al FMA 1/2 y que
indica (re)inicialización
en estaciones
principales
Intervalo de TSYNI Cada vez que el receptor Error que se comunica
sincronización se sincroniza al FMA 1/2
Actualización del TGUD Cada vez que se completa Se inicia nuevo ciclo
GAP la actualización del GAP actualización del GAP
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 145

Para facilitar las instalaciones y mantenimientos se pueden definir de


manera opcional en el FDL los contadores que se describen a continuación. En
las estaciones principales: contador de tramas transmitidas (Frame_sent_count),
excepto para las tramas de acción “Send Data with No acknowledge low”, “Send
Data with No acknowledge high” y “Request FDL Status with Reply (códigos 4,
6 y 9, Tabla 4.8) y contador de tramas retransmitidas (Retry_count). En las
estaciones principales y subordinadas: contador de delimitadores de comienzo
de trama correctos y contador de delimitadores de comienzo de trama
defectuosos. Cuando una estación entra en el estado Listen_Token o
Passive_Idle los contadores se ponen a cero y se desinhiben. Si un contador
alcanza su valor máximo, él y su homólogo se detienen hasta que se borran. El
FMA1/2 dispone de servicios para poder consultar estos contadores.

4.7. ESTRUCTURA DE LAS TRAMAS

Los datos en PROFIBUS se transmiten en tramas que consisten en una


cadena ordenada de caracteres generados por una UART (Universal
Asynchronous Receiver Transmiter). A las tramas se le añade información
redundante para detectar posibles errores en la transmisión. Todas las tramas
comienzan por un delimitador (octeto) distinto que sirve para identificarlas.

PROFIBUS utiliza diferentes tipos de tramas para la comunicación e


intercambio de información entre las capas de enlace de datos de las estaciones
conectadas al bus. Los formatos de estas tramas se representan en la Figura 4.9
y se describen a continuación.

4.7.1. Tramas de longitud fija sin campo de datos

Las tramas que pueden tener este formato son tramas de acción y tramas de
confirmación. El protocolo también define una trama de confirmación corta
para mejorar las prestaciones del sistema. Todos los campos representados son
de un octeto (Fig. 4.10), y tienen el siguiente significado:

SD1: delimitador inicial (Start Delimiter), su valor es 10H.


DA: dirección destino (Destination Address) de la trama.
SA: dirección origen (Source Address) de la trama.
FC: octeto de control de trama (Frame Control).
146 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

FCS: octeto de comprobación (Frame Check Sequence)


ED: delimitador final (End Delimiter), su valor es 16H.

TABLA 4.8. TIPO DE TRAMA INDICADO EN EL OCTETO DE CONTROL (FC)

b3b2b1b0 FUNCIÓN
(código decimal)
Tramas de acción (envío y envío/petición). b6=1 en octeto FC
0,1,2 Reservados
3 Send Data with Acknowledge (prioridad baja)
4 Send Data with No Acknowledge (prioridad baja)
5 Send Data with Acknowledge (prioridad alta)
6 Send Data with No Acknowledge (prioridad alta)
7, 8 Reservados
9 Request FDL Status with Reply
10, 11 Reservados
12 Send and Request Data (prioridad baja)
13 Send and Request Data (prioridad alta)
14 Request Ident with Reply
15 Request LSAP Status with Reply
Tramas de confirmación o respuesta. b6=0 en octeto FC
0 Confirmación positiva
1 Confirmación negativa, error interfaz usuario
2 Conf. neg., no hay recursos para enviar datos y no hay
datos de respuesta
3 Confirmación negativa, servicio no activado
4, 5, 6, 7 Reservados
8 Respuesta datos prioridad baja y datos enviados
correctamente
9 Conf. negativa, no hay datos de respuesta y datos
enviados correctamente
10 Respuesta datos prioridad alta y datos enviados
correctamente
11 Reservado
12 Respuesta datos prioridad baja, no hay recursos para
enviar datos
13 Respuesta datos prioridad alta, no hay recursos para
enviar datos
14, 15 Reservados
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 147

FIGURA 4.9. Formato de las tramas PROFIBUS.

Los campos de información de la trama son DA, SA y FC. Estos campos


tienen una longitud fija de 3 octetos en total. Los otros campos son los
delimitadores y el octeto FCS que se utiliza para detectar posibles errores en la
transmisión de la trama. Estas tramas tienen una longitud fija de 6 octetos.

El protocolo considera la utilización de tramas de sólo un octeto para


confirmaciones cortas. El campo SC (Single Character) es el único en este tipo
de tramas y su valor es E5H. Cuando una trama debe ser solamente confirmada,
SC se puede utilizar como una confirmación positiva. Si la trama tiene que ser
respondida (hay que enviar datos), SC se puede utilizar como una confirmación
negativa. Los octetos DA y SA indican las direcciones destino y origen de las
tramas. Todas las tramas tienen estos octetos excepto la trama de confirmación
corta (SC). En estos octetos sólo se utilizan los bits b6-b0 para representar una
dirección. El bit b7 se reserva para indicar una extensión (EXT) en la dirección
(Fig. 4.10). El octeto de extensión sigue inmediatamente al octeto FC en el
campo DATA de las tramas con campo de datos (apartados 4.7.2 y 4.7.3), que
puede contener hasta 4 octetos de extensión de dirección.
148 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

FIGURA 4.10. Formato de los octetos DA y SA y del octeto de extensión de dirección.

Al utilizar solamente 7 bits para representar una dirección hay un máximo


de 128 direcciones posibles. El octeto SA puede contener direcciones desde la 0
a la 126, mientras que el octeto DA puede contener direcciones desde la 0 a la
127. Esta última dirección (b0 a b6 = 1) se reserva como dirección global para
enviar mensajes a un grupo de estaciones (multicast) o a todas las estaciones
(broadcast).

Hay, por tanto, un máximo de 127 (0 a 126) direcciones para estaciones


principales o subordinadas. De estas es preferible que como máximo 32 sean
principales, aunque si la aplicación no es de respuesta crítica en el tiempo
podrían ser principales las 127. Hay un máximo de 126 direcciones disponibles
para estaciones subordinadas ya que al menos es necesaria una estación
principal.

Los octetos de dirección (DA, SA) que se envían con una trama de acción
deben ser devueltos intercambiados en la trama de confirmación o respuesta. Es
decir, DA de la trama de confirmación o respuesta será SA de la trama de
acción, y SA de esa misma trama será DA de la trama de acción.

En el octeto de control de trama (FC) se codifican diversas informaciones


(Tabla 4.8): tipo de trama de que se trata (trama de acción o una confirmación o
respuesta) y si es de acción indica el tipo de servicio (SDA, SDN, SRD, etc.);
tipo de estación y su estado FDL; información de control para evitar la pérdida
y duplicidad de los mensajes. Su estructura se muestra en la Figura 4.11.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 149

El bit b5 es el Bit Contador de Tramas (FCB, Frame Count Bit) y se utiliza


para impedir la duplicación de mensajes en el receptor y su pérdida en el
iniciador. El bit b4 indica si el bit contador de tramas es válido o no (FCV,
Frame Count Valid). Las tramas “Send Data with No Acknowledge (SDN)”,
“Request FDL Status with Reply”, “Request Ident with Reply” y “Request LSAP
Status with Reply” no utilizan el FCB ni el FCV. En ellas ambos bits están
siempre a 0.

Para controlar los posibles errores de secuencia en la transmisión de los


ciclos de mensajes, el iniciador almacena un FCB por cada receptor. Cuando se
transmite una trama a una estación por primera vez o de nuevo a una estación
marcada como no operacional, el iniciador marca este ciclo como primer
mensaje poniendo FCV = 0 y FCB = 1. La estación direccionada debe
almacenar el FCB junto con la dirección del iniciador (SA). Este ciclo de
mensaje no se repite.

FIGURA 4.11. Estructura del octeto de control FC.

En los siguientes ciclos de mensajes a la misma estación, el iniciador pone


FCV = 1 y va alternando FCB con cada nueva trama de acción. La estación
direccionada debe evaluar el FCB recibido cuando FCV = 1 y actuar en
consecuencia. Si la estación origen es la misma que la de la trama anterior y el
FCB recibido está cambiado con respecto al que tenía almacenado, se considera
una confirmación de que el ciclo anterior se completó sin errores. Si la trama
150 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

proviene de un iniciador distinto no se evalúa el FCB. En ambos casos se


almacena el FCB y la dirección de la estación origen (SA) hasta recibir una
nueva trama con su dirección como destino.

Si una trama de confirmación o respuesta se pierde o se corrompe, el


iniciador vuelve a reintentar el envío de la misma trama sin cambiar el FCB.
Cuando la estación destino recibe una nueva trama de la misma estación y
comprueba que el FCB es el mismo que tiene almacenado, considera que el
ciclo anterior no se finalizó adecuadamente. En este caso la estación destino
vuelve a transmitir la última trama de confirmación o respuesta. Para ello debe
almacenar la última trama de confirmación o respuesta enviada por si es
necesario realizar un reenvío, hasta que reciba la confirmación de que el ciclo
de mensaje finalizó adecuadamente, una trama dirigida a otra estación o una
trama testigo.

El octeto de comprobación de trama (FCS) es necesario para conseguir una


trama con distancia Hamming 4. Siempre precede al delimitador final y se
encuentra en todas las tramas excepto la de confirmación corta (SC) y el testigo.
El FCS se calcula como la suma aritmética sin acarreo de todos los octetos
comprendidos entre el delimitador inicial y el final, es decir, DA, SA, FC y el
campo DATA en las tramas con campo de datos.

Cada trama de acción enviada por una estación debe de estar precedida de
un tiempo de inactividad en el bus como mínimo de 33 bits (apartados 4.6.1.2 y
4.6.1.7). No se permite separación entre los distintos octetos que componen una
trama. El receptor debe comprobar que la trama es correcta. Por cada carácter
recibido se comprueban los bits de start, stop y el de paridad (Fig. 4.3). Para la
trama completa se comprueba el delimitador inicial (SD1), DA, SA, FCS, el
delimitador final (ED) y el tiempo de sincronización en el caso de que la trama
sea de acción. Si hay algún error la trama se elimina.

4.7.2. Tramas de longitud fija con campo de datos

Las tramas que tienen este formato pueden ser de acción o de respuesta. A
continuación se describen solamente las diferencias con respecto a las tramas
anteriores:

SD3: delimitador inicial (Start Delimiter), su valor es A2H.

DATA: campo de datos de longitud fija 8 octetos.


CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 151

Los campos de información de la trama son DA, SA, FC y DATA. La


longitud de estos campos de información es un número fijo de octetos, 11 en
este caso. Por lo tanto, este tipo de tramas tienen una longitud fija total de 14
octetos.

Hay que tener en cuenta las mismas reglas de transmisión que para el caso
de las tramas del apartado anterior.

4.7.3. Tramas con campo de datos de longitud variable

Las tramas que tienen este formato pueden ser de acción o de respuesta. A
continuación se describen solamente las diferencias con respecto a las tramas
anteriores:

SD2: delimitador inicial (Start Delimiter), su valor es 68H.


LE: octeto de longitud. Su valor varía entre 4 y 249.
LEr: octeto de longitud repetido.
DATA: campo de datos de longitud variable comprendida entre 1 y 246.

Los dos octetos de longitud, que sólo existen en tramas con campo de datos
de longitud variable, son iguales y contienen el número de octetos de
información en el cuerpo de la trama. Esto incluye DA, SA, FC y DATA. Su
valor está comprendido entre 4 y 249, de forma que el mayor número de octetos
con datos de usuario que se pueden transmitir en una trama es de 246. Su valor
no puede ser inferior a 4 ya que como mínimo hay que enviar un octeto de datos.
El tamaño de la trama con mayor longitud que se puede enviar será de 255
octetos.

Además de tener en cuenta las mismas reglas de transmisión que para el


caso de las tramas del apartado anterior, se debe comprobar que LE y LEr
coinciden y se deben contar los octetos desde DA hasta FCS comprobando que
coinciden con LE.

4.7.4. Trama testigo

Esta trama se utiliza para pasar el testigo entre las estaciones principales.
Tiene solamente 3 campos de 1 octeto cada uno: delimitador inicial (SD4) que
tiene un valor DCH; la dirección destino (DA) y la dirección origen (SA). Por lo
152 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

tanto, la trama testigo tiene una longitud total de 3 octetos y no necesita un


delimitador final (ED). Tampoco necesita realizarse ningún control de errores,
es decir, no tiene octeto de comprobación de trama (FCS). Con la trama testigo
hay que tener en cuenta las mismas reglas de transmisión que para el caso de las
tramas de los apartados anteriores.

4.8. SEGURIDAD EN LOS DATOS Y GESTIÓN DE


ERRORES

PROFIBUS tiene una buena protección contra errores de transmisión, pero


los errores no pueden eliminarse completamente. Algunas de las causas que
pueden provocar errores son: transmisores defectuosos, medio mal apantallado,
reflexión de señales, excesiva diferencia entre las frecuencias del transmisor y
receptor, etc. Algunos errores pueden ser detectados por los componentes de la
UART: errores de trama (el bit de stop de un carácter no se reconoce), errores
de “overrun” (se sobrescribe un carácter recibido con el siguiente antes de que
el primero se lea), errores de paridad, etc. Para asegurar transmisiones libres de
errores, PROFIBUS utiliza una distancia Hamming de 4. Si Hd=4 un error en
un bit puede detectarse y corregirse, y un error en dos bits puede ser solamente
detectado. Para conseguir esa distancia Hamming se transmite un octeto
adicional con cada trama, que representa la paridad en columna de todos los
octetos que forman el campo de información. Este octeto (FCS, Frame Check
Sequence) se obtiene sumando sin acarreo todos los octetos. Como en esta suma
no se incluyen los delimitadores de inicio y fin, estos se eligen de forma que
entre ellos exista una distancia Hamming de 4. En PROFIBUS no se
proporcionan mecanismos de corrección de errores, y cuando se detecta un error
en una trama la estación reacciona como se indica a continuación.

Si la estación recibe una trama de acción incorrecta no la procesa, es decir,


no la confirma ni la responde. El iniciador será el encargado de repetir la trama
de acción una vez haya expirado el tiempo de ranura o Slot Time (TSL, apartado
4.6.1.9). Si la estación recibe una trama de confirmación o respuesta incorrecta
tampoco la acepta y repite la trama de acción. El iniciador solamente finaliza un
ciclo de mensaje cuando recibe una trama de confirmación o respuesta válida, o
si no obtiene respuesta después de los reintentos especificados (max_retry_limit,
Tabla 4.4). El respondedor da por finalizado un ciclo de mensaje cuando recibe
una nueva petición del mismo iniciador con el bit FCB (Frame Count Bit,
apartado 4.7.1) cambiado, cuando recibe una petición de otro iniciador o cuando
la trama de acción es para otra estación.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 153

Cuando una estación no responde o confirma una trama de acción en modo


acíclico o cíclico (apartado 4.4.4) después de los reintentos definidos, se marca
como no operacional. Esto significa que las tramas de acción enviadas a esta
estación no se reintentan hasta que la estación las confirme o responda
correctamente de nuevo, momento en el cual la estación vuelve a considerarse
operacional.

El nivel de enlace de PROFIBUS establece mecanismos de detección y


corrección de errores en el anillo lógico definido en el bus, en casos como:
aparición de varios testigos, pérdida del testigo, error en el paso del testigo,
direcciones duplicadas, estaciones con receptores defectuosos, etc. Asimismo el
nivel de enlace permite la existencia de una combinación arbitraria de
estaciones principales y subordinadas, y que se puedan añadir o quitar
estaciones, tanto principales como subordinadas, con la red en funcionamiento.

4.9. SERVICIOS DE TRANSFERENCIA DE DATOS

Además de controlar el acceso al medio y el tiempo de rotación del testigo,


la capa FDL proporciona servicios de transferencia de datos a la capa 7 o de
aplicación, usando protocolos de comunicación adecuados. Los servicios son de
tipo acíclico y cíclico.

Hay 3 servicios de transferencias para envío y petición de datos acíclicos:

SDA (Send Data with Acknowledge): Con este servicio una estación
principal envía un mensaje a una estación subordinada y recibe la
confirmación inmediatamente. La estación subordinada sólo puede
confirmar los datos recibidos.

SDN (Send Data with No acknowledge): Se usa principalmente para


envío de mensajes de tipo multidifusión o difusión desde una estación
principal a varias o todas las estaciones en el bus respectivamente, y no
requiere confirmación. Los otros 3 servicios (SDA, SRD y CSRD) se
basan en una conexión recíproca entre un cliente (estación con el testigo)
y un servidor (cualquier estación sin el testigo), y requieren o bien una
confirmación o bien una respuesta.

SRD (Send and Request Data): Con este servicio se le piden datos a una
estación subordinada pudiendo enviarle datos o no en la trama de
petición. La estación subordinada envía los datos inmediatamente con la
154 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

respuesta. Este comportamiento se denomina de respuesta inmediata (en


el sentido de obtener prestaciones de tiempo real).

Hay 1 servicio de transferencia de datos cíclico:

CSRD (Cyclic Send and Request Data with reply): El sondeo (polling)
centralizado es un método apropiado de acceso para dispositivos
sencillos. PROFIBUS tiene la posibilidad de almacenar la lista de
consulta (poll list) en la capa de enlace (FDL) y utilizar el servicio
acíclico SRD para realizar un sondeo cíclico de las estaciones
contenidas en la lista de consulta (apartado 4.4.4). Al localizarse el
proceso de consulta en la capa de enlace se aceleran de forma
considerable las aplicaciones en tiempo real.

4.10. APLICACIONES Y PRODUCTOS COMERCIALES

Los buses serie se utilizan en la actualidad principalmente como medio de


comunicación para intercambiar información entre sistemas de automatización
industrial y dispositivos de campo distribuidos.

Hasta la fecha se han llevado a cabo miles de aplicaciones que han


demostrado que el uso de la tecnología de los buses de campo puede ahorrar
hasta un 40% de los costes de cableado, puesta en marcha y mantenimiento con
respecto a la tecnología tradicional de cableado punto a punto. Con esta
tecnología toda la información importante (datos de entrada y salida, parámetros,
datos de diagnóstico, programas, etc.) e incluso la alimentación de los
dispositivos, se transmite utilizando únicamente un par de cables.

De todos los buses de campo existentes, normalizados o no, el más utilizado


en Europa y el que tiene una mayor aceptación a nivel mundial es PROFIBUS.
Sus áreas de aplicación incluyen fabricación y automatización de procesos y
edificios. En la actualidad todos los fabricantes líderes en tecnología de
automatización ofrecen sus productos con interfaces para PROFIBUS. La
diversa variedad de productos de PROFIBUS incluye más de 1000 dispositivos
y servicios distintos, de los cuales unos 200 son dispositivos certificados que
aseguran una operación fiable incluso en buses con dispositivos de múltiples
fabricantes. PROFIBUS se ha utilizado con éxito en unas 100.000 aplicaciones
en todo el mundo y hasta enero de 1997 se habían instalado más de 1.000.000
de dispositivos.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 155

La mayoría de los fabricantes de productos PROFIBUS son empresas


alemanas (AIXO Informationstechnologie, Beckhoff Industrie Elektronik,
COMSOFT, DELTA t, Festo KG, Hilscher, Klöckner-Moeller, OMRON
Electronics, Philips Industrial Automation Systems, Siemens AG, AGO
Kontakttechnik, Weidmüller, etc.). PROFIBUS tiene una gran difusión y
utilización en el mundo de la automatización industrial debido sobre todo a que
una potente empresa en este campo como es Siemens ha apostado por este bus
de campo. Siemens es la empresa que más productos PROFIBUS tiene en el
mercado, con más de 150 productos (más de 39 de ellos son productos
certificados). Dichos productos pertenecen a alguna de las siguientes categorías:
automatización de edificios, componentes de red, servicios, herramientas,
componentes básicos, PLCs, NC/RC, componentes de automatización,
controladores de posición, automatización de procesos, módulos para PC,
componentes neumáticos, entradas/salidas descentralizadas y
sensores/actuadores.

La realización del protocolo PROFIBUS es sencilla y barata gracias al


conjunto de circuitos integrados específicos para dicho protocolo que existen en
la actualidad. Aunque, en principio, el protocolo PROFIBUS puede ser
realizado con cualquier microprocesador equipado interna o externamente con
un interfaz serie asíncrono UART, se recomienda el uso de circuitos integrados
específicos (ASICs) para gestionar el protocolo cuando se va a trabajar con
velocidades superiores a 500 kbps, o cuando se requiere conexión con la
tecnología de transmisión definida en IEC 1158-2 (seguridad intrínseca). La
elección de la forma de realizar el protocolo depende de la complejidad del
dispositivo, de las prestaciones exigidas y de la funcionalidad que se necesite.
Algunas de las posibilidades se describen a continuación:

Realización de estaciones subordinadas DP sencillas: esta es la forma


más fácil y barata de realizar el protocolo ya que todas sus funciones
están integradas en un único CI. No se necesita ningún microprocesador
ni software adicional y los únicos componentes externos son el circuito
de interfaz con el bus, el reloj y la alimentación. Ejemplos de estos
circuitos integrados son los ASICs SPM2 y LSPM2 de Siemens y el
IX1 de Delta-t y su utilización solamente está limitada por el número de
entradas/salidas de que disponen.

Realización de estaciones subordinadas inteligentes FMS y DP: en


este caso las partes críticas en tiempo del protocolo PROFIBUS se
realizan con un CI específico, y el resto de funcionalidades se realizan
mediante software en un microcontrolador. Los ASICs SPC4 de
156 COMUNICACIONES INDUSTRIALES: SIS. DISTRIBUIDOS Y APLICACIONES

Siemens, IX1 de Delta-t y PBS de IAM son adecuados para esta tarea,
porque tienen un interfaz de propósito general que puede ser utilizado
con muchos tipos de microprocesadores de 8 y 16 bits. Otra solución
pueden ser los microprocesadores que tienen integradas funciones
PROFIBUS como los que ofrece Motorola.

Realización de estaciones principales complejas FMS y DP: igual


que en el caso anterior las funciones críticas en el tiempo se realizan con
ASICs y el resto mediante software en un microcontrolador. Los ASICs
ASPC2 de Siemens, IX1 de Delta-t y PBM de IAM pueden operar junto
con todos los microprocesadores más populares.

Realización de dispositivos para el protocolo PA: es muy importante


que estos dispositivos tengan un bajo consumo de corriente de
alimentación, ya que la corriente disponible para los dispositivos
intrínsecamente seguros es de unos 10 mA. Un CI especial desarrollado
por Siemens (SIM1) se encarga de obtener la alimentación para el
dispositivo desde el bus IEC 1158-2. Este CI se puede combinar con el
SPC4 también de Siemens para realizar el protocolo.

4.11. CONCLUSIONES

Una vez explicadas las principales características del protocolo PROFIBUS


a nivel de su capa física y descrito el funcionamiento de su capa de enlace de
datos, se puede concluir que la norma DIN 19245 y CENELEC EN 50170
Volumen 2 es muy compleja y está muy bien pensada para resolver todos los
problemas que se pueden dar en aplicaciones de automatización y control
industrial.

PROFIBUS es un bus de campo que puede trabajar a velocidades bastante


elevadas, alcanzando los 12 Mbps, por lo que es muy apropiado en aplicaciones
donde las comunicaciones en tiempo real son importantes.

De la lectura de este tema se puede destacar que los dispositivos con


capacidad de comunicaciones PROFIBUS, y que implementan las
funcionalidades de las estaciones principales, tienen que tener una gestión de
tiempos, temporizadores y contadores muy complicada. Aunque esta gestión
hace que la implementación del protocolo sea un poco complicada, también es
el motivo de su robustez.
CAP. 4. BUS DE CAMPO PROFIBUS. APLICACIONES INDUSTRIALES 157

Otro importante aspecto a resaltar es que el método de acceso híbrido que


utiliza PROFIBUS, mezclando el paso de testigo entre estaciones principales
con el sondeo para las estaciones subordinadas, se muestra muy adecuado para
asegurar un tiempo de respuesta máximo para la transmisión de los datos del
sistema. También permite configurar distintos tipos de sistemas según las
necesidades de la aplicación, es decir, se pueden tener sistemas con una estación
principal y el resto subordinadas (centralizados), sistemas en los que todas las
estaciones son principales (descentralizados) o sistemas que son un modelo
intermedio. Esto supone que los sistemas PROFIBUS son adaptables a los
diferentes modelos de control.

Por todo lo comentado en los párrafos anteriores, PROFIBUS es uno de los


protocolos más utilizados en Europa y con un reconocido prestigio en el resto
del mundo. También hay que decir que en el área de los buses de campo existe
una gran variedad de soluciones y una falta de estandarización, siendo la
mayoría de los protocolos propietarios. Esto supone que la implantación y
supervivencia de los diferentes protocolos depende mucho de los fabricantes
que han apostado por ellos. Con esto se quiere destacar que uno de los motivos
importantes por lo que PROFIBUS está tan extendido en el mercado de los
procesos de automatización es que lo ha adoptado para sus productos una
empresa líder como Siemens.

4.12. BIBLIOGRAFÍA

G. Cena, C. Demartini, y A. Valenza. “On the performance of two popular fieldbuses”.


Proceedings of the 2nd IEEE Workshop on Factory Communications Systems, WFCS97, pp. 177-
186, Barcelona (España), Octubre de 1997.
CENELEC EN 50170. General purpose field communication system. Volume 2/3 (PROFIBUS),
Diciembre de 1996.
M.A. Domínguez. Aportación al análisis del nivel de enlace en protocolos de comunicación para
buses de campo normalizados. Tesis Doctoral, Departamento de Tecnologia Electrónica,
Universidad de Vigo (España), Septiembre de 2000.
IEC 1158-2. Fieldbus standard for use in industrial control system – part 2. 1993.
ISO IS 7498. Information processing systems – Basic reference model for Open Systems
Interconnection. 1983.
G. Lías, M.D. Valdés, M.A. Domínguez y M.J. Moure. “Implementing a fieldbus interface using
a FPGA”. Proceedings of 10th International Conference on Field Programmable Logic and
Applications, FPL 2000, Villach (Austria), Lecture Notes in Computer Science 1896, R.W.
Hartenstein and H. Grünbacher (Eds.), ISBN 3-540-67899-9, Springer-Verlag, pp. 175-180,
Agosto 27-30, 2000.
P. Mariño. Las comunicaciones en la empresa; Normas, redes y servicios. Ed. Ra-Ma, 2002.

Anda mungkin juga menyukai