SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Redes y Comunicaciones => Mensaje iniciado por: hwicz en Jueves 10 de Marzo de 2005, 13:58

Título: Modbus
Publicado por: hwicz en Jueves 10 de Marzo de 2005, 13:58
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:
Título: Re: Modbus
Publicado por: jogabar en Jueves 27 de Abril de 2006, 23:38
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
Título: Re: Modbus
Publicado por: hwicz en Viernes 28 de Abril de 2006, 13:44
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
Título: Re: Modbus
Publicado por: lucho0916 en Martes 21 de Julio de 2009, 15:04
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