Discussão sobre Produtos NI

cancelar
Mostrando resultados para 
Pesquisar então 
Você quer dizer: 

Decidindo qual o melhor padrão de programação para meu projeto

Boa noite.

Estou trabalhando num sistema para química analítica que inicialmente operava por máquina de estados, porém, houve a necessidade de iniciar vários processos simultâneos e daí surgiu a necessidade de modificar o programa

 

Meu sistema constitui, basicamente, em dois processos, um de preparo de amostra  (processo 1)  e outro de condicionamento/eluição (processo 2). OBS.: O sistema real constitui em seis etapas, mas para efeito de simplificação, considerei apenas duas etapas cruciais para eu poder conseguir enxergar qual o melhor caminho.

No processo 1, as válvulas V1, V2, V3 e V4 estão acionadas; no processo 2, as válvulas V5, V6, V7 e V8 estão acionadas.

O conjunto global constitui numa máquina de estados na seguinte ordem:  AcionamentoV1,2,3,4 > Processo 1 > Acionamento V5,6,7,8 > Processo 2  

 

A minha ideia é a seguinte:

 

Depois que eu terminar o processo 1 (leia-se aqui 'processo 1A'), eu começo um processo 2 (leia-se aqui 'processo 2A') utilizando a amostra do processo 1A, e começo um outro processo 1B.

No caso, o processo 1B só passa para a proxima etapa (processo 2B) se o processo 2A estiver finalizado; e o processo 2A só recomeça no processo 1A se o processo 1B estiver finalizado.

 

Inicialmente,  pensei em utilizar um padrão de produtor/consumidor, onde o produtor daria os comandos para iniciar cada etapa e acionamento, e os consumidores seriam os processos e o acionamento, totalizando quatro loops diferentes. Porém, a dificuldade encontrada nesse tipo de padrão é o fato de que os consumidores teriam que produzir dados para que o produtor desse as instruções seguintes.

 

Qual padrão eu poderia utilizar nesse caso ?

Agradeço desde já.
Rodrigo M.

0 Kudos
Mensagem 1 de 2
25.524Exibições

Boa Tarde Rodrigo,

Eu gostaria de saber se você tentou usar shift registers para a realimentação de informações, eu fiz um exemplo do seu projeto usando geração de números aleatórios nos processos 1A e 1B e o armazenamento de informações nos processos 2A e 2B. Para uma melhor visualização do seu funcionamento use o modo highlight no diagrama de blocos.

0 Kudos
Mensagem 2 de 2
25.451Exibições