Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Windows => Tópico iniciado por: smurf em 27 de Julho de 2015, 15:24
-
Boa tarde a todos, sou novo no fórum e esse é meu primeiro tópico.
Primeiro queria dizer o quao fascinante esse fórum é!
Agora meu problema. Sou desenvolvedor Delphi, C e C#. Estou trabalhando em uma empresa onde estamos desenvolvendo uma máquina para corte de papel. Estamos tendo o seguinte problema: o Software em Delphi já está criado e funcionando. Estamos controlando via porta paralela dois motores de passo. Tivemos alguns problema para a conexão com a porta paralela mas agora já resolvemos após algumas buscas na internet. O problema agora é: Quando abrimos somente o software na máqina e colocamos os motores pra rodar eles ficam lentos. Usamos um Phase Driver N-Labs. Os leds indicadores das portas ficam piscando. No mesmo PC tambem temos instalado o Mach3. Quando utilizamos ele pra rodar os motores eles ficam rápidos, rodam que é uma beleza. Porém pelo software feito em Delphi fiam lentos. O tempo para energização de cada bobina é de 1 milissegundo, ou seja o motor deveria estar indo rápido. Agora vem a parte curiosa! kkk. Quando abrimos o nosso software feito em delphi e o Google Chrome no fundo com várias abas abertas os motores rodam rápido! kkkkk. De início pensamos que seria a memória. Então desenvolvi um pequeno software para utilizar bastante memória e estressar o processador, porém nada melhorou. Agora quando abrimos o Google Chrome eles rodam perfeitamente. Alguem já passou por isso ou sabe a solução? Já trocamos as Dlls pra acesso a porta paralela e nada. Já vasculhei vários foruns e nada. Alguem por favor nos dê uma luz.
Obrigado desde já amigos.
-
Bom, não entendo patavinas de Delphi (achava que nem se criavam mais aplicações novas com ele), mas, não pode ser alvo vinculado a velocidade de transmissão de dados pela porta paralela? Deve existir algum parâmetro onde isso é configurado antes de se começar a transmissão de dados, correto? Isso foi feito? Se sim, a velocidade está compatível com a esperada pelo equipamento? Sei que é o básico do básico, que provavelmente vocês devem ter pensado nisso, mas perguntar não ofende.
-
Bom, não entendo patavinas de Delphi (achava que nem se criavam mais aplicações novas com ele), mas, não pode ser alvo vinculado a velocidade de transmissão de dados pela porta paralela? Deve existir algum parâmetro onde isso é configurado antes de se começar a transmissão de dados, correto? Isso foi feito? Se sim, a velocidade está compatível com a esperada pelo equipamento? Sei que é o básico do básico, que provavelmente vocês devem ter pensado nisso, mas perguntar não ofende.
Olá amigo, obrigado por ajudar. Então com relação a velocidade de transmissão nós procuramos para configurar pela DLL que estamos usando porém não encontramos nada. O que encontramos foi que o tempo para ativação de cada bobina do motor seria o "tempo" por assim dizer. Mas creio que não seja isso amigo, pois se estiver com o Chrome aberto ele roda normalmente os motores sem alterar nada.
Obrigado pela resposta!
-
Boa tarde a todos, sou novo no fórum e esse é meu primeiro tópico.
Primeiro queria dizer o quao fascinante esse fórum é!
Agora meu problema. Sou desenvolvedor Delphi, C e C#. Estou trabalhando em uma empresa onde estamos desenvolvendo uma máquina para corte de papel. Estamos tendo o seguinte problema: o Software em Delphi já está criado e funcionando. Estamos controlando via porta paralela dois motores de passo. Tivemos alguns problema para a conexão com a porta paralela mas agora já resolvemos após algumas buscas na internet. O problema agora é: Quando abrimos somente o software na máqina e colocamos os motores pra rodar eles ficam lentos. Usamos um Phase Driver N-Labs. Os leds indicadores das portas ficam piscando. No mesmo PC tambem temos instalado o Mach3. Quando utilizamos ele pra rodar os motores eles ficam rápidos, rodam que é uma beleza. Porém pelo software feito em Delphi fiam lentos. O tempo para energização de cada bobina é de 1 milissegundo, ou seja o motor deveria estar indo rápido. Agora vem a parte curiosa! kkk. Quando abrimos o nosso software feito em delphi e o Google Chrome no fundo com várias abas abertas os motores rodam rápido! kkkkk. De início pensamos que seria a memória. Então desenvolvi um pequeno software para utilizar bastante memória e estressar o processador, porém nada melhorou. Agora quando abrimos o Google Chrome eles rodam perfeitamente. Alguem já passou por isso ou sabe a solução? Já trocamos as Dlls pra acesso a porta paralela e nada. Já vasculhei vários foruns e nada. Alguem por favor nos dê uma luz.
Obrigado desde já amigos.
Uma das grandes desvantagens em usar o acionamento Phase Drive é a velocidade necessária do programa em gerar a sequência de acionamento das fases do motor. Num acionamento do tipo pulso-direção, essa velocidade é menos restritiva (2 a 4 vezes), pois a geração da sequência de fase é feita no driver. Se usar um processador externo (Arduino ou mais veloz) com algum processamento de movimentos (do tipo mover na direção xxx na quantidade de yyy passos), essa restrição é bem reduzida. É claro que o que eu afirmei dependerá da velocidade esperada nos motores.
Enfim, há outras possibilidades, de modo a depender menos do "Ruindows", que não é lá muito bom para controle de movimentação em tempo real, principalmente em velocidades elevadas. Salvo, raras exceções (exemplo: Mach3) em aplicações amadoras e profissionais mais simples, onde se tem que fazer alguns malabarismos para enganar e by-passar o S.O.
-
Uma das grandes desvantagens em usar o acionamento Phase Drive é a velocidade necessária do programa em gerar a sequência de acionamento das fases do motor. Num acionamento do tipo pulso-direção, essa velocidade é menos restritiva (2 a 4 vezes), pois a geração da sequência de fase é feita no driver. Se usar um processador externo (Arduino ou mais veloz) com algum processamento de movimentos (do tipo mover na direção xxx na quantidade de yyy passos), essa restrição é bem reduzida. É claro que o que eu afirmei dependerá da velocidade esperada nos motores.
Enfim, há outras possibilidades, de modo a depender menos do "Ruindows", que não é lá muito bom para controle de movimentação em tempo real, principalmente em velocidades elevadas. Salvo, raras exceções (exemplo: Mach3) em aplicações amadoras e profissionais mais simples, onde se tem que fazer alguns malabarismos para enganar e by-passar o S.O.
Agradecemos a dica, usamos o VB para criar uma tela de controle no Mach3. Utilizamos um manual do Mach3 com todas as funções disponíveis para VB, nossa máquina então agora puxa a bobina de papel e corta exemplo: 30 Folhas com 30cm cada, um motor puxa o papel na medida certa e o outro motor aciona as facas de corte, agora estamos trabalhando para que o driver acione um relé que servirá para ativar uma solenóide a qual irá prender o papel para que o corte seja realizado. Deixamos o nosso trabalho bem como código fonte disponível a todos do fórum. Caso alguém precisar entre contato. Assim que terminarmos a máquina postaremos um vídeo da mesma em funcionamento.
Em anexo um PrintScreen da tela do Mach3 que criamos.
-
olá Smurf, sou programador Delphi tambem e agora estou mexendo com um programa feito em C# no Visual Studio, utilizando o DOT NET 3.5.
Tenho um problema, que não consigo debugar minha aplicação(DLL)
isso acontece com voce tambem ? o seu soft é uma DLL ou EXE ??
poderia descrever um pouco o que é este soft que voce está mexendo ?!
se tiver skype, me add - marcelo.frasson
at...