em 08-28-2014 01:52 PM
Olá...
Peço a ajuda de todos para solucionar o seguinte problema:
Temos uma aplicação para uma bancada de testes que faz várias aquisições em três placas da NI (6232, 6602, 6210), que são coletadas pelo DAQmx na VI principal.
Os dados coletados não movidos para outras VI's através de referências, onde os dados são analisados e exibidos para o usuário em forma de indicadores e gráficos.
Em momentos aleatórios (ainda não consegui identificar um padrão, mas há suspeita que seja nos momentos em que a coleta é feita), alguma dessas VI's de análise para de ciclar (nem sempre é a mesma), fazendo com que a aplicação toda trave momentos depois, fazendo-se necessário encerrá-la pelo Gerenciador de Tarefas do Windows. Nenhum cluster de erro chega a exibir uma ocorrência.
-Aqui onde eu faço as aquisições na VI principal
-Aqui onde eu ligo as referências da VI principal para a VI que faz as análises
-Aqui onde eu faço a recepção das referências na VI de análises.
Desde já agradeço!!!
em 09-03-2014 01:48 PM
Boa tarde PIPOLES85,
Qual é o motivo que o levou a usar referências na transferência dos dados, e não o próprio fio que contém o valor a ser manipulado?
Trabalhando com referências você terá de usar property nodes para alterar os valores, assim como você vem fazendo, e isso faz com o que o dado seja duplicado consumindo mais memória.
Sugiro que avalie o desempenho do seu PC durante a execução do VI, memória e CPU. Verifique se estes valores não estão de fato estourando quando o VI executa, e então troque todas as referências por fios vindos dos prórpios controles ou indicadores se a sua intenção é trabalhar somente com os valores dos dados e não qualquer outro atributo.
Atenciosamente,
em 09-08-2014 06:24 AM
Bom dia...
Sabemos que não é a forma mais eficaz de trabalhar com os dados, mas o desenvolvedor optou por trabalhar com as referências porque tanto a VI principal quanto as que fazem as análises trabalham em paralelo, gerenciando simultâneamente os vários aspectos dos testes.
Quanto ao consumo do desempenho do hardware, já tenho monitorado a semanas. Todos os recursos trabalham com folga (CPU 40%, RAM 60%, HD 50%, LAN 20%), mas quando o travamento acontece, somente o uso da CPU é alterado drásticamente, subindo para em torno de 80% (onde o processo LabView.exe consome quase todo esse recurso). Em momento algum o Windows trava ou fica mais lento, somente a aplicação.
em 09-09-2014 08:13 AM
Olá PIPOLES85,
Se o que se deseja passar de informação são valores, então é melhor passar diretamente os valores dos controles pelo fio, e não utilizando refêrencias de controles. Utilizamos referências de controles quando precisamos que um subVI controle atributos do painel frontal do VI principal.
O artigo do link abaixo fala sobre as referências de controle.
http://www.ni.com/white-paper/3159/en/
Atenciosamente,
em 09-19-2014 05:57 AM
Desculpe pela demora em postar uma resposta. Passamos as últimas duas semanas substituindo todas as referências or FGV's, testamos por partes e em várias versões, agora as FGV's são responsáveis por transportar todos os dados aquisitados. Porém, os travamentos ainda acontecem, ainda sem um padrão definido. Se tiverem mais alguma sugestão, aceitamos de bom grado!
em 10-08-2014 08:00 AM
Gostaria de agradecer pela ajuda com o problema citado acima. Substituimos todos os TimedLoop's por WhileLoop's com FlatSequence em todas as VI's, e aparentemente a aplicação estabilizou, pois não ocorrem novos travamentos a 20 dias.