Programação gráfica

Incluído nesta seção

 

Vídeo: Programação por fluxo de dados no LabVIEW

A execução de VIs no LabVIEW segue um modelo de fluxo de dados. Um nó do diagrama de blocos é executado assim que recebe todas as entradas de que necessita. Quando um nó é executado, ele produz dados, que são enviados ao próximo nó do fluxo de dados. A movimentação dos dados pelos nós determina a ordem na qual os VIs e funções são executados no diagrama de blocos.

Visual Basic, C++, JAVA e a maior parte das linguagens de programação textual segue um modelo de fluxo de controle da execução do programa. No fluxo de controle, a ordem sequencial dos elementos do programa determina a ordem de execução deste programa.

Como exemplo de programação por fluxo de dados, considere um diagrama de blocos que soma dois números e subtrai 50,00 do resultado desta adição, como mostrado na figura 1. Nesse caso, o diagrama de blocos é executado da esquerda para a direita, não porque os objetos estão posicionados nessa ordem, mas porque a função Subtract não pode ser executada antes que a função de soma termine de ser executada e envie os dados à função de subtração. Lembre-se de que um nó somente é executado quando há dados disponíveis em todos os seus terminais de entrada, e que somente fornece dados aos terminais de saída quando a execução do nó é concluída.

Figura 1. Exemplo de programação por fluxo de dados

Na figura 2, qual seria o segmento do código executado primeiro — a função de soma, número aleatório ou divisão? Isso não é possível saber, pois as entradas das funções de soma e divisão estão disponíveis ao mesmo tempo, e a função de número aleatório não tem entradas. Em uma situação na qual um segmento de código deva ser executado antes de outro e não houver dependência de dados entre as funções, você deverá usar outros métodos de programação, como estruturas de sequência ou clusters de erro, para forçar a ordem da execução.

Figura 2. Exemplo de fluxo de dados em vários segmentos de código

Os fios são usados para transferir dados entre objetos do diagrama de blocos. Nas figuras 1 e 2, os fios conectam os terminais de controles e indicadores às funções Add e Subtract.  Cada fio somente tem uma fonte de dados, mas você pode conectá-lo a vários VIs e funções que leem os dados. Os fios podem ser de diferentes cores, estilos e larguras, dependendo dos tipos de seus dados.


Um fio quebrado é mostrado como uma linha preta tracejada com um X vermelho no meio, como mostrado acima. Fios quebrados podem ocorrer por diversos motivos, por exemplo, quando você tenta usar um fio para conectar objetos de dois tipos de dados diferentes.

O quadro 1 mostra os tipos de fios mais comuns.

Tipo de fio Escalar Array 1D Array 2D Cor da imagem
Numérico Laranja (ponto-flutuante)

Azul (inteiro)
Booleano Verde
String Rosa

Quadro 1. Tipos de fio comuns

lançado com o niBCVideo v1.1

Vídeo: Tipos de dados no LabVIEW

No LabVIEW, você usa fios para conectar terminais e transferir dados em um VI. As entradas e saídas conectadas pelos fios devem ser compatíveis com os dados enviados. Por exemplo, você não pode conectar uma saída de array a uma entrada numérica. Além disso, a direção dos fios precisa estar correta. Os fios devem possuir uma única fonte de entrada de dados e pelo menos uma saída. Por exemplo, você não pode conectar dois indicadores. Entre os componentes que determinam a compatibilidade da fiação estão o tipo de dados do controle e/ou indicador e o tipo de dados do terminal. Por exemplo, se uma chave tiver uma borda verde, você poderá conectá-la por fio a qualquer entrada com rótulo verde em um VI Express. Se um botão de controle, como por exemplo um knob, tiver borda laranja, você poderá conectá-lo a qualquer entrada com rótulo laranja. Entretanto, você não pode conectar um knob com borda laranja a uma entrada com rótulo verde. Observe que os fios são das mesmas cores que seus terminais.

Conexão automática de objetos por fios

Quando você coloca um objeto selecionado próximo a outros objetos no diagrama de blocos, o LabVIEW desenha fios temporários, para mostrar a você as conexões válidas. Se você soltar o botão do mouse para colocar o objeto no diagrama de blocos, o LabVIEW conectará os fios automaticamente. Você poderá também conectar automaticamente por fios quaisquer objetos que já estejam no diagrama de blocos. O LabVIEW conecta os terminais que combinam melhor e não conecta os terminais que não combinam.

Por padrão, a fiação automática está habilitada quando você seleciona um objeto da paleta Functions, ou quando copia um objeto que já esteja no diagrama de blocos, pressionando a tecla <Ctrl> e arrastando o objeto. A fiação automática é desabilitada como padrão quando você usa a ferramenta Positioning para mover um objeto que já esteja no diagrama de blocos.

Você pode ajustar a configuração de fiação automática selecionando Tools»Options e depois selecionando a opção Block Diagram na lista Category.

Conexão manual de objetos por fios

Passando a ferramenta Wiring por cima de um terminal, você verá uma ponta de fio com o nome desse terminal. Além disso, o terminal pisca na janela Context Help e no ícone, para ajudá-lo a verificar se está fazendo a conexão no terminal correto. Para conectar dois objetos por um fio, coloque a ferramenta Wiring sobre o primeiro terminal e clique, coloque o cursor sobre o segundo terminal e clique novamente. Após fazer a conexão, você pode clicar sobre o fio com o botão direito e selecionar Clean Up Wire no menu aberto, para que o LabVIEW escolha automaticamente por onde irá passar o fio. Para remover quaisquer fios quebrados existentes, pressione <Ctrl-B> e todos os fios quebrados serão retirados do diagrama de blocos.

Aprenda os conceitos básicos do LabVIEW de uma nova maneira

Aprenda os conceitos do LabVIEW com nossa nova experiência interativa.

Continue seu aprendizado

Anterior Conceitos básicos sobre o ambiente
Ferramentas comuns Próxima