0% encontró este documento útil (0 votos)
364 vistas13 páginas

Excel Modbus

Cargado por

jonibon3v
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
364 vistas13 páginas

Excel Modbus

Cargado por

jonibon3v
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

Tabla de contenido
1. Introducción ................................................................................................................. 2
2. Controlador Modbus para Excel ........................................................................................... 2
3. Configuración de Excel como maestro Modbus ......................................................................... 3
Activar el menú de Desarrollador en Excel .................................................................................... 3
Habilitar el ActiveControl X para las comunicaciones Modbus ............................................................. 4
Configurar la seguridad para el manejo de macros .......................................................................... 5
Habilitar las comunicaciones Modbus .......................................................................................... 7
4. Probar la comunicación mediante servidor de depuración ......................................................... 10

Curso 2023-2024 i
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

Símbolo Significado

Pregunta teórica

Tus propias palabras

Enlace web

Ejercicio de cálculo

Experimento práctico

Enlace a vídeo

Información extra

Razonamiento

Cuidado

Importante

V1.0a 1
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

MODBUS - EXCEL

EXCEL COMO MAESTRO O CLIENTE

1. Introducción
En este capítulo vamos a utilizar Excel como maestro o cliente de un servidor Modbus. Nos vamos a limitar a
establecer la comunicación de manera que posteriormente podamos realizar aplicaciones más complejas en Excel
para mostrar por ejemplo los datos de producción de la empresa.

2. Controlador Modbus para Excel


Tenemos que descarcar el control ActiveX denominado “Mbaxp” que nos permitirá dotar a Excel con
comunicaciones Modbus:

https://www.modbustools.com/modbus_activex.html

Debemos descargar la versión acorde a nuestra versión de Excel (32 o 64 bits), y posteriormente la ejecutamos con
permisos de Administrador:

En caso de haber realizado alguno de los ejemplos anteriores de comunicaciones Modbus deberías tener instalado
ya algun software de simulación como puede ser Modbus Slave, el cual puedes descargar de la misma web que el
MBAXP.

V1.0a 2
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

3. Configuración de Excel como maestro Modbus


Activar el menú de Desarrollador en Excel
Lo primero que tenemos que hacer es habilitar el menu correspondiente a “Desarrollador”.

1. Pulsar con el botón derecho del ratón sobre la cinta de opciones y seleccionar la opción “Personalizar cinta
de opciones”:

2. Activar la opción de “Desarrollador” para que nos aparezca el menu:

3. Ahora ya tenemos el menu de “Desarrollador”:

V1.0a 3
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

Habilitar el ActiveControl X para las comunicaciones Modbus


1. Vamos a activar el ActiveControlX para que este documento de Excel contenga la capacidad de realizar
comunicaciones Modbus.

2. Y seleccionamos el MBAXP:

Como veremos más adelante, este nos permitirá configurar los parámetros de comunicación.

V1.0a 4
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

Configurar la seguridad para el manejo de macros


Para las pruebas que vamos a hacer, vamos a quitar la seguridad, y ya una vez que tengamos las pruebas
realizadas, podemos configurar la seguridad a nuestro gusto.

Para realizar la siguiente configuración lo haremos desde “Archivo > Opciones > Centro de Confianza >
Configuración del centro de confianza”.

1. Lo primero que vamos a hacer es habilitar todas las macros:

V1.0a 5
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

2. A continuación habilitamos la ejecución de los controles “ActiveX” y desactivamos la opción “Modo seguro”,
de manera que la configuración tiene que quedar tal y como se ve en la siguiente imagen:

V1.0a 6
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

Habilitar las comunicaciones Modbus


1. Lo primero que tenemos que hacer es insertar el control ActiveX MBAXP para el control de las
comunicaciones:

2. Podemos acceder a las propiedades del elemento y cambiar los parámetros de comunicación:

3. Pero lo vamos a hacer a través de un botón con el que comenzaremos la comunicación. De manera que
agregamos un botón:

V1.0a 7
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

4. En las propiedades podemos cambiar el “Caption” para poner el mensaje que queramos.
5. A continuación vamos a editar el código, y podemos utilizar el que viene junto a los ejemplos con el
programa:

Private Sub CommandButton1_Click()

Mbaxp1.Connection = TCP_IP '0 = TCP/IP .Mbaxp1 es el nombre del control ActiveX MBAXP1
Mbaxp1.IPAddr1 = 127 ' En este caso el servidor está en el mismo PC
Mbaxp1.IPAddr2 = 0
Mbaxp1.IPAddr3 = 0
Mbaxp1.IPAddr4 = 1
Mbaxp1.TCPIPPort = 502
Mbaxp1.Timeout = 1000 ' Read timeout
Mbaxp1.ConnectTimeout = 2000 ' TCP/IP Connection timeout
Mbaxp1.LicenseKey ("xxxx-xxxx-xxxx-xxxx-xxxx-xxxx")

e = Mbaxp1.OpenConnection
e = Mbaxp1.GetLastError

If e = 0 Then ' Sentencias de realimentación sobre la comunicación


Cells(1, 2) = "Connection success"

ElseIf e = 34 Then
Cells(1, 2) = "Connection timeout"

ElseIf e <> 0 Then


Cells(1, 2) = "Connection Error"
End If

e = Mbaxp1.ReadHoldingRegisters(1, 1, 0, 5, 1000)

Mbaxp1.UpdateEnable (1)

End Sub

Habremos definido “e” como una variable global en la zona correspondiente:

V1.0a 8
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

En el siguiente código se comprueba que hay tres zonas:


1. Configuración de los parámetros de configuración.
2. Gestión de errores de comunicación.
3. Función para la lectura de un Holding register.

Los parámetros de esta última función los podemos consultar en la ayuda:

• El parámetro “Handle” hace referencia al ID de conexión, el cual debe ser único.


• El SlaveID no es empleado en comunicaciones Modbus TCP, pero es recomendable respetarlo, ya que
algunos sistemas así lo requieren.
• El resto de parámetros son los habituales de comunicaciones Modbus, y sobre todo las direcciones varían en
función del sistema con el que se esté estableciendo la comunicación.

Por último añadiremos un botón más con el objetivo de finalizar la comunicación:

Private Sub CommandButton2_Click()

Mbaxp1.CloseConnection

End Sub

V1.0a 9
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

4. Probar la comunicación mediante servidor de depuración

Para comprobar la correcta comunicación vamos a basarnos en el programa que se adjunta en los apuntes como
ejemplo, y el software Modbus Slave que hará las veces de servidor Modbus.

1. Comenzamos por abrir Excel con permisos de Administrador.


2. Abrimos el fichero de ejemplo que se adjunta en Google Classroom.
3. Abrimos el software Modbus Slave y procedemos a configurarlo tal y como se puede ver en la siguiente
imagen. En la imagen de la izquierda configuramos los parámetros de comunicación, mientras que en la
parte de la derecha configuramos el área de memoria que se va a compartir.

4. Cuando arranquemos el programa en Excel, debido a que es una versión demo, nos indica que solo
funcionará durante 60 minutos. Posteriormente será necesario reinicializarlo para volver a disponer de 60
minutos. En nuestro caso, para realizar pruebas es suficiente:

5. Y finalmente podemos comprobar como la comunicación entre el Modbus Slave y Excel es correcta. En un
principio el área accesible se corresponde con los 10 primeros holding registers:

V1.0a 10
AUTOMATIZAZIO ETA ROBOTIKA INDUSTRIALA

V1.0a 11

También podría gustarte