Conectar access por modbus tcp

Tengo este código creado para access, para leer datos por modbus tcp, pero me da un error que no puedo reparar.

Este es el código:

Sub LeerDatosModbusTCP()
Dim modbusClient As Object
Set modbusClient = CreateObject("EasyModbus.ModbusClient")

modbusClient.IPAddress = "192.168.100.200"
modbusClient.Port = 504

If modbusClient.Connect() Then
' Realizar aquí las operaciones Modbus que necesites
' Por ejemplo, para leer un registro:
Dim result As Integer
result = modbusClient.ReadHoldingRegisters(528, 1)(0)
Debug.Print "El valor leído es: " & result
Else
MsgBox "No se pudo conectar al dispositivo Modbus TCP."
End If

modbusClient.Disconnect
End Sub

Me sale el error de que el componente Activex no puede crear el objeto.

¿

¿Sabéis qué puede ser?

1 Respuesta

Respuesta
3

Puede ser porque no está instalada la librería EasyModbus.

La librería la tengo instalada en C:/Windows/system32, tengo copiado el archivo .dll en esa ubicación. Ya no sé si es la correcta.

¿Instalada o copiada? (No es lo mismo). La instalación, además, registra la librería.

De momento solo la he copiado. He bajado un archivo de la librería Easymodbus que tiene dos ejecutables pero son programas de ejemplo y dentro de ese mismo Zip, está también el .dll. No hay ningún ejecutable que me registre o instale la librería. ¿Cómo debo registrarla?

Gracias.

Intente registrarla con regsvr32.
https://es.m.wikipedia.org/wiki/Regsvr32 

Lo he hecho como se indica y ahora me aparece este mensaje.

Voy a investigar más.

Copie la dll en la carpeta C:/Windows/SysWow64 y vuelva a intentarlo ahí.

Sí, eso he visto y ya la tengo copiada en esa ubicación pero tampoco funciona.

Sí eso he visto por la web pero tampoco funciona, sale el mismo mensaje.

No conozco esa librería, pero ¿ha intentado añadirla a las referencias del proyecto? (Desde el código VB, vaya al menú "Herramientas" - "Referencias" y trate de incorporar esa librería a las referencias usadas por medio del botón "Examinar")

Si lo he intentado y me aparece esto:

¿Me puede indicar de dónde se ha bajado usted la librería? Me gustaría poder hacer alguna prueba.

Esa dll no es una librería ActiveX (compatible con VB/VBA). Es una librería para VB.NET.

Debería buscar la dll ActiveX, que no sé si existe, pero puedo imaginar que sí.

De acuerdo, buscare más por internet a ver si la encuentro.

Gracias.

Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas