Você está na página 1de 3

COMUNICAÇÃO SERIAL DO BT3000 PLUS PARA UM COMPUTADOR HOST

(INTERFACEAMENTO)
1. GERAL

O Analisador BT 3000 PLUS permite a comunicação bidirecional através de RS 232


conexão serial com qualquer computador host. A característica particular do diálogo é que é
sempre o computador host que inicia a comunicação tanto para transmitir lista de pacientes
quanto para receber os resultados.
Para iniciar qualquer comunicação, o computador host terá que enviar para o analisador
um caractere STX (0x02) e esperar um caractere ACK (0x06) como resposta. Neste ponto, o
computador host irá enviar dados para o analisador e terminar a comunicação através do
envio do caractere EOT (0x04). É importante lembrar-se que toda a comunicação é seguida por
uma resposta do analisador. Deve notar que, se o parâmetro a ser transmitido é menor no
comprimento do que o comprimento exigido pelo protocolo de comunicação, um espaço deve
ser adicionado antes ou depois. Por exemplo, a análise tem comprimento de 4, portanto, para
enviar um código GLI é preciso adicionar um espaço antes ou depois para atingir o
comprimento de 4 caracteres.

2. TRANSMISSÃO DE PACIENTE

► Comece a comunicação com seqüência STX <-> ACK


► Enviar código paciente ..................................................... (15 caracteres)
► Enviar tipo de lista para a inserção do paciente ............... ("T" de rotina ou "R" para STAT)
► Enviar tipo de soro ........................................................ ... ("S" para o soro ou "U" para Urina)
► Enviar se o paciente é um clone ........................................ (Y "para Sim ou" N "para Não)
► Transmitir posição do soro no prato ................................. ("00" desconhecido)
► Enviar número de testes a serem executados ................... (De "01" a "99")
► Enviar códigos de testes a serem realizados ...................... (4 caracteres)
► Enviar Check-Sum .............................................................. (3 caracteres)
► Enviar caractere de transmissão final EOT
► Aguardar resposta do analisador ........................................ (2 caracteres)

Se a comunicação for bem sucedida, em seguida, o analisador responde com caráter


"Y" seguido por um byte, que identifica a posição em que o paciente tenha sido inserido. Caso
a comunicação não for bem sucedida, então o analisador responde com "N" seguido por um
byte para identificar o tipo de erro.
Os possíveis erros gerados pelo analisador de resposta à inserção do paciente inválido
são as seguintes:
0x01 ........... Erro de Check-Sum
0x02 ........... Comando Desconhecido
0x03 ........... Erro no campo “Rotina / STAT “
0x04 ........... Erro no campo “Soro / Urina”
0x05 ........... Erro no campo “Clone Yes / No”
0x06 ........... Erro na posição do soro
0x07 ........... Erro no campo “Número de testes”
0x08 ........... Número do teste errado
0x09 ........... Posição já em execução
0x0A .......... Clonagem impossível
0x0B .......... Código repetido
0x0C .......... Uma análise ou mais não presentes no analisador
0x0D .......... Uma análise ou mais não presentes no prato atual
0x0E .......... Demasiadas análises para o paciente
Por exemplo, para enviar um paciente com o código 000000000000001, tipo soro e com
análise de GLI, URE e COL para a lista STATS, então deve-se enviar a seguinte seqüência de
caracteres (excluindo STX seqüência inicial <-> ACK):

000000000000001RSN0003GLI URE COL 134<EOT>

Onde:
000000000000001 ...... Código do paciente
R. ................................ Identifica uma lista STATS
S. ................................ Identifica o tipo de paciente (neste caso: Soro)
N. ................................ Identifica que o paciente não é um clone
00 ................................ (o analisador irá inserir o paciente em um Posição conveniente)
03..................................Identifica o número de testes a ser executado.
GLI, URE, COL .............. Códigos de teste (observar o espaço depois de cada código para atingir
os 4 caracteres de limite)
134 ................................Identifica o Check-Sum
<EOT> .......................... Este caractere encerra a comunicação

3. RECEPÇÃO DE RESULTADOS

Existem três comandos para a recepção de resultados do analisador:

R. ....... Recepção do próximo relatório disponível


L. ........ Recepção do último relatório enviado (no caso de problemas de recepção)
A. ....... Recepção do primeiro relatório disponível (no caso de desejar receber novamente
todos os relatórios)

Os comandos R, L, e A exigem um padrão de comunicação ou o procedimento STX> <ACK e o


caracter EOT ao final da comunicação. Como resposta a um destes três comandos, o analisador
envia o relatório solicitado (se disponível) ou o caracter NAK (0x15) se não há nenhum
relatório a ser enviado. Deve-se ter em mente que, após um teste os relatórios não estão
imediatamente disponíveis para a transmissão, uma vez que estes precisam de validação. Para
fazer isso, vá ao menu Utility, RS232 e habilitar a opção "Aceitar resultado a ser enviado ". Esta
operação deve ser sempre realizada após cada corrida de testes ou de grupos de corridas de
testes.
Existe também uma opção a mais para realizar a operação de validação automaticamente. Ir
para a configuração do analisador (Menu Utilitário, Configurar Analisador), vá para a opção
Série e habilitar a opção "Todos os resultados devem ser enviados automaticamente
(sem validação) " na parte inferior da página. Em caso de resposta positiva, o pedido de um
relatório é transmitido pelo analisador:

Código Paciente ................. 15 caracteres


Tipo de Lista ...................... "T" para Rotina ou "R" para STATS
Tipo de amostra ................. "S" para Soro ou "U" para Urina
Número de relatórios ......... 3 caracteres

Para cada relatório:


Código da Análise ............... 4 caracteres
Resultado ........................... 7 caracteres
Check-Sum ......................... 3 caracteres
<EOT>
Exemplo de eventual resposta aos dados enviados em "Enviar um paciente a BT 3000 PLUS ":

000000000000001RS003GLI 000.000URE 0010.10COL 00100.0107<EOT>

Onde:
000000000000001 .......... código do paciente
R. ..................................... Identifica uma lista STATS
S. ...................................... Identifica o tipo de paciente (neste caso: Soro)
003 ................................... Identifica o número de testes
GLI .................................... Primeiro código de teste
000.000 ............................Resultado do teste GLI
URE .................................. Segundo código de teste
0.010,10 .......................... Resultado do teste URE
COL .................................. Terceiro código de teste
00.100,0 ...........................Resultado do teste COL
107 .................................. Identifica o Check Sum
<EOT> ............................. Esse caractere encerra a comunicação

4. CÁLCULO DO CHECK SUM

Este procedimento calcula um código de controle, de acordo com a transmissão ou recepção


de dados.
Uma soma algébrica de valores ASCII de todos os caracteres enviados é executada.
Por exemplo:
O caractere "A" tem valor ASCII 65 - 0x41.
Por conseguinte, o módulo de 256 o valor encontrado é executado (saldo de dividir o valor por
256). Este é o Check-Sum a ser enviado.

Outras informações sobre o protocolo serial

A recepção de pacientes foi melhorada da seguinte forma:

1) Se o paciente já está na lista e é enviado novamente, o mesmo será substituído.


2) Se os pacientes mais acima do capacidade real da lista foram enviadas então estes foram
enviados para complementar a lista de controles. Este erro foi corrigido.
3) Os seguintes erros foram adicionados à lista existente:

Código Descrição
22 O paciente foi enviado após atribuir-lhe uma posição específica, que já está
ocupada.
23 O paciente já está na lista (ou que tenha sido executado), o campo não tem
clone habilitado, mas a lista de atribuição é diferente em comparação com a
do paciente armazenado no analisador.
24 O código transmitido pertence a um paciente executado, mas nem o campo de
repetição nem o campo Clone foram ativados.

Você também pode gostar