IMPLEMENTACION DE UNA RED MODBUS/TCP

Tamaño: px
Comenzar la demostración a partir de la página:

Download "IMPLEMENTACION DE UNA RED MODBUS/TCP"

Transcripción

1 IMPLEMENTACION DE UNA RED MODBUS/TCP ANDRES FELIPE RUIZ OLAYA UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PROGRAMA DE INGENIERÍA ELECTRÓNICA SANTIAGO DE CALI 2002

2 IMPLEMENTACION DE UNA RED MODBUS/TCP ANDRES FELIPE RUIZ OLAYA Trabajo de grado para optar por el título de INGENIERO ELECTRÓNICO Directores Ing. ASFUR BARANDICA LOPEZ Ing. FABIO GERMAN GUERRERO, M. Sc. UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PROGRAMA DE INGENIERÍA ELECTRÓNICA SANTIAGO DE CALI 2002

3 RESUMEN En este proyecto se desarrolla e implementa una red de instrumentación y control industrial con conectividad TCP/IP (como por ejemplo Internet), capaz de ser supervisada y controlada remotamente a través del protocolo Modbus/TCP usando el sistema embebido TINI de Dallas Semiconductor. Además se desarrolla una interfaz de usuario gráfica para acceso desde Internet vía Web.

4 Nota de Aprobación El trabajo de grado titulado IMPLEMENTACIÓN DE UNA RED MODBUS/TCP, presentado por el estudiante ANDRES FELIPE RUIZ OLAYA, para optar al título de Ingeniero Electrónico fue revisado por el jurado y calificado como: Aprobado. Ing. ASFUR BARANDICA LOPEZ Director Ing. FABIO GERMAN GUERRERO Director Ing. EDINSON FRANCO Jurado Ing. CARLOS RAFAEL PINEDO Jurado

5 AGRADECIMIENTOS El autor expresa sus agradecimientos a: Los directores de tesis: Ing. Asfur Barandica e Ing. Fabio German Guerrero por su grandísima colaboración en esta etapa final de la carrera y porque de ellos aprendí mucho. A todas aquellas personas que me acompañaron a lo largo de la carrera y en la culminación de este trabajo de grado. A mis compañeros, profesores y en general a la comunidad universitaria de Univalle por la experiencia vivida en esta institución.

6 CONTENIDO Pag. 0. INTRODUCCIÓN 1 1. EL PROTOCOLO MODBUS/TCP DESCRIPCIÓN Orientado a conexión Codificación de datos Interpretación del modelo de datos Filosofía de longitud implicada VENTAJAS DEL PROTOCOLO MODBUS/TCP ESTRUCTURA DEL PROTOCOLO ESQUEMA DE ENCAPSULACION CONFORMACION DE CLASES Comandos Clase Comandos Clase Comandos Clase Comandos específicos de la máquina/red/vendedor DESEMPEÑO REQUERIDO Y ESPERADO GUIA DE IMPLEMENTACION DEL CLIENTE Y SERVIDOR Diseño del Cliente Diseño del Servidor 24

7 2. DESCRIPCION DEL HARDWARE LA TARJETA TINI Descripción Características Aplicaciones Hardware de la TINI Mapa de memoria del sistema Sistema I/O integrado Software de la TINI Sistema operativo de la TINI El Socket E LA TARJETA CPU Diagrama de bloques Características Programación de la CPU EL PLC DL05 DE KOYO Diagrama de bloques Características Modos de operación Mapa de memoria Comunicación Programación CONTROLADORES 452 PLUS Definición de caracteres especiales Protocolo de Comunicación 50

8 Nivel 1 El Wrapping Nivel 2 Contenido del mensaje Contenido de posiciones análogas del controlador 452 Plus DESCRIPCIÓN DEL SOFTWARE DESARROLLO DE UN SERVIDOR MODBUS/TCP Estructura de Clases Descripción de las Clases Ejemplo de código fuente DESARROLLO DE UN SERVIDOR WEB DESARROLLO DE UNA INTERFAZ PARA ACCESO WEB El applet como un cliente Modbus/TCP Sistema de acceso Panel de Control IMPLEMENTACIÓN DE UN ESCLAVO MODBUS EN LA CPU Algoritmo de la aplicación para la CPU La UART implementada por software LA CPU08 MAESTRO DE UNA RED DE CONTROLADORES Respuestas del controlador 452 Plus a solicitudes Ejemplos de mensajes de lectura y escritura CONFIGURACION DEL PLC DL05 COMO ESCLAVO MODBUS CONFIGURACION DE LOS CONTROLADORES 452 PLUS Conexiones físicas CONCLUSIONES 89 BIBLIOGRAFÍA 93 ANEXO 95

9 LISTA DE TABLAS Pag. Tabla 1.1 Estructura del prefijo de Modbus/TCP 15 Tabla 1.2 Estructura de mensajes en Modbus/TCP 16 Tabla 1.3 Comandos de la Clase 0 18 Tabla 1.4 Comandos de la Clase 1 19 Tabla 1.5 Comandos Clase 2 19 Tabla 1.6 Funciones dependientes de la máquina 20 Tabla 2.1 Modos de operación del PLC DL05 46 Tabla 2.2 Tipos de memoria del PLC DL05 47 Tabla 2.3 Características del puerto 1 del PLC DL05 48 Tabla 2.4 Características del puerto 2 del PLC DL05 48 Tabla 2.5 Caracteres especiales ASCII del controlador 50 Tabla 2.6 Tipos de mensaje del controlador 452 Plus 52 Tabla 2.7 Posiciones de memoria del controlador 452 Plus 52 Tabla 3.1 Pines utilizados por la tarjeta CPU08 77 Tabla 3.2 Caracteres de error del controlador 452 Plus 81 Tabla 3.3 Ejemplo de trama de lectura del controlador 452 Plus 83 Tabla 3.4 Ejemplo de trama de escritura del controlador 452 Plus 84 Tabla 3.5 Variables de configuración del PLC DL05 84 Tabla 3.6 Funciones MODBUS soportadas por el PLC DL05 86 Tabla 3.7 Configuración de los controladores 452 Plus 87 Tabla 3.8 Interfaz serial del controlador 452 Plus 88

10 LISTA DE FIGURAS Pag. Figura 1.1. Diagrama de la red implementada 4 Figura 1.2 Esquema de encapsulación en Modbus/TCP 17 Figura 2.1 La TINI como un conversor de protocolos 31 Figura 2.2 Esquema del hardware de la TINI 32 Figura 2.3 Mapa de memoria de la TINI 34 Figura 2.4 Esquema del software de la TINI 38 Figura 2.5 Diagrama de bloques de la CPU08 42 Figura 2.6 Diagrama de bloques del PLC DL05 44 Figura 3.1 Modelo cliente / servidor 54 Figura 3.2 Estructura de clases 55 Figura 3.3 Estructura de la interface de transporte 56 Figura 3.3 Programa en Java de un servidor Modbus/TCP 60 Figura 3.4 Ejemplo de código para un servidor Web 64 Figura 3.5 Archivo HTML que carga la applet en un navegador Web 65 Figura 3.6 Código en Java para un cliente Modbus/TCP 69 Figura 3.7 Interfaz del Sistema de Acceso 71 Figura 3.8 Vista del panel de control 72 Figura 3.9 Algoritmo para el programa de la CPU08 75 Figura 3.10 Lectura de bits en la UART implementada 80 Figura 3.11 Configuración del puerto 2 en DirectSOFT 85

11 UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA Programa académico de pregrado de INGENIERÍA ELECTRÓNICA Título: Implementación de una red Modbus/TCP Autor: Andrés Felipe Ruíz Olaya Directores: Ing. Fabio Germán Guerrero, M. Sc. Ing. Asfur Barandica López Grupo de investigación: Percepción y Sistemas Inteligentes. Area de investigación: Comunicaciones Industriales. Descriptores: Modbus, Modbus/TCP, Ethernet, TCP/IP, Java, Interfaz Web, Instrumentación, comunicaciones.

12 1 0. INTRODUCCION En el área de las comunicaciones en entornos industriales, la estandarización de protocolos es un tema en permanente discusión, donde intervienen problemas técnicos y comerciales. Cada protocolo está optimizado para diferentes niveles de automatización y en consecuencia responden al interés de diferentes proveedores. Por ejemplo Fieldbus Foundation, Profibus y HART, están diseñados para instrumentación de control de procesos. En cambio DeviceNet y SDC están optimizados para los mercados de los dispositivos discretos (on-off) de detectores, actuadores e interruptores, donde el tiempo de respuesta y repetibilidad son factores críticos 1. Cada protocolo tiene un rango de aplicación; fuera del mismo disminuye el rendimiento y aumenta la relación costo/prestación. 1 Tomado de Comunicaciones en entornos industriales, por Mario Distéfano. Visitar la dirección

13 2 Debido a la no aceptación de un protocolo estándar único en las comunicaciones industriales, los múltiples buses de campo han perdido terreno ante la incursión de tecnologías de comunicación emergentes como Ethernet en este área. La aceptación mundial de Ethernet en los entornos administrativos y de oficina ha generado el deseo de expandir su aplicación a la planta. Ethernet se está moviendo rápidamente hacia el mercado de los sistemas de control de procesos y la automatización, para la interconexión a nivel de campo de sensores y actuadores, de esta forma reemplazando a los buses de campo en las industrias. Es posible que con los avances de Ethernet y la tecnología emergente Fast Ethernet se pueda aplicar también al manejo de aplicaciones críticas de control 2. Los buses de campo son una forma especial de LAN dedicada a aplicaciones de adquisición de datos y comando de elementos finales de control sobre la planta. Los buses de campo típicamente operan sobre cables de par trenzado de bajo costo. A diferencia de Ethernet, donde no se puede garantizar determinismo sobre la llegada de paquetes, los diseñadores optimizan los buses de campo para el intercambio de mensajes cortos de comando y de control con altísima seguridad y temporización estricta. 2 Tomado de Moving Ethernet to plant floors, por Sam Malizia. Visitar la dirección

14 3 En las aplicaciones industriales, Ethernet es usado en conjunto con la pila de protocolos TCP/IP universalmente aceptada. TCP/IP es el conjunto de protocolos usado en Internet, suministrando un mecanismo de transporte de datos confiable entre máquinas y permitiendo interoperabilidad entre diversas plataformas. Usar TCP/IP sobre Ethernet a nivel de campo en la industria permite tener una verdadera integración con la Intranet corporativa, y de esta forma se ejerce un estricto control sobre la producción 3. En este proyecto se pretende utilizar un estándar de instrumentación sobre Ethernet, Modbus/TCP 4, para realizar la implementación de una red de control industrial capaz de ser accedida a través de lnternet ó la Intranet local, usando los protocolos TCP/IP. El protocolo Modbus/TCP es muy difundido por ser abierto, lo cual le permite la comunicación con gran diversidad de elementos industriales; es por eso que es de gran importancia trabajar sobre él, y además debido a que en nuestro medio no se encuentran desarrollos concernientes a este tema. Arquitectura de la solución El siguiente diagrama ilustra la red Modbus/TCP implementada, al igual que los enlaces y la interacción que debe existir entre los diversos elementos que componen el sistema : 3 4 Tomado de El protocolo Modbus/TCP fue introducido por Schneider Automation. La especificación se encuentra disponible en

15 Figura 1.1 Diagrama de la red implementada 4

16 5 El sistema planteado se centra en torno a la tarjeta TINI 5 (Tiny InterNet Interface) la cual provee el acceso Ethernet. Esta tarjeta es programable en Java y posee un sistema operativo propio, el cual contiene la pila de protocolos TCP/IP para el desarrollo de aplicaciones de red. Objetivo general Recopilar información y adquirir el conocimiento necesario para implementar, configurar, mantener y evaluar una red Modbus/TCP. Objetivos específicos Implementar en la tarjeta TINI un servidor Modbus/TCP, el cual permita a través de este protocolo supervisar y comandar elementos finales de control. Implementar en la tarjeta TINI un servidor Web, el cual permita controlar y monitorear los elementos que conforman la red. Programar la tarjeta CPU08 6, para que pueda comportarse como un esclavo MODBUS, y a la vez como un maestro de una red RS-485 de controladores. 5 Para más información de esta tarjeta, consultar la sección Para más información de esta tarjeta, consultar la sección 2.2.

17 6 Implementar un esclavo MODBUS en la tarjeta TINI. Desarrollar una interfaz de usuario gráfica vía Web, desde la cual sea posible realizar operaciones remotamente de supervisión y control sobre los distintos elementos de la red Modbus/TCP. Integrar y colocar en funcionamiento los distintos elementos que conforman la red a implementar. Además debe demostrarse la interoperabilidad de la red probándola con software de diferentes vendedores. El presente trabajo se encuentra dividido en diversas partes que abarcan las etapas en las cuales se desarrolló el proyecto. En la primera parte El protocolo Modbus/TCP, se expone en profundidad dicho estándar y se detalla la manera en que se lleva a cabo su implementación. Aquí también se presentan las ventajas del protocolo y las características que proporciona para ser usado en comunicaciones industriales sobre Ethernet. En la segunda parte Descripción del hardware, se presenta en detalle las características de cada uno de los elementos que conforman la red Modbus/TCP implementada y el papel que desempeñan en el sistema completo. Se realiza una

18 7 exposición exhaustiva de la tarjeta TINI, ya que en ella reside gran parte de la funcionalidad que proporciona la red Modbus/TCP. En la tercera parte Descripción del software, se describe la forma en que se desarrollaron los programas y aplicaciones que corren sobre los diversos elementos de la red, además se explica la funcionalidad que brindan y la interacción entre los diversos componentes de software. Finalmente, en la ultima parte se exponen los resultados y conclusiones del proyecto y el trabajo futuro para con la red implementada.

19 8 1. EL PROTOCOLO MODBUS/TCP DESCRIPCION Modbus/TCP es un protocolo de comunicación diseñado para permitir a equipo industrial tal como Controladores Lógicos Programables (PLCs), computadores, motores, sensores, y otros tipos de dispositivos físicos de entrada/salida comunicarse sobre una red. Modbus/TCP fue introducido por Schneider Automation como una variante de la familia MODBUS ampliamente usada, los protocolos de comunicación simples y abiertos, destinados para la supervisión y el control de equipo de automatización. Específicamente, el protocolo cubre el uso de mensajes MODBUS en un entorno Intranet o Internet usando los protocolos TCP/IP 8. 7 Parte de esta sección es tomado de la especificación en 8 Tomado de

20 9 La especificación Modbus/TCP define un estándar interoperable en el campo de la automatización industrial, el cual es simple de implementar para cualquier dispositivo que soporta sockets 9 TCP/IP Orientado a conexión. MODBUS es un protocolo de comunicación sin estado, es decir, cada solicitud del maestro es tratada independientemente por el esclavo y es considerada una nueva solicitud no relacionada a las anteriores, de esta forma haciendo a las transacciones de datos altamente resistentes a rupturas debido a ruido y además requiriendo mínima información de recuperación para ser mantenida la transacción en cualquiera de los dos terminales. Las operaciones de programación de otro lado, esperan una comunicación orientada a la conexión, es decir, las máquinas de origen y de destino establecen un canal de comunicaciones antes de transferir datos. Este tipo de operaciones son implementadas de diferentes maneras por las diversas variantes de MODBUS (Modbus RTU, Modbus ASCII, Modbus PLUS). 9 Un socket es una abstracción proporcionada por el sistema operativo que permite a un programa de aplicación accesar los protocolos TCP/IP.

