Redes Industriales Mod Bus

of 220/220
Seminario de Titulación Protocolo de Comunicación Modbus REDES INDUSTRIALES PROTOCOLO MODBUS
  • date post

    01-Dec-2015
  • Category

    Documents

  • view

    58
  • download

    5

Embed Size (px)

Transcript of Redes Industriales Mod Bus

INTRODUCCIN

Seminario de Titulacin

Protocolo de Comunicacin Modbus

REDES INDUSTRIALES

PROTOCOLO MODBUSMayo 2004

NDICE

CAPITULO 1

Introduccin a las Redes Industriales

11.1. Automatizacin Industrial y Redes de Comunicacin

2

1.2. Vista General de la Automatizacin Industrial y Redes de Comunicacin

5

1.3. Niveles Jerrquicos en Sistemas de Automatizacin

Industrial

8

-Nivel de campo

8

-Nivel de clula..

10

-Nivel de rea..

11

-Nivel de planta

11

-Medios de transmisin

11

-Topologa de red

13

1.4. Consideraciones de diseo..14

-Costo

15

-Servicio o funcin de la red

16

-Tolerancia con respecto al medio ambiente..

17

-Medios fsicos..

17

-Expansin ..

18

-Mantenimiento..

18

-Requisitos de comunicacin para los sistemas de automatizacin

18

CAPITULO 2

Protocolo Modbus..

21

2.1. Introduccin al Protocolo de Comunicacin Modbus

22

-Intercambio de informacin en una red Modbus..

24

-Intercambio de informacin sobre redes diferentes a Modbus..

25

-Pregunta..

26

-Respuesta..

27

2.2. Los Dos Modos de Transmisin Serial

27

-Modo ASCII..

28

-Modo RTU..

28

2.3. Tramas de Mensaje Modbus..

30

-Trama ASCII..

30

-Trama RTU..31

-Como es manipulado el campo de direccin

32

-Como es manipulado el campo de funcin

32

-Contenido del campo de datos..

34

-Contenido del campo de comprobacin de error..

35

-Como son trasmitidos los caracteres en serie..

36

2.4. Mtodos de Comprobacin de Error..

37

-Control de Paridad

37

-Comprobacin LRC..

39

-Comprobacin CRC..

39

CAPITULO 3

Datos y Funciones de Control

42

3.1. Formato de las Funciones Modbus

43

3.2. Cdigo de Funciones Soportadas por Los Controladores..47

-01 Lectura del estatus de una bobina..

48

-02 Lectura del estatus de una entrada..

50

-03 Lectura de registros sostenidos..

52

-04 Lectura de registro de entradas..

54

-05 Forzar bobinas simples

56

-06 Predeterminar registros simples.

58

-07 Lectura de estatus de excepcin.

59

-11 Sacar un contador de eventos de comunicaciones61

-12 Traer el registro de eventos de comunicaciones.63

-15 Forzar varias bobinas....

68

-16 Predefinir varios registros

70

-17 Reportar el identificador del esclavo..

72

-20 Lectura de referencias generales

81

-21 Escritura de referencias generales.

84

-22 Escritura de registros 4X con una mascara.

88

-23 Lectura/escritura de registros 4X.

90

-24 Lectura de una cola FIFO.

92

CAPITULO 4

Subfunciones de Diagnostico

95

4.1 Funcin 08 Diagnsticos..

96

-Efectos del diagnostico en el esclavo.

96

4.2 Subfuncion de Diagnostico..

99

-00 Regreso de datos de la pregunta..

99

-01 Opcin de reinicio de la comunicacin.

99

-02 Regreso del registro de diagnostico

100

-03 Cambio del delimitador de entrada ASCII

101

-04 Forzar el modo de solo escucha

101

-10 Borrar contadores y registro de diagnostico 102

-11 Regreso del contador de mensajes del bus 102

-12 Regreso del contador de errores de

comunicacin del bus..

102

-13 Regreso del contador de errores de excepcin

en el bus.

103

-14 Regreso del contador de mensajes del esclavo 103

-15 Regreso del contador de no respuestas del esclavo 103

-16 Regreso del contador NAK del esclavo

104

-17 Regreso del contador de ocupado del esclavo .104

-18 Regreso del contador de caracteres

desbordados en el bus

105

-19 Regreso del contador de IOP desbordados (884) 105

-20 Borrar banderas y contadores de desbordamiento.. 106

CAPITULO 5

Modbus TCP/IP

107

5.1 Modelo Cliente Servidor

108

5.2 Descripcin del Protocolo..

109

-Arquitectura general de comunicacin..

109

-La unidad de datos de la aplicacin sobre

Modbus TCP/IP

..110

-Descripcin del encabezado MBAP

111

5.3 Descripcin Funcional

113

-Agente de conexin TCP

118

-Uso de la pila TCP/IP

123

-Capa de aplicacin de comunicacin

124

INTRODUCCINJUSTIFICACIN

El tema de protocolo de comunicacin Modbus fue elegido por ser uno de los protocolos ms utilizados en la industria, y el cual a sufrido modificaciones al original Modbus creado por Modicon, llegando a ser un estndar para la industria, este tema es poco conocido afuera del rea de instrumentacin y control, pero la mayora de los equipos industriales tienen este protocolo para la transmisor de sus datos y/o configuracin del mismo equipo.

OBJETIVOS

El objetivo es tener un material claro y objetivo para comprender el modo de operacin de los dispositivos que cuentan con Modbus para la transmisin de datos, as como conocer los alcances del mismo protocolo, tener un panorama de las variantes que se pueden encontrar en el campo debido a los diferentes modos de transmisin que eligieron los fabricantes, y tener clara la filosofa del funcionamiento de una red de este tipo, tanto para su transmisin serial como para el caso de su transmisin bajo Modbus TCP/IP en el cual se busca que el lector comprenda las diferencias contra el Modbus de transmisin serial, y mostrar las modificaciones que sufriran los datos.PROBLEMAS

La falta de informacin acerca de este tema es el principal problema, ya que en lo referente a redes todo mundo habla de las nuevas tecnologas y de redes empresariales, pero no consideran las redes industriales que es un campo con grandes posibilidades, ya que se estn logrando integraciones de sistemas usando infraestructura ya creada, logrando un grado de control y automatizacin que no seria posible bajo los conceptos antiguos, debido a el excesivo uso de cables para la transmisin de las seales y con la necesidad de tener grande cuartos de control donde integrar estas seales, con las redes industriales, el grado de monitoreo y control permite reduccin de costos y espacios.CAPITULO 1

INTRODUCCIN A LAS REDES INDUSTRIALES

AUTOMATIZACIN INDUSTRIAL Y REDES DE COMUNICACIN. VISTA GENERAL DE LA AUTOMATIZACIN INDUSTRIAL Y REDES DE COMUNICACIN. NIVELES JERRQUICOS EN SISTEMAS DE AUTOMATIZACIN INDUSTRIALES CONSIDERACIONES DE DISEO

Puntos bsicos, sobre la arquitectura de una red industrial y las necesidades que se tienen en una empresa a nivel proceso, as como las razones por las que los protocolos de los diferentes fabricantes deben poder ser integrados para formar un solo sistema.

1.1 AUTOMATIZACIN INDUSTRIAL Y REDES DE COMUNICACIN

