Programación General > Redes y Comunicaciones

 Modbus

(1/1)

hwicz:
Hola a todos;
Tengo idea de desarrollar un drive en vb para leer dispositivos esclavos q "hablen" modbus, ya leí todo lo q pude de este protocolo, pero lo q no me queda claro es como efectuar fisicamente las encuestas...  , estaba utilizando el ocx de vb el mscomm algo asi:

Private Sub Timer1_Timer()

MSComm1.PortOpen = True ' abro puerto

Nodo = "01" 'numero de nodo a encuestar
Funcion = "03" ' codigo funcion en este caso lectura
X = "00"
X1 = "00"
X2 = "00"
X3 = "01"
X4 = "84"
X5 = "0A"

TIRA = Nodo & Funcion & X & X1 & X2 & X3 & X4 & X5
MSComm1.Output = TIRA
respuesta = MSComm1.Input
MsgBox respuesta
MSComm1.PortOpen = False
End Sub

pero no consigo q el esclavo me vuelva valor alguno...  :angry:
la pregunta es si puedo usar este ocx, o tengo q acceder al puerto en forma baja, por ej levantar el pin2 del 232 de la pc y efectuar la encuesta desde ahi...

Un abrazo y gracias..  :adios:

jogabar:
Hola, pudiste hacer algo ?

Estoy en el mismo dilema, pero lo quiero hacer con Minigui (harbour) para monitorear constantemente el PLC

Por favor, respondeme, mira que es urgente para mi.

Gracias

hwicz:
No conozco el plc q nombras pero lo que le falta al codigo q deje en el foro es pasarlo a chr y poner un timer para esperar la respuesta del esclavo.
Saludos

lucho0916:
Oye amigo estuve leyendo tu codigo en visual Basic y casi esta bueno pero te falta muchisimo, primero debes saber con cuantos caracteres te va reponder tu esclavo, segundo hallar el tiempo de transmision para la trama respondida, tercero, el esclavo te da la respuesta pero en caracteres tales %%|| asi mas o menos, lo q debes hacer es filtrar esa trama y ahy si tienes la respuesta.

Espero te sirva

Navegación

[0] Índice de Mensajes

Ir a la versión completa