22. Multipar 02

Fizemos algumas alterações no programa de aquisição de dados Multipar para permitir o uso do programa com outros modelos de medidores de bancada usados em Laboratórios de Águas.

O objetivo principal da alteração foi introduzir uma estrutura modular para permitir que o programa principal carregue o módulo específico para a aquisição das leituras de um determinado medidor.

A tela inicial permite selecionar o modelo do medidor e consequentemente o respectivo módulo que será carregado em seguida para a tela de configuração dos sensores instalados, unidades de leitura e porta serial usada.

Os procedimentos ler_porta e tela_config passaram a ser definidos nos módulos para cada modelo de medidor para permitir que a manipulação da saída de cada medidor seja feita por uma rotina específica.

E os módulos ficam armazenados no diretório multipar

22.1. WTW Multi340i

Nessa primeira etapa, utilizamos o medidor da WTW™, modelo Multi 340i, o qual possui duas entradas. Uma para pH ou ORP e outra para OD ou Condutividade.

Figura 169. Medidor Multiparâmetro 340i (WTW)

Medidor Multiparâmetro 340i (WTW)

Este equipamento exibe apenas uma mensagem de erro se não tiver conectado um eletrodo calibrado, por isso tivemos que preparar um eletrodo para o equipamento enviar valores de OD pela porta serial. Como o eletrodo estava sem uso há alguns meses providenciamos a troca do eletrólito, limpeza e calibração conforme o manual.

O manual do medidor (em inglês) está disponível no site do fabricante (ba52318e02_Multi_340i.pdf), mas também deixamos uma cópia no nosso site (ba52318e02_Multi_340i.pdf).

Tive dificuldades para localizar as informações no manual do equipamento (em inglês), por isso resolvi organizar um pequeno resumo (em português) sobre o medidor e o sensor (CellOx 325) e disponibilizar para download: WTW_Multi_340i_CellOx_325.pdf.

22.1.1. Testes Iniciais de Aquisição pela Porta Serial

Segundo o manual o controle remoto pode ser feito com o programa KOM™ ( para uso exclusivo com Windows™) fornecido pelo fabricante, permitindo uma comunicação bidirecional entre o PC e o medidor.

Mas como a nossa proposta é o uso e a divulgação de Software Livre na Automação em Laboratório de Águas decidimos usar apenas a comunicação unidirecional registrando os dados enviados pela porta serial em intervalos de tempo pré-definidos.

Em seguida configuramos, no medidor, a velocidade e o intervalo de tempo mínimo (5 segundos) para o envio de dados pela porta serial. Veja orientações na página 9 do resumo (WTW_Multi_340i_CellOx_325.pdf) ou na página página 56 do manual (ba52318e02_Multi_340i.pdf).

Foi utilizado um cabo de comunicação do fabricante (AK340/B) que possui um conector DB9 fêmea conectado a um adaptador USB-Serial, pois o Notebook utilizado não possui uma porta serial.

Mas quem quiser montar um cabo de comunicação basta seguir as informações sobre a pinagem disponíveis na página 55 do manual.

Figura 170. Pinagem e parâmetros de comunicaçao serial do medidor WTW Multi340i

Pinagem e parâmetros de comunicaçao serial do medidor WTW Multi340i

Nota

Para mais informações sobre a montagem de cabos para comunicação serial visite a seção Portas Seriais e Comunicação Serial.

Nessa etapa inicial usamos o programa de aquisição (femto600s.tcl) que, pela sua simplicidade, permite rápidos ajustes nos procedimentos para tratamento dos dados.

Configuramos a porta serial com os comandos:

set porta [ open /dev/ttyUSB0 r+ ]
fconfigure $porta -mode 4800,n,8,2

E observamos o envio de muitos caracteres end of line (identificado com o comando :set list do editor vi), o que insere linhas em branco entre os dados.

Isso foi resolvido com a inclusão do teste if:

if {$dados == ""} { return }

Observamos também o envio de caracteres pouco usuais (ø - o cortado, Ω - ômega e æ - ae) dependendo do parâmetro monitorado.

Para filtrar esses caracteres procuramos nos mecanismos de busca (Google, Altavista e Duckduckgo) pelos respectivos códigos Unicode para poder usar com Expressões Regulares.

Para testar o reconhecimento desses caracteres usamos as seguintes expressões regulares:

if { [regexp {\u0013} $dados c] } { 
.tela.dados insert end "Variável Ômega -> $c\n" 
} 

if { [regexp {\u00F8} $dados c] } { 
.tela.dados insert end "Variável Grau -> $c\n" 
} 

if { [regexp {\u00E6} $dados c] } { 
.tela.dados insert end "Variável ae -> $c\n" 
} 

22.1.2. Interface e Código

A interface de configuração permite a seleção dos eletrodos instalados, unidades de leitura e a porta serial usada.

Figura 171. Interface de configuração do medidor WTW Multi340i

Interface de configuração do medidor WTW Multi340i

O código em Tcl/Tk está disponível para download no link: multipar_02.zip. Deixamos também um pacote Starpack para Linux lo link: starpack_multipar_02.zip