Beruflich Dokumente
Kultur Dokumente
CATARINA
DEPARTAMENTO DE AUTOMAO E
SISTEMAS
8 de Maio de 2014
O bloco Monitor o bloco principal do programa, ele armazena todas as variveis compartilhadas e
globais do programa, alm disso ele supervisiona os acessos dos threads s variveis. O bloco de
comunicao agrupa dois funcos encargadas de ler y escrever as variveis da planta, o thread de
lerDados l todos os dados da planta y atualiza estes no monitor, para fazer isso ela utiliza a estrutura
vPlanta (Figura 2) a qual engloba todas aquelas variveis. O thread escreverDados l os dados de
controle do monitor e escreve eles na planta, para faz-lo utiliza a estrutura Saidas.
O bloco Teclado tem s uma thread, a qual l os comandos ingressados no teclado, traduze aqueles
comandos e escreve, de acordo ao comando, a varivel de referncia de temperatura ou de nvel.
O bloco de controle agrupa as dois threads encarregadas de fazer o controle de nvel y de temperatura
da planta. A thread de controle de nvel utiliza a estrutura cNivel para ler as variveis de altura y
referncia de altura, faz o controle, e depois escreve ao monitor a varivel Ni, mas esta varivel
escrita com uma funo no monitor y no diretamente. Especificamente para os dois controles foram
criadas funciones especiais no monitor para escrever as variveis Q y Ni diretamente e no com uma
estrutura. A thread de controle de temperatura faz o mesmo do que a thread de controle de nvel mas
utiliza a estrutura ctemperatura y Q para ler y escrever, respetivamente.
O bloco chamado tela agrupa dois threads encarregadas de mostrar todos os dados do programa a
traves de dois mdios, a tela e um arquivo de sada. A thread de impresso l todos os dados do
monitor e escreve estes dados na tela, este thread utiliza as estruturas vPlanta, Saidas, referencia e
alarmban. Este ltimo a estrutura que agrupa os estados das bandeiras de alarmes. A thread de
salvardados l as variveis da planta e as sadas, utilizando as estruturas vPlanta e Saidas, para
escrever estas num arquivo de texto.
O bloco de alarmes tem 5 threads, 4 delas so as encarregadas de trocar os estados das bandeiras de
alarmes de nvel, referncia de nvel, temperatura e referncia de temperatura segundo os valores
crticos da planta. O funcionamento das 4 threads so iguais, quando a varivel est dentro no rango
correto a thread dormida e fica esperando uma sinal para voltar y trocar o valor da alarme que ela
este monitorando.
A sinal enviada por uma quinta thread que chamada monitor de alarme este l os quatro dados
que so monitorados pelas quatro threads, se um destes dados supera o rango, o monitor envia uma
sinal para a thread encarregada dessa sinal para ativar a alarme.
Variveis compartilhadas.
Variveis da planta
As variveis da planta so mostradas na figura 3, na figura pode-se ver quais threads compartilham
estas variveis. S tem uma thread de escritura que feita pela thread de comunicao, e so lidas
por 5 threads, pelas alarmes, controle, escrita na tela e escrita no arquivo.
Variveis de referencia
A figura 4 mostra como as variveis de referncia interatuam com as threads, como o caso anterior
esta escrita s por a thread de teclado, mas lida por quatro threads, de controle, escrita na tela e
pelo monitor das alarmes.
Variveis de sada
A figura 5 mostra como as variveis de sada so compartilhadas, como foi descrito anteriormente
estas variveis so escritas uma a uma por diferentes threads, de controle de nvel e de temperatura,
mas so lidas em grupo pela estrutura Saidas por trs threads, escrita na tela, escrita na planta e
escrita no arquivo.