Capítulo 5
Structures
A
B
E
C
D
F
G
A - Sequence
E - Formula Node
B - Case
F - Variável Global
C - For Loop
G - Variável Local
D - While Loop
For Loop
• Um For Loop realiza uma operação um certo
número de vezes. A letra N, localizada no canto
superior esquerdo, representa o número de vezes
que queremos que o For Loop se repita. A letra I
representa quantas vezes o For Loop já se repetiu.
• A figura abaixo demonstra como se representa um
For Loop nos métodos tradicionais de programação.
• O I, neste caso, começa do 0, e armazena até que
ponto o For Loop já se repetiu. O N é o valor
máximo.
• Repare que o I começa do 0, e não do 1. Essa é uma
características da programação. Se não for
especificado antes, o valor inicial será 0.
• E, para que se repita até 10, por exemplo, o valor de
N terá que se 9 ( N -1 ), devido ao valor inicial ser 0, e
não 1.
While Loop
• Um While Loop irá realizar uma operação enquanto uma
condição for verdadeira ou não. Isso é estabelecido através
de um valor chamado de BOOLEANO. Este tipo de valor
só pode ter dois estados:
True = Verdadeiro
False = Falso
• Essa variável, que deverá transmitir um estado
BOOLEANO é ligada na seta circular, localizada no canto
inferior direito do While, chamada Conditional Terminal (
Terminal Condicional )
• Enquanto o estado for VERDADEIRO, o While fará a
operação. Se, porém , ele mudar para FALSO, o processo
irá ser finalizado.
• E letra I representa o numero de vezes que o While já
executou a operação.
• A representação do While nos métodos usuais de
programação está demonstrado abaixo:
• Ele Fará ( DO ) uma operação Enquanto ( WHILE )
uma condição for verdadeira
• Uma característica do While é que ele rodará ao
menos uma vez, mesmo que a variável seja falsa.
• A variável booleana pode ser ligada ao While de duas
formas diferentes:
Na primeira delas, a variável estará DENTRO do While
Neste caso, a variável será verificada e atualizada a
cada variação.
• Porém, se a variável estiver FORA do While ele rodará
apenas uma vez, se ela for FALSA, ou infinitamente, se ela
for VERDADEIRA
Shift Registers
• Shift Registers são utilizados quando se quer armazenar
qualquer tipo de valor de variáveis, tais como numéricas,
arrays, booleanas, strings, etc de um ciclo de um loop para
o próximo.
• A seta que aponta para cima, do lado direito
representa o valor que será armazenado. Ou seja, a
cada ciclo, o valor de saída ficará gravado nela até que
seja usado.
• Já a seta do lado esquerdo, que aponta para baixo é
o valor do ciclo anterior. O zero ligado a ela é o valor
inicial.
Case Structures
• Um Case consiste em dois ou mais sub-diagramas,
sendo que cada um deles representa uma opção.
• As opções são pré estabelecidas pelo programador, e
comparadas a um valor de entrada. Este valor é ligado ao
SELECTOR. ( seletor )
• Se o valor de entrada corresponder a algum dos valores
pré-estabelecidos, o Case executa o processo
relacionado a aquele valor.
• Se o valor conectado ao seletor for do tipo booleano, o
Case poderá apenas possuir dois estado, um FALSO e
outro VERDADEIRO.
• Caso seja ligado a um valor numérico, ele poderá ter,
no máximo 2 e15 -1 valores.
• O padrão de entrada é BOOLEANO, mas pode ser
facilmente modificado ligando valores numéricos ao
seletor.
• Se um número negativo for ligado ao seletor, ele
entenderá este número como sendo 0. E, se for ligado
um numero maior que o maior numero do Case, ele
será entendido como o maior número.
• O seletor poderá ser colocado em qualquer posição
da borda esquerda, e ele automaticamente se
adequará a variável a ele ligada.
• Valores que se encontram na entrada da janela do
Case poderão ser utilizados por todos os estados do
Case .
• Não é obrigatório que haja no Case valores de
entrada ou saída. Mas se houver algum valor de
saída, em algum estado do caso, todos os demais
estados deverão prover um valor de saída.
Sequence Structures
• O que uma Sequence Structure faz é realizar uma série
de eventos, um após o outro, ordenadamente, sendo que
cada evento deve ser colocado em um Frame diferente.
• Para inserir um novo Frame basta dar um clique direito
no Frame atual e clicar em Add Frame After, Add Frame
Before ou Duplicate Frame, para se adicionar uma Frame
antes do atual, depois, ou duplicá-lo, respectivamente.
• Os Frames serão utilizados seguindo uma ordem, de
acordo com o número que fica no meio da parte superior
do Sequence.
• Caso haja a necessidade de se utilizar um mesmo
Frame mais de uma vez durante todo o processo, não é
preciso copiar todo o conteúdo do Frame anterior.
• Através do Add Sequence Local pode-se indicar que este
frame será utilizado em outros pontos posteriores.
Aqui é apresentada
uma pequena
sequência, que
começa no Frame 0
E se estende até o Frame 2
Formula Node
• Quando é necessário que se utilize
cálculos mais
complicados, que seriam muito difíceis de se estar
implementando somente ligando os blocos matemáticos, é
utilizada um recurso chamado Formula Node.
• Este recurso permite ao implementador digitar as equações,
de forma simples e rápida.
• Ao final de cada equação é obrigatório o uso de ponto e
vírgula, que indica ao programa o final da mesma.
• As variáveis de entrada são inseridas dando um clique
direito no canto esquerdo da Formula Node, e selecionando
Add Input.
• Para as variáveis de saída, deve-se dar um clique direito no
canto direito da Formula Node, e selecionar Add Output.
• O programa faz distinção entre variáveis maiúsculas e
minúsculas. Se uma variável da equação se apresenta com
letra maiúscula, ela deve também estar com letra maiúscula,
seja na entrada ou na saída.
Variáveis Locais e Globais
• As variáveis são indispensáveis em qualquer tipo de
problemas, já que permitem armazenar a informação
necessária para a resolução de problemas.
• No LabVIEW todos os controles introduzidos no
Painel Frontal que geram um terminal na janela
Diagrama serão variáveis identificadas pelo nome
representado na etiqueta ( label ). Mas pode ocorrer
que queiramos usar o valor de certa variável em
outro subdiagrama ou em outro VI ou, simplesmente,
que
queremos
armazenar
um
resultado
intermediário. A forma mais simples de fazê-lo é
gerando variáveis locais e/ou globais dependendo da
aplicação.
Variáveis Locais
• Nas variáveis locais os dados são armazenados em
alguns dos controladores ou indicadores existentes
do Painel Frontal do VI criado ; é por isso que estas
variáveis não servem para trocar dados entre VI’s. A
principal utilidade destas variáveis reside no fato de
que uma vez criada a variável local não importa o
que possa acontecer entre indicador ou um
controlador, desde que poderá usar o mesmo
diagrama tanto de entrada como saída.
• As variáveis locais estão disponíveis no menu
Structs & Constants da Paleta de Funções.
Variável Local - Exemplo
• No exemplo abaixo demonstramos como uma
variável local de uma chave booleana pode parar
dois While Loops.
VARIÁVEL LOCAL
Variáveis Globais
• As variáveis globais são um tipo especial de VI, que
unicamente dispõem do Painel Frontal, no qual se
define o tipo de dado da variável e o nome de
identificação indispensável para que possamos nos
referir a ela depois.
• Quando escolhemos a função Global do menu
Structs & Constants criamos um novo terminal no
Diagrama; este terminal corresponde a um VI que
inicialmente não contém nenhuma variável. Para
poder adiciona-lo daremos um duplo clique no
terminal e se abrirá o Painel Frontal.
Variáveis Globais - Cont. 1
• Uma vez aberto, as variáveis são definidas igual a
qualquer controle ou indicador de um VI normal.
Podemos criar um VI para cada variável global ou
defini-las no mesmo VI, que é a opção mais indicada
para qualquer aplicação. Quando terminarmos de
colocar todas as variáveis gravaremos o VI e o
fecharemos. Se uma vez fechado queremos
adicionar variáveis novas, bastará voltar a abri-lo e
adicionar as mudanças necessárias
Variáveis Globais - Cont. 2
• Para adicionar novos terminais que fazem referência
às variáveis globais criadas, não executamos a
função Global já que isto criaria um novo VI então
abriremos o VI existente por meio do comando VI..
da Paleta de Funções e selecionaremos a variável
através do comando Select ltem do menu pop-up.
Também, este mesmo menu tem outra opção que
nos permite usar uma variável já criada para ler
dados ou armazená-los, se trata do comando
Change To Read Global ou Change To Write
Global.
Download

LabVIEW(cap.5)