Autor Tópico: EMC2 com Modbus  (Lida 5453 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderador
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
EMC2 com Modbus
« Online: 31 de Março de 2011, 09:16 »
Pessoal,

Até então vinha usando (pouco) o TCNC. Estou começando a usar o EMC2 e fiz um teste com a interface Modbus-RTU, Fiz um ladder simples para ler 8 entradas discretas e não é que funciona!! 

Como "Slave Modbus" usei um simulador, onde eu escrevia o conteúdo da memória do meu CLP (simulado). Isso dá margem para fazer muitas coisas!! Interfaces com PICs, Arduinos, CLPs, ...

Segue a tela capturada com o trecho do ladder no EMC2, o slave era executado em outro computador rodando Windows XP e na memória escrevi exatamente isto que estão vendo no EMC2.



Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re:EMC2 com Modbus
« Resposta #1 Online: 24 de Outubro de 2011, 14:55 »
como é isso? interessante a idéia, muito mesmo.

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #2 Online: 30 de Setembro de 2013, 21:47 »
 ;D ;D Li o Alerta de este tópico não recebe novas postagens à muito tempo, mas sem abrir outro tópico para ficar tudo num lugar só. (quem vê pensa que sou organizado  ;D )


Estou querendo comunicar o Emc2 com um PLC (tpw03 da WEG). Como o EMC e também o plc "falam" Modbus, então pergunto:

Como fazer para enviar do emc para o plc os dados do eixo Z.
O que pretendo fazer é:
ao executar o programa de corte, ir corrigindo a altura do eixo Z, para usinar superficies que não são tão planas.
Pensei em um eixo extra no Z controlado pelo plc mais um sensor para "ler" a superficie do material. Isso não é dificil, mas eu gostaria de não precisar montar outro eixo, assim economizaria a parte mecanica do sistema. Ou seja, apenas colocaria o plc e um sensor, sem a necessidade de outro fuso, outras guias, outro motor e outro drive.


Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderador
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re:EMC2 com Modbus
« Resposta #3 Online: 30 de Setembro de 2013, 23:58 »
Estou querendo comunicar o Emc2 com um PLC (tpw03 da WEG). Como o EMC e também o plc "falam" Modbus, então pergunto:

Como fazer para enviar do emc para o plc os dados do eixo Z.
O que pretendo fazer é:
ao executar o programa de corte, ir corrigindo a altura do eixo Z, para usinar superficies que não são tão planas.
Pensei em um eixo extra no Z controlado pelo plc mais um sensor para "ler" a superficie do material. Isso não é dificil, mas eu gostaria de não precisar montar outro eixo, assim economizaria a parte mecanica do sistema. Ou seja, apenas colocaria o plc e um sensor, sem a necessidade de outro fuso, outras guias, outro motor e outro drive.

Você quer controlar o seu eixo z existente (da CNC) a partir de um sensor?

O Modbus que o CLP "fala" é o RTU ou TCP?

Já usei Modbus com EMC e funciona. Mas seria realmente necessário? Entendo que, se o seu eixo z já é comandado pelo CNC você só precisaria de uma entrada para o seu sensor, que poderia ser até ON/OFF.

Offline denilsonmanzano

  • Hobby
  • ****
  • Posts: 861
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #4 Online: 01 de Outubro de 2013, 11:12 »
Não entendo muito a ponto de ajudar , mais não seria a mesma coisa que um THC do plasma , o cnc tem a entrada , e o programa de controle vai corrigindo a posição do eixo Z de acordo com o sinal do sensor..

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #5 Online: 01 de Outubro de 2013, 22:22 »
Não entendo muito a ponto de ajudar , mais não seria a mesma coisa que um THC do plasma , o cnc tem a entrada , e o programa de controle vai corrigindo a posição do eixo Z de acordo com o sinal do sensor..

Não sei como é o THC do plasma, mas preciso corrigir o eixo Z por causa da irregularidade do material a ser usinado, no caso granito, que além da diferença de espessura (na mesma peça) tem o problema de não ser plana o suficiente para fazer um halftone por exemplo.

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:EMC2 com Modbus
« Resposta #6 Online: 01 de Outubro de 2013, 22:32 »
Cientista,

Eu imagino que você pensa em usar algum método para "ler" a superfície do trabalho e ir corrigindo as alturas de forma dinâmica... Para plasma e oxicorte sei que funciona, mas desconheço isso para corte de não metais (se é que estará cortando Madeira :) )

Eu tenho feito isso de forma um poço diferente - uma rotina faz uma varredura de uma superfície através de um prove e as variações de Z são armazenadas em um arquivo - tenho um executável que lê este arquivo e modifica o arquivo de código G qualquer, assim oferecendo resultados até que bons...

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #7 Online: 01 de Outubro de 2013, 22:49 »

Você quer controlar o seu eixo z existente (da CNC) a partir de um sensor?

O Modbus que o CLP "fala" é o RTU ou TCP?

Já usei Modbus com EMC e funciona. Mas seria realmente necessário? Entendo que, se o seu eixo z já é comandado pelo CNC você só precisaria de uma entrada para o seu sensor, que poderia ser até ON/OFF.


O que eu preciso fazer é corrigir o eixo Z por causa das irregularidades da peça a ser usinada. Por exemplo tenho uma peça de granito de 500 x 500 que a superficie chega a ter 0,5 mm de diferença de altura entre um ponto e outro. Poderia calçar se a diferença fosse apenas de espessura, mas às vezes a diferença é um "buraco" no meio. Essa diferença eu tenho que corrigir pois a forma como é polido o granito é quase impossivel ficar plano, mesmo com máquinas novas e com calibradores. Então como não se tem o material perfeito, temos que contornar o problema. Para fazer recortes ou usinar relevos não tem problema, mas quando é um halftone ai sim tem problema pois diferenças de 0.1mm já atrapalha.

O CLP "fala" RTU.

O sensor que irei usar é um sensor com saida analogica. Um sensor ON/OFF apenas iria me informar se está na altura ou não.

Não sei como poderia fazer corrigir pelo proprio EMC sem o uso de CLP. nem mesmo com uma ou várias entradas digitais.

O que farei se não tiver outro jeito, será montar um eixo para correção, que será apenas comandado pelo CLP que irá ler o sensor e posicionar este eixo adicional.

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #8 Online: 01 de Outubro de 2013, 22:59 »
Cientista,

Eu imagino que você pensa em usar algum método para "ler" a superfície do trabalho e ir corrigindo as alturas de forma dinâmica... Para plasma e oxicorte sei que funciona, mas desconheço isso para corte de não metais (se é que estará cortando Madeira :) )


já que não consegui me explicar direito, Imaginou certo Fábio. Tem sensores de proximidade para não metais, são mais carros mas tem.

Eu tenho feito isso de forma um poço diferente - uma rotina faz uma varredura de uma superfície através de um prove e as variações de Z são armazenadas em um arquivo - tenho um executável que lê este arquivo e modifica o arquivo de código G qualquer, assim oferecendo resultados até que bons...

É uma alternativa, só que aumentaria o tempo de forma considerável, se bem que  a varredura não precisa ser em todos os pontos, mas bem espaçados.

Como eu faria isso? Como é a rotina? e o executável?

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:EMC2 com Modbus
« Resposta #9 Online: 02 de Outubro de 2013, 00:05 »
Esse programa que corrige o gcode eu não sabia que existia.

Fábio!
É um prog comercial, free, open, etc.?

Eu já pensei em criar um circuito para funcionar quase como uma malha fechada, mas usando um tipo de probe ligado a um potenciômetro deslizante.
Esse probe ficaria bem próximo ao eixo da ferramenta, e enviaria a variação de resistência do pot para o programa corrigir a altura de z.
Iria usar para pci, que mesmo com uma mesa alinhada fica com muita variação de altura, principalmente  no meio da placa.
E dependendo do tamanho da placa, chega a variar até 0.2mm. E como usino com 0.13mm já da pra ver o problema.

O empecilho que encontrei ainda na implementação teórica é que como a usinagem de pci não segue um padrão de desbaste: a trilha começa num ponto e "passeia" por quase toda a placa, o probe ficaria comprometido e enviaria alturas erradas pro programa.

Acredito que se o halftone mantiver um padrão de furação -> começa e faz uma linha inteira de y e desloca um ponto de x e continua assim até o fim, talvez essa idéia funcionasse.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderador
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re:EMC2 com Modbus
« Resposta #10 Online: 02 de Outubro de 2013, 08:36 »
Acho que um probe de medição de altura com essa finalidade requer resolução compatível com o tamanho das imperfeições da peça e com a profundidade de usinagem requerida.

No caso de uma PCI, onde o objetivo da usinagem é apenas "arranhar a placa", essa resolução deveria ser da ordem de 0,1mm ou menor, acho que um potenciômetro não teria a resolução necessária, talvez um sensor óptico ou capacitivo. Além disso, mesmo com a informação de altura, num certo ponto (que não é onde a ferramenta se encontra), essa informação deve ser utilizada no momento correto (e nas coordenadas corretas) da usinagem para corrigir a altura do eixo z de maneira antecipada ao longo da trajetória de usinagem, é um problema de controle que pode ser resolvido no software CNC em tempo real durante a usinagem, mas requer alguma programação, seria um sistema de controle em malha fechada ao longo da trajetória da ferramenta. Um sistema que não levasse em conta a trajetória, cometeria erros de ajuste.

Nesse caso em discussão, entendo que o que se está esperando é que o Modbus possibilite a comunicação do probe com o CNC, mas isso é uma parte do problema.

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:EMC2 com Modbus
« Resposta #11 Online: 02 de Outubro de 2013, 10:22 »

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:EMC2 com Modbus
« Resposta #12 Online: 02 de Outubro de 2013, 14:04 »

Muito bom esse autoleveller. E é free.  8)
Valeu, Fábio!

P.s. É free, mas o cara bem que merece uma doação!  ;)

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:EMC2 com Modbus
« Resposta #13 Online: 03 de Outubro de 2013, 00:49 »
Acho que um probe de medição de altura com essa finalidade requer resolução compatível com o tamanho das imperfeições da peça e com a profundidade de usinagem requerida.

O sensor que pretendo usar tem saida analogica com uma resolução maior do que eu preciso. A saida é de 4 a 20 mA e são 3,56mA/mm.


Nesse caso em discussão, entendo que o que se está esperando é que o Modbus possibilite a comunicação do probe com o CNC, mas isso é uma parte do problema.



Pergunto porque seria apenas  parte do problema? Qual é a outra parte?

O que eu realmente quero é fazer a correção em tempo real se possivel.  O que eu tenho em mente até agora: envio para a próxima posição de Z > leio o sensor > a clp faz a correção e manda o eixo para posição. Os pulsos de passo e direção para os eixos seriam comandados pelo clp e não diretamente pelo computador.

Além de resolver meu problema eu estou interessado em aprender mais, pois senão apenas faria como era minha idéia inicial. adicionar um eixo somente para corrigir as imperfeições, e isso é fácil de fazer, mas o custo é outro... mas se eu conseguir corrigir o eixo que já existe, o meu custo será menor, e ainda terei menos mecanica para dar problema.
A idéia do Fabio é boa, mas o problema é o tempo de máquina.

Se eu conseguir estabelecer uma boa comunicação entre o emc e a clp eu farei testes, só que o problema é que não sei como fazer ...

 

/** * */