21 10 Modbus/TCP maneja ambas situaciones. Una conexión es inicialmente establecida en esta capa de protocolo (nivel de aplicación), y esa conexión única puede llevar múltiples transacciones independientes. En adición, TCP permite establecer un gran número de conexiones concurrentes, de este modo el cliente (maestro) puede ya sea re-usar una conexión previamente establecida ó crear una nueva, en el momento de realizar una transacción de datos. Es interesante analizar porqué el protocolo TCP orientado a la conexión es usado en lugar del protocolo UDP 10 orientado a datagramas. La principal razón es mantener control de una transacción individual encerrándola en una conexión la cual pueda ser identificada, supervisada, y cancelada sin requerir acción específica de parte de las aplicaciones cliente y servidor. Esto da al mecanismo una amplia tolerancia a cambios del desempeño de la red, y permite que herramientas de seguridad tal como firewalls 11 y proxies puedan ser fácilmente añadidos. 10 El UDP (User Datagram Protocol) proporciona un servicio de entrega sin conexión, utilizando el IP para transportar mensajes entre máquinas. Emplea el IP para llevar mensajes, pero agrega la capacidad para distinguir entre varios destinos dentro de una máquina host. 11 Un firewall (muro de seguridad) se le dice a una configuración de ruteadores y redes colocados entre la organización interna de una red y su conexión con redes externas a fin de dar seguridad.

22 Codificación de datos. MODBUS usa una representación big-endian 12 para direcciones y datos. Esto significa que cuando una cantidad numérica más grande que un byte es transmitido, el byte más significante es enviado primero. Así, por ejemplo: 0x1234 será 0x12 0x Interpretación del modelo de datos. MODBUS basa su modelo de datos sobre una serie de tablas las cuales tienen características distintivas. Las cuatro principales son: Entradas discretas. Bit simple, suministrado por un sistema I/O, de solo lectura. Salidas discretas. Bit simple, alterable por un programa de aplicación, de lectura-escritura. Registros de entrada. Cantidad de 16 bits, suministrado por un sistema I/O, de solo lectura. Registros de salida. Cantidad de 16 bits, alterable por un programa de aplicación, de lectura-escritura. 12 Big-endian es un formato en el cual el byte más significativo se encuentra primero.

23 12 La distinción entre entradas y salidas, y entre datos direccionables al bit y direccionables a la palabra, no implica algún comportamiento de la aplicación. Es aceptable y común, considerar las cuatro tablas sobrelapando una con otra, si esta es la interpretación más natural sobre la máquina (esclavo MODBUS) en cuestión Filosofía de longitud implicada. Todas las solicitudes y respuestas MODBUS están diseñadas en tal forma que el receptor puede verificar que un mensaje está completo. Para códigos de función donde la solicitud y respuesta son una longitud fija, el código de función solo es suficiente. Para códigos de función llevando una cantidad variable de datos en la solicitud ó respuesta, la porción de datos estará precedida por un campo que representa el número de bytes que siguen. Cuando MODBUS es llevado sobre TCP información de longitud se adiciona en el prefijo (o encabezado) para permitir al receptor reconocer los límites del mensaje, igual si el mensaje ha sido dividido en múltiples paquetes para la transmisión. La existencia de reglas de longitud implícitas o explícitas, y el uso de un código de chequeo de error CRC (sobre Ethernet) resulta en una probabilidad muy pequeña de corrupción no detectada sobre un mensaje de solicitud o respuesta. 13 CRC (Cyclic Redundancy Code), verificación por redundancia cíclica.

24 VENTAJAS DEL PROTOCOLO MODBUS/TCP Es escalable en complejidad. Un dispositivo el cual tiene solo un propósito simple necesita solo implementar uno ó dos tipos de mensaje. Es simple para administrar y expandir. No se requiere usar herramientas de configuración complejas cuando se añade una nueva estación a una red Modbus/TCP. No es necesario equipo o software propietario de algún vendedor. Cualquier sistema computador ó microprocesador con una pila de protocolos TCP/IP puede usar Modbus/TCP. Puede ser usado para comunicar con una gran base instalada de dispositivos MODBUS, usando productos de conversión los cuales no requieren configuración. Es de muy alto desempeño, limitado típicamente por la capacidad del sistema operativo del computador para comunicarse. Altas ratas de transmisión son fáciles de lograr sobre una estación única, y cualquier red puede ser construida para lograr tiempos de respuesta garantizados en el rango de milisegundos.

25 ESTRUCTURA DEL PROTOCOLO A continuación se describe la forma general de encapsulación de una solicitud o respuesta MODBUS cuando es llevada sobre una red Modbus/TCP. Es importante anotar que la estructura del cuerpo de la solicitud y respuesta, desde el código de función hasta el fin de la porción de datos, tiene exactamente la misma disposición y significado como en las otras variantes MODBUS, tal como: MODBUS serial codificación ASCII MODBUS serial codificación RTU MODBUS PLUS Las únicas diferencias en esos otros casos son la especificación de los delimitadores inicial y final del mensaje 14, el patrón de chequeo de error y la interpretación de la dirección. Todas las solicitudes son enviadas vía TCP sobre el puerto registrado 502. Las solicitudes normalmente son enviadas en forma half-duplex 15 sobre una conexión dada. Es decir, no hay beneficio en enviar solicitudes adicionales sobre una única conexión mientras una respuesta está pendiente. Sin embargo, los dispositivos 14 En MODBUS esto se denomina Framing. 15 En half-duplex los datos pueden viajar en cualquier dirección, pero no en forma simultánea.

26 15 que desean obtener altas ratas de transferencia pueden establecer múltiples conexiones TCP al mismo destino. El campo dirección esclavo de MODBUS es reemplazado por un byte identificador de unidad el cual puede ser usado para comunicar a través de dispositivos tales como puentes y gateways, los cuales usan una dirección IP única para soportar múltiples unidades terminales independientes. Los mensajes de solicitud y respuesta en Modbus/TCP poseen un prefijo ó encabezado compuesto por seis bytes como se aprecia en la tabla 1.1. Tabla 1.1 Estructura del prefijo de Modbus/TCP ref ref len El ref ref anterior son los dos bytes del campo referencia de transacción, un número que no tiene valor en el servidor pero son copiados literalmente desde la solicitud a la respuesta a conveniencia del cliente. Este campo se utiliza para que un cliente Modbus/TCP pueda establecer simultáneamente múltiples conexiones con diferentes servidores y pueda identificar cada una de las transacciones. El tercer y cuarto campo del prefijo representan el identificador de protocolo, un número el cual debe ser establecido a cero.

27 16 El len especifica el número de bytes que siguen. La longitud es una cantidad de dos bytes, pero el byte alto se establece a cero ya que los mensajes son más pequeños que 256. De esta forma, un mensaje Modbus/TCP completo posee una estructura como se muestra en la tabla 1.2. Tabla 1.2 Estructura de mensajes en Modbus/TCP Posición del Byte Byte 0 Byte 1 Significado Identificador de transacción. Copiado por el servidor normalmente 0. Identificador de transacción. Copiado por el servidor normalmente 0. Byte 2 Identificador de protocolo = 0. Byte 3 Identificador de protocolo = 0. Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 y más Campo de longitud (byte alto) = 0.Ya que los mensajes son menores a 256. Campo de longitud (byte bajo). Número de bytes siguientes. Identificador de unidad (previamente dirección esclavo ). Código de función MODBUS. Los datos necesarios.

28 ESQUEMA DE ENCAPSULACION Modbus/TCP básicamente embebe un marco MODBUS dentro de un marco TCP en una manera simple como es mostrado en la Figura 1.2. Figura 1.2 Esquema de encapsulación en Modbus/TCP 1.5 CONFORMACION DE CLASES MODBUS por su naturaleza es ya implementada en muchísimos lugares, por tanto una ruptura de las implementaciones existentes debe ser evitada. De esta forma el conjunto de los tipos de transacción MODBUS existente ha sido clasificado en clases, donde el nivel 0 representa funciones las cuales son universalmente implementadas y totalmente consistentes, y el nivel 2 representa funciones útiles pero algo dependientes del esclavo. Esas funciones del conjunto, las cuales no son convenientes por interoperabilidad son también identificadas.

29 18 Debe anotarse que futuras extensiones al estándar pueden definir códigos de función adicionales para manejar situaciones donde el estándar existente es deficiente Comandos Clase 0. Este es el mínimo conjunto útil de funciones, tanto para el maestro como para el esclavo. Tabla 1.3 Comandos de la Clase 0 Código Función 03 Leer múltiples registros holding Escribir múltiples registros holding Comandos Clase 1. Este es el conjunto adicional de funciones, el cual es comúnmente implementado e interoperable. Como fue explicado antes, muchos esclavos deciden tratar entradas, salidas, registros, y valores discretos como equivalentes. 16 En el protocolo MODBUS, holding register representa una cantidad de 16 bits, la cual representa una posición interna de la memoria.

30 19 Tabla 1.4 Comandos de la Clase 1 Código Función 01 Leer estado de salidas discretas. 02 Leer estado de entradas discretas. 04 Leer registros de entrada. 05 Forzar una salida discreta. 06 Prefijar un registro holding único. 07 Leer estados de excepción*. * Esta función típicamente tiene un significado diferente para cada familia de esclavos Comandos Clase 2. Estas son las funciones de transferencia de datos necesarias para operaciones de rutina tal como supervisión y HMI 17. Tabla 1.5 Comandos Clase 2 Código Función 15 Fijar múltiples salidas discretas. 20 Leer referencia general*. 21 Escribir referencia general*. 22 Enmascarar registro de escritura. 23 Leer/escribir registros**. 24 Leer cola FIFO***. * Esta función será la más apropiada para manejar grandes espacios de registros y datos, los cuales carecen de números de referencia. ** Esta función permite la entrada y salida de un rango de registros como una transacción única. Es la forma más eficiente usando MODBUS para desempeñar un intercambio regular de datos tal como con un módulo I/O. *** Una función algo especializada, destinada a permitir la transferencia de datos desde una tabla estructurada como una FIFO a un computador. 17 HMI : Human Machine Interface.

31 Comandos específicos de la máquina/red/vendedor Todas de las siguientes funciones, aunque mencionadas en los manuales del protocolo MODBUS, no son apropiadas para propósitos de interoperabilidad porque ellas son dependientes de la máquina. Tabla 1.6 Funciones dependientes de la máquina Código Función 08 Pruebas de diagnóstico. 09 Programación*. 10 Completar la programación*. 11 Leer la palabra de estado del contador de eventos. 12 Leer el registro de eventos de comunicación. 13 Programación**. 14 Completar la programación**. 17 Reportar ID del esclavo. 18 Programación***. 19 Reinicializar enlace de comunicaciones***. 125 Sustitución de firmware. 126 Programación**. 127 Reportar dirección local. * Soportada solo por controladores 484 de Modicon. ** Soportada solo por controladores 584/984 de Modicon. *** Soportada solo por controladores 884 y Micro84de Modicon.

32 DESEMPEÑO REQUERIDO Y ESPERADO No existe una especificación precisa acerca del tiempo de respuesta requerida para una transacción sobre MODBUS ó Modbus/TCP. Esto es debido a que se espera que Modbus/TCP sea usado en la más amplia variedad posible de situaciones de comunicación, desde sistemas I/O esperando temporización en milisegundos, a enlaces de radio de larga distancia con retardos de varios segundos. En general, los dispositivos tales como PLC s responderán a solicitudes ingresantes en un tiempo scan 18, el cual típicamente varía entre 20 y 200 msg. Desde la perspectiva del cliente, ese tiempo de respuesta debe ser extendido por los retardos de transporte través de la red, a un tiempo de respuesta razonable. Tales retardos pueden ser de milisegundos para un Ethernet conmutado, a cientos de milisegundos para una conexión de red de área amplia (WAN). Cualquier tiempo timeout 19 usado en un cliente debe ser más grande que el máximo tiempo de respuesta razonable, para así evitar una excesiva congestión en el dispositivo servidor ó en la red, lo cual puede causar errores. 18 Un tiempo scan, es el tiempo requerido para que el PLC complete sus instrucciones programadas. 19 Un timeout es un tiempo que se establece antes de que se reporte un fallo.

33 22 Así en la práctica, los timeouts usados en aplicaciones cliente de alto desempeño serán probablemente algo dependientes sobre la topología de la red y el desempeño esperado del servidor. Aplicaciones cliente las cuales no son críticas en tiempo pueden con frecuencia dejar los valores timeout al establecido por defecto en TCP, el cual reportará fallo en la comunicación después de varios segundos. Los clientes pueden cerrar y re-establecer conexiones Modbus/TCP cuando el timeout ha expirado. Sin embargo al retransmitir una solicitud, es aconsejable establecer el timeout un poco más grande que el anterior, para así permitir a un servidor recuperarse de un posible error. 1.7 GUIA DE IMPLEMENTACION DEL CLIENTE Y SERVIDOR El contenido de esta sección no será considerado obligatorio para la implementación particular de un cliente ó servidor. Sin embargo, si son seguidas, estas políticas facilitarán la integración cuando se implementen sistemas multivendedor y gateways a equipo MODBUS ya instalado Diseño del Cliente. Modbus/TCP está diseñado para permitir que el diseño de un cliente sea tan simple como sea posible. El proceso básico de manejo de una transacción es como sigue:

34 23 Establecer una conexión TCP al puerto en el destino (servidor) deseado. Preparar una solicitud MODBUS, codificada como fue descrito antes. Enviar la solicitud MODBUS, incluyendo su prefijo Modbus/TCP de 6 bytes, como un único buffer transmitido. Esperar que una respuesta aparezca sobre la misma conexión TCP. Opcionalmente correr un timeout, si se desea ser avisado de problemas de comunicación más rápido de lo que TCP normalmente reporta. Leer los primeros 6 bytes de la respuesta, el cual indicará la longitud real del mensaje recibido. Leer los bytes restantes de la respuesta. Si no se espera una comunicación adicional al destino particular en el futuro inmediato, cerrar la conexión TCP así que los recursos en el servidor puedan ser usados, si es requerido, para servir a otros clientes. Un tiempo de un segundo es sugerido como el período máximo para dejar una conexión abierta en el cliente. 20 Un puerto de protocolo es una abstracción que los protocolos de transporte del TCP/IP utilizan para distinguir entre varios destinos en una computadora host específica.

35 24 En el evento que expire el timeout para una respuesta, realizar un cierre unilateral de la conexión, abrir una nueva, y re-enviar la solicitud. Esta técnica permite al cliente control sobre la temporización de re-intentos, el cual es superior al suministrado por defecto por TCP. También permite el uso de estrategias alternas, tal como enviar la solicitud a una dirección IP alterna, usando una red de comunicación totalmente independiente, en caso de fallo de un componente de la infraestructura de la red Diseño del Servidor. Un servidor Modbus/TCP siempre será diseñado para soportar múltiples clientes concurrentes, sin importar que en su uso previsto solo un único cliente parezca tener sentido. Esto permite al cliente cerrar y reabrir la conexión a fin de responder rápidamente a la no entrega de una respuesta. Si una pila de protocolos TCP/IP convencional es usada, considerables recursos de memoria pueden ser ahorrados reduciendo el tamaño de los buffers de transmisión y recepción. Un servicio TCP normal usualmente asignará 8K bytes ó más como un buffer de recepción por conexión. Tal espacio de buffer no tiene valor en Modbus/TCP, ya que el tamaño máximo de una solicitud ó respuesta es menor que 300 bytes. De esta forma se liberan recursos para conexiones adicionales.

36 25 Los sistemas operativos ó lenguajes que fomentan el uso de múltiples threads (hilos de control), tal como Java, pueden usar la estrategia multithreaded, descrita a continuación : 1. Esperar conexiones entrantes sobre el puerto 502 de TCP. 2. Cuando una nueva solicitud de conexión sea recibida, aceptarla y crear un nuevo thread para manejar la conexión. 3. Dentro del nuevo thread, hacer lo siguiente en un lazo infinito : Leer el encabezado de 6 bytes de la solicitud Modbus/TCP. No colocar un timeout aquí, pero en cambio esperar hasta ya sea que llegue la solicitud ó la conexión sea cerrada. Ambas situaciones despertarán al thread automáticamente. Analizar el encabezado. Si aparece corrupto, por ejemplo si el campo de protocolo no es cero ó la longitud del mensaje es más grande que 256, entonces cerrar unilateralmente la conexión. Esta es la respuesta correcta de un servidor a una situación donde la codificación TCP es incorrecta. Leer los bytes restantes del mensaje, cuya longitud es ahora conocida.

37 26 Procesar el mensaje MODBUS que ingresó, si es necesario suspendiendo el thread corriente hasta que la respuesta correcta pueda ser calculada. Eventualmente se tendrá ya sea un mensaje MODBUS válido ó un mensaje de excepción para usar como una respuesta. Generar el prefijo Modbus/TCP para la respuesta, copiando el campo identificador de transacción desde la solicitud, y recalculando el campo de longitud. Enviar la respuesta, incluyendo el prefijo Modbus/TCP como un buffer único para transmisión sobre la conexión establecida. De nuevo volver a esperar el próximo prefijo de 6 bytes, y repetir el procedimiento. Eventualmente, cuando el cliente elija cerrar la conexión, la recepción del prefijo de 6 bytes fallará. En este caso se cierra la conexión y se cancela el thread corriente.

