Professional Documents
Culture Documents
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.
Impedancia 135 a 165 (3 MHz f 20 MHz) 100 a 130 (f > 100 kHz)
2 2
Sección 0,34 mm (22 AWG) 0,22 mm (24 AWG)
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
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.
1500 200 70
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).
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
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.
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).
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.
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).
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.
min TTR = na (TTC + high TMC) + k low TMC + mt RET TMC (4.1)
siendo:
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.
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.
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
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.
4.5.2.1. Listen_Token
4.5.2.2. Active_Idle
4.5.2.3. Claim_Token
4.5.2.4. Use_Token
4.5.2.5. Await_Data_Response
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.
4.5.2.6. Check_Access_Time
4.5.2.7. Pass_Token
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).
4.5.2.8. Check_Token_Pass
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
4.6.1. Tiempos
TSYN = 33 bit
Para cumplir la condición 4.7 puede ser necesario aumentar TSDR. También
se debe cumplir que:
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.
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.
siendo:
4.6.2. Temporizadores
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.
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:
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
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.
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.
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:
Hay que tener en cuenta las mismas reglas de transmisión que para el caso
de las tramas del apartado anterior.
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:
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.
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
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.
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
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.
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.
4.11. CONCLUSIONES
4.12. BIBLIOGRAFÍA