Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modbus
Modbus
Directores
Ing. ASFUR BARANDICA LOPEZ
Ing. FABIO GERMAN GUERRERO, M. Sc.
RESUMEN
Nota de Aprobacin
El
trabajo
de
grado
titulado
IMPLEMENTACIN
DE
UNA
RED
Aprobado.
AGRADECIMIENTOS
Los directores de tesis: Ing. Asfur Barandica e Ing. Fabio German Guerrero por
su grandsima colaboracin en esta etapa final de la carrera y porque de ellos
aprend mucho.
CONTENIDO
Pag.
0. INTRODUCCIN
1. EL PROTOCOLO MODBUS/TCP
1.1 DESCRIPCIN
11
11
12
13
14
17
17
18
18
19
20
21
22
22
24
27
27
2.1.1 Descripcin
28
2.1.2 Caractersticas
28
2.1.3 Aplicaciones
29
31
34
36
37
39
40
41
42
2.2.2 Caractersticas
42
43
44
44
2.3.2 Caractersticas
45
45
46
2.3.5 Comunicacin
47
2.3.6 Programacin
49
49
50
50
51
51
52
53
54
55
56
59
63
66
67
70
71
74
79
80
81
83
86
88
4. CONCLUSIONES
89
BIBLIOGRAFA
93
ANEXO
95
LISTA DE TABLAS
Pag.
Tabla 1.1 Estructura del prefijo de Modbus/TCP
15
16
18
19
19
20
46
47
48
48
50
52
52
77
81
83
84
84
86
87
88
LISTA DE FIGURAS
Pag.
Figura 1.1. Diagrama de la red implementada
17
31
32
34
38
42
44
54
55
56
60
64
65
69
71
72
75
80
85
FACULTAD DE INGENIERA
0. INTRODUCCION
son
factores crticos1.
Los buses de campo son una forma especial de LAN dedicada a aplicaciones de
adquisicin de datos y comando de elementos finales de control sobre la planta.
Los buses de campo tpicamente operan sobre cables de par trenzado de bajo
costo. A diferencia de Ethernet, donde no se puede garantizar determinismo sobre
la llegada de paquetes, los diseadores optimizan los buses de campo para el
intercambio de mensajes cortos de comando y de control con altsima seguridad y
temporizacin estricta.
la direccin
Arquitectura de la solucin
El siguiente diagrama ilustra la red Modbus/TCP implementada, al igual que los
enlaces y la interaccin que debe existir entre los diversos elementos que
componen el sistema :
Tomado de http://www.modbus.org/modbus_tcp_new.htm
El protocolo Modbus/TCP fue introducido por Schneider Automation. La especificacin se
encuentra disponible en http://www.modicon.com/openmbus.
Objetivo general
Objetivos especficos
el cual permita a
5
6
Desarrollar una interfaz de usuario grfica va Web, desde la cual sea posible
realizar operaciones remotamente de supervisin y control sobre los distintos
elementos de la red Modbus/TCP.
1. EL PROTOCOLO MODBUS/TCP7
1.1 DESCRIPCION
7
8
Un socket es una abstraccin proporcionada por el sistema operativo que permite a un programa
de aplicacin accesar los protocolos TCP/IP.
10
Modbus/TCP
maneja
ambas
situaciones.
Una
conexin
es
inicialmente
10
El UDP (User Datagram Protocol) proporciona un servicio de entrega sin conexin, utilizando el
IP para transportar mensajes entre mquinas. Emplea el IP para llevar mensajes, pero agrega la
capacidad para distinguir entre varios destinos dentro de una mquina host.
11
Un firewall (muro de seguridad) se le dice a una configuracin de ruteadores y redes colocados
entre la organizacin interna de una red y su conexin con redes externas a fin de dar seguridad.
11
ser
0x12 0x34
MODBUS basa su modelo de datos sobre una serie de tablas las cuales tienen
caractersticas distintivas. Las cuatro principales son:
Entradas discretas. Bit simple, suministrado por un sistema I/O, de solo lectura.
12
12
Todas las solicitudes y respuestas MODBUS estn diseadas en tal forma que el
receptor puede verificar que un mensaje est completo. Para cdigos de funcin
donde la solicitud y respuesta son una longitud fija, el cdigo de funcin solo es
suficiente. Para cdigos de funcin llevando una cantidad variable de datos en la
solicitud respuesta, la porcin de datos estar precedida por un campo que
representa el nmero de bytes que siguen.
13
13
Puede ser usado para comunicar con una gran base instalada de dispositivos
MODBUS, usando productos de conversin los cuales no requieren
configuracin.
14
Todas las solicitudes son enviadas va TCP sobre el puerto registrado 502. Las
solicitudes normalmente son enviadas en forma half-duplex15 sobre una conexin
dada. Es decir, no hay beneficio en enviar solicitudes adicionales sobre una nica
conexin mientras una respuesta est pendiente. Sin embargo, los dispositivos
14
15
15
ref
00
00
00
len
El ref ref anterior son los dos bytes del campo referencia de transaccin, un
nmero que no tiene valor en el servidor pero son copiados literalmente desde la
solicitud a la respuesta a conveniencia del cliente. Este campo se utiliza para que
un cliente Modbus/TCP pueda establecer simultneamente mltiples conexiones
con diferentes servidores y pueda identificar cada una de las transacciones.
16
Significado
Byte 0
Byte 1
Byte 2
Identificador de protocolo = 0.
Byte 3
Identificador de protocolo = 0.
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8 y ms
17
18
Este es el mnimo conjunto til de funciones, tanto para el maestro como para el
esclavo.
Funcin
03
16
16
19
Cdigo
01
02
04
05
06
07
* Esta funcin tpicamente tiene un significado diferente para cada familia de esclavos.
Cdigo
15
20
21
22
23
Leer/escribir registros**.
24
20
Funcin
08
Pruebas de diagnstico.
09
Programacin*.
10
Completar la programacin*.
11
12
13
Programacin**.
14
Completar la programacin**.
17
18
Programacin***.
19
125
Sustitucin de firmware.
126
Programacin**.
127
21
Desde la perspectiva del cliente, ese tiempo de respuesta debe ser extendido por
los retardos de transporte travs de la red, a un tiempo de respuesta razonable.
Tales retardos pueden ser de milisegundos para un Ethernet conmutado, a cientos
de milisegundos para una conexin de red de rea amplia (WAN).
18
19
Un tiempo scan, es el tiempo requerido para que el PLC complete sus instrucciones programadas.
Un timeout es un tiempo que se establece antes de que se reporte un fallo.
22
Modbus/TCP est diseado para permitir que el diseo de un cliente sea tan
simple como sea posible. El proceso bsico de manejo de una transaccin es
como sigue:
23
Leer los primeros 6 bytes de la respuesta, el cual indicar la longitud real del
mensaje recibido.
20
Un puerto de protocolo es una abstraccin que los protocolos de transporte del TCP/IP utilizan para
distinguir entre varios destinos en una computadora host especfica.
24
En el evento que expire el timeout para una respuesta, realizar un cierre unilateral
de la conexin, abrir una nueva, y re-enviar la solicitud. Esta tcnica permite al
cliente control sobre la temporizacin de re-intentos, el cual es superior al
suministrado por defecto por TCP. Tambin permite el uso de estrategias alternas,
tal como enviar la solicitud a una direccin IP alterna, usando una red de
comunicacin totalmente independiente, en caso de fallo de un componente de la
infraestructura de la red.
25
sea
cerrada.
Ambas
situaciones
despertarn
al
thread
automticamente.
Leer los bytes restantes del mensaje, cuya longitud es ahora conocida.
26
27
1. Tarjeta TINI.
2. Tarjeta CPU08.
3. PLC DL05 de Koyo.
4. Controladores 452 PLUS.
21
Tomado de The TINI Specification and Developer`s Guide, por Don Loomis. Addison Wesley, 2001.
28
2.1.1 Descripcin.
Esta capacidad de
2.1.2 Caractersticas.
29
Doble puerto serial (uno con niveles RS-232 y otro con niveles TTL).
2.1.3 Aplicaciones.
30
Monitoreo y control de equipo basado en Web. La TINI puede ser usada para
establecer comunicacin con equipos especficos, para proveer recoleccin de
datos y diagnstico remoto para propsitos tales como el monitoreo sobre la
utilizacin de un dispositivo particular.
31
La TINI esta desarrollada con diversos chips LSI. Un esquema del hardware que
compone la TINI es presentado en la Figura 2.2.
32
Microcontrolador.
Memoria flash.
33
La memoria RAM esttica contiene el rea de datos, la pila (heap), al igual que los
archivos de datos del sistema. La SRAM es no-voltil, ya que posee una circuitera
con batera de respaldo de forma que el contenido de la memoria persiste en
ausencia de alimentacin. La batera es una muy pequea celda de litio.
22
El entorno runtime esta compuesto por el sistema operativo y la Mquina Virtual Java (JVM).
34
Segmento de cdigo.
Segmento de datos.
Segmento de perifricos.
35
Los diseadores deben evitar los rangos del controlador Ethernet y el reloj, cuando
se adicionen otros dispositivos perifricos.
36
37
I/O TTL. Los pines de propsito general del puerto del microcontrolador pueden
ser usados para diversas tareas de control y no estn necesariamente atados a
algn tipo de dispositivo serial.
Un
entorno
bien
definido que
suministre
todas
de
esas
38
El software que comprende el entorno runtime de la TINI puede ser dividido en dos
categoras: un sistema operativo el cual es ejecutado directamente por el
microcontrolador y un API interpretado como bytecodes por la Mquina Virtual de
Java (JVM).
El cdigo de las aplicaciones corriendo sobre la tarjeta TINI son escritos en Java y
utilizan el API, siendo esto uno de los principales atractivos de la tarjeta.
39
Es posible escribir tambin libreras nativas que pueden ser cargadas desde una
aplicacin para lograr requerimientos estrictos de tiempo real.
23
El recolector de basura (Garbage Collector) es un hilo que Java provee, el cual automticamente
recupera la memoria dinmicamente repartida que ya no se necesita, liberando a los programadores
de incluir enunciados en los programas para ejecutar esta accin.
40
Tanto la pila TCP/IP como el manejador de I/O son implementados como procesos
del kernel independientes. La pila de protocolo de red TCP/IP provee mucha de la
misma capacidad de interconectividad encontrada sobre plataformas ms grandes
y es suficientemente rica en funcionalidad para soportar una implementacin
completa del paquete java.net. La pila de protocolo soporta mltiples interfaces de
red, incluyendo Ethernet, para interconexin de alta velocidad en rea local, y PPP
(Point-to-Point Protocol) sobre un enlace serial para interconexin remota usando
modem.
Conector DB9 hembra. Este conector provee un puerto serial tipo DCE (Data
Communications Equipment) que da conexin a un puerto serial DTE (Data
Terminal Equipment) estndar. Este puerto es tpicamente usado slo para
cargar el software a la memoria flash de la TINI.
41
Conector DB9 macho. Este conector provee un puerto serial DTE para
conexin a dispositivos DCE tal como modems. Muchas aplicaciones TINI que
controlan dispositivos seriales usan el puerto DTE.
Conector RJ11. El conector RJ11 provee acceso a la red 1-Wire usando cable
telefnico estndar.
Segn el diagrama de la
42
2.2.2 Caractersticas.
43
2 interrupciones externas.
44
45
2.3.2 Caractersticas.
6 salidas rel.
El PLC DL05 posee tres modos de operacin: modo TERM, modo RUN y modo
STOP. En la Tabla 2.1 se describen los tres modos de operacin del PLC.
46
Descripcin
(Terminal). Estn disponibles los modos de depuracin,
programacin y ejecucin. Los diferentes modos y los
TERM
cambios en la programacin pueden ser conmutados a
travs del software de programacin.
(Ejecucin del Programa). La CPU es forzada dentro
RUN
del modo de ejecucin si no existen errores.
STOP
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 aplicacin MODBUS.
47
Cantidad
Rango PLC
del PLC
(decimal)
(octal)
Rango en
Modbus
Tipo de dato
Modbus
(decimal)
Datos discretos
Entradas (X)
256
X0 X377
2048 - 2303
Entrada
Rels especiales
512
SP0 SP777
3072 3583
Entrada
Salidas (Y)
256
Y0 Y377
2048 2303
Salida
C0 C777
3072 3583
Salida
Timers (T)
128
T0 T177
6144 6271
Salida
Contadores (CT)
128
CT0 CT177
6400 6527
Salida
Bits de status
256
S0 S377
5120 5375
Salida
V0 V177
0 127
Registro
Palabras de memoria
(V)
Valor
de
entrada
actual
del 128
V1000 V1177
512 - 639
contador (V)
Memoria V, dato de 3168
(V)
de
entrada
V1200 V7377
640 3809
usuario (V)
Memoria V, no voltil 128
Registro
Registro
de
retencin
V7600 V7777
3968 - 4095
Registro
de
retencin
2.3.5 Comunicacin.
48
DirectSOFT.
Rata de baudios
Bits de inicio
Bits de datos
Paridad
Bits de parada
Comunicacin
Protocolos soportados
Direccin del dispositivo
DirectSOFT.
300, 600, 1200, 2400, 4800, 9600,
19200 y 38400.
Bits de inicio
Bits de datos
Paridad
Bits de parada
Comunicacin
Protocolos soportados
1 a 247.
49
2.3.6 Programacin.
El PLC DL05 posee dos mtodos de programacin: RLL (Relay Ladder Logic) y
RLL PLUS (PLUS PROGRAMMING). El PLC puede ser programado con un
paquete de programacin avanzado, DirectSOFT, un software basado en
Windows que soporta las caractersticas ms familiares para este sistema
operativo.
Los controladores 452 Plus son dispositivos que permiten realizar lectura de
variables, manejo de setpoint, establecer estrategias de control, tal como
algoritmos PID, para llevar a cabo automatizacin de procesos. La configuracin
de los parmetros del controlador (setpoint, cte. Proporcional, cte. Derivativa, etc.)
pueden ser establecidos localmente a travs del panel frontal, remotamente a
travs de una interfaz serial RS-232, RS-423A, RS-422A, RS-485.
50
Cdigo
especial
hexadecimal
02
< ETX>
03
< EOT>
04
06
Caracter de reconocimiento.
< LF >
0A
< CR >
0D
Caracter de retorno.
15
Caracter de no reconocimiento.
16
Caracter de sincronizacin.
1B
7F
Descripcin
51
En modo CRL los mensajes individuales estn delimitados por <STX> para indicar
el inicio y <ETX> para indicar el final.
Existen seis tipos de mensajes: establecer una variable anloga, establecer una
variable lgica, leer un valor anlogo, leer un valor lgico, al igual que lectura de
un bloque de valores anlogos lgicos.
52
Descripcin
RA
RL
SA
SL
DA
DL
Descripcin
Setpoint.
53
Sobre los elementos que componen la red Modbus/TCP (Figura 1.1) se ejecutan
diversos programas que son los que proporcionan la funcionalidad al sistema. El
desarrollo del software se dividi en las siguientes etapas:
54
24
55
56
57
25
La interfaz Runnable permite manejar multihilos sin necesidad de extender la clase Thread.
58
59
60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.net.* ;
public class ServidorModbusTCP
{
private final int DIRECCION = 1;
private final int PUERTO = 502;
private final int NUMERO_DE_CONEXIONES = 2;
.
.
.
public static void main (String args[ ])
{
ServerSocket svrSocket = null;
Socket socket = null;
Thread hiloModbus;
ModbusTCPSlave modbus;
.
.
.
try {
svrSocket = new serverSocket( PUERTO );
}
catch( IOException ex ) {
System.out.println( ex.getMessage( ) );
ex.printStackTrace( );
return;
}
while( true )
{
try {
socket = svrSocket.accept( );
modbus = new ModbusTCPSlave( DIRECCION, socket );
hiloModbus = new Thread ( modbus );
hiloModbus.start( );
}
catch ( IOException ex ) {
System.out.println( ex.getMessage( ) );
ex.printStackTrace( );
}
}
}
}
61
62
63
En la Figura 3.4 se lista parte del cdigo 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 pgina 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 }
Figura 3.4 Ejemplo de cdigo para un servidor Web
La pgina HTML devuelta por el servidor Web al cliente contiene una applet, la
cual es la que verdaderamente representa la interfaz grfica de usuario que
permite acceso remoto desde Internet. El desarrollo de esta applet se presenta en
la seccin 3.3.
65
Las applets son un tipo de aplicaciones que Java permite crear, que se mantienen
( residen) en el servidor Web, son transportadas a travs de Internet, instaladas
automticamente en la mquina cliente y que se ejecutan localmente como parte
de una pgina Web.
En la Figura 3.5 se lista el contenido del archivo HTML que define la pgina Web,
y que tiene embebida a la applet.
1 <HTML>
2 <HEAD>
3 <TITLE> RED MODBUS/TCP</TITLE>
4 </HEAD>
5 <BODY BGCOLOR=FFFFFF>
6 <CENTER>
7 < APPLET ARCHIVE = Programa.jar CODE = "Programa.class
8
WIDTH = 750 HEIGHT = 420 VSPACE = 80>
9 </APPLET>
10 </CENTER>
11 </BODY>
12 </HTML>
Figura 3.5 Archivo HTML que carga la applet en un navegador Web
66
67
68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.io.* ;
import java.net.* ;
class ClienteModbusTCP
{
private final int PUERTO = 502 ;
private Socket socket = null;
private OutputStream output = null;
private BufferedInputStream input = null;
private int buffer[ ] = new int [261];
// Rutina para funcin de MODBUS. Cdigo de funcin 03.
void Leer_Multiples_Registros (
String dns,
// Direccin IP del servidor
int unidad,
// Identificador de unidad
int referencia,
// Nmero de referencia (posicin)
int cantidad,
// Cantidad de registros a leer
int registros[ ] )
// Buffer para colocar los valores ledos
{
int c, i;
try {
// Crear el socket y establecer las conexiones de flujo respectivas
socket = new Socket ( dns, PUERTO );
output = socket.getOutputStream( );
input = new BufferedInputStream( socket.getInputStream( ) );
// Construir la trama Modbus/TCP leer registros
for ( i=0; i<5; i++ )
buffer[ i ] = 0;
buffer[ 6 ] = (byte) unidad;
buffer[ 7 ] = 3;
buffer[ 8 ] = (byte) (referencia >> 8);
buffer[ 9 ] = (byte) (referencia & 0xFF);
buffer[ 10 ] = 0;
buffer[ 11 ] = (byte) cantidad;
buffer[ 5 ] = 6;
// Enviar la solicitud al servidor
output.write( buffer, 0, 12 );
// Esperar y leer la respuesta
c = input.read( buffer, 0, 261 );
69
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
70
71
El panel de control hace parte del applet desarrollado; es la ventana que provee
elementos como botones, campos de texto, componentes grficos, etc., la cual
visualiza el contenido o el estado de los diferentes registros y datos discretos que
poseen los esclavos que conforman la red Modbus/TCP. Adems, desde el panel
es posible cambiar el contenido de determinados registros y valores discretos.
72
En la Figura 3.8 puede observarse el aspecto del panel de control que se cargara
en un navegador Web.
73
74
Los datos intercambiados entre la CPU08 y los controladores 452 Plus son de tipo
decimal, por tanto en la CPU08 se debe codificar la informacin segn el estndar
IEEE754 que define el formato para el almacenamiento y la transmisin de datos
flotantes. Cada dato flotante se debe tratar como dos registros holding segn el
protocolo MODBUS.
75
76
Inicio. Se establecen los valores para los registros de funcin especial del
microcontrolador de la tarjeta CPU08.
77
78
La Tabla 3.1 describe los pines de los puertos utilizados por el microcontrolador
que posee la tarjeta CPU08, al igual que la funcin que desempean.
Descripcin
P3.5
P1.3
P1.6
P3.0
P3.1
P3.3
Tambin son utilizados los dos pines provenientes del driver RS-485 de la CPU08,
que proporcionan las seales A y B del canal diferencial de transmisin y
recepcin.
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
para la aplicacin propuesta.
80
La tarjeta CPU08 debe programarse para que se comporte como maestro de una
red RS-485 de controladores 452 Plus, utilizando el protocolo de comunicacin
codificado en ASCII que entienden esos dispositivos. Referirse a la seccin 2.4.2
para una descripcin detallada de dicho protocolo.
81
<SYN>Direccin_del_controlador<STX>RA Direccin_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 rplica exacta de la
solicitud seguida por ya sea el caracter <ACK> el caracter <NAK>; cuando se
da una respuesta de no reconocimiento <NAK>, la respuesta se acompaa con
un caracter de error. Los posibles caracteres de error se detallan en la tabla 3.2.
Descripcin
Ejemplo*
Mensaje invlido
RX 10
Posicin invlida
SA -10
Las solicitudes para establecer un valor en una posicin de solo lectura son
ignorados silenciosamente.
82
Los mensajes de solicitud emitidos por la tarjeta CPU08 son respondidos por el
controlador 452 Plus de la manera siguiente:
<STX>RA Direccin_de_la_variable<ACK>Dato<ETX><CR><LF>
Hay que tener en cuenta que un valor anlogo que se desee leer o escribir
consiste de un nmero con un punto decimal opcional, como por ejemplo 12.34
3999; solamente 4 dgitos tienen significado para el controlador 452 Plus. Si el
valor es negativo, el dato es precedido del caracter de signo negativo.
83
Leer la constante proporcional del controlador 452 Plus que tiene direccin 1.
En la Tabla 3.3 se observa la trama de solicitud.
Caracter ASCII
Valor en hexadecimal*
Byte 0
<SYN>
96
Byte 1
B1
Byte 2
<STX>
82
Byte 3
D2
Byte 4
41
Byte 5
Espacio
A0
Byte 6
B7
Byte 7
<ETX>
03
84
Caracter ASCII
Valor en hexadecimal*
Byte 0
<SYN>
96
Byte 1
B2
Byte 2
<STX>
82
Byte 3
53
Byte 4
41
Byte 5
Espacio
A0
Byte 6
B2
Byte 7
Espacio
A0
Byte 8
35
Byte 9
30
Byte 10
<ETX>
03
Para realizar la configuracin del PLC DL05 como un esclavo MODBUS se han
utilizado las caractersticas que se aprecian en la Tabla 3.5.
RS-232
Puerto de comunicacin
Puerto 2
Direccin de esclavo
Rata de baudios
Bits de datos
Paridad
2
4800
8
ninguna
85
86
La Tabla 3.6 muestra las funciones MODBUS soportadas por el PLC DL05 al
igual que los tipos de datos que maneja.
Funcin
Tipo de datos en
el PLC DL05
01
Y, CR, T, CT
02
05
Y, CR, T, CT
15
Y, CR, T, CT
03
04
06
16
X, SP
87
Rata de baudios.
Direccin de comunicaciones.
Desde el panel frontal de los controladores 452 Plus se establecen los valores de
las variables de configuracin, usando las funciones CS que se relacionan en la
Tabla 3.7.
Valor
CS_5
0, 1*
CS_6
CS_7**
Descripcin
Direccin del controlador
( 0 a 1F )
Rata de baudios
( 0-300, 1-1200, 2-4800, 3-9600 )
Modo CRL/VDU y nivel de proteccin
( 0-VDU, 1-CRL )
Para la comunicacin con los controladores 452 Plus se emplea el modo CRL (ver
seccin 2.4), debido a que este modo facilita la comunicacin con ms de un
controlador, lo cual resulta apropiado para la implementacin de la subred RS-485
dentro de la red Modbus/TCP.
88
Seal
Tx -
Tx +
Rx +
Rx -
Las seales Tx- y Tx+ conforman el canal diferencial de transmisin y las seales
Rx- y Rx+ conforman el canal diferencial de recepcin.
89
4. CONCLUSIONES
90
91
Como una proyeccin futura del presente trabajo sera interesante poder
integrarle a la tarjeta TINI el protocolo XML (eXtensible Markup Languaje), un
lenguaje de gran crecimiento que ya abarca muchos campos en servicios de
Web, y el cual ya incursion en el rea industrial para el intercambio de
informacin. Con la tarjeta TINI, bsicamente este estndar se utilizara para
que una base de datos con soporte XML (actualmente casi todas lo tienen) se
comunique con ella y acceda continuamente a la informacin proveniente de
los procesos. Esta informacin es almacenada en las tablas internas de la base
de datos, y de esa forma es posible llevar registros, histricos, tendencias,
grficos, reportes, etc. del comportamiento de las variables que se requieran.
Actualmente, ya se encuentra en desarrollo un servidor de Web para la TINI
con soporte XML, y en cdigo abierto.
92
93
BIBLIOGRAFA
GEARY, David M. Graphic Java 1.2: Mastering the JFC. Tercera edicin.
The Sun Microsystem Press. U.S.A., 1999.
94
Enlaces Electrnicos:
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
Disposicin fsica del montaje final
TARJETA # 1.
Esta tarjeta proporciona la interfaz entre las 4 seales RS-485 provenientes del
controlador 452 Plus y las dos seales RS-485 provenientes de la tarjeta
CPU08. Adems en esta tarjeta se proporcionan las resistencias de acople
necesarias para el canal de transmisin y recepcin RS-485. Esta tarjeta posee
un conector macho de 7 pines el cual se conecta con la CPU08 y posee dos
conectores DB25 machos.
96
Conector DIN
Conector DB25
Pin 1: No conectado
Pin 2: Tx-
Pin 3: Seal B
Pin 3: Tx+
Pin 9: Seal A
Pin 4: Rx+
Pin 5: Rx-
Pin 2: Seal B
Conector CPU08
Conector tarjeta #1
97
Conector TINI
Conector CPU08
Pin 4: RxD
Pin 4: TxD
Conector DB9
Conector RJ11
Pin 2: RxD
Pin 4: TxD
Pin 3: TxD
Pin 3: RxD
Pin 5: GND
Pin 1: GND
Este cable es el que nos da acceso a una red Ethernet. Posee en ambos
terminales conectores RJ45.