Bitbus
 
Fabricantes SCADA Buses Software Hardware

 

Principal
Contenido

Indice de fabricantesForos de automatasSeccion de novedadesSeccion de busqueda Menu
 

ASI
Bitbus
Compobus
ControlNet
Ethernet
Modbus
OPC
Profibus
Rs485-Rs232
Unitelway
Tutorial red (1)
Tutorial red (2)
Tutorial red (3)

 

 

 Durante todo el año recibimos muchos mail, pidiéndonos información para realizar trabajos sobre autómatas. Así que ahora es el momento para recordaros que necesitamos de vuestra colaboración enviándonos los que ya habéis presentado.

      

  

Autor: Miguel Angel Montejo Ráez radastan@swin.net

Indice
bulletCableado y terminaciones.
bulletConectores.
bulletEstructura.
bulletTipos de nodos.
bulletModos de sincronización.

Protocolo

bulletCodificación.
bulletTrama del mensaje.
bulletTrama del campo de información.
bulletRegistros de estado y contadores de secuencia.

 

bulletBibliografía.
Es de obligado cumplimiento mandar una carta sellada en el caso de emplear este documento en centros de enseñanza y empresas, indicando el centro o empresa que emplea este tutorial. Este requisito valida su empleo y la distribución gratuita en dichos lugares, ya sea en formato electrónico o en papel impreso.

 

Cableado y terminaciones

El cableado puede estar formado por uno o dos pares de cables trenzados y apantallados, siendo el apantallamiento común para todos los cables.

Normalmente se emplea un par de cables para la línea de datos semidúplex y el segundo par para una de las siguientes aplicaciones:
bulletTransmisión del reloj en modo síncrono.
bulletConmutación de la línea en repetidores en modo autoreloj.
La impedancia característica de cada par de cables debe ser 120 ohmios. Las terminaciones serán resistencias de 120 ohmios para evitar el efecto de reflexión.

Conectores

El estándar especifica que los conectores deben ser del tipo sub-D9. El patillaje es el mismo que para un conector RS-232, pero sólo se emplean las señales RxD, TxD y masa.

Estructura

La estructura de la red BITBUS puede ser de varios tipos:
bulletBásica: estructura lógica del tipo maestro-esclavo.
bulletArbol: se emplean repetidores para largas distancias, se considera todo un único bus y se opera en modo autoreloj (debido a que los repetidores no transmiten la señal de reloj).
bulletArbol multinivel: se emplean uniones esclavo-maestro para formar sub-buses en varios niveles. Cada nivel puede operar a una velocidad propia y posee sus propias direcciones.
Ejemplo:


En la siguiente tabla se muestran las distintas posibilidades de nodos y repetidores:

Modo Nº máx. de nodos Nº máx. de repetidores Velocidad (bits/s) Distancia máx. (m)
Autoreloj 28 Ninguno 62,5 K 1200
Autoreloj 28 Ninguno 375 K 300
Autoreloj 250 10 62,5 K 1200 entre repetidores (4800 máx)
Autoreloj 250 2 375 K 300 entre repetidores (900 máx)
Síncrono 28 Ninguno 62,5 K o 375 K 300 o 1200 (según velocidad)

Tipos de nodos

Todo bus BITBUS se compone de elementos básicos denominados nodos. Un nodo es cualquier dispositivo que contenga al menos una interfaz con el bus. Los nodos posibles son:
bulletMaestro: permite controlar el acceso a un bus de cualquier nivel mediante un protocolo de comunicación del tipo pregunta-respuesta. En cada nivel sólo existe un maestro, aunque es posible la existencia de un maestro flotante (desaconsejado por el estándar).
bulletEsclavo: es un bloque controlado por el maestro, el cual sólo transmite si el maestro lo indica. El esclavo puede estar conectado a su vez con un maestro o un bloque de E/S..
bulletRepetidor: se encarga de regenerar la señal de datos del bus (no el reloj). Se emplea para aumentar la longitud del bus.
bulletExpansión E/S: es cualquier dispositivo de E/S que se quiera conectar al bus o a un esclavo.
Modos de sincronización

Existen dos modos de sincronización de bits:
bulletSíncrono: en este modo los datos se transmiten por un par trenzado y el reloj mediante otro par adicional. No se admiten repetidores y la estructura del bus es completamente lineal (sólo hay un nivel).
bulletAutoreloj: en este modo cada nodo genera su propio reloj, sincronizando con la línea de datos. Los datos se codifican en formato NRZI. Se permiten repetidores (obligatorio para más de 28 nodos). Las derivaciones a partir del repetidor requieren una línea de control además de la línea de datos, por lo que se emplean dos pares trenzados.
Codificación

