Novos Blocos para Multi-thread por Filas - Projeto FAD

Saudações amigos,

o projeto FAD agora está com mais módulos, essa semana fiz os módulos para execução de loops em paralelo. Quando se fala de execução paralela com microcontroladores, sabemos que a maioria dos microcontroladores que utilizamos para estudar, fazer projetos não possui suporte a tal tarefa. O melhor jeito que encontrei para fazer isso foi utilizando fila para comunicar, por software, entre dois loops (no LabVIEW). Apesar de funcionar bem, o microcontrolador continua a executar seus comandos estruturados, sem thread. Pela comunicação serial o labview faz todo o papel de thread, entre várias informações transmitidas pela USB os dados do thread estão no meio, fazendo o usuário ter a sensação de multiprogramação. A seguir podemos ver a paleta reservada a programação paralela entre loops;

Paleta Multi-Thread
Ainda há blocos para implementar, com o tempo vou programando eles. Os primeiros que criei foram os que tive necessidade de utilizar, foi a escrita e leitura de dados do tipo int e float, escrita e leitura de strings, escrita e leitura de booleanos, um bloco para finalizar o programa, um bloco Flush para limpar a fila. Um exemplo de código foi o teste que realizei, tive que utilizar duas filas para comunicar entre dois loops, para escrita e leitura, o ideal seria apenas uma fila, com o tempo vou melhorando os códigos...
Teste de códigos
Vou explicar +- com funciona a comunicação via fila no código interno;
Blocos de escrita e leitura de números
O primeiro bloco é o de escrita (insert) de números, ele possui a variável "Nome do componente" que é o código primário para referenciar um objeto, o segundo bloco, que é o de leitura, o "Nome do componente" tem que ser o mesmo da referência para que haja comunicação entre os loops e obtendo os dados. Se isso não acontecer, se houver algum erro de escrita no nome do componente, a fila vai se encher a acontecer um overflow, a interrupção do sistema ainda não está pronta, mais vai ser a próxima etapa para o projeto.


Nenhum comentário:

Postar um comentário