leer datos de balanza electronica
Publicado por luis fernando (4 intervenciones) el 10/09/2018 05:59:28
buen dia amigos queria saber si alguien conoce leer puertos serial de una balanza electronica; estuve revisando unos codigos pero primero lo coloqe en un boton para capturar dato y a veces funciona y a veces no captura nada ; lueog revise que se colocaba el codigo en el evento oncomm del mscomm pero no me ejecuta el evento ; alguna asesoria o ayuda seria de mucha ayuda gracias saludos
el primero codigo en el boton es
-------- en el evento oncomm segunda opcion
el primero codigo en el boton es
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SET DECIMALS TO 3 && ** Si no, me redondea el peso a 2 decimales
LOCAL el_peso, eran, ns
eran = SET( 'DECIMALS', 1)
numpuerto = 4
thisform.olebascula.commport = numpuerto
WITH THISFORM.oleBascula && *** el nombre del objeto MSCOMM32
ns = SECONDS()
.portopen = .T.
.inputlen = 20
DO WHILE SECONDS()- nS < 1 && ** Un loop para leer el puerto
.output = "W" + CHR(13) && ** La orden que exige el fabricante de la bascula
&& es parte del estandar NCI
wait window " Verificando ... " nowait
FOR x = 1 TO 100000 && ** Haciendo tiempo y esperando...
ENDFOR
wait window " Ok " nowait
el_peso = .input && ** Aqui esta el peso medido
el_peso = RIGHT( el_peso, LEN( el_peso) - 1)
el_peso = VAL( LEFT( el_peso, 7))/100
IF el_peso > 0
THISFORM.txtPeso.Value = el_peso
EXIT
ENDIF
ENDDO
.portopen=.f.
ENDWITH
SET DECIMALS TO (eran)
-------- en el evento oncomm segunda opcion
1
2
3
If This.ComEvent = 2
Thisform.Text1.Value = This.Input
Endif
Valora esta pregunta


0