Rede Social

Pegar peso da balança Toledo C#

Nesta dica iremos pegar peso de uma balança Toledo através da DLL P05 com C#.

Primeiro vamos declarar os métodos utilizados.

[DllImport(P05.DLL")]
public static extern int AbrePorta(int porta, int velocidade, int dataBits, int paridade);

[DllImport(P05.DLL")]
public static extern int FechaPorta();

[DllImport(P05.DLL")]
public static extern int PegaPeso(int tipoEscrita, StringBuilder peso, string diretorio);
O tipo escrita serve para disponibilizar em arquivo texto quando 0 e quando 1 é para disponibilizar na área de transferência
O diretório é para indicar onde será salvo o arquivo.

Após isso vou criar um método que irá abrir a porta, pegar o peso e fechá-la.

public decimal RetornaPeso(int portaCom)
{
int retorno = P05.AbrePorta(portaCom, 0, 0, 2);

if (retorno == 1)
{
StringBuilder pesoString = new StringBuilder();
retorno = P05.PegaPeso(1, pesoString, "");
decimal peso = pesoString.ToString().ConvertTo<decimal>();

retorno = P05.FechaPorta();

if(retorno == 1)
{
return peso;
}
else
{
//Erro ao fechar porta
}
}
else
{
//Erro ao abrir a porta
}

return 0;
}

private const string LOCAL_ESCRITA = ""; //Diretorio onde será gravado o arquivo. Se vazio significa o diretorio local do programa
private const int OPCAO_ESCRITA = 1; //Disponibilizar em     => 0 = Arq Texto, 1 = Área de Transferência