Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERÍA
SANTIAGO DE CALI
2002
IMPLEMENTACION DE UNA RED MODBUS/TCP
INGENIERO ELECTRÓNICO
Directores
FACULTAD DE INGENIERÍA
SANTIAGO DE CALI
2002
RESUMEN
control industrial con conectividad TCP/IP (como por ejemplo Internet), capaz
calificado como:
Aprobado.
Los directores de tesis: Ing. Asfur Barandica e Ing. Fabio German Guerrero por
aprendí mucho.
Pag.
0. INTRODUCCIÓN 1
1. EL PROTOCOLO MODBUS/TCP 8
1.1 DESCRIPCIÓN 8
2.1.1 Descripción 28
2.1.2 Características 28
2.1.3 Aplicaciones 29
2.2.2 Características 42
2.3.2 Características 45
2.3.5 Comunicación 47
2.3.6 Programación 49
4. CONCLUSIONES 89
BIBLIOGRAFÍA 93
ANEXO 95
LISTA DE TABLAS
Pag.
Pag.
FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA
Instrumentación, comunicaciones.
1
0. INTRODUCCION
factores críticos1.
1
Tomado de “Comunicaciones en entornos industriales”, por Mario Distéfano. Visitar la dirección
http://fing.uncu.edu.ar/investigacion/institutos/IAEI/Cursos2.htm
2
industriales, los múltiples buses de campo han perdido terreno ante la incursión de
Los buses de campo son una forma especial de LAN dedicada a aplicaciones de
Los buses de campo típicamente operan sobre cables de par trenzado de bajo
temporización estricta.
2
Tomado de “Moving Ethernet to plant floors”, por Sam Malizia. Visitar la dirección
http://www.isa.org/journals/ic/feature/1,1162,541,00.html
3
industrial capaz de ser accedida a través de lnternet ó la Intranet local, usando los
por eso que es de gran importancia trabajar sobre él, y además debido a que en
Arquitectura de la solución
enlaces y la interacción que debe existir entre los diversos elementos que
componen el sistema :
3
Tomado de http://www.modbus.org/modbus_tcp_new.htm
4
El protocolo Modbus/TCP fue introducido por Schneider Automation. La especificación se
encuentra disponible en http://www.modicon.com/openmbus.
4
Objetivo general
Objetivos específicos
6
• Programar la tarjeta CPU08 , para que pueda comportarse como un esclavo
5
Para más información de esta tarjeta, consultar la sección 2.1.
6
Para más información de esta tarjeta, consultar la sección 2.2.
6
• Desarrollar una interfaz de usuario gráfica vía Web, desde la cual sea posible
1. EL PROTOCOLO MODBUS/TCP7
1.1 DESCRIPCION
TCP/IP8.
7
Parte de esta sección es tomado de la especificación en http://www.modicon.com/openmbus
8
Tomado de http://www.modbus.org
9
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.
10
transacción de datos.
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.
11
significa que cuando una cantidad numérica más grande que un byte es
MODBUS basa su modelo de datos sobre una serie de tablas las cuales tienen
• Entradas discretas. Bit simple, suministrado por un sistema I/O, de solo lectura.
lectura-escritura.
solo lectura.
aplicación, de lectura-escritura.
12
Big-endian es un formato en el cual el byte más significativo se encuentra primero.
12
aceptable y común, considerar las cuatro tablas sobrelapando una con otra, si esta
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
prefijo (o encabezado) para permitir al receptor reconocer los límites del mensaje,
13
CRC (Cyclic Redundancy Code), verificación por redundancia cíclica.
13
Modbus/TCP.
• Puede ser usado para comunicar con una gran base instalada de dispositivos
configuración.
fáciles de lograr sobre una estación única, y cualquier red puede ser construida
MODBUS PLUS
interpretación de la dirección.
Todas las solicitudes son enviadas vía TCP sobre el puerto registrado 502. Las
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.
15
dispositivos tales como puentes y gateways, los cuales usan una dirección IP
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
dos bytes, pero el byte alto se establece a cero ya que los mensajes son más
funciones útiles pero algo dependientes del esclavo. Esas funciones del conjunto,
deficiente.
Este es el mínimo conjunto útil de funciones, tanto para el maestro como para el
esclavo.
Código Función
16
En el protocolo MODBUS , “holding register” representa una cantidad de 16 bits, la cual
representa una posición interna de la memoria.
19
17
HMI : Human Machine Interface.
20
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.
21
Esto es debido a que se espera que Modbus/TCP sea usado en la más amplia
de varios segundos.
Desde la perspectiva del cliente, ese tiempo de respuesta debe ser extendido por
Cualquier tiempo “timeout19” usado en un cliente debe ser más grande que el
máximo tiempo de respuesta razonable, para así evitar una excesiva congestión
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.
22
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
segundos.
establecer el timeout un poco más grande que el anterior, para así permitir a un
Modbus/TCP está diseñado para permitir que el diseño de un cliente sea tan
como sigue:
23
• Leer los primeros 6 bytes de la respuesta, el cual indicará la longitud real del
mensaje recibido.
inmediato, cerrar la conexión TCP así que los recursos en el servidor puedan
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.
24
En el evento que expire el timeout para una respuesta, realizar un cierre unilateral
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
infraestructura de la red.
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
más como un buffer de recepción por conexión. Tal espacio de buffer no tiene
menor que 300 bytes. De esta forma se liberan recursos para conexiones
adicionales.
25
(hilos de control), tal como Java, pueden usar la estrategia multithreaded, descrita
a continuación :
timeout aquí, pero en cambio esperar hasta ya sea que llegue la solicitud ó la
automáticamente.
• Leer los bytes restantes del mensaje, cuya longitud es ahora conocida.
26
longitud.
procedimiento.
corriente.
27
integran la red:
1. Tarjeta TINI.
2. Tarjeta CPU08.
21
Tomado de “The TINI Specification and Developer`s Guide”, por Don Loomis. Addison – Wesley, 2001.
28
2.1.1 Descripción.
2.1.2 Características.
características:
29
• Doble puerto serial (uno con niveles RS-232 y otro con niveles TTL).
paralela.
2.1.3 Aplicaciones.
• Monitoreo y control de equipo basado en Web. La TINI puede ser usada para
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.
Ethernet.
31
La TINI esta desarrollada con diversos chips LSI. Un esquema del hardware que
• Microcontrolador.
• Memoria flash.
pines de propósito general que pueden ser usados para desempeñar tareas de
sistema.
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
22
El entorno runtime esta compuesto por el sistema operativo y la Máquina Virtual Java (JVM).
34
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.
Los diseñadores deben evitar los rangos del controlador Ethernet y el reloj, cuando
espacio PCE (Peripheral Chip Enable), que puede ser usada para interfazar
soporte para los siguientes protocolos de comunicación serial han sido integrados
comunicación.
integrados.
• I/O TTL. Los pines de propósito general del puerto del microcontrolador pueden
a un dispositivo periférico.
una gran cantidad de software es también suministrado con la TINI para liberar a
El software que comprende el entorno runtime de la TINI puede ser dividido en dos
Java (JVM).
El código de las aplicaciones corriendo sobre la tarjeta TINI son escritos en Java y
Es posible escribir también librerías nativas que pueden ser cargadas desde una
recolector de basura23, todas las tareas manejadas por el sistema operativo son
aplicaciones Java.
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.
40
Tanto la pila TCP/IP como el manejador de I/O son implementados como procesos
red, incluyendo Ethernet, para interconexión de alta velocidad en área local, y PPP
modem.
físicos:
• Conector DB9 hembra. Este conector provee un puerto serial tipo DCE (Data
• Conector DB9 macho. Este conector provee un puerto serial DTE para
conexión a dispositivos DCE tal como modems. Muchas aplicaciones TINI que
• Conector RJ11. El conector RJ11 provee acceso a la red 1-Wire usando cable
telefónico estándar.
apropiadas para comportarse como un esclavo, y además debe manejar una red
2.2.2 Características.
• 2 interrupciones externas.
modificada.
mostrada en la Figura 1.1, ya que proporciona un puerto serial que permite al PLC
en la Figura 2.6.
2.3.2 Características.
• 6 salidas relé.
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.
46
Modo Descripción
• 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.
47
Rango en
Tipo de memoria Cantidad Rango PLC Tipo de dato
Modbus
del PLC (decimal) (octal) Modbus
(decimal)
Datos discretos
Palabras de memoria
2.3.5 Comunicación.
2.3.6 Programación.
El PLC DL05 posee dos métodos de programación: RLL (Relay Ladder Logic) y
Windows que soporta las características más familiares para este sistema
operativo.
Los controladores 452 Plus son dispositivos que permiten realizar lectura de
de los parámetros del controlador (setpoint, cte. Proporcional, cte. Derivativa, etc.)
Carácter Código
Descripción
especial hexadecimal
< 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.
En modo CRL los mensajes individuales están delimitados por <STX> para indicar
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
Sobre los elementos que componen la red Modbus/TCP (Figura 1.1) se ejecutan
controladores.
proceso servidor acepta una petición desde la red, ejecuta una acción basado en
cliente cuando envía una petición al servidor y espera una respuesta. Este modelo
24
Disponible en Internet en http://jmodbus.sourceforge.net
55
diseñado para correr sobre dispositivos con poca memoria, tales como la TINI de
Dallas Semiconductor.
clase base Modbus al igual que las implementaciones maestro y esclavo, y como
interface que es implementada por las clases que definen los diferentes
siguientes clases:
clase base que será extendida por las clases representando tanto un maestro
MODBUS. Esta es la clase base que será extendida por las clases
Esta clase contiene el código requerido para generar una solicitud MODBUS y
analizar la respuesta.
MODBUS RTU. Esta clase define qué tipo de transporte es usado; todo el
clase ModbusMaster.
Esta es la clase base que será extendida por las clases representando un
esclavo para los diferentes transportes (RTU, ASCII, y TCP). Esta clase
25
La interfaz Runnable permite manejar multihilos sin necesidad de extender la clase Thread.
58
ModbusSlave.
nuevas solicitudes.
59
transporte para los diferentes tipos de MODBUS. Las clases que implementan
de los datos.
MODBUS RTU.
manejar el trabajo en redes como si fuera entrada / salida de archivos; por tanto el
3.3 se lista una porción del código de la clase ServidorModbusTCP, la cual fue
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;
8 .
9 .
10 .
11 public static void main (String args[ ])
12 {
13 ServerSocket svrSocket = null;
14 Socket socket = null;
15 Thread hiloModbus;
16 ModbusTCPSlave modbus;
17 .
18 .
19 .
20 try {
21 svrSocket = new serverSocket( PUERTO );
22 }
23 catch( IOException ex ) {
24 System.out.println( ex.getMessage( ) );
25 ex.printStackTrace( );
26 return;
27 }
28
29 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 }
42
43 }
44 }
paquete java.net. De ahí que con el enunciado de la línea 1 se cargan las clases
ServerSocket y Socket.
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
programación concurrente.
62
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
esperar una conexión y ser procesados por el servidor. Si la cola está llena, las
conexión.
bloquea) para detectar un intento de un cliente por conectarse. Esto se logra con
acción.
63
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
protocolo HTTP.
se crea un proceso hijo que maneja esa transacción particular y éste devuelve una
En la Figura 3.4 se lista parte del código que define al servidor Web.
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");
14
15 // Especificar un nombre para el archivo de “logging” y habilitarlo
16 httpd.setLogFilename("/log/web.log");
17 httpd.setLogging(true);
18
19 // Procesar las solicitudes ingresantes
20 for ( ; ; ) {
21 try {
22 httpd.serviceRequests();
23 }
24 catch (HTTPServerException e) {
25 System.out.println(e.getMessage());
26 }
27 }
28
29 }
27 }
La página HTML devuelta por el servidor Web al cliente contiene una applet, la
la sección 3.3.
65
Las applets son un tipo de aplicaciones que Java permite crear, que se mantienen
En la Figura 3.5 se lista el contenido del archivo HTML que define la página Web,
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>
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
por el contrario se crea un archivo JAR que contenga todas las clases que son
red Modbus/TCP.
también debe comunicarse con un servidor Modbus/TCP. Por tanto, como parte
servidor.
son clases abstractas que definen métodos para realizar operaciones de entrada y
salida respectivamente.
registros”.
68
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];
12
13 // Rutina para función de MODBUS. Código de función 03.
14 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;
22
23 try {
24
25 // 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( ) );
29
30 // 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;
40
41 // Enviar la solicitud al servidor
42 output.write( buffer, 0, 12 );
43
44 // Esperar y leer la respuesta
45 c = input.read( buffer, 0, 261 );
69
operaciones de entrada / salida con sockets en Java. Este paquete incluye las
Socket.
usuario ( login ) y una palabra clave ( password ), los cuales debe poseer una
Modbus/TCP.
71
(Abstract Window Toolkit) de Java, que es un kit completo con herramientas para
El panel de control hace parte del applet desarrollado; es la ventana que provee
poseen los esclavos que conforman la red Modbus/TCP. Además, desde el panel
En la Figura 3.8 puede observarse el aspecto del panel de control que se cargaría
en un navegador Web.
hexadecimal).
(leer variable análoga) del controlador 452 Plus; así mismo, la solicitud MODBUS
localización análoga) del controlador 452 Plus. Para una descripción de los tipos
los cuales se implementó por software utilizando dos pines de propósito general,
bits de datos (caracteres ASCII) y un bit de paridad par, a una rata de 9600 bps y
Los datos intercambiados entre la CPU08 y los controladores 452 Plus son de tipo
flotantes. Cada dato flotante se debe tratar como dos registros holding según el
protocolo MODBUS.
en la Figura 3.9.
75
presentada a continuación.
• Inicio. Se establecen los valores para los registros de función especial del
que se produjo.
solicitud procesada.
La Tabla 3.1 describe los pines de los puertos utilizados por el microcontrolador
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.
Interrupción externa que activa la recepción en la
P3.3
UART implementada.
También son utilizados los dos pines provenientes del driver RS-485 de la CPU08,
recepción.
79
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
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
La tarjeta CPU08 debe programarse para que se comporte como maestro de una
mensajes distintos para comunicarse con los controladores 452 Plus, que se
presentan a continuación.
81
<SYN>Dirección_del_controlador<STX>RA Dirección_de_la_variable<ETX>
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
1 Mensaje inválido RX 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.
82
Los mensajes de solicitud emitidos por la tarjeta CPU08 son respondidos por el
<STX>RA Dirección_de_la_variable<ACK>Dato<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 12.34 ó
la CPU08 se establece un timeout cada vez que se envíe una trama al controlador,
maestro.
83
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.
Para realizar la configuración del PLC DL05 como un esclavo MODBUS se han
cualquiera de los dos puertos de comunicación, sin embargo se optó por utilizar el
La Tabla 3.6 muestra las funciones MODBUS soportadas por el PLC DL05 al
discretos sobre el PLC a través del protocolo MODBUS RTU, el PLC debe
• Rata de baudios.
• Dirección de comunicaciones.
Desde el panel frontal de los controladores 452 Plus se establecen los valores de
Tabla 3.7.
Para la comunicación con los controladores 452 Plus se emplea el modo CRL (ver
sección 2.4), debido a que este modo facilita la comunicación con más de un
Las señales Tx- y Tx+ conforman el canal diferencial de transmisión y las señales
controladores 452 Plus, se unen las señales Tx+ y Rx+ de cada uno de los
las señales Rx- y Tx- de cada uno de los controladores con la línea B del driver
RS-485 de la CPU08.
89
4. CONCLUSIONES
escribir registros y datos discretos sobre los diversos elementos que conforman
la red.
desde una red TCP/IP (como Internet o la Intranet local) utilizando el estándar
Modbus/TCP.
91
• Como una proyección futura del presente trabajo sería interesante poder
que una base de datos con soporte XML (actualmente casi todas lo tienen) se
BIBLIOGRAFÍA
• GEARY, David M. Graphic Java 1.2: Mastering the JFC. Tercera edición.
Enlaces Electrónicos:
• http://www.modicon.com/openmbus
• http://www.ibutton.com/TINI
• http://www.modbus.org
• http://www.isa.org
• http://www.win-tech.com
• http://jmodbus.sourceforge.net
95
ANEXO # 1
Disposición física del montaje final
• TARJETA # 1.
Esta tarjeta proporciona la interfaz entre las 4 señales RS-485 provenientes del
controlador 452 Plus y en el otro extremo posee un conector DB25 hembra que
Pin 1: No conectado
Este cable posee en los dos terminales conectores de 14 pines para cable
Este cable posee en los dos terminales conectores de 14 pines para cable
Este cable posee en un terminal un conector RJ11 que se conecta al PLC DL05
y en el otro extremo posee un conector DB9 que se une con la tarjeta TINI. A
Este cable es el que nos da acceso a una red Ethernet. Posee en ambos
terminales conectores RJ45.