From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussão sobre Produtos NI

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

Uso de subVI's

Olá a todos, criei um PI para uso pessoal, porém na hora de tentar implementar uma subVI para tornar o uso mais prático, a resposta da ação de controle fica diferente da resposta sem o uso da subVI. Alguém pode me explicar como consertar esse erro?

Obs1: Segue em anexo os dois arquivos, usando e não usando a subVI.
Obs2: Os valores dos ganhos e setpoint são os setados como constantes no arquivo uso_da_subVI.

Baixar tudo
0 Kudos
Mensagem 1 de 8
26.922Exibições

Faltou a SubVI no anexo, né?

0 Kudos
Mensagem 2 de 8
26.898Exibições

Seguindo sua descrição não consegui entender claramente quem é o subVI e qual sua aplicação. 

Quando tentei abrir seu "uso_da_subVI.vi" foi solicitado o arquivo "pi2.vi" que não foi passado. 

Especfique melhor seu problema que podemos bolar alguma solução.

0 Kudos
Mensagem 3 de 8
26.897Exibições

Olá realmente estava dando pau no anexo anterior, espero que este esteja corrigido.
O problema é o seguinte, o arquivo subVI, contém a programação de um controlador PI. E o arquivo uso_da_subVI contém aquela programação criada como uma subVI. Porém, as respostas não estão identicas, acho que há algum problema com o while loop que não sei resolver.
Lembrando que os ganhos que deverão ser usados são os que estão como constantes no arquivo uso_da_subVI.
Consegui deixar mais claro ou ainda está meio estranha minha pergunta? hahah

Baixar tudo
0 Kudos
Mensagem 4 de 8
26.892Exibições

Faltou mesmo, deu pau na hora do anexo, na resposta abaixo eu ja postei os arquivo corrigidos.
Valeu o/

0 Kudos
Mensagem 5 de 8
26.891Exibições

Então cara, dei uma olhada em seu programa e vi que seu subVI possue um While Loop, e seu programa fica preso dentro deste subVi até ser abortado.

Seu subvi deveria fazer as operações matemáticas que deseja, e retornar os valores, para ser exibidos no gráfico presente do painel frontal do seu arquivo "uso_da_subVI.vi".

Rodando seu programa aqui não estou tendo nenhum valor nos gráficos do painel frontal do seu arquivo "uso_da_subVI". Apenas consigo obter algum tipo de dados se eu rodar o programa "subVI.vi" separadamente.

0 Kudos
Mensagem 6 de 8
26.803Exibições

hvscherer escreveu:

Olá a todos, criei um PI para uso pessoal, porém na hora de tentar implementar uma subVI para tornar o uso mais prático, a resposta da ação de controle fica diferente da resposta sem o uso da subVI. Alguém pode me explicar como consertar esse erro?

Obs1: Segue em anexo os dois arquivos, usando e não usando a subVI.
Obs2: Os valores dos ganhos e setpoint são os setados como constantes no arquivo uso_da_subVI.


Ola hvscherer....

 

O mau funcionamento de seu conjunto, esta ligado ao fato de que sua Vi principal fica esperando uma resposta de saida de um loop que unca para de executar, ou seja, seu vi principal somente inicia a subVi mas essa ultima nunca termina suas interações .

 

Para o seu problema existem varias soluções possiveis, mas antes de apresentalas ai vão algumas dicas uteis:

  • Tente evitar possiveis subVI's que executem loops eternos, sempre existe uma outra forma de fazer;
  • Quando for necessario a utilização de loops, lembre-se que os dados so seram ixibidos ao fim de cada interação, se esse fim nunca chega , seus dados nunca serão exibidos.

Vamos as soluções possiveis, (acredito que seu código contenmha varios pontos possiveis de melhorias mas vou me atentar em resolver o problema apresentado por você).

 

 

  1. Eliminando o WHILE LOOP:

subVI

 

 SUBvi.png

 

VI PRINCIPAL

 

vi main.png

 

 

 

2. Utilizando GLOBAL VARIABLE. (essa solução evita grandes modificações em seu código original, mas a utilização em grande escala pode causar problemas em sua aplicação).

 

subVI

Sem título.png

 

 VI PRINCIPAL

 

Sem título1.png

 

 

Caso tenha duvidas de como trabalhar com GLOBAL VARIABLE esse link pode ajudar:

https://decibel.ni.com/content/docs/DOC-2143

Maycon Lazarin
0 Kudos
Mensagem 7 de 8
26.178Exibições

Muito obrigado pela sugestão. Farei algumas alterações para ver se consigo o resultado esperado.

0 Kudos
Mensagem 8 de 8
26.172Exibições