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
Ir a la versión completa