none
Integração Balança Elgin DP 3005 RRS feed

  • Pergunta

  • Estou tentando fazer uma tela windows form para pegar o peso da balança.
    Estou usando o serialport e passando as informações da balança com velocidade, porta... porem a balança nao me devolve nenhum dado. Teste com um software chamado serialcom e funcionou ...

    O Codigo que estou usando é esse:

    using System;
    using System.IO.Ports;          //<-- necessary to use "SerialPort"
    using System.Windows.Forms;
    
    namespace ComPortTests
    {
        public partial class Form1 : Form
        {
            private SerialPort _serialPort;         //<-- declares a SerialPort Variable to be used throughout the form
            private const int BaudRate = 9600;      //<-- BaudRate Constant. 9600 seems to be the scale-units default value
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                string[] portNames = SerialPort.GetPortNames();     //<-- Reads all available comPorts
                foreach (var portName in portNames)
                {
                    comboBox1.Items.Add(portName);                  //<-- Adds Ports to combobox
                }
                comboBox1.SelectedIndex = 0;                        //<-- Selects first entry (convenience purposes)
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //<-- This block ensures that no exceptions happen
                if(_serialPort != null && _serialPort.IsOpen)
                    _serialPort.Close();
                if (_serialPort != null)
                    _serialPort.Dispose();
                //<-- End of Block
    
                _serialPort = new SerialPort(comboBox1.Text, BaudRate, Parity.None, 8, StopBits.One);       //<-- Creates new SerialPort using the name selected in the combobox
                _serialPort.DataReceived += SerialPortOnDataReceived;       //<-- this event happens everytime when new data is received by the ComPort
                _serialPort.Open();     //<-- make the comport listen
                textBox1.Text = "Listening on " + _serialPort.PortName + "...\r\n";
            }
    
            private delegate void Closure();
            private void SerialPortOnDataReceived(object sender, SerialDataReceivedEventArgs serialDataReceivedEventArgs)
            {
                if (InvokeRequired)     //<-- Makes sure the function is invoked to work properly in the UI-Thread
                    BeginInvoke(new Closure(() => { SerialPortOnDataReceived(sender, serialDataReceivedEventArgs); }));     //<-- Function invokes itself
                else
                {
                    while (_serialPort.BytesToRead > 0) //<-- repeats until the In-Buffer is empty
                    {
                        textBox1.Text += string.Format("{0:X2} ", _serialPort.ReadByte());
                            //<-- bytewise adds inbuffer to textbox
                    }
                }
            }
        }
    }

    segunda-feira, 30 de janeiro de 2023 13:24

Todas as Respostas

  • Olá Muller,

    Obrigado por usar os fóruns do MSDN.

    Recebemos o seu inquérito e juntamente com a comunidade esperamos encontrar uma solução para o seu problema e/ou dúvida. 

    Se você tiver informações adicionais que possam nos ajudar a resolver o problema, poderá adicioná-las para acelerar o tempo de resposta.

    Pablo Garcia
    ____________________________

    Por favor, lembre-se de marcar "PROPOR COMO RESPOSTA" para respostas que resolveram seu problema, é uma maneira comum de reconhecer aqueles que ajudaram e torna mais fácil para outros visitantes encontrarem a solução mais tarde.
    terça-feira, 31 de janeiro de 2023 16:28
  • Olá Muller,
     
    Tudo bem?
     
    Você ainda precisa de nossa ajuda com o forum? 

    Fico no aguardo. 
     
    Atenciosamente,

    Pablo Garcia
    ____________________________
     
    Por favor, lembre-se de marcar "PROPOR COMO RESPOSTA" para respostas que resolveram seu problema, é uma maneira comum de reconhecer aqueles que ajudaram e torna mais fácil para outros visitantes encontrarem a solução mais tarde.
    terça-feira, 7 de fevereiro de 2023 20:30
  • Bom dia Pablo! Obrigado pelas respostas!

    Ainda estou necessitando.

    Postei o código que estou utilizando para tentar obter o retorno.
    quinta-feira, 9 de fevereiro de 2023 12:04
  • Olá Muller,

    Obrigado por usar os fóruns do MSDN.

    Estamos verificando as informações para conseguir te ajudar com a duvida. 

    Se você tiver informações adicionais que possam nos ajudar a resolver o problema, poderá adicioná-las para acelerar o tempo de resposta.

    Pablo Garcia
    ____________________________

    Por favor, lembre-se de marcar "PROPOR COMO RESPOSTA" para respostas que resolveram seu problema, é uma maneira comum de reconhecer aqueles que ajudaram e torna mais fácil para outros visitantes encontrarem a solução mais tarde.
    quinta-feira, 16 de março de 2023 20:53