elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  COM1 con VB6 para leer de una balanza
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: COM1 con VB6 para leer de una balanza  (Leído 14,275 veces)
vicfebo

Desconectado Desconectado

Mensajes: 50



Ver Perfil
COM1 con VB6 para leer de una balanza
« en: 27 Mayo 2008, 02:54 am »

Hola, tengo conectada una balanza para una panadería a un PC mediante el COM1, el tema esta en que tengo que leer de la aplicación el peso de la balanza con VB. Se como se configura el COM1 en VB, ambiñen como se lee y como se escribe. Pero no se construir el mensaje de la instrucción que le tengo que mandar a la balanza para que me devuelva el peso y el subtotal del artículo a partir del peso. Adjunto la imagen que viene en el PDF del manual de la balanza para que me ayude alguien a construir esa peticion.



Esa es la comunicación entre PC y balanza

Gracias y saludos


En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: COM1 con VB6 para leer de una balanza
« Respuesta #1 en: 27 Mayo 2008, 04:28 am »

Es bastante precario, espero que sea util

Código
  1. Private Sub Form_Load()
  2.    Dim sVal        As String
  3.    Dim sCheck      As String
  4.    Dim i           As Long
  5.    Dim svData()    As Byte
  6.    Dim sPacket     As String
  7.  
  8.    sVal = "25" '// Valor
  9.  
  10.    sVal = Right$(String(5, "0") & sVal, 5) '// Formateado para tener un largo de 5 caracteres
  11.  
  12.    svData = StrConv(sVal, vbFromUnicode) '// Lo convertimos en un bytearray
  13.  
  14.    For i = 1 To 4
  15.        svData(0) = svData(0) Xor svData(i) '// Checksum
  16.    Next
  17.  
  18.    sCheck = Chr$(svData(0)) '// convertimos el valor del checksum en un caracter
  19.  
  20. '////////////////////////////////////////// Corregido
  21.  sPacket = Chr$(&H39) & Chr$(&H38) & sVal & sCheck & vbCr & vbLf '// armamos el pedido
  22.  
  23.    Debug.Print sPacket
  24. End Sub


« Última modificación: 27 Mayo 2008, 17:11 pm por cobein » En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
vicfebo

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: COM1 con VB6 para leer de una balanza
« Respuesta #2 en: 27 Mayo 2008, 16:34 pm »

He cogido el codigo que me has puesto y le he añadido al final el envio:

MSComm1.PortOpen = True
MSComm1.Output = sPacket

y un boton para capturar la respuesta de la balanza mediante un Msgbox

Private Sub Command1_Click()
    Dim sPacket     As String
   
    sPacket = MSComm1.Input
    MsgBox sPacket
   
End Sub


Que puedo estar haciendo mal cobein?? Ayuda, por favor.
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: COM1 con VB6 para leer de una balanza
« Respuesta #3 en: 27 Mayo 2008, 17:06 pm »

EDIT

Los flags estan al reves ahora los corrijo
« Última modificación: 27 Mayo 2008, 17:10 pm por cobein » En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
vicfebo

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: COM1 con VB6 para leer de una balanza
« Respuesta #4 en: 27 Mayo 2008, 17:22 pm »

Sigue sin funcionarme, el Cr y Lr estan bien puestos?

Es que es muy raro, no ocurre absolutamente nada. la manera de enviar y recibir que te he puesto es correcta?
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: COM1 con VB6 para leer de una balanza
« Respuesta #5 en: 27 Mayo 2008, 17:28 pm »

como dije anteriormente nunca en mi vida use una balanza de esas ni tengo una para probar nada.

La estructura del paquete parece estar bien, lo unico que se me ocurre es que purebes con un paquete asi "98000000" & vbcr & vblF en donde el importe es 0 y el checksum 0 a ver si obtenes respuesta.

Sino, telefono y a comunicarse con el fabricante! otra no se me ocurre
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
vicfebo

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: COM1 con VB6 para leer de una balanza
« Respuesta #6 en: 27 Mayo 2008, 17:44 pm »

Porque el checksum solo lo calculas a partir del dato y no del dato + el 98?
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: COM1 con VB6 para leer de una balanza
« Respuesta #7 en: 27 Mayo 2008, 17:46 pm »

Proba haciendo el checksum de todo....

Código:

Private Sub Form_Load()
    Dim sVal        As String
    Dim sCheck      As String
    Dim i           As Long
    Dim svData()    As Byte
    Dim sPacket     As String
 
    sVal = "25" '// Valor
 
    sVal =Chr$(&H39) & Chr$(&H38) &  Right$(String(5, "0") & sVal, 5) '// Formateado para tener un largo de 5 caracteres
 
    svData =StrConv(sVal, vbFromUnicode) '// Lo convertimos en un bytearray
 
    For i = 1 To 6
        svData(0) = svData(0) Xor svData(i) '// Checksum
    Next
 
    sCheck = Chr$(svData(0)) '// convertimos el valor del checksum en un caracter
 
'////////////////////////////////////////// Corregido
  sPacket = Chr$(&H39) & Chr$(&H38) & sVal & sCheck & vbCr & vbLf '// armamos el pedido
 
    Debug.Print sPacket
End Sub
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
vicfebo

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: COM1 con VB6 para leer de una balanza
« Respuesta #8 en: 27 Mayo 2008, 18:18 pm »

Ahora si !!!!!!!!!!!!! eres un genio tio !! mil gracias !!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
puerto serie COM1 y balanza
Programación Visual Basic
magnum_44 1 3,194 Último mensaje 2 Marzo 2015, 19:42 pm
por 79137913
¡AYUDAA! capturar peso de una balanza electrónica, en código java
Java
anma1d 0 2,466 Último mensaje 27 Febrero 2017, 04:33 am
por anma1d
Los influencers decantan la balanza
Noticias
wolfbcn 0 1,420 Último mensaje 17 Septiembre 2017, 01:31 am
por wolfbcn
VB 6.0 leer com1 balanza de camiones
Programación General
fatom 0 2,201 Último mensaje 21 Febrero 2022, 16:07 pm
por fatom
Programas gds balanza
Ingeniería Inversa
juanjog 4 7,729 Último mensaje 2 Enero 2024, 03:29 am
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines