3.2 PROTOCOLOS DE COMUNICACIÓN 38
3.2.4 CARACTERÍSTICAS DE LA COMUNICACIÓN SERIAL ASÍNCRONA 40
MANUFACTURA INTEGRADA POR COMPUTADORA CON INTOUCH WONDERWARE ®
Página 40 de 143
3.2.3 TIPOS DE COMUNICACIONES SERIALES:
La Existen dos tipos de comunicaciones seriales: la síncrona y Asíncrona.
Por lo general los dispositivos que transmiten en forma síncrona son más caros que los asíncronos. Debido a que son más sofisticados en el hardware. A nivel mundial son más empleados los dispositivos asíncronos ya que facilitan mejor la comunicación.
COMUNICACIÓN SÍNCRONA.
En este tipo de transmisión, el envío de datos se realiza en un flujo continuo de bits.
Para lograr la sincronización de los dispositivos receptor y transmisor, ambos deben proveer una señal de reloj que se usa para establecer la velocidad de transmisión de datos. Esta misma señal de reloj habilita los dispositivos conectados a los módems para identificar los caracteres apropiados mientras estos son transmitidos o recibidos. Antes de iniciar la comunicación ambos dispositivos deben de establecer una sincronización entre ellos. Para esto, antes de enviar los datos se envían un grupo de caracteres especiales de sincronía. Una vez que se logra la sincronía, se pueden empezar a transmitir datos. COMUNICACIÓN ASÍNCRONA La comunicación asíncrona, conocida como «async», es probablemente la forma de conexión más extendida. Esto es debido a que async se desarrolló para utilizar las líneas telefónicas. Cada carácter (letra, número o símbolo) se introduce en una cadena de bits. Cada una de estas cadenas se separa del resto mediante un bit de inicio de carácter y un bit de final de carácter. Los dispositivos emisor y receptor deben estar de acuerdo en la secuencia de bit inicial y final. El equipo destino utiliza los marcadores de bit inicial y final para planificar sus funciones relativas al ritmo de recepción, de forma que esté preparado para recibir el siguiente byte de datos.
En este tipo de comunicación no existe un dispositivo reloj o método que permita coordinar la transmisión entre el emisor y el receptor. El equipo emisor sólo envía datos y el equipo receptor simplemente los recibe. Lo que sigue en el proceso es que el equipo receptor los comprueba para asegurarse de que los datos recibidos coinciden con los enviados.
Aproximadamente una cuarta parte del tráfico de datos en una comunicación asíncrona está dedicada al control y a la coordinación del tráfico de datos.
3.2.4 CARACTERÍSTICAS DE LA COMUNICACIÓN SERIAL ASÍNCRONA
El puerto serie se usa para convertir cada byte de una secuencia de unos y ceros, así como convertir un corrientes de unos y ceros a bytes. El puerto serie contiene un chip electrónico
llamado Receptor/Transmisor Asíncrono Universal (UART) quien realmente hace la conversión.4
Cuando se transmite un byte, el UART (puerto serie) primero envía un bit de inicio (0), seguido por los datos generales (8 bits, pero puede ser 5, 6, 7, u 8 bits) y continuado por uno o dos bits de parada (1). La secuencia se repite para cada byte enviado. La figura 3.2 muestra un diagrama de una transmisión de un byte lo que se vería así.
Figura. 3.2. Transmisión serial asíncrona de un byte
Como puede observarse en la figura para cada bit existe una duración de tiempo. En otras palabras, el tiempo en que la señal debe permanecer en un estado en particular para definirse como bit es dependiente de la velocidad de transmisión.
La velocidad de transmisión es el número de veces que la señal puede cambiar los estados en un segundo. Por lo tanto, si la línea está funcionando a 9600 baudios, la línea puede cambiar estados de 9.600 veces por segundo. Esto significa que cada bit tiene una duración de 1/9600 de un segundo o aproximadamente 100 microsegundos.
Cuando se transmite un carácter hay otras características distintas de la velocidad de transmisión que deben ser configuradas. Estas características definen la interpretación de toda la corriente de datos.
La primera característica es la longitud del byte que será transmitido. Esta longitud en general puede ser de 5 a 8 bits.
La segunda característica es la paridad. La característica de paridad puede ser par, impar, marca, espacio o ninguno.
Si la paridad es par, el último bit de datos transmitido será un 1 lógico si los datos transmitidos tienen una cantidad par de bits 0. Si la paridad impar, el último bit de datos transmitido será un 1 lógico si los datos transmitidos tienen una cantidad impar de 0 bits. Si la paridad es “marca”, entonces el último bit de datos transmitido siempre será un 1 lógico. Si la paridad es “espacio”, entonces el último bit de datos transmitido siempre será un 0 lógico. Si no existe paridad, entonces no hay bit de paridad transmitido.
La tercera característica es la cantidad de bits de parada. Este valor es, en general, 1 o 2. Suponga que se quiere enviar la letra 'A' a través del puerto serie. La representación binaria de 'A' es 01000001. Recordando que los bits se transmiten desde el bit menos significativo
4
AXELSON, Janet Louise. Serial Port Complete: Programming and Circuits for RS‐232 and RS‐485. lakeview research llc, USA 1998, p. 26
IMPLEMENTACIÓN DE UNA NUEVA INTERFAZ DE MONITOREO Y CONTROL PARA EL SISTEMA DE
MANUFACTURA INTEGRADA POR COMPUTADORA CON INTOUCH WONDERWARE ®
Página 42 de 143 (LSB) al bit más significativo (MSB), la transmisión de bits sería el siguiente para las características de la línea 8 bits, sin paridad, 1 bit de parada, 9600 baudios.
LSB (0 1 0 0 0 0 0 1 0 1) MSB
Para calcular la tasa real de transferencia de bytes simplemente se necesita dividir la velocidad de transmisión por el número de bits que deben ser transferidos para cada byte de datos. En el caso del ejemplo anterior, cada carácter requiere de 10 bits a transmitir para cada carácter. Como tal, a 9600 baudios, hasta 960 bytes se pueden transferir en un segundo.
La comunicación serie puede ser half duplex o full duplex. La comunicación full duplex (dúplex completa) significa que un dispositivo puede recibir y transmitir datos al mismo tiempo.
Half Duplex (Semidúplex) significa que el dispositivo no puede enviar y recibir al mismo tiempo. Se puede hacer ambas cosas, pero no al mismo tiempo. La comunicación Half Duplex está casi obsoleta a excepción de un pequeño conjunto centrado de aplicaciones5.
3.3 PROTOCOLO DE COMUNICACIÓN MODBUS
El Modbus tiene sus inicios a finales de los 70’s. Es en 1979 cuando el fabricante de PLC’s Modicon (ahora parte de Schneider Electrics’s Telemecanique) publicó la interface de comunicación Modbus para una red multidrop basada en una arquitectura maestro/cliente. La comunicación entre nodos de Modbus era lograda con mensajes, lo que abrió un estándar que describía la estructura de mensajes. La capa física para la interfaz Modbus era libre para escoger. La interfaz original de Modbus corría en RS‐232 pero más tarde las implementaciones de Modbus usaban RS‐485 porque permitía mayores distancias, más altas velocidades y la posibilidad de una verdadera red multi‐drop.
En un corto tiempo, cientos de fabricantes implementaron el sistema de mensajes Modbus en sus dispositivos convirtiéndolo en el estándar por defecto para redes de comunicación industrial.
Modbus RTU es un protocolo abierto, serial (RS‐232 o RS‐485) basado en la arquitectura maestro/esclavo o cliente/servidor. Es popular, bien establecido, relativamente fácil de implementar y confiable. Puesto que es tan fácil de implementar, Modbus RTU ha ganado presencia en el mercado siempre que haya la necesidad de comunicarse con otros dispositivos en Sistemas de automatización industrial (IAS) o Sistemas de gestión de edificios (BMS). De hecho, Modbus RTU es probablemente el protocolo de automatización más aplicado de todos.
5 TOMASÍ,
Wayne. Trad. MATA, Gloria y GONZÁLEZ, Virgilio. Sistemas de comunicaciones electrónicas. Pearson Educación, Mexico 2003, p. 10
Los controladores de Modbus utilizan un método de comunicación maestro / esclavo. Esto significa que sólo un dispositivo (es decir, el maestro) puede iniciar la comunicación. Los otros dispositivos esclavos responden a los mensajes de comunicación del maestro, o bien enviar de vuelta los datos solicitados o realizar la operación solicitada. El maestro puede hablar con las unidades de esclavos individuales o todas las unidades de esclavos a la vez (mensajes de difusión). Independientemente del "modo" de la transmisión (es decir, ASCII o RTU) la comunicación y los contenidos del ciclo siguen siendo el mismo. La estructura del mensaje es el siguiente: Dirección del dispositivo Código de la Función 8‐bits para bytes de datos Control de Errores. El maestro envía lo anterior, el esclavo recibe y responde de nuevo en el mismo formato. Es importante señalar que los mensajes tienen todos unos puntos conocidos de inicio y finalización. Esto permite que los dispositivos de recepción, para saber que un mensaje ha llegado, averigüen si es para ellos o no y entonces así poder saber que el mensaje ha sido recibido por completo.
3.3.1 MODOS ASCII Y RTU
En modos ASCII / RTU (Modbus tradicional) el usuario elige cualquiera de los modos con los parámetros del puerto serie (es decir, tasa de baudios, paridad, etc.) Estos parámetros deben ser los mismos para todos los dispositivos de la red Modbus. Cinco cables se utiliza para la comunicación (# 18 AWG de par trenzado en un chaleco blindado se recomienda). La distancia de transmisión máxima es de 350m (1137ft).
Modo ASCII: (Código Estándar Americano para Intercambio de Información).
Este modo tiene una ventaja de permitir hasta intervalos de tiempo de 1 segundo que se produzca entre las transmisiones de caracteres sin generar un error. Es más útil cuando la comunicación es lenta. Dos caracteres ASCII se envían como datos de 8 bits. Un bit de inicio y uno de parada también se envían con cada mensaje creando un total de 10 bits. 7 bits de datos comprenden el mensaje y 1 bit se añade ya sea para la paridad par o impar. Si no se utiliza paridad entonces el bit de parada adicional se añade para mantener una transmisión total de 10 bits. También utiliza LRC (Longitudinal Redundancy Check) para asegurarse de que lo que enviamos es lo que hemos recibido.
Modo RTU (Remote Terminal Unit).
Este modo tiene una ventaja de enviar más datos en la misma cantidad de tiempo que en modo ASCII. Cada mensaje debe ser transmitido como un flujo continuo de datos, sin embargo, cada mensaje de 8‐bits contendrá dos de 4 bits para caracteres hexadecimales, enviando así la misma cantidad de información en menos espacio. Debido a que utiliza un extra de datos de bits (8 vs 7) se envía 11 bits en total. 8 bits de datos se utilizan y 1 bit se utiliza para cualquiera de paridad par o impar. Si no se utiliza paridad, entonces un bit de parada adicional se añade.
IMPLEMENTACIÓN DE UNA NUEVA INTERFAZ DE MONITOREO Y CONTROL PARA EL SISTEMA DE
MANUFACTURA INTEGRADA POR COMPUTADORA CON INTOUCH WONDERWARE ®
Página 44 de 143 Es importante señalar que ambos modos ASCII y RTU utilizan una configuración maestro/esclavo. Esto significa que sólo un único dispositivo puede emitir comandos. Los otros dispositivos esclavos sólo pueden responder. El maestro puede enviar mensajes a esclavos individuales o de difusión a todos los dispositivos. Si es necesario un enlace punto a punto (P2P), una actualización a un protocolo mas reciente seria requerido, al protocolo Modbus Plus.
3.3.2 MODBUS PLUS
En este tipo de red, cualquier dispositivo puede iniciar la comunicación con cualquier otro dispositivo en la red. Esto añade muchas ventajas en la flexibilidad de la comunicación. Sin embargo, a pesar de que es punto a punto, en el nivel de mensaje es de maestro / esclavo. En otras palabras, si un dispositivo le pide a otro una pregunta, éste actúa como maestro y espera una respuesta desde el otro dispositivo que está actuando como un esclavo. Modbus Plus también permite interactuar con hasta 32 dispositivos a una distancia total de 1,500 metros (4,875ft). 3 repetidores se pueden utilizar para conseguir una distancia total de 6,000 metros (19,500 ft) y 64 dispositivos.
3.3.3 ESTRUCTURA DE LOS MENSAJES MODBUS
La interfaz de comunicación Modbus está construida alrededor de los mensajes. El formato de estos mensajes Modbus es independiente del tipo de interfaz físico utilizado. El mismo protocolo se puede utilizar independientemente del tipo de conexión.
Debido a esto, Modbus ofrece la posibilidad de actualizar fácilmente la estructura del hardware de una red industrial, sin la necesidad de grandes cambios en el software. Un dispositivo también se puede comunicar con varios nodos Modbus a la vez, incluso si están conectados con diferentes tipos de interfaz, sin la necesidad de utilizar un protocolo diferente para cada conexión.
En las interfaces simples como RS485 o RS232, los mensajes Modbus son enviados en forma simple sobre la red. En este caso, la red está dedicada a Modbus. Al utilizar los sistemas de redes más versátiles, como TCP / IP sobre Ethernet, los mensajes de Modbus están incorporados en los paquetes con el formato necesario para la interfaz física. En ese caso Modbus y otros tipos de conexiones pueden coexistir en la misma interfaz física al mismo tiempo. Aunque la principal estructura de Modbus mensaje es punto a punto, Modbus es capaz de funcionar tanto en punto a punto y redes multipunto.
Cada mensaje Modbus tiene la misma estructura. Cuatro elementos básicos están presentes en cada mensaje. La secuencia de estos elementos es la misma para todos los mensajes, para que sea fácil de analizar el contenido del mensaje Modbus. Una conversación siempre se inicia por un maestro en la red Modbus. Un maestro Modbus envía un mensaje y, dependiendo de los contenidos del mensaje, un esclavo toma acción y responde a él. No
puede haber más maestros en una red Modbus. Abordar en el encabezado del mensaje se utiliza para definir el dispositivo que debe responder a un mensaje. Todos los demás nodos de la red Modbus deben ignorar el mensaje si el campo de la dirección no coincide con su propia dirección.
3.3.4 DIRECCIONAMIENTO MODBUS
La primera información en cada mensaje Modbus es la dirección del receptor. Este parámetro contiene un byte de información. En Modbus / ASCII se codifica con dos caracteres hexadecimales, en Modbus / RTU se utiliza un byte. Las direcciones válidas están en el rango 0 a 247. Los valores 1 a 247 se asignan a los distintos dispositivos de Modbus y 0 se utiliza como una dirección de difusión. Los mensajes enviados a la dirección de este último serán aceptados por todos los esclavos. Un esclavo siempre responde a un mensaje Modbus. Al responder utiliza la misma dirección que el maestro envió en la solicitud. De esta manera, el maestro puede ver que el dispositivo está respondiendo realmente a la solicitud. Dentro de un dispositivo Modbus, los valores de registros, entradas y salidas se le asigna un número entre 1 y 10000. La siguiente tabla muestra los rangos de direcciones para las bobinas, entradas y valores de registros.
COD. RANGO DE
DIRECCIONES DESCRIPTION DESCRIPCIÓN PROPIEDADES
01 1 – 10000 Read Coil Status Salidas Digitales Lectura/escritura
02 10001 – 20000 Read Input Status Entradas Digitales Escritura
03 30001 – 40000 Input Holding Register Registros de Salida Escritura
04 40001 – 50000 Read Holding Register Registros de Entrada. Lectura/escritura
TABLA 3.1. Rangos de Direcciones Modbus
3.4 EL MEDIO DE COMUNICACIÓN
El medio físico entre dispositivos consiste de cables o algún otro medio que lleve información desde un dispositivo a otro y las interfaces que conectan el medio de comunicación a los dispositivos.
Las características especificas de un medio ayudan a determinar que interface usar para conectar los nodos.
La mayoría de los medios usan cables de cobre para conectar dispositivos a menudo cables de de par cruzado de bajo costo. Puede usarse con un cable simple de datos y un regreso por tierra o un par de cables para señales distintas.
IMPLEMENTACIÓN DE UNA NUEVA INTERFAZ DE MONITOREO Y CONTROL PARA EL SISTEMA DE
MANUFACTURA INTEGRADA POR COMPUTADORA CON INTOUCH WONDERWARE ®
Página 46 de 143 Otras opciones de medios incluyen cable de fibra óptica, vínculos inalámbricos o wireless
como datos enviados por frecuencia electromagnética (radio) señales infrarrojas o bluetooth.
Aun en la actualidad la mayoría de los dispositivos usan un par de estándares muy populares: El RS‐232 o el RS‐485.
3.5 RS‐232
RS‐232 es el nombre tradicional de una serie de normas para la serie binaria de una sola terminal de datos y señales de control de conexión entre un DTE (Equipo terminal de datos) y un archivo. DCE (Equipo de terminación de datos)
3.5.1 HISTORIA
A principios de 1960, un comité de normas, hoy conocida como la Asociación de Industrias Electrónicas (EIA), desarrolló un estándar de interfaz común para los datos de los equipos de comunicaciones. En ese momento, las comunicaciones de datos estaban pensadas para el intercambio de datos digitales entre un ordenador central y una terminal de ordenador remoto, o posiblemente entre dos terminales sin el uso de un ordenador. Estos dispositivos fueron unidos por líneas telefónicas de voz, y en consecuencia requerían de un módem en cada extremo para la traducción de la señal.
Fue pensado entonces que se necesitaba una norma, en primer lugar para garantizar una comunicación fiable, y en segundo lugar para permitir la interconexión de los equipos producidos por diferentes fabricantes, fomentando así las ventajas de la producción en masa y la competencia.
A partir de estas ideas, el estándar RS232 nació. Especificó tensiones de señal, el momento de la señal, la función de la señal, un protocolo para el intercambio de información y conectores mecánicos.
En los 40 años desde que se elaboró esta norma, la Electronic Industries Association publicó tres modificaciones, la más reciente siendo el estándar EIA232F introducido en 1997. Además de cambiar el nombre de RS232 a EIA232, algunas líneas de señal fueron renombradas y varios otros nuevos fueron definidos, incluyendo un conductor de protección. 3.5.2 NORMALIZACIÓN DE PINES En el estándar completo EIA232, el equipo en el extremo lejano de la conexión se denomina el dispositivo DTE (equipo terminal de datos, por lo general un ordenador o terminal), tiene
un macho conector DB25, y utiliza 22 de los 25 pines disponibles de señales o de tierra (figura 3.3). El equipo en el extremo cercano de la conexión se llama el dispositivo DCE (equipo de terminación de datos, generalmente un módem), tiene un conector hembra DB25, y utiliza los mismos 22 pines disponibles para las señales y tierra.
Figura. 3.3 Conexión de un equipo DTE y un DCE según RS‐232
El cable que une DTE y DCE es un cable paralelo directo sin cruzamientos o puentes en las planchas de los conectores. Si todos los dispositivos siguen exactamente esta norma, todos los cables serán idénticos y no habría ninguna posibilidad de que algún cable incorrectamente conectado pueda ser utilizado. Muchas de las 22 líneas de señal en la norma EIA232 pertenecen a conexiones en las que el dispositivo DCE es un módem por lo que sólo se utilizan cuando el protocolo de software los emplea. Para cualquier dispositivo DCE que no es un módem, o cuando dos dispositivos DTE están directamente vinculados, solo un pequeño número de líneas de señal son necesarias. Esto da cabida a que pueda tenerse una configuración entre DCE y un DTE con un cable de solo 9 pines. Las figuras 3.4 a y b muestran los tipos de orientación y conector para dispositivos DTE y DCE tanto en arreglo para conectores de 25 puntos como para arreglos de 9 pines. Las flechas de cada punto indican la dirección de envío o recepción de datos desde el dispositivo.
IMPLEMENTACIÓN DE UNA NUEVA INTERFAZ DE MONITOREO Y CONTROL PARA EL SISTEMA DE
MANUFACTURA INTEGRADA POR COMPUTADORA CON INTOUCH WONDERWARE ®
Página 48 de 143
Figura 3.4. b. Arreglo de conectores DB25 y DB9 de un dispositivo DCE. Puede notarse en esta figura que hay un canal secundario que incluye un conjunto duplicado de las señales de control de flujo. Este canal secundario esta proporcionado para la gestión de un módem remoto, lo que permite cambiar tasas de baudios sobre la marcha, la solicitud de retransmisión si un error de paridad es detectado, y otras funciones de control. Además,