Nivel de bits:
bulletModo síncrono: la codificación se realiza mediante el procedimiento NRZ (0 es nivel bajo y 1 es nivel alto).
bulletModo autoreloj: la codificación se realiza mediante el procedimiento NRZI (0 es cambio de nivel y 1 es un NO cambio de nivel).
A nivel de byte se emplea un juego reducido del protocolo SDLC de IBM. Este protocolo inserta un "0" después de cinco "1" consecutivos. Este sistema, combinado con la codificación de bit por NRZI, permite sincronizar el reloj en el receptor en modo autoreloj cada 6 bits como mínimo.

El controlador de Intel 8044 proporciona la inserción y eliminación de ceros del protocolo SDLC de forma automática.

Trama del mensaje

La comunicación entre nodos se realiza mediante mensajes. Dicha comunicación siempre se efectúa a petición del maestro y consta siempre de un mensaje de pregunta al esclavo y de un mensaje de respuesta del mismo.

La trama de mensaje se compone de entre 6 y 255 bytes, siendo su estructura la siguiente:

Flag (7Eh) Dirección esclavo Control Información (funciones/datos) CRC (16 bits) Flag (7Eh)

Flag

Longitud: 1 byte.

Todo mensaje debe estar delimitado mediante dos Flag al comienzo y al final del mismo. Se denomina Flag a un caracter de valor fijo e igual a 7E (hexadecimal).

Dirección esclavo

Longitud: 1 byte.

En todos los mensajes este campo indica la dirección del esclavo, entre 1 y 250. Las direcciones 0 y 251 a 255 están reservadas.

Control

Longitud: 1 byte

Este campo clasifica las tramas en tres tipos:
bulletControl.
bulletSupervisión.
bulletInformación.
De los tres tipos sólo la trama de información contiene un campo de información dentro del mensaje. En el resto todos los mensajes se componen de 6 bytes (no incluyen el campo de información).

A continuación se muestra una tabla con todas la funciones:

Función Tipo de trama Código (campo de control) Descripción
Modo de respuesta normal (SNRM) Control
M > E
93h Se ordena al esclavo pasar al estado de respuesta normal (NRM)
Desconexión (DISC) Control
M > E
53h Se ordena al esclavo pasar al estado de desconexión (NDM)
Reconocimiento no numerado (UA) Control
E > M
53h Respuesta del esclavo indicando que ha recibido una orden válida estando en estado de desconexión.
Trama rechazada (FRMR) Control
E > M
97h Respuesta del esclavo indicando que ha recibido una orden incorrecta estando en estado normal (NRM)
Consulta o test (polling) Supervisión
M > E
RRR10001 (binario) RRR=nº de secuencias anteriores recibidas como correctas
El maestro indica que el esclavo debe contestar como consulta o test, respondiendo con RR o RNR.
Receptor dispuesto (RR) Supervisión
E > M
RRR10001 (binario) RRR=nº de secuencias anteriores recibidas como correctas
Respuesta del esclavo indicando que la consulta es correcta y que no tiene datos que transmitir.
Receptor no dispuesto (RNR) Supervisión
E > M
RRR10101 (binario) RRR=nº de secuencias anteriores recibidas como correctas
Respuesta del esclavo indicando que la consulta es correcta pero que no puede aceptarla por tener el buffer lleno.
Información (I) Información
M > E
E > M
RRR1EEE0 (binario) RRR=nº de secuencias anteriores recibidas como correctas
EEE=nº de secuencias enviadas
Tramas normales de intercambio de información.
En cada trama se comprueba los números de secuencia para evitar duplicidad de mensajes y detectar la pérdida de tramas o errores de transmisión.

Información

Longitud: máximo 250 bytes

Este campo es de longitud variable y sólo existe en las tramas de información. En el siguiente epígrafe se explica con profundidad esta parte de la trama.

CRC

Longitud: 2 bytes

El CRC es un conjunto de 16 bits que sirven para detectar errores de transmisión. Los dos bytes se obtienen mediante un polinomio H4 del tipo (XE16 + XE12 + XE5 + 1).

Trama del campo de información

El campo de información de la trama obedece a un formato que especifica un mínimo de 7 bytes y un máximo de 250 (aunque se acepta como dispositivo estándar aquel que permite entre 7 y 20 bytes de longitud). Los bytes se corresponden con el siguiente formato:

Byte Descripción
1 Longitud de información
2 MT - SE - DE - TR - 4 bits de reserva
3 Dirección esclavo
4 Tarea fuente - Tarea destino
5 Tareas usuario / Errores
6 en adelante
(hasta byte 250)
Otros datos

(Mínimo 2 bytes)

 

Longitud de información

Indica la longitud del campo de información (entre 7 y 250).

Tipo de mensaje (MT)

0 = orden
1 = respuesta

Fuente de la orden (SE)

Indica si la fuente de una orden o el destino de una respuesta es:

0 = bloque maestro
1 = bloque de expasión E/S de éste

Destino de la orden (DE)

Indica si el destino de una orden o la fuente de una respuesta es:

0 = bloque esclavo
1 = bloque de expasión E/S de éste

Pista (TR)

0 = mensaje de maestro a esclavo
1 = respuesta de esclavo a maestro

4 bits reservados

Se reservan para futuras ampliaciones, deben ser puestos a 0 al enviar el mensaje.

Dirección esclavo

El valor debe estar comprendido entre 1 y 250 (como ya se ha comentado anteriormente).

Codificación de tareas

Este byte se compone de dos grupos de 4 bits:
bullettarea fuente (4 bits altos): las tareas 12 a 15 están libres y pueden ser definidas por el usuario. La tarea 0 está reservada a los servicios RAC (ver tabla adjunta) y las tareas 1 a 11 están reservadas por Intel.
bullettarea destino (4 bits altos): definibles por el usuario (salvo que la tarea fuente sea la 0).
La tarea 0 o RAC (Remote Acces and Control) proporciona una serie de funciones que todo dispositivo BITBUS debe soportar:

Código Tipo Tarea
00h Control Reset esclavo
01h Control Llamar tarea programada en un esclavo
02h Control Finalizar tarea
03h Control Obtener identificador/puntero de la función.
04h Control Habilitar/deshabilitar el resto de tareas (excepto RAC) en un esclavo.
05h Acceso Leer 1 byte de E/S
06h Acceso Escribir 1 byte de E/S
07h Acceso Actualizar líneas de E/S
08h Acceso Leer n bytes de la memoria del esclavo
09h Acceso Grabar n bytes en la memoria del esclavo
0Ah Acceso Operación O (OR) con byte de E/S
0Bh Acceso Operación Y (AND) con byte de E/S
0Ch Acceso Operación O-exclusiva (XOR) con byte de E/S
0Dh Acceso Leer registro de estado
0Eh Acceso Escribir registro de estado
0Fh a BFh - Funciones reservadas por INTEL
C0h a FFh - Funciones definibles por el usuario

Tareas usuario/Errores

Este byte, en los mensajes de órdenes de maestro a esclavo, contendrá los datos necesarios para las subfunciones definidas por el usuario. En los mensajes de respuesta contendrá los códigos de error.

La siguiente tabla muestra los códigos de error que contempla el estándar y señala aquellos definibles por el usuario:

Código Error
00h No hay error
01h a 7Fh Errores definidos por el usuario
80h No se encuantra la tarea destino
81h Imposible iniciar tarea debido a que se está realizando otra
82h Imposible crear tarea por falta de banco de registros
83h Solicitud de tarea ya activa
84h Imposible iniciar tarea por falta de memoria
85h a 90h Reservado por Intel
91h Error de protocolo
92h Reservado por Intel
93h El nodo de destino no responde
94h Reservado por Intel
95h Tareas deshabilitadas por RAC
96h Orden RAC desconocida
97h a FFh Reservado por Intel

Datos

Estos bytes están libres para uso general, pero al menos deben existir los bytes 6 y 7 en cualquier trama que tenga campo de información.

Registros de estado y contadores de secuencia

Todo esclavo posee un registro que indica su estado dentro de los dos posibles:
bulletModo de respuesta normal (NRM): en este modo el esclavo puede intercambiar mensajes con el maestro normalmente.
bulletModo de desconexión (NDM): en este modo el esclavo no puede intercambiar mensajes con el maestro. Un esclavo pasa a este modo tras un reset (inicio) del sistema o cuando detecta un error de sincronización o una trama que no puede interpretar. Para pasar al modo NRM se requiere una inicialización por parte del maestro.
Cada esclavo dispone, además, de un contador de intercambios que es comprobado con cada intercambio (excepto en tramas de control) y permite detectar errores de interpretación o pérdida de una trama.

El maestro mantiene una tabla con los registro de estado y los contadores de intercambio de todos los esclavos.

Bibliografía

Bitbus European Users Group web pages

ELZET80: BITBUS overview

"Autómatas programables"
Josep Balcells, José Luis Romeral
Serie Mundo Electrónico
Ed. Marcombo, Boixareu editores, Barcelona.

 

Original de http://eya.swin.net/

 

 
Recomendamos

 

¿Te gustaría ver aqui tu publicidad?

publicidad@automatas.org

 

 

 

 

Todos los nombres comerciales que se utilizan en esta web están o pueden estar registrados por sus respectivos fabricantes.

Principal ] Arriba ]

        2000, 2006            Última modificación: 02/03/2006