1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Comunicação com Balança Toledo

Discussão em 'Progress 4GL' iniciado por deproenca, Janeiro 11, 2010.

  1. waxxyy

    waxxyy Sem Pontuação

    Boa tarde michel,

    estou tentando ler a informaçao de peso em uma balança de frente de caixa marca TOLEDO usando a serial. Tentei usar a logica que vc forneceu mas nao deu certo. Existe algo que eu devo prestar atenção? Algum detalhe? A logica é bem simples, o que me deixou animado, mas não consegui capturar a informação sobre o peso.

    A versao do progress que uso é a 8.1

    obrigado!

  2. rafael.previdi

    rafael.previdi Sem Pontuação

    Seria possível alguém postar o código que usou para conseguir a comunicação ou enviar para os pobres mortais aqui?

    Obrigado.
  3. lorenzi

    lorenzi Membro Participativo

    Ola usando progress na porta serial COM?
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Lendo uma porta COM
    Código:
        define input  parameter serial      as character   no-undo.
        define input  parameter delimitador as character   no-undo.
        define output parameter linha       as character   no-undo.
    
        define variable contador as integer     no-undo.
    
        define stream portaCom.
    
        input stream portaCom from value(serial).
        assign linha    = ''
               contador = 0.
    
        repeat:
            readkey stream portaCom pause 1.
            assign linha = linha + chr(lastkey).
            if chr(lastkey) = delimitador then leave.
    
            assign contador = contador + 1.
            if contador > 30 then do:
                assign linha = 'NA'.
                leave.
            end.
        end.
        input stream portaCom close.
    
    
  5. ueluis

    ueluis Membro Participativo

    Fala pessoal,

    para obter o peso na balança tcp via socket eu uso assim e funciona de boa.

    espero que ajude!

    procedure p-busca_peso.
    Código:
    /*------------------------------------------------------------------------------
      Purpose:    Procedure Buscar peso da Balança TCP/IP
      Parameters: peso 
      Notes: 
      Por: Ueliton Luis    
    ------------------------------------------------------------------------------*/
    
    DEF OUTPUT PARAM peso AS DEC.
    DEF VAR vcaptura AS CHAR NO-UNDO.
    DEF VAR vsocket AS HANDLE NO-UNDO.
    DEF VAR mymemptr AS MEMPTR NO-UNDO.
    DEF VAR ret AS LOG NO-UNDO.
    DEF VAR i AS INT NO-UNDO.
    DEF VAR vachei AS LOG INIT NO.
     /*   RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Inicio de Execução." ).*/
        CREATE SOCKET vsocket.
        REPEAT:
           /* RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Conectando à Balança." ).*/
            ret = vsocket:CONNECT("-H 192.168.5.63 -S 8881").  
            IF NOT ret THEN DO:
                MESSAGE "Balança Desconectada!" VIEW-AS ALERT-BOX.
              /*  RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Balança  Desconectada." ).*/
            END.
            ELSE DO:
                SET-SIZE(mymemptr) = 15.
                SET-BYTE-ORDER(mymemptr) = BIG-ENDIAN.
               /* RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Lendo Sockete." ).*/
                vsocket:READ(mymemptr,1,15).
                vcaptura = GET-STRING(mymemptr,1,15).
              /*  RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Valor Obtido: " + vcaptura + ".").*/
                i = 0.
               
                REPEAT i = 1 TO LENGTH(vcaptura):
                    IF substring(vcaptura,1,4) = "t0 " THEN DO:
                       vachei  = YES.
                       peso = DEC(substring(vcaptura,5,6)) / 100 NO-ERROR.
                      
                       IF ERROR-STATUS:ERROR THEN DO:
                          /* RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Erro ao Obter Peso. Valor Obtido: " + substring(vcaptura,5,6) + ".").*/
                           MESSAGE "Erro ao Obter Peso." SKIP
                           "Valor Obtido: " substring(vcaptura,5,6) VIEW-AS ALERT-BOX TITLE "ERRO NO PESO".
                       END.
                       ELSE
                         /*  RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Peso Obtido: " + string(peso,"->>9.999" ) + " KG"  + ".").*/
    
                        LEAVE.
                    END.
                END.
                SET-SIZE(mymemptr) = 0.
            END.
           /* RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Desconectando à Balança.").*/
            vsocket:DISCONNECT().
            if vachei then
                 leave.
        END.
     /*   RUN p-registra_log(INPUT "Procedure p-buscar_peso" + " Término de Execução." ).*/
    END PROCEDURE.
    
    
    
  6. Handerson Almeida Cruz

    Handerson Almeida Cruz Sem Pontuação

    Pessoal, bom dia !
    Alguém tem algum exemplo de como se comunicar com a balança via USB?

    Obrigado.

Compartilhe esta Página