Cuando las tecnologas de automatizacin digitales se pusieron disponibles en los 60`s, fueron usadas para mejorar y agrandar los sistemas de automatizacin industriales. Los conceptos de fabricado de computadoras-integradas (CIM) y los sistemas de control de computadoras distribuidas (DCCSs) fueron introducidos en el campo de la automatizacin industrial y el uso de las redes de comunicacin ha tenido un crecimiento acelerado.

Los ltimos sistemas de automatizacin industriales usan arquitecturas muy distribuidas donde un nmero de mdulos digitales son interconectados por redes de comunicacin para la adquisicin de los datos y funciones de control a bajo nivel. En los sistemas de automatizacin industriales ms modernos, la comunicacin de los datos entre la los dispositivos automatizados juega un papel importante.

La llave del xito el integrar los sistemas de automatizacin grandes es poner mutuamente de acuerdo normas que permitan que todos los tipos diferentes de dispositivos de automatizacin se comuniquen entre s. Por lo tanto, se han hecho esfuerzos internacionales notables de regularizacin en el rea de redes de reas locales. Los logros importantes en esta rea incluyen el muy conocido, Modelo de Interconexin de Sistemas abierto (OSI-Open Systems Interconnection Model), Proyecto 802 de IEEE, y el Protocolo de Automatizacin Industrial (Manufacturing Automation Protocol (MAP)) concepto para habilitar la compatibilidad de sistemas bus y redes de reas locales conecta a una red de computadoras de vendedores diferentes.

El protocolo de automatizacin industrial (MAP) fue desarrollado para superar problemas de comunicacin entre los dispositivos de automatizacin de varios fabricantes, y se acept ampliamente como una norma industrial para comunicaciones de datos en fbricas. La arquitectura de mini-Map es satisfacer las condiciones para comunicaciones en tiempo crtico y no incluye las capas 3 a 6 de las 7 capas de arquitectura del modelo OSI.

La arquitectura del mini-Map consiste en la capa de la aplicacin, la subcapa de control de enlace lgico (logical link control (LLC)), la subcapa de control de acceso al medio (medium access control (MAC)) y la capa fsica.

La especificacin del mensaje industrial (manufacturing message specification (MMS)) [2,5] fue desarrollado como la capa de la aplicacin de la red MAP para lograr un intercambio del mensaje estndar entre los dispositivos de automatizacin de los diferentes vendedores.

El desempeo y la condicin de fiabilidad de un sistema de automatizacin industrial dependen substancialmente de su red de comunicacin. En una red de comunicacin para un sistema de automatizacin industrial, mejora el desempeo y fiabilidad de la red y se pide la regularizacin de la comunicacin de acuerdo con la extensin del tamao de sistema y el aumento de informacin.

Los puntos siguientes deben ser considerados al disear una red de comunicacin para un sistema de automatizacin industrial.

Verifique el desempeo de la red para reunir los requisitos;

Confirme los valores instalados de los diversos parmetros han sido adecuadamente fijados en todos los nodos.

Verifique la fiabilidad de la red para reunir los requisitos

Una red de comunicacin para un sistema de automatizacin industrial debe garantizar los requisitos para el desempeo como es la utilizacin de la red, la conexin de una red de computadoras y el retraso de la transmisin. Todo esto juega un papel importante para determinar el desempeo global de un sistema de automatizacin industrial. La evaluacin del desempeo de una red de comunicacin puede ser hecha por simulacin de los mtodos analticos.

En la mayora de los ambientes industriales, hay mucho ruido, emitido por las fuentes de ruido como robots soldando y grandes motores. El desempeo de una red de comunicacin puede ser degradada por la interferencia de ruido, los efectos de ruido en el desempeo de una red de comunicacin deben ser estudiados para obtener un desempeo practico de una red de comunicacin aplicada a un ambiente ruidoso, qu es comn en aplicaciones prcticas.

Muchos problemas de comunicacin en una red de comunicacin para un sistema de automatizacin industrial son debidos a malas configuraciones en los diversos parmetros de la red como fue. Los parmetros de la red pueden determinar el desempeo de la misma. Adems, los parmetros incorrectos pueden producir funcionamiento incorrecto de la red. Para conseguir valores apropiados, el ambiente local de un nodo en la red debe ser considerado, y los posibles links de comunicacin entre los nodos deben ser considerados.

Entre los componentes de un sistema de automatizacin industrial, la red de comunicacin es un componente importante que se encarga del intercambio de informacin. Por consiguiente, la fiabilidad de un sistema de automatizacin industrial depende significativamente de la fiabilidad de su red de comunicacin. Para aumentar la fiabilidad de una red de comunicacin, muchos tipos de tolerancias a errores se estn desarrollado y se ha aplicado para el sistema que requiere fiabilidad alta.

1.2 Vista general de la Automatizacin industrial y redes de comunicacin.

A principios de los aos 20, el sistema de control de proceso y el sistema industrial fueron diseados basados principalmente en la tecnologa mecnica y con dispositivos analgicos. Despus del periodo, la tecnologa de control neumtico y el poder hidrulico fue introducida. La tecnologa de control neumtica hizo posible controlar sistemas remotos por un sistema de control centralizado. Estas tecnologas todava son muy comunes.

El uso de sistemas de control centralizados para grandes sistemas a aumentados con el desarrollo de los controladores electrnicos en los aos cincuenta debido a la gran distancia de la transmisin. Muchos transmisores electrnicos fueron desarrollados durante este periodo. Algunos convertidores neumticos a electrnicos fueron usados, y los convertidores electrnicos a neumticos eran necesarios para conectar las vlvulas neumticas de control. Empezando los aos cincuenta, muchos sistemas de comunicacin industriales eran desarrollados para el control de sistemas. Estas redes usaban tecnologa analgica, y fueron usadas para unir un procesador central al perifrico y las terminales. El perifrico era usado en paralelo, cables de muchos alambres, e interfaces serie de 20mA de corriente a baja frecuencia de transmisin.

Al principio de 1960, la primera vez que se uso una computadora como un controlador digital. El trmino control digital directo (direct digital control (DDC)) fue usado para dar nfasis al control del proceso directamente por la computadora. En los aos sesenta, la aplicacin de una mini computadora era todava una solucin bastante cara para muchos problemas de control. Mientras tanto, el controlador lgico programable (programmable logic controller (PLC)) fue desarrollado y reemplazo a los convencionales que estaban basados en relevadores, que tenan funciones de control limitadas. Adems, muchas tecnologas fueron desarrolladas para las herramientas de las maquinas y los procesos de produccin discretos. El control numrico (numerically controlled (NC)) llego a controlar las herramientas de las maquinas por computadoras y el robot fue desarrollado en este periodo.

Las tcnicas y equipos necesarios para las comunicaciones de datos a gran velocidad fueron desarrollados en los aos sesenta. La frecuencia de codificacin cambio en los mdems y eran capaces de transmitir datos sobre lneas dedicadas a velocidades de 1200 bit/s. La introduccin de mini computadoras capaces de transferir datos a grandes velocidades llev al desarrollo de las redes de comunicacin de datos y los quipos de transmisin de datos a alta velocidad a fnales de los aos 60 e inicio de los 70s.

A fines de los sesenta, Mollins del Reino Unido anunci su Sistema 24. Este sistema fue diseado para operar varias mquinas bajo el control de una sola computadora. Se esperaba que con esto aumentara la productividad ms all del nivel alcanzable por el mismo nmero de mquinas trabajando independientemente. Este concepto de sistema industrial flexible (flexible manufacturing system (FMS)) actualmente es de gran inters como estructura conveniente para la creciente utilizacin en la mquina, reduciendo tiempo de manufacturado y un proceso de inventario. Con la introduccin de FMS, el concepto de la fabricacin integrada por computadora (computer integrated manufacturing (CIM)) hizo que se tomara atencin en el rea de automatizacin industrial para integrar los procesos de fabricacin a computadoras digitales en todos los aspectos. Ahora el trmino CIM es usado en todos los tipos de sistemas industriales lo que significa la integracin completa de las computadoras industriales, redes de comunicacin, y sistemas de control de proceso en todas las funciones industriales.

Con el uso ms extenso de computadoras digitales y las tecnologas asociadas, las redes de comunicacin industriales llegaron a ser desarrolladas con o transformar a la transmisin digital. La red de comunicacin digital para uso industrial empez en los aos sesenta como computadoras para sistemas de automatizacin y fueron las primeras en unirse.

A mediados de los setenta, el primer sistema de control de computadora distribuido (distributed computer control system (DCCS)) fue anunciado por Honeywell como un sistema de control jerrquico con un gran numero de microprocesadores. Desde que su introduccin a mediados de los aos setenta, el concepto de DCCS se extendi ampliamente en muchos sistemas de automatizacin industriales como sistema de control de energa en las fabricas, sistemas industriales, etc. La instalacin de sistemas de control distribuidos recientemente en las fabricas planea o reemplaza la existencia analgica o los sistemas de control centralizado en el presente es una decisin comn de la administracin de la empresa.

El uso de las redes de rea local para interconectar computadoras y dispositivos de automatizacin dentro de un sistema de automatizacin industrial llego a ser popular desde 1980. La alta capacidad y el bajo costo ofrecido en la comunicacin por redes de rea locales han hecho una realidad la distribucin de la informtica, y muchos servicios de automatizacin. Los sistemas de automatizacin industriales frecuentemente se realizan como una arquitectura distribuida abierta con comunicacin en redes de comunicaciones digitales.

Es ahora comn para usuarios conectados a una red de rea local comunicarse con computadoras o dispositivos de automatizacin en otra red de rea local unidas por una red de rea ancha.

Como los sistemas de automatizacin industriales llegaron a ser grandes y el nmero de dispositivos de automatizacin aumento, se ha hecho importante para la automatizacin industrial proporciona normas que hacen posible interconectar muchos dispositivos diferentes de automatizacin de una manera normal. Se han hecho esfuerzos de regularizacin internacionales considerables en el rea de redes de reas locales. Interconexin de Sistemas Abiertos (Open Systems Interconnection (OSI)) las normas que permiten a cualquier par de dispositivos de automatizacin comunicar fiablemente sin tener en cuenta el fabricante. El Protocolo de Automatizacin Industrial (Manufacturing Automation Protocol (MAP)) el concepto se ha desarrollado para habilitar la compatibilidad de redes de comunicacin de vendedores diferentes.

Para el nivel bajo de la red de comunicacin para la Industria de automatizacin, las soluciones de red de rea local industrial como MAP son demasiado caras y/o no alcanzan las necesidades de respuestas en tiempo cortos y dependiendo de la aplicacin. Los fieldbuses han tenido, por consiguiente, un desarrollo para reunir estos requisitos, y estn hacindose muchos esfuerzos ahora hacer del fieldbus un estndar para las aplicaciones de automatizacin industriales.

1.3 NIVELES JERRQUICOS EN SISTEMAS DE AUTOMATIZACIN INDUSTRIALESLos sistemas de automatizacin industriales pueden ser muy complejos, y normalmente estn estructurados dentro de varios niveles jerrquicos. Cada nivel jerrquico tiene un apropiado nivel de comunicacin que coloca requisitos diferentes en la comunicacin de red. En la figura 1.1 Se muestras un ejemplo de la jerarqua de un sistema de automatizacin industrial.

Nivel de campo

El nivel ms bajo de la jerarqua de automatizacin es el nivel de campo que incluye los dispositivos de campo como actuadores y sensores. Los dispositivos de campo elementales a veces son clasificados como elementos de nivel. La tarea de los dispositivos en el nivel de campo es transferir datos entre el producto fabricado y el proceso tcnico. Los datos pueden ser binarios y analgicos. Los valores moderados pueden estar disponibles para un periodo corto de tiempo o por un periodo largo de tiempo.

Figura 1.1 jerarqua de un sistema de automatizacin industrial

Para el nivel de campo la comunicacin, paralelo, cables de varios alambres e interfaces de corriente como la de 20mA han sido ampliamente usados desde el pasado. Las normas de comunicacin serie como RS232C, RS422 y RS485 son normalmente usadas como protocolos junto con las normas de comunicacin paralela IEEE488. Estos mtodos de comunicacin de punto a punto han evolucionado a la red de comunicacin de bus para cubrir con el costo de cableado y lograr una comunicacin de alta calidad.

Hoy da, el fieldbus es usado a menudo para el traslado de informacin en el nivel de campo. Debido a los requisitos de tiempo que tienen que ser observado estrictamente en un proceso de automatizacin, las aplicaciones en el nivel de campo requieren control cclico de las funciones de transporte que transmiten la informacin de la fuente a intervalos de regulacin. La representacin de los datos debe ser tan corta como sea posible para reducir el tiempo de transferencia del mensaje en el bus.

Nivel de clula

En el nivel de clula, el flujo de informacin consiste principalmente en la carga de programas, parmetros y datos. En procesos con pequeas maquinas los tiempos inactivos y reajustes, esto se hace durante el proceso de la produccin. En pequeos controles puede ser necesario cargar subprogramas durante un ciclo industrial. Esto determina los requisitos de regulacin. Para el funcionamiento del nivel de clula, la sincronizacin de la mquina y el manejo de evento pueden requerir tiempos cortos de respuestas en el bus. Estos requisitos en tiempo real no son compatibles con excesivos tiempos de transmisin de aplicacin de programas, haciendo necesaria una adaptacin de segmentacin del mensaje.

Para lograr los requisitos de comunicacin en este nivel, se han usado redes de rea local como la red de comunicacin. Despus de la introduccin del concepto de CIM y el concepto de DCCS, muchas compaas desarrollaron sus propias redes para el nivel de clula de un sistema de automatizacin. El Ethernet junto con TCP/IP ((protocolo de control de la transmisin / protocolo de Internet (transmission control protocol / internet protocol)) fue aceptado como un factor normal para este nivel, aunque no se puede proporcionar una verdadera comunicacin en tiempo real.

Muchos esfuerzos se han hecho para la regularizacin de la red de comunicacin para el nivel de clula. La norma IEEE de red basada en la arquitectura de capas OSI y la red mini-Map fue desarroll en los aos ochenta para comprender una comunicacin normal entre los varios dispositivos de vendedores diferentes. Algunos fieldbuses tambin pueden usarse para este nivel.

Nivel de rea

El nivel del rea consiste en clulas combinadas dentro de grupos. Las clulas estn diseadas con aplicaciones orientadas al funcionamiento. Por los controladores de nivel de rea o operadores de control, l controlando y las funciones intermedias estn hechas como objetivos de produccin, el encendido de la mquina y apagado, y actividades de emergencia.

Nivel de planta

El nivel de planta, es el nivel de cima de una planta o un sistema de automatizacin industrial. El nivel de planta de controlado rene informacin de administracin para los niveles de rea, y maneja todo el sistema de automatizacin.

Medios de transmisin.

Un factor principal al elegir una red de comunicacin industrial es el tipo de sistema de cableado fsico o los medios de transmisin. Los ms comunes medios de transmisin para las redes de comunicacin industrial son alambres de cobre, en la forma de coaxial o par trenzado, fibra ptica y las tecnologas inalmbricas estn tambin siendo usadas.

El cable coaxial se usa para la transmisin de datos a gran velocidad en distancias a varios kilmetros.

El cable coaxial est ampliamente disponible, relativamente barato, y puede ser instalado y mantenido fcilmente. Por estas razones se usa ampliamente en muchas redes de comunicacin industriales.

El par trenzado puede ser usado para transmitir datos en banda base a varios Mbit/s en distancias de 1 Km o ms pero cuando la velocidad se aumenta la longitud mxima del cable es reducida. El par trenzado se ha estado usado durante muchos aos y este tambin se usa ampliamente en redes de comunicacin industrial. Es menos caro que el cable coaxial, pero no proporciona alta capacidad de transmisin o buena proteccin de la interferencia electromagntica.

La Fibra ptica proporciona un incremento en la capacidad de transmisin arriba de giga bits, y es libre de la interferencia electromagntica. Sin embargo, el equipo asociado requerido es ms caro, y es ms difcil de derivar para las conexiones de multidrop. Tambin si es usado para los cables del sensor en plantas de proceso se requerira separar la instalacin elctrica de cobre para los instrumento de alimentacin, que podran tambin usarse para transmisin de seales.

En muchas situaciones de medicin mvil o temporal, lo dispositivos inalmbrico es una buena solucin y est siendo usada ampliamente.

Mtodos de transmisinLa comunicacin de datos puede ser analgica o digital. Los datos analgicos toman continuamente los cambios en el valor.

En comunicacin digital, los datos pueden tomar solo valores binarios de 1 o 0.

La transmisin puede ser asncrona o sncrona, dependiendo de la manera de envi de los datos. En modo de transmisin asncrona, los caracteres se envan usando el principio y el fin del cdigo y cada carcter puede ser enviado independientemente a una velocidad no uniforme. El modo de transmisin sncrona es el mtodo ms eficaz. Los datos son transmitidos en bloques de caracteres, la salida exacta y el tiempo de llegada de cada bit son predecibles porque el reloj del remitente y el receptor estn sincronizados.

Los mtodos de la transmisin en redes de comunicacin industriales incluyen banda base, banda ancha, y banda portadora. En una transmisin de banda base, la transmisin consiste en un juego de signos que se aplican al medio de transmisin sin estar trasladada en frecuencia.

La transmisin de banda ancha usa un rango de frecuencias que puede ser dividido en varios canales. La transmisin portadora usa slo una frecuencia para transmitir y recibir informacin.

La transmisin digital en fibra ptica es basada en representar los unos y ceros como pulsos de luz.

Topologa de red

Tres principales topologas son empleadas para las redes de comunicacin industriales: estrella, bus y anillo como se muestra en la Figura 1.2.

Una configuracin estrella contiene un control central, en que todos los nodos estn conectados directamente. Esto permite una conexin fcil para las redes pequeas, pero los controles adicionales deben ser agregados cuando un nmero mximo de nodos se alcanza. El fallo de un nodo en una configuracin de estrella no afecta otros nodos.

En la topologa bus, cada nodo es directamente unido a un canal de comunicacin comn. Los mensajes transmitidos en el bus son recibidos por todos los nodos. Si un nodo falla, el resto de la red contina en funcionamiento siempre que el nodo fallado no afecte los medios de comunicacin.

En la topologa de anillo, el cable forma una vuelta y los nodos estn unidos a intervalos alrededor de la vuelta. El mensaje es transmitido alrededor del anillo que comunica los nodos unidos a l. Si un solo nodo falla, la red entera pudiese detenerse a menos que un mecanismo de recuperacin se lleve a cabo.

Topologa estrellaTopologa de bus

Topologa de anillo

Figura 1.2 topologas de las redes industriales

1.4 CONSIDERACIONES DE DISEO

El diseo de una red de comunicacin involucra la planificacin cuidadosa y la evaluacin de diferentes opciones de diseo. El diseador intenta lograr un mximo desempeo de la red a un costo razonable. Para alcanzar esta meta, los requisitos de comunicacin y consideraciones para un sistema especfico de automatizacin deben ser investigados.

La estrategia global y la planeacin son el paso ms crtico en un diseo de red de comunicacin. El sistema de automatizacin al cual la red de comunicacin podr aplicarse, deber ser investigado y los objetivos para la red de comunicacin sern obtenidos. Para la planeacin los factores a considerar son los siguientes.

Costo

Desempeo

Fiabilidad o disponibilidad

Servicio o funcionamiento de la Red

Tolerancia con respecto al medio ambiente

Medios fsicos

Expansin

Mantenimiento

Seguridad

Costo

El costo de conectar una red de computadoras consiste en los costos iniciales y los costos continuos. Los costes iniciales incluyen la compra de nuevo hardware y software, el diseo, la instalacin y la puesta en marcha. Los costos continuos incluyen el mantenimiento del hardware y software, el pago a las personas que lo operan y arreglan la red y los costos para la expansin de la red y cambios de configuracin.

Desempeo

El buen funcionamiento de la red es esencial. Sin l, incluso las actividades de comunicaciones normales llegan a ser difciles y el continuo control del proceso de las aplicaciones requiere un alto funcionamiento de cmputo y ejecucin de decisiones que llegaran a ser imposibles.

La planificacin eficaz debe incluir una estimacin de requisitos de funcionamiento mnimos. La velocidad y la carga de la red son los principales factores para considerar en anlisis de desempeo. Es importante definir y analizar las aplicaciones de la red, la operacin y el trfico en general de las comunicaciones.

Las medidas tpicas del funcionamiento para las redes de comunicacin incluyen lo siguiente.

Velocidad de transmisin. La velocidad de transmisin de la red es la proporcin a la cual los bits de informacin estn transmitidos por el cable de la red.

Tiempo de respuesta. el tiempo de respuesta es el tiempo que toma realizar una accin de respuesta para ejecutar una aplicacin del usuario que ha emitido una solicitud. Esto incluye el tiempo que toma transmitir un mensaje y la recepcin, los sistemas para procesar la solicitud y la contestacin del mensajes y el retraso de transmisin de la red.

Utilizacin. La utilizacin del ancho de banda se refiere a la capacidad de enlace y usualmente es representada como la proporcin de capacidad en uso. Aqu no hay ninguna regla clara para la utilizacin mxima de las redes de comunicacin. Ethernet con ms clientes degrada exponencialmente al 35% despus de la utilizacin continua, mientras que token ring o las redes FDDI manejan ms trfico.

Servicio o funcionamiento de la Red

El diseador de la red debe saber qu tipo de datos maneja la red y qu funcionalidad se requiere para encontrar la meta. La tpica funcionalidad requerida en las redes de comunicacin industriales incluye:

Transferencia de archivos

Terminal para conexin del host

Descargar o cargar programas

Descargar o cargar datos fijos

Llamar al Programa

Enviar y recibir datos (cortos)

Apoyo a las aplicaciones distribuidas

Tolerancia con respecto al medio ambiente

Las redes de comunicacin pueden ser a menudo armadas en zonas peligrosas y estn expuestas a ambientes rudos. Las redes de comunicacin para los sistemas de automatizacin industriales deben ser diseadas para resistir interferencia electromagntica (EMI), interferencia de radio frecuencia (RFI), atmsferas corrosivas y de fluidos, temperaturas extremas y exposiciones a la intemperie.

En un ambiente industrial, el exceso de EMI puede causar modificaciones en los paquetes de datos, retransmisiones frecuentes, y cargas altas en la red.Medios Fsicos

La seleccin de los medios fsicos es una importante decisin tcnica y econmica, debe contar con los requisitos de las redes establecidas.

Expansin

Pocas redes permanecen estticas ante el rpido crecimiento de las demandas comerciales y el desarrollo de la tecnologa. El diseo de la red siempre debe incorporar un factor de flexibilidad para su crecimiento.

Mantenimiento

Todas las redes deben tener mantenimiento y servicio. El buen diseo de la red debe permitir un mantenimiento preventivo, actualizacin, y llevar a cabo reconfiguraciones con un mnimo o ninguna ruptura de funcionamiento de la red.

Seguridad

Los principales objetivos de medidas contra los ataques de seguridad son:

Para minimizar la probabilidad de intrusin los dispositivos proporcionan proteccin y procedimientos.

Para descubrir cualquier intrusin tan pronto como sea posible.

Para poder identificar la informacin que ha estado sujetado a vinculaciones e identificar el estado de control, es necesario informacin para recuperar el enlace.

Requisitos de comunicacin para los Sistemas de Automatizacin Industrial

Los requisitos de comunicacin pueden depender del nivel en la jerarqua de los sistemas de automatizacin industrial.

Comunicacin en el nivel de campo

En el nivel de campo en los sistemas de automatizacin, las comunicaciones estn para intercambiar datos de los sensores individuales y el montn de actuadores en un mismo equipo de control local. Los requisitos de comunicacin a este nivel incluyen lo siguiente.

Respuestas cortas en tiempo. Los tiempos de respuesta de microsegundos y milisegundos se requieren para lazos de control rpido y apagado de las alarmas de seguridad de los sistemas.

Tolerancia para el medio ambiente rudo. Los dispositivos de campo estn frecuentemente montados en reas peligrosas que requieren gabinetes a prueba de explosin, o medios intrnsecamente seguros.

Distancia larga. Debe ser posible conectar dispositivos localizados a grandes distancias hasta los racks de terminales. Esto podra ser unos cientos de metros dentro de un rea de la planta o muchos kilmetros a distancia como en una estacin de bombeo en funcionamiento.

Distribucin de energa. La energa es normalmente distribuida en un alambrado de dos cables de seal para la mayora de los dispositivos de campo. Esta fuente de energa est separada de otra fuente usada en la planta, y se suministra un respaldo de energa para su funcionamiento.

Comunicacin en el nivel de clula

En el nivel de clula se encuentran los dispositivos de control, las consolas de mando de los operadores, los nodos de campo, etc. Estn comunicados entre s. Los requisitos de comunicacin para el nivel de clula son los siguientes.

Respuestas cortas en tiempo. La respuesta en tiempo en milisegundos y segundos se requiere para controlar la comunicacin de un nodo de red a otro; para la alarma; y para las comunicaciones del operador, donde un gran nmero de datos puede pedirse al mismo tiempo.

Tolerancia para el medio ambiente rudo. Cuando una red de nodos se mueve al campo, el hardware del sistema debe ser diseado para resistir la interferencia electromagntica (EMI), la interferencia de radio frecuencia (RFI), atmsferas corrosivas y de fluidos, temperaturas extremas y exposiciones a la intemperie.

Seguridad. El acceso al sistema de control debe ser diseado para prevenir usos accidentales o no autorizados que puedan daar el proceso de la planta.

Respaldo de la alimentacin. En los instantes en que falla la energa normalmente se proporciona un sistema redundante de alimentacin, que pueden ser bancos de bateras o unidades generadoras.

En general podemos concluir que el proceso para el diseo de una red es el mostrado en la siguiente figura:

Figura 1.3 Esquema del diseo de una red industrial

CAPITULO 2

PROTOCOLO MODBUS

INTRODUCCIN AL PROTOCOLO DE COMUNICACIN MODBUS.

LOS DOS MODOS DE TRANSMISIN SERIAL

TRAMAS DE MENSAJE MODBUS.

MTODOS DE COMPROBACIN DE ERROR

Presentacin de uno de los protocolos ms usados en la industria, este protocolo al no ser un estndar toma varias formas dependiendo del fabricante del equipo, se da un resumen sobre las diferencias entre un tipo de Modbus y otro, cabe mencionar que en la actualidad debido a esta diferencia en protocolos los equipos permiten configurar el tipo de Modbus a manejar.

2.1 Introduccin al protocolo de comunicacin Modbus

Los controladores programables de Modbus pueden comunicarse entre si y con otros dispositivos instalados sobre una gran variedad de redes. Algunas de las redes soportadas son Modicon Modbus y Modbus Plus Industrial Networks, pero el alcance es ms all, ya que es posible comunicarse con redes estndares como son MAP y Ethernet. Estas redes son acezadas por puertos construidos por el controlador o por adaptadores de red, mdulos opcionales y puertas de enlace que son disponibles por Modicon.

El lenguaje comn usado por todos los controladores Modicon es el protocolo Modbus, este protocolo define una estructura de mensaje que el controlador reconocer y usara, sin tener en cuenta sobre el tipo de red que estn montados los dispositivos, describiremos el proceso que usa un controlador para pedir acceso a otro dispositivo, como responder a las peticiones de otros dispositivos y como los errores sern detectados y reportados todo esto establecer un formato comn para el tamao y contenido de cada mensaje.

El protocolo de comunicacin Modbus proporciona el estndar interno que usan los controladores Modicon para transmitir mensajes. Durante la comunicacin en una red Modbus el protocolo determina como cada controlador conocer la direccin de los dispositivos, reconocer un mensaje para el, determinara el tipo de accin a tomar y la forma de extraer todo los datos o informacin contenida en el mensaje, si una respuesta es requerida el controlador creara esta y la enviara bajo protocolo Modbus.

Usando Modbus sobre otras redes, el mensaje que contiene la informacin en Modbus es introducida en la trama o mensaje que es usado por esta red. Por ejemplo el controlador de Modicon para Modbus Plus o para MAP, con aplicaciones software como son libreras y drivers proporcionan la conversin entre el mensaje empaquetado de Modbus y la trama o mensaje utilizado por esta red para comunicarse entre sus diferentes nodos

Esta conversin tambin es ampliada para resolver direccionamiento de nodos, direcciones de ruteo, mtodo para la deteccin de error especifico para cada red, por ejemplo el dispositivo de Modbus con una direccin especifica, contenida en el protocolo Modbus ser convertida en la direccin de nodo previo a la transmisin del mensaje, los campos de deteccin de error sern aplicados tambin a los paquetes de mensaje, compatible con el protocolo de esta red en el punto final del envi, sin embargo por ejemplo un controlador, el contenido del mensaje empaquetado. Escrito usando Protocolo Modbus define la accin que ser tomada por el dispositivo al cual se le esta atendiendo.

La figura 2.1 muestra como pueden ser conectados algunos dispositivos en una jerarqua de redes que emplean tcnicas de comunicacin ampliamente diferentes. En el intercambio de mensajes, el protocolo Modbus insertado en cada paquete de la red especfica proporciona el lenguaje comn mediante el cual cada dispositivo intercambia los datos.

Figura 2.1 Diagrama general de una posible aplicacin con el protocolo Modbus

Intercambio de Informacin en Una red Modbus

Los puertos de Modbus estndar sobre controladores Modicon usan una interfase serial compatible con RS-232 que define los pines de entrada y salida, el cableado, los niveles de seal velocidad de transmisin en bauds y el chequeo de la paridad, los controladores pueden ser conectados a la red directamente o va MODEM.

La comunicacin de los controladores Modbus usan una tcnica de maestro-esclavo, en donde solo un dispositivo denominado (el maestro) puede iniciar transferencias (llamadas preguntas). Los otros dispositivos (los esclavos) respondern proporcionando los datos solicitados por el maestro

El maestro puede direccional esclavos individuales, o puede iniciar un mensaje a todos los dispositivos esclavos (broadcast). Los esclavos regresan un mensaje (llamado respuesta) a preguntas que son dirigidas a ellos individualmente.

Los esclavos no regresaran respuestas cuando el maestro enva un mensaje a todos los dispositivos (un broadcast).

El Protocolo Modbus establece el formato para las preguntas de los dispositivos maestros realizan poniendo en la pregunta la direccin del dispositivo al cual desea comunicarse (o pone una direccin de broadcast), un cdigo de acciones definen la accin de respuesta, as como cada dato a ser enviado, y un campo de chequeo de error. Los mensajes de respuesta de los dispositivos esclavos son construidos usando solo protocolo Modbus. Estos mensajes contienen campos confirmando la accin tomada, cualquier dato que sea necesario regresar, y un campo de chequeo de error. Si un error ocurre en la recepcin del mensaje, o si el dispositivo esclavo no es capaz de realizar la respuesta a la peticin, el dispositivo esclavo construir un mensaje de error y enviara esto como una respuesta.

Intercambio de Informacin sobre redes diferentes a una red Modbus

En adicin a sus capacidades estndares de Modbus, Algunos modelos de controladores pueden comunicarse sobre Modbus Plus usando puertos de expansin o adaptadores de red, y sobre MAP, usando adaptadores de red.

Sobre este tipo de redes, los controladores comunican mediante una tcnica de par a par, en donde cualquier controlador puede iniciar envos con los otros controladores. As un controlador puede operar como un esclavo o como un maestro en envos diferentes.

Mltiples rutas internas son frecuentemente proporcionadas para permitir concurrentes procesos de intercambio de maestro a esclavo.

En el nivel de mensajes, El protocolo Modbus aplica todava el principio de maestro esclavo aunque el mtodo de comunicacin de la red sea par a par si un controlador origina un mensaje, lo hace como un dispositivo maestro y espera una respuesta de un dispositivo configurado como esclavo. De la misma forma, cuando un dispositivo recibe un mensaje, construye una respuesta (como dispositivo esclavo) y regresa el mensaje al controlador original.

Figura 2.2 el ciclo de pregunta y respuesta maestro esclavo.

La pregunta: La funcin de cdigo en la pregunta le indica al dispositivo esclavo direccionado el tipo de accin a realizar. Los bytes de datos contienen cualquier informacin adicional que el esclavo necesitar para llevar a cabo la funcin. Por ejemplo el cdigo de funcin 03 pedir al esclavo que lea registros sostenidos (holding registers.) y responda con sus contenidos. El campo de datos debe contener la informacin que indique al esclavo en qu registro debe comenzar y cuntos a de leer. El campo de comprobacin de error proporciona un mtodo para que el esclavo valide la integridad del contenido del mensaje recibido.

La Respuesta: Si el esclavo elabora una respuesta normal, el cdigo de funcin contenido en la respuesta es una rplica del cdigo de funcin enviado en la peticin. Los bytes de datos contienen los datos recolectados por el esclavo, tales como valores de registros o estados. Si ocurre un error, el cdigo de funcin contenido en la respuesta es diferente al cdigo de funcin enviado en la peticin, para indicar que la respuesta es una respuesta de error y los bytes de datos contienen un cdigo que describe el error. El campo de comprobacin de error permite al maestro confirmar que los contenidos del mensaje son vlidos.

2.2 Los dos modos de transmisin serial

Los controladores pueden ser configurados para comunicar sobre redes standard Modbus utilizando cualquiera de los dos modos de transmisin: ASCII o RTU. Los usuarios seleccionan el modo deseado, junto con los parmetros de comunicacin del puerto serie (velocidad, paridad, etc), durante la configuracin de cada controlador. El modo y los parmetros serie deben ser los mismos para todos los dispositivos conectados a una red Modbus. La seleccin del modo ASCII o RTU tiene que ver nicamente con redes Modbus standard. Define los bits contenidos en los campos del mensaje transmitido en forma serie en esas redes. Determina cmo debe ser empaquetada y decodificada, la informacin en los campos del mensaje.

En otras redes como MAP y Modbus Plus, los mensajes Modbus son situados en tramas sin relacin con la transmisin serie. Por ejemplo una solicitud para leer registros sostenidos (holding reg.) puede ser manejada entre dos controladores en Modbus Plus, con independencia de la configuracin actual de los puertos serie Modbus de ambos controladores.

Modo ASCII

Cuando los controladores se configuran para comunicar en una red Modbus segn el modo ASCII (American Standard Code for Information Interchange), cada byte 8 bits - en un mensaje se enva como dos caracteres ASCII. La principal ventaja de este modo es que permite intervalos de tiempo de hasta un segundo entre caracteres sin dar lugar a error.

El formato para cada byte en modo ASCII es:

Sistema de codificacin:

Hexadecimal, caracteres ASCII 0-9, A-F

un carcter hexadecimal contenido en

cada carcter ASCII del mensaje.

Bits por byte:

1 bit de arranque.

7 bits de datos, el menos significativo se

enva primero.

1 bit para paridad Par o Impar; ningn bit

para No paridad.

1 bit de paro si se usa paridad; 2 bits si no

se usa paridad.

Campo de Chequeo de error: Comprobacin Longitudinal

Redundante (LRC).

Modo RTU

Cuando los controladores son configurados para comunicar en una red Modbus usando el modo RTU (Remote Terminal Unit), cada byte de 8 bits en un mensaje contiene dos dgitos hexadecimales de 4 bits. La principal ventaja de este modo es que su mayor densidad de carcter permite mejor rendimiento que el modo ASCII para la misma velocidad. Cada mensaje debe ser transmitido en un flujo continuo.

El formato para cada byte en modo RTU es:

Sistema de codificacin:

Binario 8-bits, hexadecimal 0-9, A-F.

Dos dgitos hexadecimales contenidos en

cada campo de 8 bits del mensaje.

Bits por byte:

1 bit de arranque.

8 bits de datos, el menos significativo se

enva primero.

1 bit para paridad Par o Impar; ningn bit

para No paridad.

1 bit de paro si se usa paridad; 2 bits si no

se usa paridad.

Campo de Chequeo de error:Comprobacin Cclica Redundante (CRC).

En cualquiera de los modos de transmisin serie (ASCII o RTU), un mensaje Modbus es situado por el dispositivo que transmite, en una trama que tiene un comienzo y un final conocidos. Esto permite a los dispositivos receptores comenzar en el arranque del mensaje, leer la parte de la direccin y determinar qu dispositivo es direccionado (o todos los dispositivos si es una difusin direccin = 0) y conocer cundo se ha completado el mensaje. Mensajes parciales pueden ser detectados y establecer errores como resultado.

En redes como MAP o Modbus Plus, el protocolo de red manipula la trama de los mensajes con delimitadores de comienzo y final que son especficos de la red. Esos protocolos tambin manipulan el envo al dispositivo de destino, haciendo innecesario el campo de la direccin Modbus integrado en el mensaje para la transmisin actual. (La direccin modbus es convertida a una direccin de nodo de la red y enrutada por el controlador remitente o sus adaptadores de red.)

2.3 Tramas de mensaje Modbus.

Trama ASCII

En modo ASCII, los mensajes comienzan con un carcter ( : ) dos puntos (ASCII 3A hex) y terminan con un par de caracteres (CRLF) Retorno de Carro + Avance de Lnea) (ASCII 0D hex y 0A hex).

Los caracteres a transmitir permitidos para todos los dems campos son 0-A, A-F hexadecimal. Los dispositivos conectados en red monitorizan el bus de red continuamente para detectar un carcter dos puntos. Cuando se recibe, cada dispositivo decodifica el prximo campo (el campo de direccin) para enterarse si es el dispositivo direccionado.

Pueden haber intervalos de hasta un segundo entre caracteres dentro del mensaje. Si transcurre ms tiempo entre caracteres, el dispositivo receptor asume que ha ocurrido un error.

Se muestra una trama de mensaje tpica.

Figura 2.3 trama de mensaje ASCII

Excepcin: Con los controladores 584 y 984A/B/X, un mensaje ASCII puede terminar normalmente despus del campo LRC sin enviar los caracteres CRLF. En ese caso, debe tener lugar una pausa de al menos 1 segundo. Si esto sucede, el controlador asumir que el mensaje ha terminado normalmente.

Trama RTU

En modo RTU, los mensajes comienzan con un intervalo silencioso de al menos 3.5 tiempos de carcter. Esto es ms fcilmente implementado como un mltiplo de tiempos de carcter a la velocidad de transmisin configurada en la red (mostrado como T1-T2-T3-T4 en la figura 2.4). El primer campo transmitido es entonces la direccin del dispositivo destinatario.

Los caracteres a transmitir permitidos para todos los campos son 0-A, A-F hexadecimal. Los dispositivos conectados en red monitorizan el bus de red continuamente incluso durante los intervalos silencioso. Cuando el primer campo (el campo de direccin) es recibido, cada dispositivo lo decodifica para enterarse si es el dispositivo direccionado.

Siguiendo al ltimo carcter transmitido, un intervalo de al menos 3.5 tiempos de carcter seala el final del mensaje. Un nuevo mensaje puede comenzar despus de este intervalo.

La trama completa del mensaje debe ser transmitida como un flujo continu. Si un intervalo silencioso de ms de 1.5 tiempos de carcter tiene lugar antes de completar la trama, el dispositivo receptor desecha el mensaje incompleto y asume que el prximo byte ser el campo de direccin de un nuevo mensaje.

De forma similar, si un nuevo mensaje comienza antes de que transcurran 3.5 tiempos de carcter despus de un mensaje previo, el dispositivo receptor lo considerar una continuacin del mensaje previo. Esto dar lugar a un error, ya que el valor en el campo final CRC no ser vlido para el mensaje combinado.

Aqu se muestra una trama de mensaje tpica.

Figura 2.4 trama de mensaje RTU

Cmo es Manipulado el Campo Direccin

El campo direccin de un mensaje contiene dos caracteres (ASCII) u ocho bits (RTU). Las direcciones de esclavo vlidas estn en el rango de 0 247 decimal. Los dispositivos esclavos individuales tienen direcciones asignadas en el rango 1 247. Un maestro direcciona un esclavo situando la direccin del esclavo en el campo direccin del mensaje. Cuando el esclavo enva su respuesta, sita su propia direccin en este campo direccin de la respuesta para dar a conocer al maestro qu esclavo est respondiendo.

La direccin 0 es utilizada para direccin difusin, la cual todos los dispositivos esclavos reconocen. Cuando el protocolo Modbus es usado en redes de nivel ms alto, las difusiones pueden no estar permitidas o pueden ser reemplazadas por otros mtodos. Por ejemplo, Modbus Plus utiliza una base de datos global compartida que puede ser actualizada con cada rotacin del testigo.

Cmo es Manipulado el Campo Funcin

El campo cdigo de funcin de una trama de mensaje contiene dos caracteres (ASCII) u ocho bits (RTU). Los cdigos vlidos estn en el rango de 1 255 decimal. De esos, algunos cdigos son aplicables a todos los controladores Modicon, mientras que algunos cdigos se aplican slo en algunos modelos y otros estn reservados para usos futuros. Los cdigos actuales se describen en el Captulo 2.

Cuando un mensaje es enviado desde un maestro a un dispositivo esclavo, el campo del cdigo de funcin indica al esclavo qu tipo de accin ha de ejecutar. Por ejemplo: leer los estados ON/OFF de un grupo bobinas o entradas discretas; leer el contenido de datos de un grupo de registros; leer el status de diagnstico de un esclavo; escribir en determinadas bobinas o registros; o permitir cargar, salvar o verificar el programa dentro del esclavo.

Cuando el esclavo responde al maestro, utiliza el campo del cdigo de funcin para indicar bien una respuesta normal (libre de error) o que algn tipo de error ha tenido lugar (denominado respuesta de excepcin). Para una respuesta normal, el esclavo simplemente replica el cdigo de funcin original. Para un respuesta de excepcin, el esclavo devuelve un cdigo que es equivalente al cdigo de funcin original con su bit ms significativo puesto a valor 1. Por ejemplo, un mensaje desde un maestro a un esclavo para leer un grupo de registros sostenidos tendra el siguiente cdigo de funcin:

0000 0011 (Hexadecimal 03)

Si el dispositivo esclavo ejecuta la accin solicitada, sin error, devuelve el mismo cdigo en su respuesta. Si ocurre una excepcin. Devuelve:

1000 0011 (Hexadecimal 83)

Adems de la modificacin del cdigo de funcin para una respuesta de excepcin, el esclavo sita un nico cdigo en el campo de datos del mensaje respuesta. Esto indica al maestro qu tipo de error ha tenido lugar, o la razn para la excepcin.

El programa de aplicacin del maestro tiene la responsabilidad de manejar las respuestas de excepcin. Procedimientos tpicos son: enviar subsiguientes reintentos de mensaje, intentar mensajes de diagnstico al esclavo y notificar operadores.

Contenido del Campo Datos

El campo datos se construye utilizando conjuntos de 2 dgitos hexadecimales, en el rango de 00 FF hexadecimal. Pueden formarse a partir de un par de caracteres ASCII o desde un carcter RTU, de acuerdo al modo de transmisin serie de la red.

El campo datos de los mensajes enviados desde un maestro a un esclavo, contiene informacin adicional que el esclavo debe usar para tomar la accin definida por el cdigo de funcin. Esto puede incluir partes como direcciones discretas y de registros, la cantidad de partes que han de ser manipuladas y el cmputo de bytes de datos contenidos en el campo.

Por ejemplo, si el maestro solicita a un esclavo leer un grupo de registros sostenidos (cdigo de funcin 03), el campo de datos especifica el registro de comienzo y cuntos registros han de ser ledos. Si el maestro escribe sobre un grupo de registros en el esclavo (cdigo de funcin 10 hexadecimal), el campo datos especifica el registro de comienzo, cuntos registros escribir, el cmputo de bytes de datos que siguen en el campo datos y los datos que se deben escribir en los registros.

Si no ocurre error, el campo datos de una respuesta desde un esclavo al maestro contiene los datos solicitados. Si ocurre un error, el campo contiene un cdigo de excepcin que la aplicacin del maestro puede utilizar para determinar la prxima accin a tomar.

El campo datos puede ser inexistente (de longitud cero) en ciertos tipos de mensajes. Por ejemplo, en una peticin de un dispositivo maestro a un esclavo para que responda con su anotacin de eventos de comunicacin (Cdigo de funcin 0B hexadecimal), el esclavo no requiere ninguna informacin adicional. El cdigo de funcin por s solo especifica la accin.

Contenido del Campo Comprobacin de Error

Dos tipos de mtodos de comprobacin de error son utilizados para las redes Modbus Standard. El contenido del campo Comprobacin de Error depende del mtodo que est siendo utilizado.

ASCII

Cuando el modo ASCII es usado para trama de carcter, el campo Comprobacin de Error contiene dos caracteres ASCII. Los caracteres de comprobacin de error son el resultado de un clculo Comprobacin Longitudinal Redundante (LRC) que es realizado sobre el contenido del mensaje, excluyendo los dos puntos del comienzo y los caracteres CRLF de finalizacin.

Los caracteres LRC son aadidos al mensaje como el ltimo campo que precede a los caracteres CRLF.

RTU

Cuando el modo RTU es usado para trama de carcter, el campo Comprobacin de Error contiene un valor de 16 bits implementado como dos bytes de 8 bits. El valor de comprobacin de error es el resultado de un clculo Comprobacin Cclica Redundante (CRC) realizado sobre el contenido del mensaje.

El campo CRC es aadido al mensaje como ltimo campo del mensaje.

La forma de hacerlo es, aadir primero el byte de orden bajo del campo, seguido del byte de orden alto. El byte de orden alto del CRC es el ltimo byte a enviar en el mensaje.

Hay informacin adicional sobre comprobacin de error mas adelante en este captulo. Se muestran los pasos detallados para generar los campos LRC y CRC en el Apndice C.

Cmo son Transmitidos los Caracteres en Serie

Cuando los mensajes son transmitidos sobre redes serie standard Modbus, cada carcter o byte es enviado en este orden (izquierda a derecha):

Bit Menos Significativo (LSB) ... Bit Mas Significativo (MSB)

Con trama de carcter ASCII, la secuencia de bit es:

Figura 2.5 Orden de bits ASCII

Con trama de carcter RTU, la secuencia de bit es: Figura 2.6 Orden de bits RTU

2.4. Mtodos de Comprobacin de ErrorLas redes series standard Modbus utilizan dos tipos de comprobacin de error. La comprobacin de paridad (par o impar) puede ser aplicada opcionalmente a cada carcter. La comprobacin de la trama (LRC o CRC) es aplicada al mensaje completo. Ambas comprobaciones, de carcter y de trama de mensaje son generadas en el dispositivo maestro y aplicadas a los contenidos del mensaje antes de la transmisin. El dispositivo esclavo comprueba cada carcter y la trama del mensaje completo durante la recepcin.

El maestro es configurado por el usuario para aguardar durante un tiempo de espera predeterminado antes de abortar la transaccin. Este intervalo es establecido para ser lo suficientemente largo para que cualquier esclavo responda normalmente. Si el esclavo detecta un error de transmisin, el mensaje no ser tenido en cuenta. El esclavo no construir una respuesta para el maestro. As el tiempo de espera expirar y permite al programa del maestro tratar el error. Observe que un mensaje direccionado a un dispositivo esclavo inexistente tambin causar un error de tiempo excedido - time out -.

Otras redes tales como MAP y Modbus Plus utilizan comprobacin de trama a un nivel por encima del contenido Modbus del mensaje. En esas redes, el campo de comprobacin LRC o CRC del mensaje Modbus no se aplica. En caso de error de transmisin, el protocolo de comunicacin especfico a esas redes notifica al dispositivo que inici la comunicacin que ha ocurrido un error y le permite reintentar o abortar de acuerdo a cmo ha sido configurado. Si el mensaje ha sido enviado, pero el dispositivo esclavo no puede responder, puede ocurrir un error de tiempo excedido que puede ser detectado por el programa del maestro.

Control de Paridad

Los usuarios pueden configurar los controladores para Control de paridad Par o Impar, o Sin Control de paridad. Esto determinar cmo ser iniciado el bit de paridad en cada carcter. Si se especifica cualquier control de paridad Par o Impar, se contabilizar la cantidad de bits que tienen valor 1 en la porcin de datos de cada carcter (siete bits de datos para modo ASCII, u ocho para RTU). Al bit de paridad habr de darse valor 0 o 1, para que se obtenga finalmente un nmero par o impar, respectivamente, de bits con valor 1.

Por ejemplo, estos 8 bits de dato forman parte de una trama de carcter RTU:

1100 0101

La cantidad de bits de valor 1 en el dato es cuatro. Si se utiliza Control de Paridad Par, el bit de paridad de la trama debe establecerse a valor 0, haciendo que la cantidad de bits de valor 1 siga siendo un nmero par (cuatro). Si se utiliza Control de Paridad Impar, el bit de paridad deber tener valor 1, resultando una cantidad de bits de valor 1, impar (cinco).

Cuando el mensaje es transmitido, el bit de paridad es calculado y aplicado a la trama de cada carcter. El dispositivo receptor cuenta la cantidad de bits de valor 1 y establece un error si no coincide la paridad con la configurada para ese dispositivo (todos los dispositivos en la red Modbus deben ser configurados para usar el mismo mtodo de Control de paridad).

Obsrvese que la comprobacin de paridad slo detecta si un nmero impar de bits se han alterado en una trama de carcter durante la transmisin. Por ejemplo, si se utiliza control de paridad Impar y dos bits de valor 1 de un carcter que tiene en origen 3 bits con valor 1, han quedado falseados (pasan a valor 0) durante la transmisin, el resultado es todava un cmputo impar de bits de valor 1 (y por lo tanto el error no es detectado por este mtodo).

Si se especifica control No Paridad, no se transmite bit de paridad y no se hace comprobacin de paridad. Se transmite un bit de paro adicional para rellenar la trama de carcter.

Comprobacin LRC

En modo ASCII, los mensajes incluyen un campo de comprobacin de error que est basado en un mtodo de Comprobacin Longitudinal Redundante (LRC). El campo LRC controla el contenido del mensaje, a excepcin de los : del comienzo y el par CRLF. Es aplicado con independencia de cualquier mtodo de control de paridad utilizado para los caracteres individuales del mensaje.

El campo LRC es un byte, conteniendo un valor binario de ocho bits. El valor LRC es calculado por el dispositivo emisor, que aade el LRC al mensaje. El dispositivo receptor calcula el LRC durante la recepcin del mensaje y compara el valor calculado con el valor recibido en el campo LRC. Si los dos valores no son iguales, resulta un error.

El valor LRC se calcula sumando entre s los sucesivos bytes del mensaje, descartando cualquier acarreo y luego complementando a dos el valor resultante. Se realiza sobre el contenido del campo de mensaje ASCII excluyendo el carcter : de comienzo del mensaje y excluyendo el par CRLF de final de mensaje.

En la lgica de programacin de controladores, la funcin CKSM calcula el LRC en base al contenido del mensaje. Para aplicaciones con ordenadores, se acompaa un ejemplo detallado sobre la generacin del LRC, en el Apndice C.

Comprobacin CRC

En modo RTU, los mensajes incluyen un campo de comprobacin de error que est basado en un mtodo Comprobacin de Redundancia Cclica (CRC). El campo CRC controla el contenido del mensaje completo. Se aplica con independencia de cualquier mtodo de control de paridad utilizado para los caracteres individuales del mensaje.

El campo CRC es de dos bytes, conteniendo un valor binario de 16 bits. El valor CRC es calculado por el dispositivo emisor, que aade el CRC al mensaje. El dispositivo receptor calcula el CRC durante la recepcin del mensaje y compara el valor calculado con el valor recibido en el campo CRC. Si los dos valores no son iguales, resulta un error.

Para calcular el valor CRC Modbus se precarga un registro de 16 bits, todos ellos a 1. Luego comienza un proceso que toma los sucesivos bytes del mensaje y los opera con el contenido del registro y actualiza ste con el resultado obtenido. Slo los 8 bits de dato de cada carcter son utilizados para generar el CRC. Los bits de arranque y paro y el bit de paridad, no se tienen en cuenta para el CRC.

Durante la generacin del CRC, se efecta una operacin booleana OR exclusivo (XOR) a cada carcter de 8 bits con el contenido del registro. Entonces al resultado se le aplica un desplazamiento de bit en la direccin de bit menos significativo (LSB), rellenando la posicin del bit ms significativo (MSB) con un cero. El LSB es extrado y examinado. Si el LSB extrado fuese un 1, se realiza un XOR entre el registro y un valor fijo preestablecido (*). Si el LSB fuese un 0, no se efecta la funcin XOR (OR exclusiva).

Este proceso es repetido hasta haber cumplido 8 desplazamientos. Despus del ltimo desplazamiento (el octavo), el prximo byte es operado XOR con el valor actual del registro y el proceso se repite con ocho desplazamientos ms, como se ha descrito mas arriba y as con todos los bytes del mensaje. El contenido final del registro, despus de que todos los bytes del mensaje han sido procesados, es el valor del CRC.

Cuando el CRC es aadido al mensaje, primero se aade el byte de orden bajo seguido del byte de orden alto.

En la lgica de programacin de controladores, la funcin CKSM calcula el CRC en base al contenido del mensaje. Para aplicaciones con ordenadores, se acompaa un ejemplo detallado sobre la generacin del CRC, en el Apndice C.

(*) El valor preestablecido es A001 hex, correspondiente al polinomio generador CRC16

Inverso, que es el que se aplica al CRC Modbus.

CAPITULO 3

DATOS Y FUNCIONES DE CONTROL

RESUMEN SOBRE LAS FUNCIONES DE CONTROL

DETALLES DE LAS FUNCIONES MODBUS

Este capitulo pretende dar un panorama de las funciones que realiza un controlador Modbus, de cmo un maestro realiza las peticiones y como es la respuesta de un dispositivo esclavo. As como la explicacin de cual es el propsito de cada funcin y los controladores que soportan a dichas funciones.

3.1 Formato de las Funciones Modbus

Cmo son expresados los valores numricos

A menos que se especifique otra cosa, los valores numricos (tales como direcciones, cdigos, o datos) se expresan como valores decimales en el texto de esta seccin. Son expresados como valores hexadecimales en los campos del mensaje de las figuras.

Direcciones en los Mensajes Modbus

Todos las direcciones en los mensajes Modbus son referenciadas a cero. La primera unidad de cada tipo de dato es direccionada como parte nmero cero. Por ejemplo:

La bobina conocida como bobina 1 en un controlador programable es direccionada como bobina 0000 en el campo de direccin de un mensaje Modbus.

La bobina 127 decimal es direccionada como bobina 007E hex (126 decimal).

El registro mantenido 40001 es direccionado como registro 0000 en el campo de direccin de un mensaje Modbus. El campo cdigo de funcin ya especifica una operacin sobre un registro mantenido. Por lo tanto la referencia 4XXXX est implcita.

El registro mantenido 40108 es direccionado como registro 006B hex (107 decimal).

Campos contenidos en los Mensajes Modbus

La figura 3.1 muestra un ejemplo de un mensaje de peticin Modbus. La figura 3.2 es un ejemplo de una respuesta normal. Ambos ejemplos muestran los campos contenidos en hexadecimal y tambin cmo estara distribuido en la trama, un mensaje en modo ASCII o en modo RTU.

La peticin del maestro es una solicitud de Lectura de Registros sostenidos, al dispositivo esclavo con direccin 06. El mensaje solicita datos numricos de tres registros sostenidos, 40108 al 40110.

Observe que el mensaje especifica la direccin de comienzo como 0107 (006B hex).

La respuesta del esclavo replica el cdigo de funcin, indicando que esto es una respuesta normal. El campo Cmputo de Bytes especifica cuntas unidades de datos de 8 bits se devuelven. Muestra la cantidad de bytes de datos que vienen a continuacin, bien ASCII o RTU. En el modo ASCII, este valor representa la mitad del cmputo real de caracteres ASCII en el dato, ya que en este modo, cada dgito hexadecimal de 4 bits requiere un carcter ASCII y por lo tanto, debe haber dos caracteres ASCII para contener cada unidad de dato de 8 bits.

Por ejemplo, el dato: 63 hex se enva como un byte ocho bits - en modo RTU (0110 0011).

El mismo valor, enviado en modo ASCII requiere dos caracteres ASCII, el ASCII 6 (011 0110) y el ASCII 3 (011 0011). El campo Cmputo de bytes contabiliza este dato como una sola de dato de 8 bits , con independencia del mtodo de trama de carcter (ASCII o RTU).

Cmo Usar el Campo Cmputo de Bytes: Cuando se construyan respuestas en buffer, ponga en el campo correspondiente al Cmputo de Bytes un valor igual a la cantidad de bytes de datos contenidos en su mensaje (2 x n de datos a enviar - byte alto y byte bajo de cada dato - ).

La figura 11 muestra cmo se implementa el cmputo de Bytes en una respuesta tpica

Figura 3.1 pregunta tpica

Figura 3.2 Respuesta tpicaCampos contenidos en los mensajes sobre Modbus Plus

Los mensajes Modbus enviados sobre redes Modbus Plus estn integrados en la trama dentro del nivel Logical Link Control (LLC). Los campos del mensaje Modbus sobre Modbus Plus consisten en bytes de 8 bits de forma similar a la utilizada con la trama RTU.

El campo Direccin del Esclavo es convertido en un enrutamiento (ROUTING PATH) por el dispositivo emisor. El campo CRC no se enva en el mensaje Modbus, porque sera redundante con la comprobacin CRC realizada en el nivel High-level Data Link Control (HDLC).

El resto del mensaje permanece como en el formato serie Standard. El software de aplicacin (Bloques MSTR en los controladores, o Modcom III en ordenadores) manipula la trama del mensaje en una red de paquetes.

La figura 3.3 muestra cmo se integrara una peticin Leer Registros sostenidos en una trama para transmisin Modbus Plus.

Figura 3.3 contenido de los campos en Modbus Plus

3.2 Cdigo de funciones soportadas por los controladores

El listado de ms abajo muestra los cdigos soportados por los controladores Modicon. Los cdigos se listan en decimal.

Y indica que la funcin est soportada. N indica que no est soportada.

CdigoNombre384484584884M84984

01Leer Estados de BobinasYYYYYY

02Leer Estados de EntradasYYYYYY

03Leer Registros sostenidosYYYYYY

04Leer Registros de EntradasYYYYYY

05Forzar una nica BobinaYYYYYY

06Preestablecer un nico RegistroYYYYYY

07Leer Status de ExcepcinYYYYYY

08Diagnosticos (ver Captulo 3)

09Programar 484NYNNNN

10Seleccin 484NYNNNN

11Buscar Contador de Eventos de ComunicacinYNYNNY

12Buscar Anotac de Eventos de ComunicYNYNNY

13Programar ControladorYNYNNY

14Seleccin ControladorYNYNNY

15Forzar Mltiples BobinasYYYYYY

16Preestablecer Mltiples RegistrosYYYYYY

17Reportar Identificacin de EsclavoYYYYYY

18Programar 884/M84NNNYYN

19Resetear Enlace de ComunicacionesNNNYYN

20Leer Referencia GeneralNNYNNY

21Escribir Referencia GeneralNNYNNY

22Escribir con mscara en Registros 4XNNNNN(1)

23Leer/Escribir Registros 4XNNNNN(1)

24Leer Cola FIFONNNNN(1)

(1) Funciones soportadas solo en el 984-785

01 Lectura del estatus de una bobina

Lee el estatus de ON/OFF de salidas discretas en el esclavo (referencia OX, bocinas).

El apndice B muestra los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de pregunta especifica la bobina de inicio y la cantidad de bobinas que sern ledas.

Las bobinas son direccionadas iniciando en cero: bobinas del 1 -16 son direccionadas como 0-15.

A continuacin un ejemplo de una peticin para leer las bobinas 20-56 del esclavo 17:

Figura 3.4 pregunta para la lectura de estatus de una bobina

Respuesta

Los estatus de las bobinas en el mensaje es empaquetado como una bobina por bit de el campo de dato, Los estados son indicados como 1= ON; 0=OFF, el bit menos significativo de el primer byte de datos contiene la bobina direccionada en la pregunta, las otras bobinas siguen hacia el extremo del orden alto de este byte, y de el orden bajo al orden alto ' en los bytes subsecuentes.

Si la cantidad de bobinas regresadas no es un mltiplo de ocho, los bits sobrantes en el final del byte de datos sern puestos en ceros (hacia el fin del byte siguiendo el orden alto). El campo de conteo de bytes indica la cantidad de bytes de datos completos.

Aqu el ejemplo de la respuesta a la pregunta realizada en la pagina anterior.

Figura 3.5 respuesta que entregara un dispositivo esclavo

Los estatus de las bobinas 27-20 son mostrados como el byte con valor CD en hexadecimal o el binario 11001102. el estatus de la bobina numero 27 es el bit mas significativo del byte, y la bobina 20 el bit menos significativo. De izquierda a derecha el estatus de la bobina 27 hasta la 20 son:, ONONOFFOFFONONOFFON.

Por convencin, el bit mas significativo del byte es puesto a la izquierda y el menos significativo a la derecha de dicho byte. As las bobinas en el primer byte son de la 27 a la 20, de izquierda a derecha. El siguiente byte tiene las bobinas 35 a la 28 de izquierda a derecha. Como los bits son trasmitidos serialmente, estos fluyen del bit menos significativo (LSB) a el ms significativo (MSB): 20..27, 28..35, y as sucesivamente.

En el ultimo byte de datos, el estatus de las bobinas son mostrados como el byte cuyo valor es 1B en hexadecimal o 00011011 en binario. La bobina numero 56 esta en la cuarta posicin de la izquierda y la bobina numero 52 es el bit menos significativo del byte (LSB). Los estatus de las bobinas 56 a la 52 son ON-ON-OFF-ON-ON. Note como los 3 bit restantes bits son llenados con ceros (hacia el extremo mas alto).

02 Lectura de estatus de entrada

Descripcin

Lee los estatus de entradas discretas (referencia 1X) en el esclavo.

Para una transmisin de tipo broadcast no esta soportado este tipo de operacin.

El apndice B indica los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de pregunta especifica el inicio de las entradas y la cantidad de entradas a ser ledas. Entradas son direccionadas iniciando en cero: entradas de 1 a la 16 son direccionadas como 0-15.

Aqu se muestra un ejemplo de una peticin para leer las estradas de 10197-10218 del dispositivo esclavo numero 17.

Figura 3.6 pregunta para la lectura del estatus de una entrada

Respuesta

Los estatus de una entradas en el mensaje de respuesta es empaquetado como una entrada por bit del campo de datos. El estatus es indicado como: 1= ON; 0 = OFF. El bit menos significativo del primer byte de datos contiene la entrada direccionada en la pregunta. Las otras entradas siguen hacia el extremo mas significativo de este byte, y de menor a mayor en los bytes subsecuentes.

Si la cantidad de status de entradas regresadas no es mltiplo de 8. los bits sobrantes en el byte final de datos sern puestos en cero (hacia el extremo ms significativo del byte). El campo de conteo de bytes especifica la cantidad de bytes completos de datos.

Aqu un ejemplo de la respuesta a la peticin anterior.

Figura 3.7 respuesta entregada por el dispositivo

Los estatus de las entradas 10204-10197 son mostrados como el byte con valor AC en hexadecimal, o 10101100 en binario. La entrada 10204 es el bit ms significativo de este byte, y la entrada 10197 es el bit menos significativo.

De izquierda a derecha, los estatus de las entradas 10204 hasta 10197 son: ON-OFF-ON-OFF-ON-ON-OFF-OFF.

Los estatus de las entradas 10218-10213 son mostrados como el byte con valor 35 hexadecimal, o 00110101 binario. La entrada 10218 esta en la posicin del tercer bit de la izquierda, y la entrada 10213 es el bit menos significativo (LSB). El estatus de las entradas 10218 hasta 10213 son ON-ON-OFF-ON-OFF-ON. Note como los dos bits sobrantes son llenados con cero (hacia el extremo ms significativo).

03 Lectura de registros sostenidos

Descripcin

Lee el contenido binario de registros sostenidos (referencia 4x)

En transmisin modo broadcast esta opcin no esta soportada.

El apndice B muestra los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de la pregunta especifica el registro de inicio y la cantidad de registros a ser ledos. Los registros son direccionados empezando en cero: registros de 1 16 son direccionados como 0-15.

Aqu hay un ejemplo de una peticin para leer los registros 40108 a 40110 del dispositivo esclavo 17.

Figura 3.8 pregunta para la lectura de registros sostenidos

Respuesta

El dato del registro es empaquetado en el mensaje de respuesta como dos bytes por registro, tonel contenido en binario correctamente justificado en cada byte. Para cada registro, el primer byte contiene los bits de la parte alta, y el segundo contiene los bits de la parte baja.

Los datos son revisados en el esclavo a razn de 125 registros por revisin para controladores 984-SEX (984-685, etc), y a razn de 32 registros por revisin para el resto de controladores. La respuesta es regresada cuando el dato es completamente integrado.

A continuacin se muestra un ejemplo de la respuesta a la pregunta anterior.

Figura 3.9 Respuesta del dispositivo.

El contenido del registro 40108 es desplegado como el valor de los dos bytes con valor de 02 2B en hexadecimal, o 555 en decimal. El contenido de los registros 40109-40110 son 00 00 y 00 64 en hexadecimal o 0 y 100 en decimal.

04 Lectura de registro de entradas.

Descripcin

Lee el contenido binario de registros de entrada en el esclavo (referencia 3X).

En el modo de transmisin broadcast no esta soportada esta funcin.

El apndice B muestra los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de peticin especifica el registro de inicio y la cantidad de registros a ser ledos, los registros son direccionados iniciando en cero: los registros de 1-16 son direccionados como 0-15.

A continuacin un ejemplo de la peticin para leer el registro 30009 del dispositivo esclavo 17.

Figura 3.10 lectura de registros de entrada

Respuesta

El dato del registro es empaquetado en el mensaje de respuesta como dos bytes por registro, tonel contenido en binario correctamente justificado en cada byte. Para cada registro, el primer byte contiene los bits de la parte alta, y el segundo contiene los bits de la parte baja.

Los datos son revisados en el esclavo a razn de 125 registros por revisin para controladores 984-SEX (984-685, etc), y a razn de 32 registros por revisin para el resto de controladores. La respuesta es regresada cuando el dato es completamente integrado.

A continuacin se muestra un ejemplo de la respuesta a la pregunta anterior.

Figura 3.11 Respuesta a la funcin 04

El contenido del registro 30009 es representado con dos bytes cuyo valor es 00 0A en hexadecimal o 10 en decimal

05 Forzar bobinas simples

Descripcin

Obliga a una simple bobina a tomar alguno de sus valores ON/OFF (referencia 0X). Cuando se usa un broadcast la funcin obliga a las mismas bobinas en todos los dispositivos adjuntados al mensaje.

Nota la funcin sobrescribir la memoria del controlador proteja el estado y desactive el estado de la bobina. El estado forzado permanecer valido hasta que la siguiente lgica del controlador resuelva a la bobina. La bobina permanecer forzada si no es re-programada en la lgica del controlador.

El apndice B muestra los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de peticin especifica la bobina a ser forzada, las bobinas son direccionadas empezando por cero: la bobina 1 es direccionada como 0.

El estado pedido de ON OFF es especificado por una constante en el campo de dato de la pregunta. Un valor de FF 00 (hexadecimal). Pide a la bobina que pase a su estado de ON. Un valor de 00 00 pide que pase a su estado de OFF. Cualquier otro valor es considerado ilegal y no afectara a la bobina.

A continuacin un ejemplo de una peticin para forzar la bobina 173 en ON en el esclavo 17.

Figura 3.12 pregunta para forzar bobinas

Respuesta

Una respuesta normal es un eco de la pregunta, regresando despus el status de la bobina que ha sido forzado.

El siguiente ejemplo es la respuesta normal a la pregunta anterior.

Figura 3.13 Respuesta normal por parte del dispositivo.

06 Predeterminar registros simples

Descripcin

Poner un valor predeterminado a un registro sostenido simple (referencia 4x). Cuando ocurre un broadcast, la funcin pone la misma referencia del registro en todos los esclavos adjuntos.

Nota la funcin anulara el estado de proteccin de memoria del controlador. El valor fijado a este registro permanecer valido en el registro hasta que la lgica del controlador re defina el contenido de este.

El apndice B muestra los parmetros mximos soportados por varios modelos de controladores.

Pregunta

El mensaje de pregunta especifica el registro que ser fijado en un valor predeterminado. Los registros son direccionados empezando en cero: el registro 1 es el registro 0.

El valor asignado esta especificado en el campo de dato de la pregunta. Los controladores M84 y 484 usan un valor de 10 bits con los 6 ms significativos puestos en cero. Cualquier otro controlador usa un valor de 16 bits.

A continuacin un ejemplo de una peticin para fijar el registro 40002 en el valor hexadecimal 00 03 para el dispositivo esclavo 17.

Figura 3.14 pregunta para fijar registros.

Respuesta

La respuesta normal a esta solicitud es un eco de la pregunta, que es regresada despus de que el contenido del registro ha sido modificado.

Aqu se muestra la respuesta a la solicitud del ejemplo anterior.

Figura 3.15 Respuesta normal por parte del dispositivo.

07 Lectura de estatus de excepcin

La funcin nos permite leer el contenido de 8 estatus de excepcin en bobinas dentro del controlador del esclavo.

Ciertas bobinas tienen asignaciones predefinidas en los diversos controladores. Otras bobinas pueden ser programadas por el usuario para mantener informacin sobre el estado de los controladores, por ejemplo, maquina encendida/apagada cabezales abiertos, seguridad satisfactoria, presencia de condiciones de error, o cualquier otra bandera definida por el usuario.

Por la naturaleza de la funcin es evidente que no es posible el broadcast.

Esta funcin proporciona un mtodo simple para acceder a esta informacin, porque las referencias de las bobinas de excepcin son conocidas (no se necesita la referencia de la bobina).

Las asignaciones predefinidas en las bobinas de excepcin son:

Modelo del controlador Bobina Asignacin

M84, 184/384, 584, 9841-8Definida por el usuario

484257

258-264

Estatus de la batera.

Definido por el usuario.

884761

762

763

764-768Estatus de la batera.

Estatus de la proteccin a la memoria.

RIO estatus de salud.

Definidas por el usuario

Aqu se muestra un ejemplo de una peticin para el estatus de excepcin en el dispositivo esclavo 17.

Figura 3.16 pregunta para leer estatus de excepciones

Respuesta

La respuesta normal contiene el estatus de excepcin de las 8 bobinas. Las bobinas son empaquetadas en un solo byte, con un bit por bobina. El estatus de la bobina con referencia menor es contenido en el bit menos significativo.

Aqu esta un ejemplo de la respuesta a la peticin.

Figura 3.17 Respuesta normal por parte del dispositivo.En este ejemplo, el dato de las bobinas es 6D que en binario corresponde a 01101101. De izquierda a derecha las bobinas son: apagado- encendido-encendido- apagado- encendido- encendido- apagado- encendido. Los estatus son mostrados de la bobina con la direccin ms alta a la ms baja.

Si el controlador es un 984, estos bits son los estatus de las bobinas 8 hasta 1.

Si el controlador es a 484, estos bits son los estatus de las bobinas 264 hasta 257. en este ejemplo la bobina 257 esta en ON, indicando que la batera del controlador esta en perfecto estado.

11 (0B Hexadecimal) Sacar un contador de eventos de comunicaciones

Descripcin

Retorna una palabra de estatus y un contador de evento del contador de eventos de comunicaciones del esclavo. Para traer el contador correcto antes y despus de una serie de mensajes, un dispositivo maestro puede determinar si el mensaje fue manejado correctamente por el dispositivo esclavo.

El contador de eventos del controlador es incrementado una vez por cada mensaje exitoso completo. Este contador no es incrementado por respuestas de excepcin, comandos de encuesta, o comandos de trada del contador de eventos de comunicaciones.

El contador de eventos puede ser peseteado por medio de la funcin de diagnostico (cdigo 08) con una subfuncin de nos da la opcin de reiniciar las comunicaciones (cdigo 00 01) o limpiar el contador y registro de diagnostico (cdigo 00 0A).

Pregunta

Aqu mostramos el ejemplo de una peticin para traer el contador de eventos de comunicacin del dispositivo esclavo 17:

Figura 3.17 pregunta para obtener el contador de eventos en las comunicaciones.

Respuesta

La respuesta normal contiene una palabra de estatus de dos bytes y un contador de eventos de 2 bytes. La palabra de estatus estar en unos en todos sus bits (FF FF hexadecimal) si un comando previamente emitido aun esta siendo ejecutado por el esclavo (una condicin de ocupado existe).

Si otra condicin existe la palabra contendr solo ceros en sus bits.

Aqu se muestra la respuesta a la pregunta realizada previamente.

Figura 3.18 Respuesta normal por parte del dispositivo.En este ejemplo, la palabra de ejemplo es FF FF (hexadecimal) indicando que una funcin del programa esta en ejecucin en el esclavo. El contador de eventos es mostrado como 264 (01 08 hexadecimal) eventos han sido contados por el controlador.

12 (0C Hexadecimal) Traer el registro de eventos de comunicacin.

Descripcin.

Regresa una palabra de estatus, contador de eventos, contador de mensajes, y un campo de bytes de eventos del esclavo. El broadcast no esta soportado por esta funcin.

La palabra de estatus y el contador de eventos son idnticos a los entregados por la funcin anterior (11 0B Hexadecimal, sacar un contador de eventos de comunicaciones).

El contador de mensajes contiene la cantidad de mensajes procesados por el esclavo desde el ultimo reinicio, operacin de limpieza de contadores, o encendido del equipo. Este contador es idntico al que es regresado por la funcin de diagnostico (cdigo 08), con la sub-funcin regresar contador de mensajes de bus (cdigo 11, 0B hexadecimal).

El campo de bytes de eventos contiene 0-64 bytes. En donde cada byte corresponde al estatus de una operacin Modbus enviada o recibida por el dispositivo esclavo. Los eventos son ingresados por el esclavo dentro del campo en orden cronolgico. El byte cero es el byte con el estatus del evento ms reciente. Cada nuevo byte recorre a los dems en el campo de los 64 bytes.

Pregunta

Aqu esta un ejemplo de una peticin para traer el registro de eventos de comunicaciones para el esclavo 17:

Figura 3.19 pregunta para obtener el registro de eventos en las comunicaciones.

Respuesta

La respuesta normal contiene un campo de dos bytes con una palabra de estatus, un campo de dos bytes con el contador de eventos, un campo de dos bytes para el contador de mensajes, y un campo de 0-64 bytes de eventos. Un campo de contador de bytes define la longitud de los datos en estos cuatro campos.

Aqu esta el ejemplo de la respuesta a la pregunta anterior.

Figura 3.20 Respuesta normal por parte del dispositivo.En este ejemplo, la palabra de estatus es 00 00 hexadecimal, indicando que el esclavo no esta procesando una funcin del programa. El contador de eventos es mostrado como 264 (01 08 hexadecimal) eventos contados por el esclavo. El contador de mensajes es mostrado con el nmero 289 (01 21 hexadecimal) mensajes procesados por el esclavo.

El evento ms reciente de comunicacin es mostrado en el byte de Event 0. Este contenido (20 hexadecimal) muestra que el dispositivo esclavo ha sido ingresado en el modo de solo escuchar.

El evento anterior es mostrado por el campo Event 1. el contenido de este campo (00 00) muestra que el esclavo recibi un reinicio de comunicaciones.

El esquema de los bytes de evento de la contestacin se describe en la siguiente pgina.

Que contienen los bytes de eventos

Un byte de evento regresado por la funcin de traer el registro de eventos de comunicaciones puede ser cualquiera entre cuatro tipos. El tipo es definido por el bit 7 (el mas significativo) en cada byte, esto puede ser definido adems por el bit 6.

Eventos recibidos por el esclavo Modbus.

Este tipo de bytes de eventos son almacenados por el esclavo cuando un mensaje de respuesta es recibido. Es almacenado antes que el esclavo procese el mensaje. Este evento es definido por el bit 7 puesto el estado lgico de 1. Los otros bits sern puestos con un uno lgico si las siguientes condiciones son ciertas. El esquema de bits es:

BitContenido

0No usado

1Error de comunicacin

2No usado

3No usado

4Carcter desbordado

5Actualmente en modo de solo escuchar.

6Broadcast recibido

71

Eventos enviados por el esclavo Modbus

Este tipo de bytes de eventos son almacenados por el esclavo cuando este termina de procesar un mensaje de peticin. Este byte es almacenado por el esclavo si regresa una respuesta normal o de excepcin, o no responde. Este evento es definido por el bit 7 puesto en un cero lgico, con el bit 6 puesto en uno lgico. Los otros bits sern puestos en 1 lgico si la condicin correspondiente es verdadera.

El esquema de bits es:

BitContenido

0Excepcin de lectura enviado (cdigo de excepcin 1-3)

1Excepcin de interrupcin de esclavo (cdigo de excepcin 4)

2Excepcin de esclavo ocupado (