Antes de avançar com a programação, foram estudados os dados que podem e devem fazer parte do histórico. Este histórico fica guardado em ficheiro CSV tendo-se optado por salvaguardar os dados presentes na Tabela 5.1. Esta tabela apresenta também dos dados salvaguardados aqueles que devem ser visualizados na aplicação Android. Todos os dados possuem tamanho fixo, à exceção dos dados da temperatura e pressão na câmara e pressão na camisa, sendo estes dados dinâmicos, ou seja, não é possível prever à priori quantas linhas irão ocupar. Como tal, a estrutura do ficheiro CSV ficou definida de forma a ter um cabeçalho de tamanho fixo (17 linhas) com todos os dados com tamanho imutável, cada um em linha separada e depois seguido pelos dados de gráfico em que cada amostra ocupa uma linha e três colunas para cada tipo de dados (temperatura e pressão na câmara e pressão na camisa).
Tabela 5.1: Dados disponíveis para o histórico de ciclos.
Dados Visível
(Sim/Não) Dados
Visível (Sim/Não)
Programa Sim Dado do ciclo 1a Sim
Entidade Não Dado do ciclo 2b Sim
Nome da máquina Não Temperatura máximac Sim Número da série Não Temperatura mínimac Sim
Utilizador Não Validade do ciclo Sim
Número do ciclo Sim Número de erro Sim Hora de início Sim Temperatura na câmara Sim
Hora do fim Sim Pressão na câmara Sim
Data Sim Pressão na camisa Sim
a Geralmente é a temperatura de esterilização. Em casos particulares pode ser a tempera-
tura de aquecimento ou o tempo de estabilização dependendo dos ciclos, respetivamente o pré-aquecimento e o teste de fugas.
bDependendo do ciclo pode ser o tempo de esterilização (ciclo de esterilização ou teste
de Bowie&Dick), tempo de aquecimento (pré-aquecimento) ou tempo de teste (teste de fugas).
c Temperatura máxima e mínima durante a fase de esterilização.
Para além da estrutura do ficheiro CSV foi necessário definir de que forma estarão organizados e identificados os ficheiros dentro da memória externa. Foi decidido agrupar os ciclos por dia de trabalho do esterilizador e identificá-los por número do ciclo, ou seja, dentro da memória externa, no diretório principal é criada a pasta “Cycle History”, que irá conter pastas com ciclos para cada dia de trabalho do esterilizador. Estas pastas são identificadas por data em que dia, mês e ano estão sem qualquer separador, tal como representado na Figura 5.3. Como por exemplo a pasta “03072018”, que representa a pasta do dia 03/07/2018, contendo cinco ciclos, com os números de ciclo de 23 a 27.
5.1. Histórico de Ciclos
Após estar tudo definido, a PROHS avançou com a preparação de macros para guardar os dados e em paralelo foi feita a pesquisa em como ler e interpretar os ficheiros CSV no Android.
Posteriormente, durante a implementação do histórico de ciclos entendeu-se que os dados para o histórico de ciclos mencionados anteriormente não eram suficientes para a representação do ciclo. Isto é, porque para a construção da tabela com as fases do ciclo, inicialmente, pensou-se em deduzir os valores a partir dos dados destinados para o gráfico do ciclo, mas como estes dados são amostrados a cada 4 segundos os valores deduzidos não corresponderiam aos momentos exatos das fases, desta forma divergindo dos valores impressos pelo esterilizador e tornando o histórico de ciclos incredível. Como tal, foi necessário acrescentar aos dados os valores das fases do ciclo. A dada altura a tarefa de atualização do código na consola ficou ao cargo do estagiário. A tarefa consistiu na análise do código existente, para compreensão mais detalhada do seu funcionamento, e na criação de um algoritmo para guardar os dados das fases de forma organizada e que facilite o seu
parsing do lado da aplicação Android. Como o código para o parsing dos ficheiros CSV
já estava desenvolvido, para a versão anterior do histórico de ciclos (Figura 5.4(a)), para minimizar a quantidade de alterações no mesmo, decidiu-se em incorporar os dados das fases dos ciclos entre o cabeçalho e os dados do gráfico (Figura 5.4(b)). Na Figura 5.4 estão representadas as versões dos ficheiros CSV dos ciclos para o histórico de ciclos, sem e com os dados das fases do ciclo incluídos.
(a) Versão antiga, sem os dados das fases do ciclo in- cluídos.
(b) Versão mais recente, com os dados das fases do ciclo incluídos.
As fases do ciclo na sua grande maioria são representados por uma amostra de dados (hora, pressão e temperatura na câmara) no instante inicial da fase, à exceção dos pulsados, da esterilização, do aquecimento e de teste de fugas. Os pulsados são representados por duas amostras de dados, instantes do mínimo e do máximo do pulsado. A fase de esterilização, a fase de aquecimento e a fase de teste de fugas estão representadas por uma quantidade de amostras que depende da sua duração, com uma amostragem a cada minuto. Para guardar as fases do ciclo no ficheiro CSV optou-se por utilizar identificadores das fases (Tabela 5.2), em vez das suas designações por extenso, devido às designações das fases dependerem da configuração da língua na HMI. Em virtude da imutabilidade dos identificadores são evitadas as complicações no parsing nesta parte na aplicação. Foram reutilizados os identificadores criados pelo profissional da PROHS, à data responsável pelo departamento técnico, para o protocolo de comunicação com o
SpaceLogger, evitando assim a introdução de novos dados no programa do autómato.
Tabela 5.2: Correspondência entre as fases existentes e os seus identificadores imutáveis.
Fase Identificador Fase Identificador
Inicio da Operação IO Secagem SE Aquecimento AQ Entrada de Ar EA
Pré-Tratamento PT Fim FI
Pulsado #a P#a Vácuo VA
Vapor na Câmara VC Teste de Fugas TE Esterilização ES Arrefecimento AR
Exaustão Lenta EL Ondulação OW
Descompressão DE Erro ER
a O # corresponde ao número do pulso, onde durante o ciclo de esterili-
zação podem existir até 8 pulsos, com o mínimo de 1 pulso para o caso de programa rápido.