API
Superfície pública principal do SDBalanca.
BalancaFactory
public static IBalanca Create(BalancaOptions options)
Cria a implementação adequada ao Protocolo. Protocolos Auto, ToledoP03 e ToledoPrt1 usam ToledoDriver. Demais valores do enum lançam NotSupportedException. Valor inválido de enum lança ArgumentOutOfRangeException.
IBalanca
| Membro | Descrição |
|---|---|
Fabricante / Modelo | Identificação do driver |
Conectada | Espelha o estado de IComunicacao |
ConectarAsync / DesconectarAsync | Ciclo de conexão |
LerPesoAsync | Lê uma linha e retorna PesoCapturado |
ZeroAsync | Zera a balança (padrão: NotSupportedException) |
PesoAlterado | Disparado a cada leitura processada |
PesoEstavel | Disparado quando PesoCapturado.Estavel é true |
Dispose | Libera a comunicação |
BalancaOptions
| Propriedade | Tipo | Padrão | Uso |
|---|---|---|---|
TipoConexao | TipoConexao | Serial (0) | Serial, Tcp ou Bluetooth |
PortaSerial | string? | null | Obrigatória na serial |
BaudRate | int | 9600 | Serial |
Paridade | Parity | None | Serial |
DataBits | int | 8 | Serial |
StopBits | StopBits | One | Serial |
IP | string? | null | Obrigatório no TCP |
PortaTcp | int? | null | Obrigatória e > 0 no TCP |
Protocolo | ProtocoloBalanca | Auto (0) | Seleção do driver |
TimeoutMs | int | 3000 | Timeout de I/O |
NewLine | string | "\r\n" | Delimitador de linha |
Enums
TipoConexao
Serial · Tcp · Bluetooth (Bluetooth não implementado)
ProtocoloBalanca
| Valor | Status |
|---|---|
Auto, ToledoP03, ToledoPrt1 | Implementados (ToledoDriver) |
Alfa, Digitron, Saturno, Weightech, Confiatec, Modbus | Declarados, ainda sem driver |
PesoCapturado
| Propriedade | Descrição |
|---|---|
Peso / Tara | Valores decimais |
Estavel | Peso estabilizado |
Sobrecarga / PesoNegativo / EmMovimento / Zero | Flags de estado |
DataHora | Momento da captura |
PesoTexto | Formatação auxiliar ("{Peso:N0} kg") |
IComunicacao (transporte)
Usada internamente pelos drivers:
| Membro | Descrição |
|---|---|
Conectada | Estado do canal |
ConectarAsync / DesconectarAsync | Abre/fecha o canal |
ReadAsync | Lê até o delimitador NewLine |
WriteAsync | Envia comando em ASCII |
Exceções comuns
| Situação | Exceção |
|---|---|
| Protocolo sem driver | NotSupportedException |
| Bluetooth | NotSupportedException |
PortaSerial ausente | ArgumentException |
IP / PortaTcp inválidos | ArgumentException |
| Leitura sem conexão | InvalidOperationException |
ZeroAsync sem suporte | NotSupportedException |
| Timeout TCP na leitura | TimeoutException |