38 27 2. DESCRIPCION DEL HARDWARE La red Modbus/TCP que se implementa en este proyecto, ver Figura 1.1, se encuentra conformada por diversos elementos hardware, incluyendo los elementos finales de control. A continuación se enumeran los componentes que integran la red: 1. Tarjeta TINI. 2. Tarjeta CPU PLC DL05 de Koyo. 4. Controladores 452 PLUS. 2.1 LA TARJETA TINI 21 La tarjeta TINI es un sistema embebido para la cual se desarrollarán las siguientes aplicaciones: un servidor Modbus/TCP, un servidor Web y el software para actuar como gateway de otros esclavos, como el PLC DL05 y la tarjeta CPU Tomado de The TINI Specification and Developer`s Guide, por Don Loomis. Addison Wesley, 2001.

39 Descripción. La Tiny InterNet Interface (TINI) es una plataforma desarrollada por Dallas Semiconductor que suministra un medio simple, flexible y económico para diseñar una extensa variedad de dispositivos hardware capaces de conectarse directamente a redes corporativas y locales. Las características de la plataforma son expuestas al desarrollador de software a través de un set de interfaces de programación de aplicaciones (APIs) en Java, brindando un poderoso entorno de programación orientado a objetos y facultando al programador en la creación de aplicaciones utilizando la potencia y bondades que ofrece el lenguaje Java. La plataforma TINI permite a dispositivos como sensores y actuadores ser monitoreados, controlados y manejados remotamente. Esta capacidad de interconectividad de red de la TINI permite a cualquier dispositivo conectado a ella, una interacción con sistemas remotos y usuarios a través de aplicaciones de red estándar, tal como browsers Web Características. La TINI es una tarjeta SIMM (31.8mm x 102.9mm) de 72 pines. Es una implementación hardware con Ethernet y soporta toda la funcionalidad suministrada por cualquier sistema embebido. La tarjeta incluye las siguientes características:

40 Kilobytes de memoria flash para código del sistema crítico. 512 Kilobytes de memoria SRAM no-volátil, expandible a 1 Megabyte. Controlador Ethernet 10Base-T. Reloj de tiempo real. Doble puerto serial (uno con niveles RS-232 y otro con niveles TTL). Doble controlador CAN. Doble interfaz de red 1-Wire. Expone los buses de datos y direcciones del microcontrolador para expansión paralela. Requiere una fuente de alimentación única de 5V DC. El sistema operativo es actualizado constantemente y puede ser cargado directamente a la memoria flash Aplicaciones. La TINI está diseñada para satisfacer los requerimientos de las aplicaciones de red embebidas tanto industriales como comerciales. Sin embargo, a causa de su bajo costo y la disponibilidad de herramientas de desarrollo de software gratuito, también está incursionando en el hogar y en entornos educativos. La TINI puede ser usada para tareas embebidas tradicionales stand-alone, pero la mayoría de aplicaciones utilizan las capacidades de interconectividad de la tarjeta. Unas pocas aplicaciones de la tecnología TINI incluyen las siguientes:

41 30 Monitoreo y control de equipo basado en Web. La TINI puede ser usada para establecer comunicación con equipos específicos, para proveer recolección de datos y diagnóstico remoto para propósitos tales como el monitoreo sobre la utilización de un dispositivo particular. Conversión de protocolos. Los sistemas basados en la TINI pueden ser usados para conectar dispositivos a redes Ethernet. Esto puede ser hecho con un PC, sin embargo la TINI hace el trabajo en una fracción del costo y del tamaño. Sistemas de medición remota. Es posible construir aplicaciones para medición distribuidas en una red. La TINI estaría equipada con dispositivos de medición como servidor que se controla desde un cliente remoto. Control industrial. Utilizando el soporte integrado de la TINI, como el bus CAN (Controller Area Network) para llevar a cabo la automatización de equipo. Monitores ambientales. Usando el soporte construido en la TINI de interconexión 1-Wire, una aplicación puede interrogar a sensores y reportar los resultados a hosts remotos. La Figura 2.1 muestra un modelo de uso en el cual la TINI es empleada como un conversor de protocolos (ó enlaces) entre un dispositivo embebido y una red Ethernet.

42 31 Figura 2.1 La TINI como un conversor de protocolos El dispositivo embebido puede comunicar con el mundo exterior usando un puerto serial RS-232, un puerto CAN, ó quizás algún tipo de interfaz paralela. La aplicación Java corriendo sobre la TINI desempeña la tarea de comunicación con el dispositivo en su lenguaje nativo (usando un protocolo de comunicación específico del dispositivo) y presenta los resultados a sistemas remotos alcanzables a través de una red TCP/IP. El enlace suministrado por la TINI es bidireccional, permitiendo a un sistema remoto controlar el dispositivo Hardware de la TINI. La TINI esta desarrollada con diversos chips LSI. Un esquema del hardware que compone la TINI es presentado en la Figura 2.2.

43 32 Figura 2.2 Esquema del hardware de la TINI La TINI está compuesta principalmente de los siguientes elementos: Microcontrolador. Memoria flash. Memoria RAM estática. El corazón de la TINI es el microcontrolador DS80C390 de Dallas Semiconductor. El DS80C390 integra soporte para diversas formas de I/O incluyendo puertos seriales, enlace 1-Wire y bus CAN. El microcontrolador también provee distintos pines de propósito general que pueden ser usados para desempeñar tareas de control simples tales como manejar relés y LEDs de estatus.

44 33 La memoria flash almacena el entorno runtime 22 de la TINI y satisface los siguientes dos requerimientos importantes: 1. El contenido de memoria es mantenido, igual en ausencia de potencia al sistema. 2. La memoria es reprogramable, y por tanto el entorno runtime puede ser actualizado cuando sea requerido. La memoria RAM estática contiene el área de datos, la pila (heap), al igual que los archivos de datos del sistema. La SRAM es no-volátil, ya que posee una circuitería con batería de respaldo de forma que el contenido de la memoria persiste en ausencia de alimentación. La batería es una muy pequeña celda de litio. Otros dispositivos periféricos, aparte de la memoria, pueden también ser interfazados directamente a los buses de datos y direcciones del microcontrolador (denominada expansión I/O paralela en la Figura 2.2). Dos de tales periféricos usados en el sistema TINI son un controlador Ethernet y un reloj en tiempo real. Esta configuración extiende el alcance de los dispositivos embebidos a redes Ethernet y provee una referencia exacta de tiempo para propósitos específicos. La batería de respaldo también mantiene corriendo el reloj en ausencia de potencia, asegurando que un tiempo exacto es siempre leído desde el reloj. 22 El entorno runtime esta compuesto por el sistema operativo y la Máquina Virtual Java (JVM).

45 Mapa de memoria del sistema. Un mapa de memoria especifica dónde la memoria y otros dispositivos periféricos son decodificados en el espacio de direcciones del microcontrolador. El mapa de memoria utilizado por la TINI, mostrado en la Figura 2.3, consiste de los siguientes tres segmentos: Segmento de código. Segmento de datos. Segmento de periféricos. Figura 2.3 Mapa de memoria de la TINI

46 35 La figura ilustra los máximos tamaños de segmento soportados por la TINI. La dirección de inicio del segmento es siempre constante, mientras la dirección final puede variar de acuerdo al tamaño de memoria. La TINI consume los siguientes rangos de direcciones: 1. TINI OS y Java API: [ 0x x07FFFF ] 2. Heap y almacenaje del sistema de archivos: [ 0x x ] 3. Controlador Ethernet: [ 0x x37FFFF ] 4. Reloj de tiempo real: [ 0x ] Los diseñadores deben evitar los rangos del controlador Ethernet y el reloj, cuando se adicionen otros dispositivos periféricos. Existe también un área periférica separada, de 4 Megabytes, conocida como espacio PCE (Peripheral Chip Enable), que puede ser usada para interfazar grandes chips de memoria externa ú otros dispositivos directamente a los buses de datos y direcciones del microcontrolador. Sin embargo, la mayoría de hardware es mapeado en el segmento periférico porque el microcontrolador puede accesarlo más eficientemente.

47 Sistema I/O integrado. Un amplio rango de dispositivos no soportan la interfaz a un bus periférico. Frecuentemente esos dispositivos tienen alguna forma de interfaz serial. Un soporte para los siguientes protocolos de comunicación serial han sido integrados dentro del microcontrolador. Comunicación serial. Son soportados protocolos seriales síncronos, utilizando una interfaz de 2 alambres, y comunicación serial asíncrona, basada en el estándar RS-232. El microcontrolador de la TINI provee dos circuitos UART (Universal Asynchronous Receiver Transmitter) integrados, que facilitan la comunicación. Bus CAN. Originalmente desarrollado en Bosch-Siemens, CAN está ahora descrito en dos estándares ISO. CAN suministra un bus de comunicaciones serial confiable que es comúnmente usado en aplicaciones de control industrial y automotriz. El microcontrolador de la TINI provee dos controladores CAN integrados. Red 1-Wire. Desarrollado por Dallas Semiconductor, el enlace 1-Wire es una red de pequeños sensores, actuadores, y elementos de memoria en que todos comparten el mismo conductor tanto para comunicación como para potencia.

48 37 I/O TTL. Los pines de propósito general del puerto del microcontrolador pueden ser usados para diversas tareas de control y no están necesariamente atados a algún tipo de dispositivo serial. La utilización de las capacidades I/O integradas en el microcontrolador en lugar de I/O mapeada en memoria, reduce el costo de la comunicación con un dispositivo externo porque se libera a la CPU de operaciones de lectura y escritura de datos a un dispositivo periférico Software de la TINI. Aparte del hardware esencial para el desarrollo de aplicaciones de red embebidas, una gran cantidad de software es también suministrado con la TINI para liberar a los desarrolladores de aplicación de tener que preocuparse acerca de los detalles de la creación de capas de infraestructura que den soporte para la ejecución de tareas múltiples, pilas de protocolos de red e interfaces de programación de aplicaciones. Un entorno bien definido que suministre todas de esas características permite al desarrollador enfocarse principalmente sobre los detalles de la aplicación. De esta forma, un entorno runtime fue desarrollado como parte integral de la plataforma TINI. Una representación gráfica del entorno runtime es mostrada en la Figura 2.4.

49 38 Figura 2.4 Esquema del software de la TINI El software que comprende el entorno runtime de la TINI puede ser dividido en dos categorías: un sistema operativo el cual es ejecutado directamente por el microcontrolador y un API interpretado como bytecodes por la Máquina Virtual de Java (JVM). El código de las aplicaciones corriendo sobre la tarjeta TINI son escritos en Java y utilizan el API, siendo esto uno de los principales atractivos de la tarjeta.

50 39 Java es un lenguaje de programación simple, poderoso, concurrente, orientado a objetos, con capacidades cliente/servidor, con el cual se pueden crear programas interactivos, seguros, portables, robustos y para cualquier tipo de arquitectura. Es posible escribir también librerías nativas que pueden ser cargadas desde una aplicación para lograr requerimientos estrictos de tiempo real Sistema operativo de la TINI. El sistema operativo de la TINI es la capa más baja del entorno runtime. Es responsable de la administración de todos los recursos del sistema incluyendo el acceso a la memoria, planificación de procesos múltiples y threads de ejecución, y la interacción con componentes hardware internos y externos. A excepción del recolector de basura 23, todas las tareas manejadas por el sistema operativo son aplicaciones Java. Los tres componentes principales que conforman el sistema operativo son: Planificador de procesos y threads. Subsistema de manejo de memoria. Subsistema de manejo de I/O. 23 El recolector de basura (Garbage Collector) es un hilo que Java provee, el cual automáticamente recupera la memoria dinámicamente repartida que ya no se necesita, liberando a los programadores de incluir enunciados en los programas para ejecutar esta acción.

51 40 Tanto la pila TCP/IP como el manejador de I/O son implementados como procesos del kernel independientes. La pila de protocolo de red TCP/IP provee mucha de la misma capacidad de interconectividad encontrada sobre plataformas más grandes y es suficientemente rica en funcionalidad para soportar una implementación completa del paquete java.net. La pila de protocolo soporta múltiples interfaces de red, incluyendo Ethernet, para interconexión de alta velocidad en área local, y PPP (Point-to-Point Protocol) sobre un enlace serial para interconexión remota usando modem El Socket E10. El Socket E10 es una tarjeta de 160mm x 120mm, cuya función principal es proveer los conectores físicos para interfazar la TINI a Ethernet, dispositivos seriales, alimentación. La tarjeta Socket E10 está destinada a ayudar en el proceso de desarrollo de aplicaciones y suministra los siguientes conectores físicos: Conector SIMM de 72 pines. El conector SIMM acepta la tarjeta TINI. Conector DB9 hembra. Este conector provee un puerto serial tipo DCE (Data Communications Equipment) que da conexión a un puerto serial DTE (Data Terminal Equipment) estándar. Este puerto es típicamente usado sólo para cargar el software a la memoria flash de la TINI.

52 41 Conector DB9 macho. Este conector provee un puerto serial DTE para conexión a dispositivos DCE tal como modems. Muchas aplicaciones TINI que controlan dispositivos seriales usan el puerto DTE. Conector RJ45. El conector RJ45 acepta un cable Ethernet estándar 10Base-T suministrando conectividad a una red Ethernet. Conector RJ11. El conector RJ11 provee acceso a la red 1-Wire usando cable telefónico estándar. Jack de potencia. El Socket E10 acepta una fuente de alimentación de 5V DC. El Socket E10 también suministra el espacio respectivo para circuitos integrados y componentes discretos para soportar opciones adicionales de I/O tales como expansión paralela, y otros puertos seriales y CAN. 2.2 LA TARJETA CPU08 La tarjeta CPU08 es un sistema embebido desarrollado en la Universidad del Valle basado en el microcontrolador AT89C52 de Atmel. Según el diagrama de la Figura 1.1, en esta tarjeta se debe implementar algunas funciones MODBUS apropiadas para comportarse como un esclavo, y además debe manejar una red RS-485 de controladores a través de un protocolo codificado en ASCII.

53 Diagrama de bloques. El diagrama de bloques para la tarjeta CPU08 es presentado en la Figura 2.5. Figura 2.5 Diagrama de bloques de la CPU Características. 8k bytes de memoria de programa interna. 256 bytes de memoria RAM interna. 8k bytes de memoria RAM externa. 3 contadores / temporizadores de 16 bits. 4 entradas digitales aisladas (a través de optoacopladores). Puerto serial RS-232 / RS-485.

54 43 Puerto síncrono SPI. 2 interrupciones externas. Voltaje de alimentación regulado de +5V. Presenta conectores para expandir las funciones del sistema. Además, se proporciona un programa bootloader residente en la memoria flash que carga el programa de aplicación en la RAM externa para propósitos de desarrollo y depuración, de forma que la aplicación pueda ser fácilmente modificada Programación de la CPU08. La tarjeta CPU08 se programa directamente en el lenguaje propio del microcontrolador AT89C52. Opcionalmente, es posible realizar la programación en lenguaje C y utilizar un compilador cruzado que traslade el código fuente C al lenguaje del microcontrolador. La utilización del lenguaje C para realizar la programación depende de los requerimientos de desempeño y tamaño de código que se necesiten satisfacer. En este proyecto, la programación de la tarjeta CPU08 se realizó en lenguaje C usando el compilador proporcionado por el paquete Franklin, un entorno de desarrollo para aplicaciones basadas en microcontroladores de la familia 8051.

55 EL PLC DL05 DE KOYO Este dispositivo PLC ofrece características convenientes para integrarlo en la red mostrada en la Figura 1.1, ya que proporciona un puerto serial que permite al PLC ser configurado como un maestro ó un esclavo MODBUS. En la figura el PLC se comporta como un dispositivo esclavo MODBUS Diagrama de bloques. El diagrama de bloques para el dispositivo PLC Direct DL05 de Koyo es mostrado en la Figura 2.6. Figura 2.6 Diagrama de bloques del PLC DL05

56 45 La función HSIO (High-Speed I/O) que proporciona este PLC, consiste de hardware dedicado pero configurable en el DL05. Para más información sobre su operación consultar el manual del PLC Características. 8 entradas DC de alta velocidad. 6 salidas relé. Conjunto de 129 instrucciones para programación. Memoria de programa de 2K bytes. Memoria de datos de 4K bytes. 2 puertos de comunicación RS-232. Soporta los protocolos DeviceNet y MODBUS. Algoritmos PID integrados, con lazo auto-tunning. Módulos opcionales de entrada / salida análogos Modos de operación. El PLC DL05 posee tres modos de operación: modo TERM, modo RUN y modo STOP. En la Tabla 2.1 se describen los tres modos de operación del PLC.

57 46 Tabla 2.1 Modos de operación del PLC DL05 Modo Descripción (Terminal). Están disponibles los modos de depuración, TERM programación y ejecución. Los diferentes modos y los cambios en la programación pueden ser conmutados a través del software de programación. RUN STOP (Ejecución del Programa). La CPU es forzada dentro del modo de ejecución si no existen errores. La CPU es forzada a parar Mapa de memoria. Los tipos de memoria del PLC se dividen en dos categorías : Discretos: X, SP, Y, CR, S, T, C. Palabras de memoria: valor actual del timer, valor actual del contador, datos de usuario. La Tabla 2.2 muestra los distintos tipos de memoria del PLC DL05, con sus respectivas direcciones en octal y su correspondiente valor en decimal para ser procesadas por una aplicación MODBUS.

58 47 Tabla 2.2 Tipos de memoria del PLC DL05 Tipo de memoria del PLC Cantidad (decimal) Rango PLC (octal) Rango en Modbus (decimal) Tipo de dato Modbus Datos discretos Entradas (X) 256 X0 X Entrada Relés especiales 512 SP0 SP Entrada Salidas (Y) 256 Y0 Y Salida Relés de control (CR) 512 C0 C Salida Timers (T) 128 T0 T Salida Contadores (CT) 128 CT0 CT Salida Bits de status 256 S0 S Salida Palabras de memoria Valor actual del timer (V) Valor actual del contador (V) Memoria V, dato de usuario (V) Memoria V, no volátil (V) 128 V0 V Registro de entrada 128 V1000 V Registro de entrada 3168 V1200 V Registro de retención 128 V7600 V Registro de retención Comunicación. El PLC DL05 posee dos puertos de comunicación RS-232. Las características de los puertos 1 y 2 se muestran en las Tablas 2.3 y 2.4 respectivamente.

59 48 Tabla 2.3 Características del puerto 1 del PLC DL05 Paquete de programación DirectSOFT. Rata de baudios 9600 bps (fijos). Bits de inicio 1 Bits de datos 8 Paridad Impar (por defecto), par, ninguna Bits de parada 1 Comunicación Asíncrona, half duplex con el DTE. Protocolos soportados K-sequence, DirectNET y MODBUS RTU, todos como esclavos. Dirección del dispositivo 1 (fija) Tabla 2.4 Características del puerto 2 del PLC DL05 Paquete de programación DirectSOFT. Rata de baudios 300, 600, 1200, 2400, 4800, 9600, y Bits de inicio 1 Bits de datos 8 Paridad Impar (por defecto), par, ninguna. Bits de parada 1 Comunicación Asíncrona, half duplex con el DTE. K-sequence, DirectNET, MODBUS RTU Protocolos soportados (maestro o esclavo) y Non-sequence (para impresión). Dirección del dispositivo 1 a 247.

60 Programación. El PLC DL05 posee dos métodos de programación: RLL (Relay Ladder Logic) y RLL PLUS (PLUS PROGRAMMING). El PLC puede ser programado con un paquete de programación avanzado, DirectSOFT, un software basado en Windows que soporta las características más familiares para este sistema operativo. 2.4 CONTROLADORES 452 PLUS Los controladores 452 Plus son dispositivos que permiten realizar lectura de variables, manejo de setpoint, establecer estrategias de control, tal como algoritmos PID, para llevar a cabo automatización de procesos. La configuración de los parámetros del controlador (setpoint, cte. Proporcional, cte. Derivativa, etc.) pueden ser establecidos localmente a través del panel frontal, ó remotamente a través de una interfaz serial RS-232, RS-423A, RS-422A, ó RS-485. La comunicación remota con el controlador se desarrolla serialmente usando un protocolo asíncrono codificado en ASCII de 7 bits con paridad par, un bit de parada y un bit de inicio, a 9600, 4800, 1200 ó 300 bps.

61 Definición de caracteres especiales. Los controladores 452 Plus establecen para la comunicación un conjunto de caracteres especiales ASCII no imprimibles, mostrado en la Tabla 2.5. Tabla 2.5 Caracteres especiales ASCII del controlador Carácter Código especial hexadecimal Descripción < STX > 02 Caracter de inicio de trama. < ETX> 03 Caracter de fin de trama. < EOT> 04 Caracter de fin de transmisión. < ACK > 06 Caracter de reconocimiento. < LF > 0A Caracter de nueva línea. < CR > 0D Caracter de retorno. < NAK > 15 Caracter de no reconocimiento. < SYN > 16 Caracter de sincronización. < ESC > 1B Caracter de borrado de línea. < DEL > 7F Caracter de borrado de carácter Protocolo de Comunicación. El protocolo de comunicación está definido en dos capas ó niveles; la primera define el wrapping del mensaje (la delimitación de su inicio y su fin), mientras la segunda describe el contenido del mensaje.

62 Nivel 1 El Wrapping. Este depende de la complejidad de la comunicación que se desea establecer. Dos modos de comunicación son ofrecidos: el modo VDU (Visual Display Unit) y el modo CRL (Control). El modo VDU está definido para comunicación simple entre un terminal y un controlador. Aquí un mensaje no necesita caracteres de inicio, y es terminado con un caracter de retorno <CR>. Con el modo CRL se define una comunicación entre un computador y múltiples controladores. Este modo es más complejo, ya que primero se debe especificar cual controlador se desea direccionar. La dirección es precedida por un caracter especial <SYN> que indica al dispositivo receptor que el próximo caracter es interpretado como la dirección. En modo CRL los mensajes individuales están delimitados por <STX> para indicar el inicio y <ETX> para indicar el final Nivel 2 Contenido del mensaje. Existen seis tipos de mensajes: establecer una variable análoga, establecer una variable lógica, leer un valor análogo, leer un valor lógico, al igual que lectura de un bloque de valores análogos ó lógicos.

63 52 Tabla 2.6 Tipos de mensaje del controlador 452 Plus Tipo de mensaje RA RL SA SL DA DL Descripción Leer variable análoga. Leer variable lógica. Escribir en localización análoga. Escribir en localización lógica. Leer 10 posiciones análogas desde la posición de inicio. Leer 10 posiciones lógicas desde la posición de inicio Contenido de posiciones análogas del controlador 452 Plus. En la Tabla 2.7 se relacionan algunas de las posiciones análogas propias de los controladores 452 Plus. Tabla 2.7 Posiciones de memoria del controlador 452 Plus Posición análoga Descripción 0 Tipo de instrumento (sólo lectura). 1 Valor medido (sólo lectura). 2 Setpoint. 3 Potencia de salida (0 100 %). 7 Banda proporcional (%)( ). 8 Término integral (minutos)( ). 9 Término derivativo (segundos)(0 4000).

64 53 3. DESCRIPCIÓN DEL SOFTWARE Sobre los elementos que componen la red Modbus/TCP (Figura 1.1) se ejecutan diversos programas que son los que proporcionan la funcionalidad al sistema. El desarrollo del software se dividió en las siguientes etapas: 1. Desarrollo de un servidor Modbus/TCP en la tarjeta TINI. 2. Desarrollo de un servidor Web en la tarjeta TINI. 3. Desarrollo de una interfaz gráfica para acceso vía Web. 4. Implementación de un esclavo MODBUS en la tarjeta CPU Programación de la tarjeta CPU08 como maestro de una red RS-485 de controladores. 6. Configuración del PLC DL05 como un esclavo MODBUS. 7. Configuración de los controladores 452 Plus. En las siguientes secciones se describe detalladamente cada uno de los componentes software y la interacción que existe entre los mismos; además se presenta código fuente para determinados programas.

65 DESARROLLO DE UN SERVIDOR MODBUS/TCP El protocolo Modbus/TCP está basado en el paradigma cliente / servidor: el proceso servidor acepta una petición desde la red, ejecuta una acción basado en la petición y devuelve el resultado al solicitante; un programa se convierte en cliente cuando envía una petición al servidor y espera una respuesta. Este modelo es ilustrado en la Figura 3.1. Figura 3.1 Modelo cliente / servidor El programa servidor para Modbus/TCP reside en la tarjeta TINI y por tanto se desarrolló en Java, basándose en las indicaciones establecidas en la guía de implementación descrita en la sección La implementación del servidor hace uso de la programación orientada a objetos y el multithread para aceptar solicitudes concurrentes. La estructura de clases y parte de la implementación está basada en el proyecto jmodbus Disponible en Internet en

66 55 El objetivo del proyecto jmodbus es proveer librerías Java para permitir a dispositivos basados en este lenguaje comunicarse como maestros ó esclavos a través de ModbusRTU, ModbusASCII ó ModbusTCP. El código es abierto y está diseñado para correr sobre dispositivos con poca memoria, tales como la TINI de Dallas Semiconductor Estructura de Clases. Un diagrama de la estructura de clases está en la Figura 3.2, donde se observa la clase base Modbus al igual que las implementaciones maestro y esclavo, y como éstas se relacionan con implementaciones específicas de transporte. Figura 3.2 Estructura de clases

67 56 En la Figura 3.3 se ilustra la estructura de ModbusTransport, la cual es una interface que es implementada por las clases que definen los diferentes mecanismos de transporte para la familia MODBUS (RTU, ASCII y TCP). Figura 3.3 Estructura de la interface de transporte Descripción de las Clases. La aplicación desarrollada que corre en la TINI se encuentra conformada por las siguientes clases: Clase Modbus. Clase para representar un dispositivo MODBUS. Esta es la clase base que será extendida por las clases representando tanto un maestro como un esclavo MODBUS.

68 57 Clase ModbusMaster. Clase para representar un dispositivo maestro MODBUS. Esta es la clase base que será extendida por las clases representando un maestro para los diferentes transportes (RTU, ASCII y TCP). Esta clase contiene el código requerido para generar una solicitud MODBUS y analizar la respuesta. Clase ModbusRTUMaster. Clase para implementar un dispositivo maestro MODBUS RTU. Esta clase define qué tipo de transporte es usado; todo el trabajo en generar y enviar solicitudes es desempeñado por los métodos en la clase ModbusMaster. Clase ModbusRTUTransport. Clase para implementar un mecanismo de transporte RTU para comunicación MODBUS. Esta clase permite a un dispositivo comunicarse serialmente, usando codificación RTU para los datos. Clase ModbusSlave. Clase para representar un dispositivo esclavo MODBUS. Esta es la clase base que será extendida por las clases representando un esclavo para los diferentes transportes (RTU, ASCII, y TCP). Esta clase contiene el código que es requerido para la recepción y el procesamiento de solicitudes. Esta clase también implementa la interfaz Runnable 25, así que cualquier instancia de esta clase puede correr como un thread independiente. 25 La interfaz Runnable permite manejar multihilos sin necesidad de extender la clase Thread.

69 58 Clase ModbusTCPSlave. Clase para implementar un dispositivo esclavo Modbus/TCP. Esta clase corre como un thread independiente. La clase solo define que tipo de transporte es usado; el trabajo en la recepción y el procesamiento de solicitudes es desempeñado por los métodos de la clase ModbusSlave. Clase ModbusTCPTransport. Clase para implementar un mecanismo de transporte TCP para la comunicación MODBUS. Esta clase permite a cualquier dispositivo comunicarse vía Modbus/TCP. Esta clase debe implementar los métodos definidos en la interface ModbusTransport. Clase ModbusMessage. Clase para representar un mensaje MODBUS. Esta clase encapsula todos los elementos de un mensaje que son considerados comunes a todas las implementaciones de MODBUS. Clase ServidorModbusTCP. Esta es la aplicación principal que se mantiene esperando por solicitudes de conexión al puerto 502 de TCP, el puerto registrado de Modbus/TCP, y cuando arriva una petición crea un nuevo hilo que procesa la transacción, mientras la aplicación continúa escuchando por nuevas solicitudes.

70 59 Interface ModbusTransport. Interface para los mecanismos de transporte MODBUS. Esta interface es implementada por las clases que representan el transporte para los diferentes tipos de MODBUS. Las clases que implementan esta interface son responsables por el enmarcado, delimitación y codificación de tramas MODBUS desde el medio de transporte y el envío y recepción real de los datos. La aplicación desarrollada se comporta como un servidor (ó esclavo) Modbus/TCP, pero también actúa como un gateway de forma que es capaz de direccionar solicitudes MODBUS destinados a otros esclavos a través de MODBUS RTU Ejemplo de código fuente. En esta sección se describen algunos apartes importantes del código fuente de la aplicación que ejecuta la tarjeta TINI. Java ofrece comunicaciones basadas en sockets que permite las aplicaciones manejar el trabajo en redes como si fuera entrada / salida de archivos; por tanto el servidor que corre en la TINI está fundamentado en este concepto. En la Figura 3.3 se lista una porción del código de la clase ServidorModbusTCP, la cual fue explicada en la sección anterior.

71 60 1 import java.net.* ; 2 3 public class ServidorModbusTCP 4 { 5 private final int DIRECCION = 1; 6 private final int PUERTO = 502; 7 private final int NUMERO_DE_CONEXIONES = 2; public static void main (String args[ ]) 12 { 13 ServerSocket svrsocket = null; 14 Socket socket = null; 15 Thread hilomodbus; 16 ModbusTCPSlave modbus; try { 21 svrsocket = new serversocket( PUERTO ); 22 } 23 catch( IOException ex ) { 24 System.out.println( ex.getmessage( ) ); 25 ex.printstacktrace( ); 26 return; 27 } while( true ) 30 { 31 try { 32 socket = svrsocket.accept( ); 33 modbus = new ModbusTCPSlave( DIRECCION, socket ); 34 hilomodbus = new Thread ( modbus ); 35 hilomodbus.start( ); 36 } 37 catch ( IOException ex ) { 38 System.out.println( ex.getmessage( ) ); 39 ex.printstacktrace( ); 40 } 41 } } 44 } Figura 3.3 Programa en Java de un servidor Modbus/TCP

72 61 La creación de una conexión socket TCP/IP se realiza directamente con el paquete java.net. De ahí que con el enunciado de la línea 1 se cargan las clases del paquete de trabajo con redes de Java (Java Networking Package). Las líneas 5, 6 y 7 definen constantes requeridas en la clase ServidorModbusTCP como el número de puerto y el identificador de unidad. Para establecer un servidor en Java, se utilizan instancias de las clases ServerSocket y Socket. En la línea 13 se declara un objeto de la clase ServerSocket. Este es el objeto utilizado en la aplicación servidor para escuchar las peticiones que realicen los clientes. Este objeto no realiza el servicio, sino que crea un objeto Socket en función del cliente para realizar toda la comunicación a través de él. En la línea 14 se declara un objeto de la clase Socket. Este es el objeto básico en toda comunicación a través de Internet, bajo el protocolo TCP. Esta clase proporciona métodos para la entrada/salida a través de streams. En la línea 15 se declara un objeto de la clase Thread. Esta es la clase que Java proporciona para dar soporte al multihilado y a las capacidades de la programación concurrente.

73 62 Una instancia de la clase ModbusTCPSlave se declara en la línea 16. Esta clase fue explicada anteriormente y se ejecuta como un nuevo hilo por cada solicitud de conexión que recibe el servidor. Por tanto esta clase debe implementar el método run (ejecutar) de la clase Thread. El código que realiza el verdadero trabajo de un hilo se coloca en su método run. Con el enunciado de la línea 20 se establece al objeto ServerSocket el puerto en el que el servidor esperará las conexiones de los clientes. El argumento NUMERO_DE_CONEXIONES especifica el número de clientes que pueden esperar una conexión y ser procesados por el servidor. Si la cola está llena, las conexiones de los clientes se rechazarán automáticamente. En la línea 29 se establece un ciclo while, el cual contiene el bloque de código que el servidor permanecerá ejecutando siempre, que consiste básicamente en esperar por solicitudes de conexión y la creación de hilos concurrentes para cada conexión. Una vez establecido el ServerSocket, el servidor escucha indefinidamente (ó se bloquea) para detectar un intento de un cliente por conectarse. Esto se logra con la llamada de método accept( ) de la clase ServerSocket, la cual devuelve un objeto Socket cuando se establece una conexión. En la línea 32 se ejecuta esta acción.

74 63 En la línea 34 se crea un hilo para manejar la conexión, y el programa inicia la ejecución del hilo invocando el método start (arrancar) de ese hilo (línea 35); a su vez, start invoca el método run. Una vez que start echa a andar el hilo, regresa de inmediato al invocador. De ahí en adelante, el invocador ( el servidor ) se ejecutará en paralelo con el hilo iniciado. 3.2 DESARROLLO DE UN SERVIDOR WEB El protocolo HTTP (HyperText Transfer Protocol, protocolo de transferencia de hipertexto) que constituye la base de la World Wide Web, está basado en el modelo cliente / servidor y posee el puerto registrado 80 de TCP. El servidor Web que corre en la tarjeta TINI se desarrolló en Java y la aplicación básicamente implementa la función GET que se define en la especificación del protocolo HTTP. El servidor permite manejar múltiples conexiones concurrentemente; el programa se mantiene escuchando en el puerto de HTTP y cuando llega una petición GET, se crea un proceso hijo que maneja esa transacción particular y éste devuelve una página HTML (HyperText Markup Language) al cliente. En la Figura 3.4 se lista parte del código que define al servidor Web.

75 64 1 import com.dalsemi.tininet.http.httpserver; 2 import com.dalsemi.tininet.http.httpserverexception; 3 4 class WebServer { 5 public static void main(string[] args) { 6 7 // Construir una instancia of HTTPServer que escuche al puerto 80 8 HTTPServer httpd = new HTTPServer(80); 9 10 // Establecer el nombre del directorio donde reside la página Web y 11 // el nombre del archivo html principal. 12 httpd.sethttproot("/html"); 13 httpd.setindexpage("index.html"); // Especificar un nombre para el archivo de logging y habilitarlo 16 httpd.setlogfilename("/log/web.log"); 17 httpd.setlogging(true); // Procesar las solicitudes ingresantes 20 for ( ; ; ) { 21 try { 22 httpd.servicerequests(); 23 } 24 catch (HTTPServerException e) { 25 System.out.println(e.getMessage()); 26 } 27 } } 27 } Figura 3.4 Ejemplo de código para un servidor Web La página HTML devuelta por el servidor Web al cliente contiene una applet, la cual es la que verdaderamente representa la interfaz gráfica de usuario que permite acceso remoto desde Internet. El desarrollo de esta applet se presenta en la sección 3.3.

76 65 Las applets son un tipo de aplicaciones que Java permite crear, que se mantienen (ó residen) en el servidor Web, son transportadas a través de Internet, instaladas automáticamente en la máquina cliente y que se ejecutan localmente como parte de una página Web. En la Figura 3.5 se lista el contenido del archivo HTML que define la página Web, y que tiene embebida a la applet. 1 <HTML> 2 <HEAD> 3 <TITLE> RED MODBUS/TCP</TITLE> 4 </HEAD> 5 <BODY BGCOLOR=FFFFFF> 6 <CENTER> 7 < APPLET ARCHIVE = Programa.jar CODE = "Programa.class 8 WIDTH = 750 HEIGHT = 420 VSPACE = 80> 9 </APPLET> 10 </CENTER> 11 </BODY> 12 </HTML> Figura 3.5 Archivo HTML que carga la applet en un navegador Web Para mejorar el desempeño, en el archivo HTML se hace uso de una herramienta del JDK: el programa JAR para la creación de archivos de tipo JAR (Java Archive). Los beneficios que se obtienen con este programa tiene que ver con el tiempo de respuesta en la carga de la applet. Cuando se ejecuta una applet, el browser o navegador hace tantas conexiones al servidor como clases componen la applet. Si por el contrario se crea un archivo JAR que contenga todas las clases que son cargadas por la applet, el navegador solo realizará una conexión adicional al servidor. Esto hará que la applet se cargue más rápidamente.

77 DESARROLLO DE UNA INTERFAZ PARA ACCESO WEB En esta sección se describe la herramienta con la cual un usuario puede remotamente leer y escribir registros ó posiciones discretas sobre los diversos elementos que componen la red Modbus/TCP implementada (Figura 1.1), a través de una red TCP/IP como por ejemplo Internet. La herramienta se ha desarrollado como una applet de Java de forma que un usuario puede acceder la red Modbus/TCP desde cualquier parte en Internet, utilizando solamente un browser ó navegador independientemente de la plataforma en que se encuentre el usuario. El applet desarrollado posee las siguientes características: Control de acceso de usuarios; sólo personas autorizadas pueden acceder la red Modbus/TCP. Monitoreo de variables ( valor medido, entradas discretas, etc. ). Control de variables ( setpoint, salidas discretas, etc. ). Todas las operaciones de supervisión y control de variables se realizan utilizando el protocolo Modbus/TCP, por tanto la applet debe codificar las solicitudes según este estándar.

78 El applet como un cliente Modbus/TCP. Además de proveer la interfaz gráfica para interacción con el usuario, el applet también debe comunicarse con un servidor Modbus/TCP. Por tanto, como parte integral del applet se ha implementado un cliente Modbus/TCP, según las indicaciones establecidas en la sección En Java para establecer la comunicación como cliente se utiliza un objeto de tipo Socket para conectarse con el servidor, un objeto InputStream para recibir información del servidor y un objeto OutputStream para enviar información al servidor. InputStream (una subclase de Object) y OutputStream (una subclase de Object) son clases abstractas que definen métodos para realizar operaciones de entrada y salida respectivamente. El código en Java que se ilustra en la Figura 3.6 establece comunicación con un servidor Modbus/TCP remoto, construye una solicitud según el protocolo, envía la solicitud y la respuesta recibida del servidor es verificada. La solicitud Modbus/TCP que se implementa en el código de la figura es Leer múltiples registros.

79 1 import java.io.* ; 2 import java.net.* ; 3 4 class ClienteModbusTCP 5 { 6 7 private final int PUERTO = 502 ; 8 private Socket socket = null; 9 private OutputStream output = null; 10 private BufferedInputStream input = null; 11 private int buffer[ ] = new int [261]; // Rutina para función de MODBUS. Código de función void Leer_Multiples_Registros ( 15 String dns, // Dirección IP del servidor 16 int unidad, // Identificador de unidad 17 int referencia, // Número de referencia (posición) 18 int cantidad, // Cantidad de registros a leer 19 int registros[ ] ) // Buffer para colocar los valores leídos 20 { 21 int c, i; try { // Crear el socket y establecer las conexiones de flujo respectivas 26 socket = new Socket ( dns, PUERTO ); 27 output = socket.getoutputstream( ); 28 input = new BufferedInputStream( socket.getinputstream( ) ); // Construir la trama Modbus/TCP leer registros 31 for ( i=0; i<5; i++ ) 32 buffer[ i ] = 0; 33 buffer[ 6 ] = (byte) unidad; 34 buffer[ 7 ] = 3; 35 buffer[ 8 ] = (byte) (referencia >> 8); 36 buffer[ 9 ] = (byte) (referencia & 0xFF); 37 buffer[ 10 ] = 0; 38 buffer[ 11 ] = (byte) cantidad; 39 buffer[ 5 ] = 6; // Enviar la solicitud al servidor 42 output.write( buffer, 0, 12 ); // Esperar y leer la respuesta 45 c = input.read( buffer, 0, 261 ); 68

80 69 46 // Verificar la respuesta y extraer los valores leídos 47 if ( c == ( 9+2*cantidad ) && buffer[ 7 ] == 3 ) 48 { 49 for ( i = 0; i<cantidad; i++ ) 50 { 51 // Construir el valor de registro de los bytes alto y bajo 52 registros[ i ] = ( ( (int) buffer[ 9+2*i ] ) << 8 ) & 0xFF00 53 ( (int) buffer[ 10+2*I ] & 0xFF ); 54 } 55 } else 58 System.out.println ( Respuesta recibida erronea \n ); // Cerrar la conexión socket 61 socket.close( ); } 64 catch (Exception e) { 65 System.out.println ( e.getmessage( ) ); 66 e.printstacktrace( ); 67 return; 68 } return; 71 } } Figura 3.6 Código en Java para un cliente Modbus/TCP En el programa anterior se define una función, Leer_Multiples_Registros, la cual recibe diversos parámetros que se requieren para construir y enviar la solicitud. A continuación se describen algunos aspectos relevantes del código. Es necesario importar el paquete java.io en el programa para realizar operaciones de entrada / salida con sockets en Java. Este paquete incluye las definiciones de las clases de flujos, como Outputstream y BufferedInputStream.

81 70 Con un objeto BufferedInputStream ( una subclase de FilterInputstream ), muchos segmentos lógicos de datos se leen en una sola operación de entrada física y se colocan en un buffer de la memoria. Así, el número de operaciones de entrada física reales es pequeño en comparación con el número de solicitudes de lectura emitidas por el programa, mejorando el rendimiento del sistema. Los métodos getinputstream y getoutputstream sirven para obtener referencias a los InputStream y OutputStream respectivamente, asociados al Socket Sistema de acceso. El applet desarrollado proporciona una interfaz visual independiente de la plataforma, la cual puede ser ejecutada por cualquier navegador en Internet. Existe un sistema de acceso para restringir a personas no autorizadas realizar operaciones sobre la red Modbus/TCP (Figura 1.1). El sistema de acceso está implementado con la utilización de un nombre de usuario ( login ) y una palabra clave ( password ), los cuales debe poseer una persona para obtener el panel de control desde el cual acceder a la red Modbus/TCP.

82 71 En la Figura 3.7 se observa la ventana que se obtiene cuando desde Internet se ingresa la dirección del servidor Web que se encuentra en la tarjeta TINI. Figura 3.7 Interfaz del Sistema de Acceso Solamente si se proporciona el login y el password correctos, la ventana desaparece y se visualiza el panel de control. La ventana del sistema de acceso está implementada utilizando la librería AWT (Abstract Window Toolkit) de Java, que es un kit completo con herramientas para manejo de gráficos como paneles, ventanas, botones, menús, etc Panel de Control. El panel de control hace parte del applet desarrollado; es la ventana que provee elementos como botones, campos de texto, componentes gráficos, etc., la cual visualiza el contenido o el estado de los diferentes registros y datos discretos que poseen los esclavos que conforman la red Modbus/TCP. Además, desde el panel es posible cambiar el contenido de determinados registros y valores discretos.

83 72 En la Figura 3.8 puede observarse el aspecto del panel de control que se cargaría en un navegador Web. Figura 3.8 Vista del panel de control La información que se despliega en el panel de control se actualiza constantemente; esto se realiza a través de un thread independiente que se comunica con los elementos remotos de la red, enviándoles solicitudes Modbus/TCP de lectura. Sin embargo, la información que se visualiza no es en tiempo real debido a los retardos a través de la red.

84 IMPLEMENTACION DE UN ESCLAVO MODBUS EN LA CPU08 Como se expuso en la sección 2.2.5, la tarjeta CPU08 puede ser programada en lenguaje C; la implementación del esclavo MODBUS se desarrolló en este lenguaje y utilizando el paquete Franklin. El programa residente en la CPU08 es capaz de procesar las funciones del protocolo MODBUS escribir múltiples registros (código 16 hexadecimal) y leer múltiples registros (código 03 hexadecimal). Para la aplicación a la que está destinada la tarjeta CPU08, solo se requieren estas dos funciones ya que el programa básicamente redirecciona la solicitud (de lectura ó escritura) a una subred RS-485 de controladores, los cuales entienden determinados tipos de mensaje que son similares a las funciones MODBUS previamente mencionadas; la CPU08 actúa como interfaz entre el protocolo MODBUS y el protocolo codificado en ASCII de los controladores 452 Plus. El programa de la CPU08 efectúa la conversión de protocolos de forma que la solicitud MODBUS de lectura de registros se asocia con el tipo de mensaje RA (leer variable análoga) del controlador 452 Plus; así mismo, la solicitud MODBUS de escritura de registros se asocia con el tipo de mensaje SA (escribir en localización análoga) del controlador 452 Plus. Para una descripción de los tipos de mensajes del controlador revisar la tabla 2.6 y la sección 3.5.

85 74 De acuerdo a la sección 2.2.2, la tarjeta CPU08 posee un solo puerto de comunicaciones RS-232 ó RS-485. La aplicación que se desarrolló para la CPU08 requiere de la existencia de dos puertos de comunicación serial, por tanto uno de los cuales se implementó por software utilizando dos pines de propósito general, que simulan las señales Rx y Tx de una UART. El puerto de comunicaciones RS-485 que tiene la tarjeta se utiliza para establecer la comunicación con los controladores 452 Plus. La UART del microcontrolador AT89C52 de la CPU08 está configurada en modo 2, donde se transmiten 8 bits: 7 bits de datos (caracteres ASCII) y un bit de paridad par, a una rata de 9600 bps y con un solo bit de parada. Los datos intercambiados entre la CPU08 y los controladores 452 Plus son de tipo decimal, por tanto en la CPU08 se debe codificar la información según el estándar IEEE754 que define el formato para el almacenamiento y la transmisión de datos flotantes. Cada dato flotante se debe tratar como dos registros holding según el protocolo MODBUS Algoritmo de la aplicación para la CPU08. El algoritmo para el programa residente en la tarjeta CPU08 puede ser apreciado en la Figura 3.9.

86 Figura 3.9 Algoritmo para el programa de la CPU08 75

87 76 Una descripción detallada de las diferentes etapas que componen el algoritmo es presentada a continuación. Inicio. Se establecen los valores para los registros de función especial del microcontrolador de la tarjeta CPU08. Etapa 1. Esperar a través de la UART implementada por software, una solicitud MODBUS a ser procesada. Etapa2. verificar la integridad de la trama MODBUS recibida. Básicamente corroborar el código de chequeo de error (CRC) recibido con el calculado. Además comprobar que el mensaje es direccionado a la tarjeta. Etapa 3. realizar una discriminación basándose en el campo de código de función, para enviar el mensaje a la rutina respectiva. Etapa 4. Generar una respuesta de excepción indicando que el código de función recibido no es soportado por el esclavo MODBUS. Etapa 5. Rutina para procesar la función de leer múltiples registros. Se encuentra conformada por las etapas 7, 10 y 12.

88 77 Etapa 6. Rutina para procesar la función de escribir múltiples registros. Se encuentra conformada por la etapas 8, 11 y 13. Etapa 7 y 8. Verificar que la solicitud MODBUS se encuentra correcta. Por ejemplo comprobar que el registro que se pretende leer ó escribir se encuentra dentro del rango de direcciones manejado por el esclavo MODBUS. Etapa 9. Generar una respuesta de excepción, indicando el tipo de excepción que se produjo. Etapa 10 y 11. Construir y enviar una solicitud de lectura ó escritura según el caso al controlador respectivo, teniendo en cuenta el protocolo de comunicación ASCII que manejan esos dispositivos. Esto se realiza a través del puerto serial RS-485 de la CPU08. Etapas 12 y 13. A través del puerto RS-485 de la CPU08, recibir y verificar la respuesta del controlador a la solicitud de lectura o escritura. A partir de los datos obtenidos, armar según el protocolo una respuesta MODBUS a la solicitud procesada. Etapa 14. Enviar la respuesta a la trama MODBUS recibida, a través de la UART implementada por software.

89 78 La aplicación embebida residente en la tarjeta CPU08 se mantiene cíclicamente esperando por tramas MODBUS y procesando las solicitudes. En la sección 3.5 se describe detalladamente la codificación de una trama de solicitud ó respuesta para los controladores 452 Plus, según el protocolo de comunicación de estos dispositivos. La Tabla 3.1 describe los pines de los puertos utilizados por el microcontrolador que posee la tarjeta CPU08, al igual que la función que desempeñan. Tabla 3.1 Pines utilizados por la tarjeta CPU08 Puerto Descripción P3.5 Simula la señal de recepción de una UART. P1.3 Simula la señal de transmisión de una UART. P1.6 Señal de habilitación para el driver RS-485. P3.0 Pin de recepción de la UART del microcontrolador. P3.1 Pin de transmisión de la UART del microcontrolador. P3.3 Interrupción externa que activa la recepción en la UART implementada. También son utilizados los dos pines provenientes del driver RS-485 de la CPU08, que proporcionan las señales A y B del canal diferencial de transmisión y recepción.

90 La UART implementada por software. Los pines 3 y 5 del puerto 3 junto con el pin 3 del puerto 1 proporcionan la funcionalidad de una UART adicional para la tarjeta CPU08, como fue requerido para la aplicación propuesta. Se hace uso de una interrupción externa para indicarle a la rutina de recepción la llegada de un byte, y para iniciar el temporizador que genera la señal de reloj. Cuando arriva el bit de inicio de un byte (nivel lógico 0) se genera la interrupción externa 1, activa por flanco descendente, instante en el que se sincroniza el temporizador TR0 el cual permanecerá activo hasta que termine la llegada de la trama completa o se genere un timeout. Según el protocolo MODBUS RTU, la separación máxima entre bytes dentro de una misma trama de lectura o escritura es de 3.5 veces el período de reloj; en la rutina de recepción se desarrolla esta verificación del tiempo de separación. En la rutina de recepción también se realiza la verificación de los bits de inicio y de parada para cada byte que llega. La señal de reloj se establece al doble de la rata de baudios a la cual se realiza la comunicación, para garantizar que cada uno de los bits son leídos en la mitad del slot de tiempo y no cerca de los límites del slot donde podría generarse inexactitudes en la lectura. Esto es bosquejado en el diagrama de la Figura 3.10.

91 80 Figura 3.10 Lectura de bits en la UART implementada 3.5 LA CPU08 COMO MAESTRO DE UNA RED DE CONTROLADORES La tarjeta CPU08 debe programarse para que se comporte como maestro de una red RS-485 de controladores 452 Plus, utilizando el protocolo de comunicación codificado en ASCII que entienden esos dispositivos. Referirse a la sección para una descripción detallada de dicho protocolo. Para la aplicación a la que está destinada la CPU08, existen dos tipos de mensajes distintos para comunicarse con los controladores 452 Plus, que se presentan a continuación.

92 81 Mensaje para leer una variable análoga: <SYN>Dirección_del_controlador<STX>RA Dirección_de_la_variable<ETX> Mensaje para escribir en una variable análoga: <SYN>Dirección_del_controlador<STX>SA Dirección_de_la_variable Dato<ETX> Respuestas del controlador 452 Plus a solicitudes. Los controladores 452 Plus responden a todas las tramas correctamente definidas que reciben con un mensaje respuesta que consiste de una réplica exacta de la solicitud seguida por ya sea el caracter <ACK> ó el caracter <NAK>; cuando se da una respuesta de no reconocimiento <NAK>, la respuesta se acompaña con un caracter de error. Los posibles caracteres de error se detallan en la tabla 3.2. Tabla 3.2 Caracteres de error del controlador 452 Plus Caracter Descripción Ejemplo* 1 Mensaje inválido RX 10 3 Posición inválida SA -10 * Estos son formatos de mensaje los cuales el controlador responderá con no reconocimiento y el respectivo caracter de error. Las solicitudes para establecer un valor en una posición de solo lectura son ignorados silenciosamente.

93 82 Los mensajes de solicitud emitidos por la tarjeta CPU08 son respondidos por el controlador 452 Plus de la manera siguiente: Respuesta a una solicitud de lectura: <STX>RA Dirección_de_la_variable<ACK>Dato<ETX><CR><LF> Respuesta a una solicitud de escritura: <STX>SA Dirección_de_la_variable Dato<ACK><ETX><CR><LF> Hay que tener en cuenta que un valor análogo que se desee leer o escribir consiste de un número con un punto decimal opcional, como por ejemplo ó 3999; solamente 4 dígitos tienen significado para el controlador 452 Plus. Si el valor es negativo, el dato es precedido del caracter de signo negativo. La tarjeta CPU08 enviará un mensaje de solicitud y entonces esperará por la respuesta. Sin embargo, es posible que el controlador 452 Plus no se encuentre encendido, o no reciba el mensaje por alguna razón. Por tanto en el programa de la CPU08 se establece un timeout cada vez que se envíe una trama al controlador, para evitar que posiblemente se quede esperando eternamente. Si se completa en timeout, la CPU08 armará una respuesta de excepción y la retornará al dispositivo maestro.

94 Ejemplos de mensajes de lectura y escritura. A continuación se presentan diversos ejemplos de solicitudes de lectura y escritura para los controladores 452 Plus, al igual que las tramas reales que serán enviadas a estos dispositivos. Leer la constante proporcional del controlador 452 Plus que tiene dirección 1. En la Tabla 3.3 se observa la trama de solicitud. Tabla 3.3 Ejemplo de trama de lectura del controlador 452 Plus Posición del byte Caracter ASCII Valor en hexadecimal* Byte 0 <SYN> 96 Byte 1 1 B1 Byte 2 <STX> 82 Byte 3 R D2 Byte 4 A 41 Byte 5 Espacio A0 Byte 6 7 B7 Byte 7 <ETX> 03 * Este valor además de representar al respectivo carácter ASCII, también coloca la paridad del protocolo (paridad par). Establecer a 50 el setpoint del controlador 452 Plus que tiene la dirección 2. En la Tabla 3.4 se observa la trama de solicitud.

95 84 Tabla 3.4 Ejemplo de trama de escritura del controlador 452 Plus Posición de byte Caracter ASCII Valor en hexadecimal* Byte 0 <SYN> 96 Byte 1 2 B2 Byte 2 <STX> 82 Byte 3 S 53 Byte 4 A 41 Byte 5 Espacio A0 Byte 6 2 B2 Byte 7 Espacio A0 Byte Byte Byte 10 <ETX> 03 * Este valor además de representar al respectivo carácter ASCII, también coloca la paridad del protocolo (paridad par). 3.6 CONFIGURACION DEL PLC DL05 COMO ESCLAVO MODBUS Para realizar la configuración del PLC DL05 como un esclavo MODBUS se han utilizado las características que se aprecian en la Tabla 3.5. Tabla 3.5 Variables de configuración del PLC DL05 Interfaz de comunicación RS-232 Puerto de comunicación Puerto 2 Dirección de esclavo 2 Rata de baudios 4800 Bits de datos 8 Paridad ninguna

96 85 La comunicación del PLC como dispositivo esclavo puede hacerse a través de cualquiera de los dos puertos de comunicación, sin embargo se optó por utilizar el puerto 2 porque es más flexible en los parámetros que se le pueden establecer. Según la sección 2.3.5, el PLC DL05 se programa con DirectSOFT. En la Figura 3.11 se observa la ventana para la configuración del puerto 2, en DirectSOFT. Figura 3.11 Configuración del puerto 2 en DirectSOFT La comunicación con el PLC se establece con el protocolo MODBUS en modo RTU. Los códigos de función MODBUS soportados por el PLC DL05, determinan si el acceso es de lectura ó escritura, y si el acceso es a un punto de datos simple ó a un grupo de ellos.

Implementación de una Red MODBUS/TCP

Implementación de una Red MODBUS/TCP Andrés F. Ruiz Olaya* Asfur Barandica López** Fabio G. Guerrero Moreno*** RESUMEN * Ingeniero Electrónico - Candidato a Doctor - Instituto de Automática Industrial, en Madrid, España. E-mail: anferol1@hotmail.com

Más detalles

CAPÍTULO MODBUS TCP ECOM100 PARA H0/H2- En este capítulo...

CAPÍTULO MODBUS TCP ECOM100 PARA H0/H2- En este capítulo... TCP PARA H0/H2- ECOM100 CAPÍTULO 5 En este capítulo... TCP - Definiciones...............................5-2 Códigos de funciones apoyados....................5-4 Operación de servidor (esclavo) de la red.....................5-5

Más detalles

COMUNICACIONES. Medios para transmitir señales: Conexión por lazo de corriente 4 20 ma. Transmisión analógica: corriente proporcional a una magnitud

COMUNICACIONES. Medios para transmitir señales: Conexión por lazo de corriente 4 20 ma. Transmisión analógica: corriente proporcional a una magnitud PLCs COMUNICACIONES Introducción Medios para transmitir señales: Conexión por lazo de corriente 4 20 ma Transmisión analógica: corriente proporcional a una magnitud Extremo receptor incluye un conversor

Más detalles

GWY-ME-ETH/RS232/RS485-IO. Gateway Multiprotocolos GWY-ME-ETH/RS232/RS485-IO. Descripción funcional. Características principales:

GWY-ME-ETH/RS232/RS485-IO. Gateway Multiprotocolos GWY-ME-ETH/RS232/RS485-IO. Descripción funcional. Características principales: Gateway Multiprotocolos Descripción funcional 1. Breve descripción general: El conversor multiprotocolos GWY-ME-ETH/RS232/RS485 es un dispositivo industrial compacto, que ha sido diseñado para obtener

Más detalles

IntesisBox. Modbus Server - M-Bus (EN 13757-3) Pasarela para la integración de medidores M-BUS en sistemas de control basados en Modbus RTU y TCP.

IntesisBox. Modbus Server - M-Bus (EN 13757-3) Pasarela para la integración de medidores M-BUS en sistemas de control basados en Modbus RTU y TCP. IntesisBox Server - M-Bus (EN 13757-3) Pasarela para la integración de medidores M-BUS en sistemas de control basados en y TCP. Integre medidores M-Bus en su dispositivo o sistema master (BMS, SCADA, PLC,

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED Dolly Gómez Santacruz dolly.gomez@gmail.com CAPA DE RED La capa de red se ocupa de enviar paquetes de un punto a otro, para lo cual utiliza los servicios

Más detalles

MODBUS INDICE. Centro Integrado Politécnico ETI Departamento de Electricidad Fernando Pascual Moisés Pérez MODBUS 1. CARACTERÍSTICAS DEL BUS

MODBUS INDICE. Centro Integrado Politécnico ETI Departamento de Electricidad Fernando Pascual Moisés Pérez MODBUS 1. CARACTERÍSTICAS DEL BUS INDICE 1. CARACTERÍSTICAS DEL BUS 2. PROTOCOLOS 3. CARACTERÍSTICAS DE LOS MENSAJES ENVIADOS 4. INSTRUCCIÓN PMCR 5. EJEMPLO DE APLICACIÓN a. Configuración puerto SCU41 b. Configuración variador V1000 c.

Más detalles

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI. 3.1 Modelo de referencia OSI. Durante las últimas dos décadas ha habido un enorme crecimiento en la cantidad y tamaño de las redes. Muchas de ellas sin embargo, se desarrollaron utilizando implementaciones

Más detalles

SLICETEX ELECTRONICS Octubre 2015. Catálogo de Productos

SLICETEX ELECTRONICS Octubre 2015. Catálogo de Productos SLICETEX SLICETEX Octubre 2015 1 Introducción Gracias por descargar nuestro catalogo de productos, en el mismo podrá encontrar en forma general los productos ofrecidos por Slicetex Electronics. Como fabrica,

Más detalles

Redes Industriales Sistemas Industriales para Control

Redes Industriales Sistemas Industriales para Control Redes Industriales Sistemas Industriales para Control Concepto de las redes datos Conceptos específicos de los redes de datos Topología de la red (atributos donde destacan conectividad, compacidad, metricidad

Más detalles

Utilización de los puertos serial y paralelo de una PC usando LabView

Utilización de los puertos serial y paralelo de una PC usando LabView Universidad del Táchira Departamento de Ingeniería Electrónica Instrumentación Electrónica Utilización de los puertos serial y paralelo de una PC usando LabView Hecho Por: Ing. Rafael Chacón Ing. José

Más detalles

Instrucciones de Comunicaciones

Instrucciones de Comunicaciones Guía Rápida Instrucciones de Comunicaciones Introducción Guía Rápida Puertos lógicos (Asignación automática). Instrucciones de red. Instrucción para macros. Instrucciones para comunicaciones serie. OMRON

Más detalles

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Qué es una Red? Es un grupo de computadores conectados mediante cables o algún otro medio. Para que? compartir recursos. software

Más detalles

una industria o en lugares remotos, y envía esos datos a una unidad central que realiza el procesamiento de los datos. En la actualidad los

una industria o en lugares remotos, y envía esos datos a una unidad central que realiza el procesamiento de los datos. En la actualidad los SCADA Supervisory Control And Data Acquisition iii Es un sistema ste que colecta datos provenientes e de diferentes e sensores so es en una industria o en lugares remotos, y envía esos datos a una unidad

Más detalles

Tipos de comunicación La comunicación puede ser:

Tipos de comunicación La comunicación puede ser: Unidad 3. Procesos concurrentes 3.3 Semáforos (informática) Un semáforo es una variable especial (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos

Más detalles

Potente PLC para todo tipo de industria

Potente PLC para todo tipo de industria Potente PLC para todo tipo de industria OPLC Vision 1040 La serie V1040 es un potente PLC con un panel de operador integrado HMI que comprende una pantalla táctil color de 10,4 y nueve teclas de función

Más detalles

Módulo 2 Comunicación

Módulo 2 Comunicación Sistemas Distribuidos Módulo 2 Comunicación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia San Juan Bosco Comunicación en Sistemas Distribuidos Modelos de Comunicaciones

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

CSIR2121. Administración de Redes I [Modulo 1]

CSIR2121. Administración de Redes I [Modulo 1] CSIR2121 Administración de Redes I [Modulo 1] Temas: Nacimiento del Modelo OSI Uso de Capas Paquetes Medios Protocolos Evolución de las normas de networking de ISO Propósito del modelo de referencia OSI

Más detalles

CAPÍTULO 3 LA COMUNICACIÓN SERIAL

CAPÍTULO 3 LA COMUNICACIÓN SERIAL CAPÍTULO 3 LA COMUNICACIÓN SERIAL 3.1 Introducción. La historia de las comunicaciones se remonta a 1810 cuando un señor alemán de apellido Von Soemmering, utilizó 26 cables (1 por cada letra del alfabeto)

Más detalles

Introducción al enrutamiento y envío de paquetes

Introducción al enrutamiento y envío de paquetes Introducción al enrutamiento y envío de paquetes Conceptos y protocolos de enrutamiento. Capítulo 1 Ing. Aníbal Coto 1 Objetivos Identificar un router como una computadora con SO y hardware diseñados para

Más detalles

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa.

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa. Glosario de términos Ancho de Banda El ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado, normalmente medido en segundos. Cuanto mayor sea

Más detalles

INGENIERÍA EN MECATRÓNICA

INGENIERÍA EN MECATRÓNICA HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Control lógico avanzado 2. Competencias Desarrollar proyectos de automatización y control, a través del diseño, la administración

Más detalles

Un PLC trabaja en base a la información recibida por los captadores y el programa lógico interno, actuando sobre los accionadores de la instalación.

Un PLC trabaja en base a la información recibida por los captadores y el programa lógico interno, actuando sobre los accionadores de la instalación. PLC (Controlador con Lógica Programable) Introducción Un autómata programable industrial (API) o Programable logic controller (PLC), es un equipo electrónico, programable en lenguaje no informático, diseñado

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Tipos de Redes: Topologías de red: Según el tamaño: Según su tecnología de transmisión: Según en tipo de transferencia de datos:

Tipos de Redes: Topologías de red: Según el tamaño: Según su tecnología de transmisión: Según en tipo de transferencia de datos: Tipos de Redes: Según el tamaño: -LAN (red de área local): de 10 metros a 1 kilómetro, suelen usar broatcast y su velocidad va de 10 a 100 MBps. -MAN (red de área metropolitana): tamaño máximo 10 kilómetros.

Más detalles

PLC. Semana 1: Introducción a los PLC QUÉ ES UN PLC? PLC es la sigla de Controlador Lógico Programable (ProgrammableLogicController).

PLC. Semana 1: Introducción a los PLC QUÉ ES UN PLC? PLC es la sigla de Controlador Lógico Programable (ProgrammableLogicController). PLC Semana 1: Introducción a los PLC QUÉ ES UN PLC? PLC es la sigla de Controlador Lógico Programable (ProgrammableLogicController). Se trata de un dispositivo de arquitectura similar a una computadora

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485

MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 ZEBRA ELECTRÓNICA 2 ÍNDICE MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 Pág. 1. CONVERSORES TCP A 232 / TCP A 485... 3 1.1. Características.

Más detalles

LIC. EN INFORMATICA ADMNISTRATIVA CAPÍTULO 10 PLANIFICACION Y CABLEADO DE REDES ASIGNATURA: REDES 1 PROFESOR: RAFAEL MENA DE LA ROSA

LIC. EN INFORMATICA ADMNISTRATIVA CAPÍTULO 10 PLANIFICACION Y CABLEADO DE REDES ASIGNATURA: REDES 1 PROFESOR: RAFAEL MENA DE LA ROSA DIVISIÓN ACADEMICA DE INFORMATICA Y SISTEMAS LIC. EN INFORMATICA ADMNISTRATIVA CAPÍTULO 10 PLANIFICACION Y CABLEADO DE REDES ASIGNATURA: REDES 1 PROFESOR: RAFAEL MENA DE LA ROSA ALUMNOS: CLEMENTE GARCÍA

Más detalles

IntesisBox BACnet/IP Server - Modbus RTU master

IntesisBox BACnet/IP Server - Modbus RTU master IntesisBox BACnet/IP Server - RTU master Pasarela para la integración de dispositivos RTU en sistemas basados en. Integre cualquier dispositivo esclavo RTU en su sistema de control BACnet. cliente Ethernet

Más detalles

MANUAL DE USUARIO CENTRO DE CONTROL DE FLOTAS MU-CCF-021-SN AGOSTO 2000 EDICIÓN: 1 REVISIÓN: 0

MANUAL DE USUARIO CENTRO DE CONTROL DE FLOTAS MU-CCF-021-SN AGOSTO 2000 EDICIÓN: 1 REVISIÓN: 0 CENTRO DE CONTROL DE FLOTAS MANUAL DE USUARIO MU-CCF-021-SN EDICIÓN: 1 ÍNDICE 1 INTRODUCCIÓN... 1.1 2 FUNCIONALIDAD... 2.1 3 REQUISITOS DEL SISTEMA... 3.1 4 INSTALACIÓN DEL PROGRAMA... 4.1 5 MANEJO DEL

Más detalles

Router, Enrutador o Encaminador

Router, Enrutador o Encaminador Router, Enrutador o Encaminador Un router es un tipo especial de computador. Cuenta con los mismos componentes básicos que un PC estándar de escritorio. Tiene una CPU, memoria, bus de sistema y distintas

Más detalles

Conecte el mundo a su imaginación

Conecte el mundo a su imaginación Conecte el mundo a su imaginación Transmisores Industriales Interfaces Digitales Interfaces Análogas Interfaces Inalámbrica Interfaces de temperatura a TCP/IP ó RS-232/422/485 Interfaces de corriente y

Más detalles

Red Digital de Servicios Integrados (RDSI/ISDN)

Red Digital de Servicios Integrados (RDSI/ISDN) Universidad Francisco de Paula Santander Departamento de Sistemas e Informática ACADEMIA LOCAL CISCO CURSO CCNA Red Digital de Servicios Integrados (RDSI/ISDN) 1 de Mayo de 2004 Tabla de contenidos INTRODUCCIÓN...

Más detalles

Desarrollo de una interfaz RS-232 para el manejo de un coche de radiocontrol desde el PC

Desarrollo de una interfaz RS-232 para el manejo de un coche de radiocontrol desde el PC Desarrollo de una interfaz RS-232 para el manejo de un coche de radiocontrol desde el PC A. Muñoz, A. Millan, P. Ruiz-de-Clavijo, J. Viejo, E. Ostua, D. Guerrero Grupo ID2 (Investigación y Desarrollo Digital).

Más detalles

A continuación se representan los componentes básicos de un sistema computacional (ordenador). Figura 5.6.1 Componentes básicos de un ordenador.

A continuación se representan los componentes básicos de un sistema computacional (ordenador). Figura 5.6.1 Componentes básicos de un ordenador. 5.6 ESTRUCTURA BÁSICA DE UN ORDENADOR. TERMINOLOGÍA INFORMÁTICA Las aeronaves modernas utilizan sofisticados sistemas de aviónica que necesitan de sistemas de computación basados en microprocesadores.

Más detalles

Comunicaciones Industriales. Implementación de un Sistema de Telesupervisión basado en Buses de Campo.

Comunicaciones Industriales. Implementación de un Sistema de Telesupervisión basado en Buses de Campo. Comunicaciones Industriales. Implementación de un Sistema de Telesupervisión basado en Buses de Campo. Fernando Avallone - Fabian Fillat Repsol YPF. RESUMEN En esta presentación se desarrollan los conceptos

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP Dolly Gómez Santacruz dollygos@univalle.edu.co Arquitectura de Redes Introducción Las comunicaciones en redes son complejas,

Más detalles

Solución Completa en Automatización. FieldLogger. Registro y Adquisición de Datos

Solución Completa en Automatización. FieldLogger. Registro y Adquisición de Datos Solución Completa en Automatización FieldLogger Registro y Adquisición de Datos Ethernet & USB Hasta 16GB de memoria Conversor A/D 24 bits Hasta 1000 muestras por segundo Presentación FieldLogger El FieldLogger

Más detalles

El Modelo de Referencia OSI

El Modelo de Referencia OSI El Modelo de Referencia OSI Tabla de Contenidos 2. El Modelo de Referencia OSI... 2 2.1 Nivel físico...4 2.2 Nivel de enlace... 4 2.3 Nivel de red... 5 2.4 Nivel de transporte...5 2.5 Nivel de sesión...

Más detalles

Capítulo 3 Fundamentos de una PC

Capítulo 3 Fundamentos de una PC Fundamentos de una PC Es importante saber reconocer y denominar los componentes básicos de una PC. Una PC es una pequeña red de computadoras. Fundamentos de una PC Componentes electrónicos.- Transistor

Más detalles

Instrucción adicional. Modbus-TCP, ASCII protocol VEGAMET 391/624/625, VEGASCAN 693, PLICSRADIO C62. Document ID: 30768.

Instrucción adicional. Modbus-TCP, ASCII protocol VEGAMET 391/624/625, VEGASCAN 693, PLICSRADIO C62. Document ID: 30768. Instrucción adicional Modbus-TCP, ASCII protocol VEGAMET 391/624/625, VEGASCAN 693, PLICSRADIO C62 Internet PLC/SPS Document ID: 30768 Índice Índice 1 Función como servidor Modbus TCP 1.1 Modbus-TCP -

Más detalles

Conecte LabVIEW a Cualquier Red Industrial y PLCs

Conecte LabVIEW a Cualquier Red Industrial y PLCs Conecte LabVIEW a Cualquier Red Industrial y PLCs 1 Agenda Aspectos generales de comunicaciones industriales Porqué conectar LabVIEW a redes industriales y PLCs? E/S analógicas y digitales básicas Comunicación

Más detalles

AUC-1306. Clave de la asignatura: Carrera:

AUC-1306. Clave de la asignatura: Carrera: 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: Redes de comunicación industrial AUC-1306 Créditos (Ht-Hp_ créditos): 2-2-4 Carrera: Ingeniería Electromecánica 2. Presentación

Más detalles

Sistema RTUQM DESCRIPCIÓN

Sistema RTUQM DESCRIPCIÓN DESCRIPCIÓN Sistema de aplicaciones de software para gestión de Unidades Remotas de Telecontrol, RTU modelos RTU587 y RTU194. La RTU realiza las tareas locales en una estación de transformación o de una

Más detalles

Bus AS-i. Actuator/Sensor-Interface. 1 M.P.M. y F.P.M. DEPTO.ELECTRICIDAD-C.I.P. ETI Tudela

Bus AS-i. Actuator/Sensor-Interface. 1 M.P.M. y F.P.M. DEPTO.ELECTRICIDAD-C.I.P. ETI Tudela Bus AS-i Actuator/Sensor-nterface 1 Pirámide de automatización. 2 AS-i funcionando. 3 Un cable en lugar de muchos 4 Características principales: deal para la interconexión de sensores y actuadores binarios.

Más detalles

Introducción a LabVIEW FPGA y CompactRIO

Introducción a LabVIEW FPGA y CompactRIO Introducción a LabVIEW FPGA y CompactRIO Familia de Productos Embebidos de LabVIEW Tecnología FPGA Interconexiones Programables Bloques Lógicos Bloques de E/S Importancia de FPGA en Sistemas Alta Confiabilidad

Más detalles

El modelo OSI. Introducción. Conceptos generales

El modelo OSI. Introducción. Conceptos generales El modelo OSI Introducción En un principio, los computadores eran elementos aislados, constituyendo cada uno de ellos una estación de trabajo independiente, una especie de "isla informática". Cada computador

Más detalles

ÍNDICE MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 1. CONVERSORES TCP A 232 / TCP A 485... 3. 1.1. Características.

ÍNDICE MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 1. CONVERSORES TCP A 232 / TCP A 485... 3. 1.1. Características. MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 ZEBRA ELECTRÓNICA 2 ÍNDICE MANUAL DE USUARIO CONVERSOR TCP/IP A RS232 Y TCP/IP A RS485 Pág. 1. CONVERSORES TCP A 232 / TCP A 485... 3 1.1. Características.

Más detalles

Laboratorio 4: Asignación de Direcciones IPv4.

Laboratorio 4: Asignación de Direcciones IPv4. Redes de Datos Laboratorio 4 - Instructivo. Laboratorio 4: Asignación de Direcciones IPv4. Instrucciones generales Para poder realizar exitosamente la práctica, deberá cumplir las siguientes etapas: Previo

Más detalles

CAPÍTULO II. Gráficos Dinámicos.

CAPÍTULO II. Gráficos Dinámicos. 2.1 Definición. Los gráficos dinámicos son representaciones a escala del proceso, en donde se muestra la información de las variables del proceso a través de datos numéricos y de animación gráfica. Éstos

Más detalles

2.1 Conexión serie en los procesadores BMX P34 1000/2000/2010/20102/2020

2.1 Conexión serie en los procesadores BMX P34 1000/2000/2010/20102/2020 2.1 Conexión serie en los procesadores BMX P34 1000/2000/2010/20102/2020 Presentación de las comunicaciones serie en los procesadores BMX P34 1000/2000/2010/20102/2020 General Los procesadores siguientes

Más detalles

A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de despliegue.

A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de despliegue. Capítulo 3 1 Codificación binaria 3.1. Codificación En un ambiente de sistemas digitales se denomina codificación a la asignación de un significado a una configuración de bits. Al modelar problemas es

Más detalles

CUALIFICACIÓN OPERACIÓN DE REDES DEPARTAMENTALES PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN OPERACIÓN DE REDES DEPARTAMENTALES PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN OPERACIÓN DE REDES DEPARTAMENTALES PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC299_2 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Redes de Computadores. Tema 1 Introducción a las redes de computadores

Redes de Computadores. Tema 1 Introducción a las redes de computadores (07BJ) (05BR) Redes Redes de Computadores Tema 1 Introducción a las redes de computadores Índice 1. Introducción 1.1 Aplicaciones de las redes 1.2 Esquema general de comunicación 2. Conceptos básicos ([FOR07]

Más detalles

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II Nombre: Francis Ariel Jiménez Zapata Matricula: 2010-0077 Tema: Trabajando con Windows Server 2008 Módulo 6 Materia: Sistema Operativo II Facilitador: José Doñe Introducción En este trabajo estaremos tratando

Más detalles

CRYPCOM100. Familia de encriptación.

CRYPCOM100. Familia de encriptación. CRYPCOM100 Familia de encriptación. CRYPCOM100 1-Introducción La familia de encriptación CRYPCOM 100 proporciona una solución eficaz para encriptar enlaces de telecomunicaciones (por ejemplo voz por PCM,

Más detalles

Comunicaciones Industriales. I.E.S. HIMILCE LINARES - Departamento de Electricidad-Electrónica Profesor: José María Hurtado Torres TEMA 1

Comunicaciones Industriales. I.E.S. HIMILCE LINARES - Departamento de Electricidad-Electrónica Profesor: José María Hurtado Torres TEMA 1 Comunicaciones Industriales I.E.S. HIMILCE LINARES - Departamento de Electricidad-Electrónica Profesor: José María Hurtado Torres TEMA 1 DEFINICIONES Comunicación Telecomunicación Telecomunicaciones Teleinformática

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Integración HMI-PLC. una ventaja competitiva real.

Integración HMI-PLC. una ventaja competitiva real. La manufactura esbelta es una poderosa herramienta probada que aumenta la eficiencia en los procesos de producción. Conceptos y prácticas similares que eliminan "desperdicios" (equipo innecesario y los

Más detalles

Introducción a redes Ing. Aníbal Coto Cortés

Introducción a redes Ing. Aníbal Coto Cortés Capítulo 5: Ethernet Introducción a redes Ing. Aníbal Coto Cortés 1 Objetivos En este capítulo, aprenderá a: Describir el funcionamiento de las subcapas de Ethernet. Identificar los campos principales

Más detalles

Módulo CJ1W-ETN11 GUIA RAPIDA ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS 2.- INSTALACIÓN Y CONFIGURACIÓN DEL MÓDULO 3.- CONFIGURACIÓN DEL MÓDULO

Módulo CJ1W-ETN11 GUIA RAPIDA ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS 2.- INSTALACIÓN Y CONFIGURACIÓN DEL MÓDULO 3.- CONFIGURACIÓN DEL MÓDULO GUIA RAPIDA Módulo CJ1W-ETN11 ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS 2.- INSTALACIÓN Y CONFIGURACIÓN DEL MÓDULO 3.- CONFIGURACIÓN DEL MÓDULO CON CX-PROGRAMMER 4.- CORREO 5.- EJEMPLO DE CONFIGURACIÓN

Más detalles

IntesisBox Modbus Server - BACnet/IP Client

IntesisBox Modbus Server - BACnet/IP Client Pasarela para la integración de dispositivos en sistemas (RTU y TCP). Integre Aire Acondicionado Daikin VRV en su sistema (SCADA, BMS, PLC ). Para esto, el sistema Daikin VRV debe estar equipado con el

Más detalles

Ethernet Industrial. Jhon Jairo Padilla A., PhD.

Ethernet Industrial. Jhon Jairo Padilla A., PhD. Ethernet Industrial Jhon Jairo Padilla A., PhD. Introducción Inicialmente, Ethernet fue diseñada para entornos de oficinas Ethernet ha ganado gran aceptación en redes industriales, hasta convertirse en

Más detalles

Slicetex Virtual HMI para Windows (Virtual HMI) Manual de Usuario para Windows

Slicetex Virtual HMI para Windows (Virtual HMI) Manual de Usuario para Windows Slicetex Virtual HMI para Windows (Virtual HMI) Manual de Usuario para Windows Autor: Ing. Boris Estudiez 1 Descripción General El presente documento describe el software Virtual HMI para la plataforma

Más detalles

ARQUITECTURAS CLIENTE/SERVIDOR

ARQUITECTURAS CLIENTE/SERVIDOR Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 1 ARQUITECTURAS CLIENTE/SERVIDOR Conceptos básicos Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 2 Conceptos básicos

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

CAPITULO IV 4 IMPLEMENTACION DEL SISTEMA DE MONITOREO

CAPITULO IV 4 IMPLEMENTACION DEL SISTEMA DE MONITOREO CAPITULO IV 4 IMPLEMENTACION DEL SISTEMA DE MONITOREO 4.1 MONTAJE DE HARDWARE. Antes de realizar la implementación de HMI fue necesario realizar pruebas de comunicación con los equipos disponibles al momento,

Más detalles

IntesisBox Modbus Server - Notifier ID3000 series

IntesisBox Modbus Server - Notifier ID3000 series Server - ID3000 series Pasarela para la integración de centrales de alarma contra de incendios ID3000, ID3002, ID50 e ID60 en sistemas de control (RTU y TCP). Integre centrales de alarma contra incendios

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

IntesisBox BACnet IP Server - M-Bus

IntesisBox BACnet IP Server - M-Bus IntesisBox Server - M-Bus Pasarela para la integración de medidores M-Bus en sistemas basados en BACnet/IP Integre medidores M-Bus en su sistema de control BACnet/IP BACnet/IP LAN TCP/IP Ethernet RS232

Más detalles

Schneider Electric lleva el concepto de motion control al más alto nivel de desempeño

Schneider Electric lleva el concepto de motion control al más alto nivel de desempeño Schneider Electric lleva el concepto de motion control al más alto nivel de desempeño México D.F. a 15 de febrero de 2012 Schneider Electric, especialista global en el manejo de la energía y líder en eficiencia

Más detalles

Diagrama de Bloques de una Red de Campo

Diagrama de Bloques de una Red de Campo Los avances en la integración y tecnología electrónica unidos a la tendencia hacia un control descentralizado e inteligencia distribuida en los dispositivos de campo, han creado la necesidad de un tipo

Más detalles

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

TEMA 6: GESTIÓN DE ENTRADA/SALIDA 1. Introducción TEMA 6: GESTIÓN DE ENTRADA/SALIDA Función principal de un S.O.: controlar todos los dispositivos de E/S de la computadora. El Subsistema de E/S se encarga de Emitir órdenes a los dispositivos

Más detalles

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma INFORMÁTICA Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma Informática Teoría Unidad 5 Prof. Ing Ezequiel Benavente Ciclo lectivo 2014 Diferencias entre un Modem y un

Más detalles

Symphony Plus S+ Control: BRC410

Symphony Plus S+ Control: BRC410 Symphony Plus S+ Control: BRC410 Symphony Plus S+ Control: BRC410 Symphony TM Plus es la nueva generación de la ampliamente aclamada familia Symphony de sistemas de control distribuido de ABB, el DCS más

Más detalles

DEMO SCRIPT: COMUNICACIÓN NI-OPC SERVERS CON SIEMENS S7-200 CPU- 224 Y LABVIEW

DEMO SCRIPT: COMUNICACIÓN NI-OPC SERVERS CON SIEMENS S7-200 CPU- 224 Y LABVIEW DEMO SCRIPT: COMUNICACIÓN NI-OPC SERVERS CON SIEMENS S7-200 CPU- 224 Y LABVIEW INTRODUCCIÓN La conexión entre un PLC y un PC es una aplicación típica en el área industrial. En este demo script se describirá

Más detalles

CAPÍTULO VIII CONCLUSIONES Y RECOMENDACIONES

CAPÍTULO VIII CONCLUSIONES Y RECOMENDACIONES CAPÍTULO VIII CONCLUSIONES Y RECOMENDACIONES Andrea Verenice Basantes Andrade - 1 - VERIFICACIÓN DE HIPÓTESIS HIPOTESIS: Mediante el acceso remoto a través de un computador se puede controlar un sistema

Más detalles

Supervisión y Monitoreo de Procesos Empleando Mensajes de Texto

Supervisión y Monitoreo de Procesos Empleando Mensajes de Texto 15 Supervisión y Monitoreo de Procesos Empleando Mensajes de Texto Luis Humberto Pérez Urteaga, Guillermo Tejada Muñoz Facultad de Ingeniería Electrónica y Eléctrica, Universidad Nacional Mayor de San

Más detalles

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION SISTEMA DE MONITOREO POR INTERNET CON ENVÍO DE IMÁGENES Ricardo Hernández Durán (Ingeniería en Comunicaciones y Electrónica) Gabriela Ramos Rosas (Licenciatura en Informática) Víctor Jiménez García (Ingeniería

Más detalles

FUNDAMENTOS DE INFORMATICA

FUNDAMENTOS DE INFORMATICA FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura

Más detalles

Sistemas con Microcontroladores y Microprocesadores

Sistemas con Microcontroladores y Microprocesadores Sistemas con Microcontroladores y Microprocesadores Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Entender funcionalmente cómo trabaja un sistema de computadora: Describir los

Más detalles

MODBUS TCP. 1. Especificaciones 2. Códigos de función 3. Respuesta de error 4. Contadores de estado 5. Programa PLC y ejemplos CS1W-ETN21 CJ1W-ETN21

MODBUS TCP. 1. Especificaciones 2. Códigos de función 3. Respuesta de error 4. Contadores de estado 5. Programa PLC y ejemplos CS1W-ETN21 CJ1W-ETN21 Guía Rápida MODBUS TCP CS1W-ETN21 CJ1W-ETN21 Guía Rápida 1. Especificaciones 2. Códigos de función 3. de error 4. Contadores de estado 5. Programa PLC y ejemplos 1. Especificaciones 1.1 Lista de comandos.

Más detalles

Controladores lógicos programables

Controladores lógicos programables lógicos Controladores RPX 10 a 4 Entradas/Salidas entradas aisladas 24 Vcc. Detector de 2 ó 3 hilos NPN / PNP y contactos secos 1 entrada contaje rápido 3,5 Khz ó 1 Khz para el Micro RPX10 salidas independientes

Más detalles

Conceptos básicos de redes TCP/IP

Conceptos básicos de redes TCP/IP Conceptos básicos de redes TCP/IP Francisco José Naranjo Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra franciscojose.naranjo@unavarra.es Laboratorio

Más detalles

4. PLATAFORMA DE COMUNICACIÓN SISTEMA PLC5 DE ALLEN- BRADLEY

4. PLATAFORMA DE COMUNICACIÓN SISTEMA PLC5 DE ALLEN- BRADLEY 4. PLATAFORMA DE COMUNICACIÓN SISTEMA PLC5 DE ALLEN- BRADLEY 4.1. Introducción El procesador PLC-5 es el núcleo de la arquitectura de control que combina los sistemas existentes y futuros mediante redes

Más detalles

Comunicación Serie RS232 / CM-232

Comunicación Serie RS232 / CM-232 28 Serie RS232 / CM-232 La tarjeta opcional de comunicaciones CM-232 habilita la conexión serie RS232 en el convertidor Active Cube con un dispositivo de control externo, PC u ordenador portátil basada

Más detalles

Herramientas Informáticas I Hardware: Redes de Computadoras Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa.

Herramientas Informáticas I Hardware: Redes de Computadoras Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa. Herramientas Informáticas I Hardware: Redes de Computadoras Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa. 2014 Contenidos: Definición. Conceptos Básicos. Objetivos. Clasificación

Más detalles

Tema 11: Instrumentación virtual

Tema 11: Instrumentación virtual Tema 11: Instrumentación virtual Solicitado: Tarea 09: Mapa conceptual: Instrumentación Virtual M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom

Más detalles

CÓDIGO DEL PROGRAMA. Tipo de curso Plan Orientación Área Asignatura Año A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica

CÓDIGO DEL PROGRAMA. Tipo de curso Plan Orientación Área Asignatura Año A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica CÓDIGO DEL PROGRAMA Tipo de curso Plan Orientación Área Asignatura Año A.N.E.P. Consejo de Educación Técnico Profesional Educación Media Tecnológica Orientación: INFORMÁTICA ASIGNATURA TALLER DE MANTENIMIENTO

Más detalles

AUTOMATIZACIÓN PRÁCTICA III

AUTOMATIZACIÓN PRÁCTICA III Control distribuido a través de Profibus 1 MASTER OFICIAL EN INGENIERÍA ELECTROMECÁNICA AUTOMATIZACIÓN PRÁCTICA III Control distribuido a través de Profibus 2 2. CONTROL DISTRIBUIDO A TRAVÉS DE LA RED

Más detalles

Enfoque embebido para una Estación Meteorológica con Interfaz Web

Enfoque embebido para una Estación Meteorológica con Interfaz Web Enfoque embebido para una Estación Meteorológica con Interfaz Web Esp. Ing. Martín Federico Pelliza Especialidad en Sistemas Embebidos Instituto Universitario Aeronáutico Córdoba, Argentina fpelliza@hotmail.com

Más detalles

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

Más detalles

Descripción del producto

Descripción del producto del producto La Unidad Terminal Remota (UTR), perteneciente a la serie Hadron es una solución para sistemas de supervisión y control para la generación, transmisión y distribución de energía eléctrica.

Más detalles

TEMARIO DE TEORÍA. Módulo 1: Introducción a networking. Módulo 2: Aspectos básicos de networking

TEMARIO DE TEORÍA. Módulo 1: Introducción a networking. Módulo 2: Aspectos básicos de networking 1 TEMARIO DE TEORÍA Módulo 1: Introducción a networking 1.1 Conexión a la Internet 1.1.1 Requisitos para la conexión a Internet 1.1.2 Principios básicos de los PC 1.1.3 Tarjeta de interfaz de red 1.1.4

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles