none
Leitura de código de barras utilizando dispositivo Symbol MC7094 RRS feed

Respostas

  • Olá Wescley,

    Neste sdk, a linha de código que habilita ou desabilita a leitura de códigos de barras do tipo 3 of 9 ou qualquer outro tipo de código de barras é a seguinte: barcode1.DecoderParameters.CODE39 = Barcode.DisabledEnabled.Enabled.

    Descobri que o problema com a leitura de código 3 of 9 estava no código de barras que gerei como teste, o qual imprimi em uma folha de sulfite.Ao tentar ler um outro código de barras do tipo 3 of 9 de um dos equipamentos daqui da empresa, a leitura foi bem sucedida.

    Agradeço a atenção e esforço em me ajudar.

    Obridado !!!

    André.

     

     

     

     

     

     

     

    sexta-feira, 27 de fevereiro de 2009 20:00

Todas as Respostas

  •  Bom Dia

    Para desenvolver a sua aplicação utilize o Microsoft Visual Studio .NET 2008 selecione File/New Project/Sua Linguagem de Preferência/Smart Devices. A partir daí inclua os componentes que deseja utilizar e faça a codificação.

    Atenciosamente,

     

    José Roberto Siqueira

    RMGR Soluções em Software para Mobile

    +55 11 7612-1268 Claro // +55 11 8491-4386 TIM // +55 8014-8600 OI

    MSN: jrsiqueira@hotmail.com // Skype ID: jrsiqueira

    sexta-feira, 20 de fevereiro de 2009 12:14
  • Olá André, boa tarde!

    Eu desenvolvo há um certo tempo para estes tipos de equipamentos e talvez possa ajudá-lo.

    Para que você possa ativar o leitor do código de barras e a captura de imagem existe um SDK que pode ser integrado a IDE do Visual Studio e você terá componentes na sua toolbox e será arrastar e programar.

    Nestes SDK quando você instala geralmente vem umas aplicações demos para te ajudar a desenvolver. As vezes esse SDK vem em um CD que vem junto com o equipamento. Verifique se o SDK é compativel com o cf 3.5, caso contrário você vai utilizar o cf 2.0

    Acesso o site abaixo, acredito que por lá tenha o SDK que necessita...caso não entre em contato com quem te vendeu o equipamento e peça para ajudar na aquisição do SDK.

    http://www.symbol.com/category.php?category=31

    Eu não conheço este modelo MC 7094, ele é uma variação do MC 70? Se for acesse este link que você vai direto para downloads para o mesmo.

    http://support.symbol.com/support/browse.do?WidgetName=BROWSE_PRODUCT&TaxoName=SG_SupportGoals&BROWSE_PRODUCT.isProductTaxonomy=true&category=716&BROWSE_PRODUCT.NodeId=SG_MC70SERIES_1_2&BROWSE_PRODUCT.thisPageUrl=%2Fproduct%2Fproducts.do&id=m4&BROWSE_PRODUCT.TaxoName=SG_SupportGoals&NodeType=leaf&NodeName=MC70&document=DT_SOFTWARE_1_1&BROWSE_PRODUCT.NodeType=leaf&NodeId=SG_MC70SERIES_1_2&AppContext=AC_ProductPage&param_document=sp

    Precisando é só falar

    Se a resposta for útil, por favor marque-a como tal.

    abs

    Wescley Arruda
    WAC Tecnologia

    sábado, 21 de fevereiro de 2009 19:13
  • Olá Wesdey,

    Todos os passos propostos por você eu já havia feito, nos quais acessei os manuais e sdks para desenvolvimento de aplicativos mobile .net em dispositivos symbol da linha mc70xx.

    Como você mesmo escreveu, no sdk fornecido pela motorola, possui vários aplicativos exemplos - samples - que mostram como desenvolver aplicativos para .net com o sdk.

    Mas, ao tentar fazer a leitura de um código de barras utilizando um dos programas que vem no sdk, não acontece nada. Portanto, não sei o que preciso fazer para que a leitura de código de barra seja feita.


    André.
    segunda-feira, 23 de fevereiro de 2009 00:56
  • Oi André, tudo bem?

    Eu não tenho o SDK instalado aqui, mas o que aconteceu? Deu alguma mensagem de erro ou simplesmente não ativou o scanner?

    Eu desenvolvo mais para uns coletores de concorrentes :) ( Honeywell) e no caso deles você precisa indicar qual a tecla que serve para ativar a leitura de código e em seguida no evento KeyDown de um textbox vc ativa o scanner e captura o código.

    Tem também um evento do controle do SDK chamado DecodeEvent que é onde pega o que foi lido pelo componente e joga para um textbox.

    Se eu conseguir um tempo para pegar o SDK, tento te ajudar....ou então posta ai o que você tentou fazer e se teve alguma mensagem de erro.

    abs

    Wescley Arruda
    WAC Tecnologia

    segunda-feira, 23 de fevereiro de 2009 01:39
  • Bom dia Wescley,

    Não houve nenhuma mensagem de erro. No momento em que o programa é iniciado, o leitor de código de barras é ativado através de um método que fazer parte da .dll Symbol.Barcode. Desta forma, os botões amarelos no dipositivo SYMBOL MC7094, são ativados, disparando um feixe de luz vermelho, cada vez que um dos botões amarelos são pressionados. Até aí, tudo bem, mas, quando posiciono o feixe de luz do leitor sobre um código de barras do tipo 3 of 9, o código de barras não é capturado.


    André












    segunda-feira, 23 de fevereiro de 2009 16:16
  • Opa André, blz?

    Não faz nenhum tipo de barulho ou piscar de luzes quando lê o 3 of 9?

    Em algum momento na sua aplicação você informa que o que for lido pelo leitor deve ir para um textbox?

    Tem como você colocar o código aqui?

    Verifica se nessa dll existe alguma propriedade na qual você pode especificar as simbologias que o leitor irá reconhecer. Para os coletores que desenvolvo existe essa opção que possibilita desde especificar a leitura de todas as simbologias ou restringir a somente algumas simbologias.

    Outra dica, talvez neste equipamento venha um aplicativo demo, se sim teste com este aplicativo a leitura do seu código.

    abs

    Wescley Arruda

    WAC Tecnologia

    terça-feira, 24 de fevereiro de 2009 19:12
  • Olá Wescley!

    Seguinte, não conheço este MC7094, mas o desenvimento funciona assim:

    1) Baixe no site da Motorola/Symbol o último SMDK (acho q é 1.7) para .net
    2) No projeto, use o controle Barcode ao invés do que é usado nos exemplos da Symbol, (alguns meios confusos e cheio de código...)
    3) No form onde vai usar o laser (leitura) coloque o controle Barcode da Symbol, inicialize ele no Load do form:

        
    1 With Me.Barcode1  
    2    .EnableScanner = True 
    3 End With 

    4) Assim vai funcionar para a maioria da aplicações, mas no teu caso pelo jeito o laser esta acionando mas não esta lendo a etiqueta
    não é? Pois bem, acontece que você precisa habilitar os outros códigos para que seja feita a leitura corretamente, coloque este
    código no load logo abaixo do código que habilita o controle barcode:

    1 Dim r As New Symbol.Barcode.Reader  
    2  
    3         Try 
    4             r = Me.Barcode1.Reader  
    5             With r ' Habilitar I2OF5  
    6                 .Decoders.I2OF5.MinimumLength = Globais.I2O5_Qtd_INI  
    7                 .Decoders.I2OF5.MaximumLength = Globais.I2O5_Qtd_FIM  
    8                 .Decoders.I2OF5.CheckDigitScheme = Symbol.Barcode.I2OF5.CheckDigitSchemes.None  
    9                 .Decoders.I2OF5.ReportCheckDigit = False 
    10                 .Decoders.I2OF5.Redundancy = True 
    11                 .Decoders.I2OF5.ConvertToEAN13 = False 
    12                 .Decoders.I2OF5.Enabled = True 
    13                 .Changes.Save()  
    14                 .Actions.SetParameters()  
    15             End With 
    16         Catch ex As Exception  
    17  
    18         End Try 

    Neste código estou habilitando o codigo de barras 2 de 5 Interleaved, você precisa descobrir qual o código da sua etiqueta e implementar!

    5) O controle Barcode tem 2 eventos, use o evento OnRead para captar o codigo lido e colocar onde você precisa:

    1 Select Case readerData.Result  
    2             Case Symbol.Results.SUCCESS  
    3                 Me.txtCodigo.Text = "" 
    4                 Me.txtCodigo.Text = readerData.Text  
    5                 If Globais.CodProd_
    6                     ' Checar tamanho...  
    7                    If Len(Me.txtCodigo.Text) = Globais.CodProd_Qtd Then 
    8                         ' Ok...  
    9                         Call Gravar(txtCodigo.Text)  
    10                     Else 
    11                         ' Tamanho inválido!  
    12                         MsgBox(Globais.Dicionario("AvisoCodigoInvalido"), MsgBoxStyle.Exclamation)  
    13                     End If 
    14                 Else 
    15                     Call Gravar(txtCodigo.Text)  
    16                 End If 
    17                 Me.txtCodigo.Text = "" 
    18                 Me.txtCodigo.Focus()  
    19             Case Else 
    20                 Call Status(readerData.Result.ToString)  
    21         End Select 


    6) Não esqueça de desabilitar o scanner ao sair do form:

    1 Private Sub ColetaCodigo_Closing(ByVal sender As ObjectByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing  
    2         Try 
    3             Me.Barcode1.EnableScanner = False 
    4         Catch ex As Exception  
    5             Dim Erro As String = "" 
    6             Erro = ex.Message.ToString()  
    7             Erro = Erro  
    8         End Try 
    9     End Sub 

    Bom, isso é o básico, se precisar de mais ajuda pode me contatar.

    Abraço,

    Felipe Pereira
    quarta-feira, 25 de fevereiro de 2009 17:15
  • Boa tarde Wescley e Felipe,

    Ao tentar realizar a leitura de um código de barras do tipo EAN13 e CODABAR, o programa realizou a leitura emitindo um bip, exibindo na lista os números do código de barras e o tipo. Desta forma, descobri que o que estava impossibilitando a leitrua de código de barras era o fato de estar tentando ler um código de barras do tipo 3 of 9.

    Como você havia sugerido Wescley, segue abaixo o código de um dos aplicativos que estou utilizando como teste:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace
    CS_BarcodeControlSample1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                this.listBox1.Focus();
            }

            private void buttonExit_Click(object sender, EventArgs e)
            {
                // You must disable the scanner before exiting the application in 
                // order to release all the resources.
                barcode1.EnableScanner = false;
                this.Dispose();
            }

            private void buttonExit_KeyDown(object sender, KeyEventArgs e)
            {
                // Checks if the key pressed was an enter button (character code 13)
                if (e.KeyValue == (char)13) 
                    buttonExit_Click(
    this, e);
            }

            private void Form1_KeyUp(object sender, KeyEventArgs e)
            {
                this.listBox1.Focus();
            }

            private void barcode1_OnStatus(object sender, Symbol.Barcode.BarcodeStatus barcodeStatus)
            {
                statusBar1.Text = barcodeStatus.Text;
            }

            private void barcode1_OnRead(object sender, Symbol.Barcode.ReaderData readerData)
            {
                if (readerData.Result == Symbol.Results.SUCCESS)
                {
                    // maintain a maximum of 10 items in the list box
                    while (listBox1.Items.Count >= 10)
                    {
                        listBox1.Items.RemoveAt(0);
                    }

                    // Write the scanned data and type (symbology) to the list box
                    listBox1.Items.Add(readerData.Text + ";" + readerData.Type.ToString());
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                // Add MainMenu if Pocket PC
                if (Symbol.Win32.PlatformType == "PocketPC")
                {
                    this.Menu = this.mainMenu1;
                }
            }
        
            private
    void Form1_Closing(object sender, CancelEventArgs e)
            {
                this.Dispose();
            }
         }
    }


    André.





     
    quarta-feira, 25 de fevereiro de 2009 18:48
  • Opa André, blz?

    Verifica o item 4 do posto do Felipe que acho que é onde você está tendo o problema, ou seja, não tem ativado a opção de leitura de códigos 39

    Deve ser algo como

    Barcode1.reader.Decoders.3of9.enabled=true

    Sugiro verificar no namespace do SDK da Symbol as opções que você tem.

    Filipe, será que é isso mesmo que estou falando?

    abs

    Wescley Arruda

     

    sexta-feira, 27 de fevereiro de 2009 02:44
  • Olá Wescley,

    Neste sdk, a linha de código que habilita ou desabilita a leitura de códigos de barras do tipo 3 of 9 ou qualquer outro tipo de código de barras é a seguinte: barcode1.DecoderParameters.CODE39 = Barcode.DisabledEnabled.Enabled.

    Descobri que o problema com a leitura de código 3 of 9 estava no código de barras que gerei como teste, o qual imprimi em uma folha de sulfite.Ao tentar ler um outro código de barras do tipo 3 of 9 de um dos equipamentos daqui da empresa, a leitura foi bem sucedida.

    Agradeço a atenção e esforço em me ajudar.

    Obridado !!!

    André.

     

     

     

     

     

     

     

    sexta-feira, 27 de fevereiro de 2009 20:00
  • Opa André...

    Que bom que conseguiu,....

    Se achar que minhas respostas foram úteis marque-as como resposta do seu post.


    Precisando de mais alguma ajuda é só falar....assim como se precisar de uma consultoria para a sua empresa :)

    abs

    Wescley
    sábado, 28 de fevereiro de 2009 15:24