Recebemos como doação um antigo medidor da WTW™ modelo “MultiLine P4” e desenvolvemos mais um módulo para permitir o uso dos recursos do programa Multipar com esse instrumento.
Consegui encontrar, com muita dificuldade, o manual do instrumento na página de manuais e catálogos da empresa http://www.mikro-polo.com/en/for-customers/documents.aspx. Mas também deixei uma cópia para download aqui.
Com o uso do programa femto600s.tcl observei que o MultiLine P4 envia uma séria de caracteres “não imprimíveis”.
Para identificar esses caractares salvei a saída em um arquivo texto, abri com o programa Vi e digitei o comando :set list para exibir a posição dos caracteres “não imprimíveis” que aparecem como uma série de caracteres “$”. (Fonte: set list command in vi)
Segundo dica no link Advanced Vi Cheat Sheet o caracter “$” significa fim de linha.
O editor Vi exibe “^Q” e “^S” e no editor Gedit essas posições aparecem como 0011 e 0013 respectivamente.
Para identificar a presença de “caracteres especiais” utilizei os seguintes testes “if” no programa femto600s.tcl:
if { [regexp {\u0013} $dados c] } { .tela.dados insert end "\nVariável Ω -> $c\n" } if { [regexp {\u00F8} $dados c] } { .tela.dados insert end "\nVariável ø -> $c\n" } if { [regexp {\u00E6} $dados c] } { .tela.dados insert end "\nVariável æ -> $c\n" } if { [regexp {\u0011} $dados c] } { .tela.dados insert end "\nVariável de controle -> $c\n" } if { [regexp "\n" $dados c] } { .tela.dados insert end "\nVariável nova linha -> $c\n" } if { [regexp {\u21A1} $dados c] } { .tela.dados insert end "\nVariável Form Feed 21A1 -> $c\n" } if { [regexp {\u000C} $dados c] } { .tela.dados insert end "\nVariável Form Feed 000C-> $c\n" } if { [regexp {\x0D} $dados c] } { .tela.dados insert end "\nVariável Carriage Return -> $c\n" }
A letra grega μ das leituras de condutividade na faixa de μS/cm (água destilada) era representada pelo caracter æ. E para identificar a unidade na faixa de mS/cm tive que usar uma solução salina.
Usando o comando gets foi possível identificar que o instrumento envia dados pela porta serial em dois blocos:
pH E3 '0011' '0013' 89 æS/cm 21,7 øC e nLF Tref25 '0011''0013' 04,07,16 10:14
Observei que o instrumento desligava após alguns minutos e tentei desativar o desligamento automático apagando as leituras armazenadas na memória interna seguindo os passos:
Desligar e religar pressionando -> STO + ON/OFF
Deve aparecer na tela Clr Sto Store (Se houver dados armazenados na memória
Em seguida pressionar RUN/ENTER para confirmar a remoção dos dados
Mais tarde descobri que isso não era necessário. :-(
Conforme informação na página 21:
Continuous operation with connected interface cable and/or activated time-controlled output ( SEr 0n ).
Basta conectar o cabo serial e o instrumento permanece ligado continuamente.
O pacote zip está disponível para download aqui.