Sunteți pe pagina 1din 9

UNIVERSIDAD CATÓLICA SANTA MARÍA

“FACULTAD DE CIENCIAS E INGENIERIAS FÍSICAS Y


FORMALES”
PROGRAMA PROFESIONAL DE
INGENIERIA ELECTRÓNICA

CURSO:
COMUNICACIÓN INDUSTRIAL

TEMA:
TIPOS DE REDES INDUSTRIALES
ALUMNO:
ULISES HUAMANI HUARACHA

AREQUIPA – PERU
2019
Simulador de protocolo ModBus

Una de las características que presentan los Sistemas de Control Industrial y SCADA es la gran
cantidad de protocolos de comunicaciones existentes. Esto es debido a que muchos fabricantes
han desarrollado los suyos propios, aparte de los ya estandarizados. Éstos los podemos encontrar
bien en formato serie mediante RS-422, RS-485 o Ethernet siendo la tendencia es que sea este
último el medio predominante ya que permite la integración en redes tradicionales e implementar
servicios bajo TCP/IP. Esto resulta algo indispensable cara al despliegue de tecnologías dentro de
la Industria 4.0. la cual requiere, aparte de la funcionalidad conocida de equipos SCADA,
recolectar otro tipo de datos para sistemas ERP e BI, herramientas Big Data, Analítica Avanzada
o incluso simulación. La premisa que acompaña a estos protocolos es que han sido diseñados para
ser funcionales. No se ha contemplado la seguridad en el inicio, a excepción de algunas variantes
de DNP3 u OPC. Sin embargo, el uso de protocolos sin medidas de seguridad nativas es
amplísima, lo cual obliga a externalizar en otros equipos la protección de la información que viaja
en los paquetes.
Uno de estos protocolos es Modbus. Fue creado a finales de la década de los 70 para
comunicaciones serie, y en 1999 para comunicaciones TCP/IP. Bajo el nombre ModbusTCP/IP,
presenta una arquitectura Maestro/Esclavo en el que el Maestro representa el cliente y el Esclavo
el Servidor. Esta característica propició su consolidación como protocolo de control industrial lo
que justifica su presencia en todo tipo de entornos y sectores, incluyendo infraestructuras críticas.
En el día de hoy vamos a ver cómo podremos representar su funcionamiento, lo que nos ayudará
a entender mejor cómo puede ser interceptado, manipulado y, por ende, necesariamente protegido.
En esta labor nos apoyaremos de un simulador Modbus. Por un lado Modbus Master (Maestro) y
Modbus PAL (Esclavo) siendo este último un fichero para plataformas basadas en Java. En la
siguiente imagen podremos ver, en la parte izquierda, “el Master”, y derecha el “Slave”. Como
hemos dicho anteriormente maestro equivale a “cliente” y esclavo Servidor”. El maestro, (cliente)
es quien controla las comunicaciones con los esclavos (servidores) y por el contrario los esclavos
(servidores) se limitan a devolver los datos solicitados o bien, ejecutar la acción indicada por el
maestro.
Por defecto el “Master” aparece configurado para operar en conexiones tipo serie, por lo que
deberemos configurarlo para hacerlo bajo TCP. En este modo el puerto por defecto que emplea
es el 502. Para ello iremos a “Option” y seleccionaremos “Modbus TCP…”.

modbus_simulator_02
También haremos lo propio en el apartado “Modbus Mode” – “TCP”.

modbus_simulator_04
También definir la IP del Master. Puesto que tanto uno como otro corren en el mismo equipo
configuraremos la de Loopback, 127.0.0.1.

modbus_simulator_03

Hecho esto, ahora toca configurar los esclavos. En “Modbus slaves” seleccionamos “Add” y allí
definiremos el nuestro, identificado con “1” y con el nombre “Test_Blog”.
modbus_simulator_05

Abriremos el editor (icono con aspecto de ojo) y configuraremos en la pestaña “Coils” del 1 al
8, configurando los 4 primeros con un “1” y los 4 segundos con un “0”.

modbus_simulator_06

Aprovecharemos para configurar también el apartado “Holding registers” esta vez del 1 al 4, y
con los siguientes valores.
modbus_simulator_07

Por último, pincharemos en “Run” para iniciar el esclavo. Si abrimos un “cmd” veremos que en
nuestro equipo se nos ha abierto un socket en el puerto TCP-502.

modbus_simulator_08
Ahora deberemos ir a nuestro “Master” y conectarnos al “Esclavo” pinchando en el icono
marcado.
modbus_simulator_13

Para hacer una lectura o escritura seleccionaremos el icono situado a la derecha del que
empleamos para conectarnos, viendo a continuación los resultados. Esto es cuatro “unos” y
cuatro “ceros”.

modbus_simulator_09
Que se realice una lectura y escritura dependerá también del “Function Code”. En el caso
anterior teníamos “Read Coils (0x01)”, sin embargo si esto lo cambiamos por “Read Holding
Registers (0x03)” veremos el otro resultado . Ojo, que en este caso el “Number of Registers”
ahora es 4, valor que ha cambiado del “8” del número de “Coils“ configurados.

modbus_simulator_10
Para ello cambiaremos la “Function Code” por “Write Multiple Registers (0x10)” y en campo
inferior por valores como 999, 888, 777, 666. Luego a continuación pincharemos sobre
“Read/Write” y veremos cómo cambian los valores en el esclavo.
modbus_simulator_12
Aunque no se haya comentado el simulador también permite:
Master

 Realizar de forma continuada lecturas o escrituras sin necesidad de hacerlo


manualmente.
 Posibilidad de ejecutar tanto Maestro como Esclavo en distintos equipos y poder hacer
pruebas adicionales con equipos de red tales como cortafuegos, IDS/IPS, router, etc.
 Una ayuda e información sobre el protocolo.
 Almacenar en un fichero de texto los logs generados de la herramienta.
 Monitor de los paquetes enviados y recibidos.
Slave

 Guardar el proyecto
 Grabar la actividad y poder reproducirlo a posteriori.
 Modificar el puerto a la escucha en lugar del 502 por defecto.
 Así pues, este simulador nos puede ayudar a entender no sólo el funcionamiento de
Modbus sino la creación de un laboratorio para pruebas y tomar conciencia de los
débiles que pueden llegar a ser los protocolos existentes en entornos de control y
automatización presentes en gran cantidad de áreas, sectores e instalaciones.

S-ar putea să vă placă și