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: 

Como desligar um botao do painel frontal automaticamente ?

Resolvido!
Ir para a solução

Boa tarde!

Meu programa é da seguinte forma: você insere o tempo que você quer na caixa de mensagem e depois aperta o botão para iniciar o programa.
Porém, eu quero que o botão seja desligado automaticamente depois que passe o tempo, só que não sei fazer isso. Como posso fazer ?


Obrigado!

0 Kudos
Mensagem 1 de 10
41.123Exibições

Olá rdgsnm,

 

Eu não consegui entender direito o que você está tentando fazer. Você podria postar aqui o seu VI e explicar mais detalhadamente como funciona sua aplicação??

 

Ficarei feliz em ajudá-lo.

 


Atenciosamente.

Felipe Flores
Technical Support Engineer
National Instruments
0 Kudos
Mensagem 2 de 10
41.096Exibições

Olá!

Eu estou trabalhando com o seguinte:

 

Uso o labview para fazer o controle de uma bomba peristáltica. Só que, quero que essa bomba funciona apenas por um tempo que eu vou definir no meu painel frontal.
Então, vamos supor, eu inicio meu VI, coloco o meu tempo desejado e aperto o botão "timer". Ao fazer isso, a bomba será iniciada e ficará bombeando meu fluido. Só que eu quero que o botão "timer" seja desligado quando chegar ao tempo que eu pré-defini.

 

Imagine como se fosse um disjuntor, ele fica ligado até uma corrente, de por exemplo 30A, se passar disso, ele desliga automaticamente.

E é isso que quero fazer, seleciono o tempo e aperto o botão para acionar a bomba. Passado o tempo, quero que o botão desligue automaticamente e portanto a bomba pare.

Era isso!
Obrigado!

0 Kudos
Mensagem 3 de 10
41.092Exibições
Solução
Aceita pelo autor do tópico rdgsnm

Olá rdgsnm,

 

Bom, se você quiser controlar programaticamente o estado do botão, você poderia usar uma Variável Local ou Property Node. No caso das variáveis Locais de controles booleanos (caso do botão) você deve se atentar a ação mecânica dos botões (ações latch não são compatíveis com variáveis locais)

 

Você está usando algum padrão de projeto para estruturar o seu código? Caso você não esteja fazendo isso, pode acabar encontrando dificuldades para usá-los.

 

Eu sugiro que você utilize o padrão de máquina de estados com uma estrutura de eventos para gerenciar o eventos (no caso do seu programa, o aperto dos botões).

 

Eu fiz um código de exemplo de como você poderia aplicar esse padrão de projeto no seu projeto. Dá uma olhada nesse diagrama aqui embaixo, ele representa uma estrutura de uma máquina de estados:

 

Capture.PNG

 

Abra o código anexo para ver o funcionamento e leia a documentação para entender a estrutura. Estou certo de que isso vai te ajudar.

 

Atenciosamente.

Felipe Flores
Technical Support Engineer
National Instruments
Baixar tudo
0 Kudos
Mensagem 4 de 10
41.082Exibições

Olá!

A versão que utilizo é 12.

Você pode fazer a conversão ?

0 Kudos
Mensagem 5 de 10
40.610Exibições

Bom Dia!

 

Claro, anexei a versão compatível com o LabVIEW 2012

 

Atenciosamente

Felipe Flores
Technical Support Engineer
National Instruments
Baixar tudo
0 Kudos
Mensagem 6 de 10
40.600Exibições

Olá amigo

 

Aproveitado esse tópico perguntando uma outra questão basica (postei aqui porque não consegui abrir um post novo):

 

-Processar três loops com tempos diferentes e ter um unico botão stop para a vi.

 

Segue anexo uma vi que exemplifica o problema do meu projeto.

 

Obrigado,

 

Alexandre

0 Kudos
Mensagem 7 de 10
40.598Exibições

Segue VI versão 2012.

Guilherme Souza
Applications Engineering
National Instruments Brazil
Baixar tudo
0 Kudos
Mensagem 8 de 10
40.595Exibições

Olá !!

Obrigado por compartilhar o código.


Eu testei aqui e fez exatamente o que eu queria !


Porém, admito que estou tendo dificuldades para entender o que está acontecendo no programa, mesmo você tendo me enviado a documentação rsrs

0 Kudos
Mensagem 9 de 10
40.564Exibições
Solução
Aceita pelo autor do tópico rdgsnm

Bom Dia!!

 

Pouuutsss!!! Bom, pelo menos estamos com meio caminho andado. hahahaha!! Que bom que o exemplo te serviu.

 

Cara, eu poderia ter feito um código sem usar a máquina de estados, mas estaria fazendo de um jeito errado, que poderia te servir hoje e amanhã estragar seu projeto todo. Os padrões de projeto servem justamente para que, através de uma estrutura conhecida, consigamos resolver diversos problemas de software.

 

A máquina de estados, por exemplo, é um padrão muito utilizado para programação de sequências que precisam ser flexíveis. Por exemplo, se você codifica uma sequência de quatro passos ( 1 - 2 - 3 - 4) de modo rígido, seu código é forçado sempre a executar a sequencia em uma única ordem. No entanto, pode ser que você necessite também uma sequência que repete passos (1 - 1 - 2 - 4) ou até mesmo uma que execute mais vezes (4 - 3 - 2 - 4 - 4 - 2 - 1 ). E para isso é importante ter uma estrutura que consiga lidar bem com isso.

 

Alguns exemplos de aplicação de máquina de estados são as máquinas de refrigerante, caixa eletrônico, máquina de café, etc...

 

Minha recomendação: estude estes conceitos básicos que eu coloquei como links no meu primeiro post e também assista estes seminários dos links abaixo:

 

http://www.ni.com/webcast/2122/pt/ - Em português, que explica conceitos básicos de LabVIEW

 

http://www.ni.com/webcast/3374/es/ - Em espanhol, que explica o uso da máquina de estados (Espanhol Mexicano formal. Tá fácil de entender!!)

 

O LabVIEW é uma ferramenta muito poderosa,  mas antes de ir pros finalmentes codificando, tem que dar uma estudada. Não tem pra onde fugir, mas estou certo que você vai curtir.

 

Então, bons estudos!! =D

Felipe Flores
Technical Support Engineer
National Instruments
0 Kudos
Mensagem 10 de 10
40.551Exibições