18.05.2014 Views

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SISTEMA EMBARCADO DE AQUISIC¸ ˜AO DE DADOS ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

sistema tenta ler um registro do arquivo de testes, mas a tarefa de testes volta<br />

a ser executada pelo sistema operacional e tenta escrever um novo registro<br />

no arquivo de testes, ocorrerá um crash no ponteiro do arquivo. A solução<br />

é usar um semáforo que indica recurso compartilhado. Se a tarefa que envia<br />

os registros dos arquivos de teste para o Portal Web (aonde ocorre a leitura<br />

no arquivo) for executada e no meio da leitura do arquivo a tarefa de testes<br />

tomar o controle do gerenciador de tarefa de volta e quiser escrever no arquivo,<br />

encontrará o arquivo bloqueado. A tarefa de testes encontra o arquivo<br />

bloqueado e é mais prioritária que a tarefa de enviar o arquivo XML que pode<br />

desbloquear o arquivo. A solução encontrada é que a tarefa de testes ao verificar<br />

que o arquivo está bloqueado execute um comando para entrar em estado<br />

de dormência, neste intervalo a tarefa que envia os registros de testes para o<br />

Portal Web tem tempo suficiente para finalizar a leitura do registro e liberar<br />

o recurso bloqueado. A tarefa de testes voltando a ser executada encontra o<br />

recurso compartilhado desbloqueado e pode assim escrever os resultados dos<br />

testes no arquivo;<br />

• Preço. Em nosso caso, o banco de dados já faz parte do pacote de desenvolvimento<br />

do módulo microcontrolado Rabbit RCM3200.<br />

• Uso de chaves. Não há uso de chaves. Nosso banco de dados é não relacional.<br />

Os dados são acessados na forma “Fist in, First out”. Significa que o primeiro<br />

registro de teste a ser gravado é o primeiro a ser enviado para o portal Web.<br />

• Configuração. O tamanho da memória RAM foi um dos requisitos mais importantes<br />

para escolha de nosso sistema embarcado, justamente para atender<br />

as necessidades de nosso banco de dados.<br />

• Prognosticar falhas. Nosso banco de dados fornece status de todas as<br />

operações de abertura, leitura, escrita, exclusão e fechamento de arquivos,<br />

entre outras.<br />

• Segurança. O aspecto mais importante no nosso projeto é a confiabilidade<br />

das informações. Caso a memória de registros analíticos atinja ocupação de<br />

100 %, as informações passarão a ser gravadas sinteticamente. Infelizmente, as<br />

medidas dos testes são perdidas, mas a totalização de produção e os tipos de<br />

206

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!