puertos com
codigo de fuente para automatizar o sea par que me envie un impulso para que pueda abrir o cerrar una electrovalvula dando ordenes desde un programa de vb6.0 como hago o que me recomiendan
si no tienes Plcs, o tarjetas controladoras es complicado, tendrias que armar una tarjeta y simular un protocolo. te aconsejo que te compres un plc pequeño con una tarjeta que trasmita en algun protocolo como modbus y te bajes algun OCX para VB que lea modbus o un Soft OPC y simules un Scada
Saludos Harold, en VB es bastante fácil acceder a los puertos seriales (COM1, COM2, etc.), para eso dispones del control "Microsoft Comm Control".
Lo siguiente es una traducción del ejemplo que viene en la ayuda del VB para ese control.
Agrega un control MSComm1 al Form y luego pega el siguiente código en el evento Load:
Private Sub Form_Load()
' Variable para salvar los datos que lleguen por el puerto
Dim Instring As String
' Se elige el COM1.
MSComm1.CommPort = 1
' Se determinan los parametos
' 9600 baudios, Sin Paridad, 8 bits y 1 como bit de parada.
MSComm1.Settings = "9600,N,8,1"
' Se indica al control que lea el buffer completo cuando
' lleguen los datos
MSComm1.InputLen = 0
' Se abre el puerto
MSComm1.PortOpen = True
' Se envía un el comando de atención al modem
' también se envía un Enter despues del comando
' El modem debe responder con "OK".
MSComm1.Output = "ATV1Q0" & Chr$(13)
' En este bucle se espera a que lleguen los datos
' al puerto
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCrLf)
' Se lee la respuesta de "OK" en el puerto serial.
' Se cierra el puerto.
MSComm1.PortOpen = False
End Sub
Lo siguiente es una traducción del ejemplo que viene en la ayuda del VB para ese control.
Agrega un control MSComm1 al Form y luego pega el siguiente código en el evento Load:
Private Sub Form_Load()
' Variable para salvar los datos que lleguen por el puerto
Dim Instring As String
' Se elige el COM1.
MSComm1.CommPort = 1
' Se determinan los parametos
' 9600 baudios, Sin Paridad, 8 bits y 1 como bit de parada.
MSComm1.Settings = "9600,N,8,1"
' Se indica al control que lea el buffer completo cuando
' lleguen los datos
MSComm1.InputLen = 0
' Se abre el puerto
MSComm1.PortOpen = True
' Se envía un el comando de atención al modem
' también se envía un Enter despues del comando
' El modem debe responder con "OK".
MSComm1.Output = "ATV1Q0" & Chr$(13)
' En este bucle se espera a que lleguen los datos
' al puerto
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCrLf)
' Se lee la respuesta de "OK" en el puerto serial.
' Se cierra el puerto.
MSComm1.PortOpen = False
End Sub
