SubVI de um ciclo while...
2 participantes
Página 1 de 1
SubVI de um ciclo while...
Queria fazer uma SubVI que é simplesmente um ciclo while com tem um valor dentro do ciclo sempre a variar registado por um Numeric Indicator.
O que fiz foi no painel frontal seleccionar a palette [ | ] na entrada não por nada e na saida o Numeric Indicator
Ora pensei que se agora chamasse esta SubVI e a ligasse a um indicador me ia indicar os mesmos valores da subVI... explícito?
O que estou a fazer mal ?
João Pereira
O que fiz foi no painel frontal seleccionar a palette [ | ] na entrada não por nada e na saida o Numeric Indicator
Ora pensei que se agora chamasse esta SubVI e a ligasse a um indicador me ia indicar os mesmos valores da subVI... explícito?
O que estou a fazer mal ?
João Pereira
bi0- Mensagens : 8
Data de inscrição : 26/11/2007
Localização : Coias.pt
Um daqueles problemas
Olá!
Este é um daqueles casos em que temos de perceber um pouco melhor como o Labview funciona.
Tendo tu apenas uma saída (indicador), deves ter ligado uma constante boleana ao ícone que mantém o ciclo while a funcionar. Mesmo que tivesses ligado ao ícone do ciclo while um controlo, o resultado final seria o mesmo. Passo a explicar: quando o programa principal do Labview chama um subVI, fornece-lhe as entradas de que ele necessita, assemelhando-se isto à passagem dos parâmetros de entrada de uma função em Matlab. Assim, dentro do subVI, ele vai usar sempre os valores das entradas passadas ao subVI até que a sua execução termine! Quando termina a execução do subVI, este passa ao programa principal os valores obtidos nos indicadores ligados ao conector (neste caso assemelha-se ao processo de passagem dos parâmetros de saída de uma função em Matlab). O que se está a passar é que o teu programa está "preso" dentro do subVI, porque o ciclo while nunca termina. Mesmo que tu tivesses ligado uma entrada boleana ao subVI no programa principal, não resolvias o problema pois ele ia usar sempre apenas o primeiro valor ligado a essa entrada. Moral da história: há que ter muito cuidado ao usar ciclos while dentro de subVIs . Por norma, terminar um ciclo while dentro de um subVI com base em parâmetros de entrada do subVI resulta em desastre....
Espero ter ajudado a analisar o teu problema
Este é um daqueles casos em que temos de perceber um pouco melhor como o Labview funciona.
Tendo tu apenas uma saída (indicador), deves ter ligado uma constante boleana ao ícone que mantém o ciclo while a funcionar. Mesmo que tivesses ligado ao ícone do ciclo while um controlo, o resultado final seria o mesmo. Passo a explicar: quando o programa principal do Labview chama um subVI, fornece-lhe as entradas de que ele necessita, assemelhando-se isto à passagem dos parâmetros de entrada de uma função em Matlab. Assim, dentro do subVI, ele vai usar sempre os valores das entradas passadas ao subVI até que a sua execução termine! Quando termina a execução do subVI, este passa ao programa principal os valores obtidos nos indicadores ligados ao conector (neste caso assemelha-se ao processo de passagem dos parâmetros de saída de uma função em Matlab). O que se está a passar é que o teu programa está "preso" dentro do subVI, porque o ciclo while nunca termina. Mesmo que tu tivesses ligado uma entrada boleana ao subVI no programa principal, não resolvias o problema pois ele ia usar sempre apenas o primeiro valor ligado a essa entrada. Moral da história: há que ter muito cuidado ao usar ciclos while dentro de subVIs . Por norma, terminar um ciclo while dentro de um subVI com base em parâmetros de entrada do subVI resulta em desastre....
Espero ter ajudado a analisar o teu problema
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos