Autor Tópico: Relatório ( log ) de Produção para EMC2  (Lida 15687 vezes)

Description:

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

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Relatório ( log ) de Produção para EMC2
« Online: 28 de Novembro de 2011, 17:36 »
Boa tarde!
Preciso desenvolver um Shell Script para o EMC2, gostaria de saber se alguem do forum já fez algo pareciso e se poderia me ajudar ...

O que eu preciso é:

Registrar em um arquivo de texto o LOG diario da maquina, data, nome do arquivo ngc que está sendo executado na maquina e o status ( iniciado - concluido).

Exemplo:

DATA/HORA        |   NOME DO ARQUIVO .NGC   |   STATUS   |
28/11/2011 17:13   P001 -corte interno.ngc        iniciado
28/11/2011 17:50   P001 -corte interno.ngc       concluido 

Quando eu executar um arquivo .ngc no EMC2 ao iniciar o trabalho preciso que gere a informação da primeira linha do exemplo e quando terminar adicione a segunda linha no arquivo de texto, assim respectivamente durante todo a dia.
Este arquivo será utilizado para fazer o calculo de custo de produção e para calcular o tempo ocioso da maquina durante o periodo de expediente.
Já estou fazendo alguns teste e estarei postando aqui conforme for desenvolvendo, e conto com a ajuda de vocês..

Abraço
Evan F. Gois

Offline clodoaldo_Ferreira

  • Hobby
  • ****
  • Posts: 513
  • Sexo: Masculino
  • Não sou melhor que ninguem.
  • Cidade - UF: Dois Vizinhos
  • Nome:: Clodoaldo
  • Profissão: Desenhista Industrial
Re:Relatório ( log ) de Produção para EMC2
« Resposta #1 Online: 29 de Novembro de 2011, 21:03 »
ninguem topou o desafio?

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #2 Online: 29 de Novembro de 2011, 23:07 »
A algum tempo atrás foi falado sobre isso no tópico "contador de tempo". Eu até tentei, mas não consegui fazer funcionar. Se conseguir diz como fez, pois tem muita gente querendo ter arquivo de log no emc2.
Chega até ser estranho não ter sido implementado no Emc2, pois até o TurboCnc tem.

tópico do "contador de tempo"
http://www.guiacnc.com.br/index.php/topic,6931.msg123151.html#msg123151

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #3 Online: 30 de Novembro de 2011, 08:34 »
Bom dia Cientista e Clodoaldo!
Eu também já me perguntei porque ainda não tem isso no EMC2  e senti a necessidade de fazer algo para resolver isso, então vamos lá ...

Hoje eu estarei implementando um Shell Script para gerar este log, depois é só localizar as variáveis do EMC2 que contem a informação do status e pronto... vamos ver se vai dar certo.

Falou pessoal, qualquer informação que achar importante posta aqui que eu implemento junto no script se conseguiu ..

t+

Evan F. Gois


Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #4 Online: 30 de Novembro de 2011, 14:07 »
Cometi um script com base na idéia de usar códigos M mencionada em

http://www.guiacnc.com.br/index.php/topic,6931.msg123151.html#msg123151

M150 [ início ]:

Código: [Selecionar]
#!/bin/bash
#
# M150 script -- hora do inicio do trabalho
#
test -d $HOME/cnc || mkdir $HOME/cnc
echo -e "\nInício: `date`" >> $HOME/cnc/cnc-job-time.txt


M151 [ fim ]

Código: [Selecionar]
#!/bin/bash
#
# M151 script -- hora do fim do trabalho
#
echo -e "Fim:    `date`" >> $HOME/cnc/cnc-job-time.txt

Use de acordo com

http://www.linuxcnc.org/docs/html/gcode_main.html#sec:M100-to-M199:

O registro é cumulativo, novas linhas são acrescidas ao arquivo. Aqui funfa perfeitamente.
« Última modificação: 30 de Novembro de 2011, 14:14 por C N C N o w ! »

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #5 Online: 30 de Novembro de 2011, 16:11 »
Boa tarde CNCNow
Utilizando  também como base os script comentado no link que o cientista e vc passou cheguei neste escript que está funcionando da seguinte forma:

Variáveis:

ARQUIVO= `?` ## Recebe como valor o nome do Arquivo.ngc (Ainda não descobri como alimentar esta variavel)

STRING=`date +%d_%m_%Y`## Recebe o valor  data dia_mês_ano( este será o nome do arquivo de log - um para cada dia)
HORAS=`date +%H:%M` ## Recebe o valor hora


O script abaixo é apenas o do M150 já testei e funcionou perfeitamente, ainda preciso adicionar a variavel com o nome do arquivo que está sendo executado ( ARQUIVO= `?`).


Código: [Selecionar]

#!/bin/bash
#M150

INICIO() {
ARQUIVO= `?`
STRING=`date +%d_%m_%Y`
HORAS=`date +%H:%M`

test -d $HOME/cnc || mkdir $HOME/cnc
echo "| " $HORAS " | "  " Arquivo: " $ARQUIVO " | " "INÍCIO" " | " >> $HOME/cnc/$STRING
        }

INICIO &




Assim que eu descobrir como adicionar o nome do arquivo.ngc e vou postar arqui o passo-a-passo para gerar este log, que pelo menos pra mim é muito importante.

Grato

Evan F. Gois

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #6 Online: 30 de Novembro de 2011, 22:34 »
Evan no arquivo .ngc é muito fácil ter o nome do arquivo na primeira linha.
Eu tenho no cabeçalho de todos os meus arquivos. Quando salvo o percurso o pos processador já faz. Se for no Artcam é só colocar a linha no pos
   
START = "(Nome do arquivo: [FILENAME])"
 

No arquivo xxxxx.Ngc vai aparecer

(Nome do arquivo: xxxxx.Ngc)

Não sei se ajuda, mas estamos na torcida...

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #7 Online: 01 de Dezembro de 2011, 08:02 »
Bom dia Cientista,

Com certeza sua dica ajuda, obrigado

Vou testar

Grato

Evan F. Gois

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #8 Online: 08 de Dezembro de 2011, 16:17 »
Boa tarde!
Até que enfim terminei de fazer as alterações necessárias no axis para finalizar meu relatório com todos os dados necessários.

Vou providenciar um tuto e colocar aqui.

Obrigado pela ajuda de todos, assim que terminar o tuto vou postar aqui.

Obrigado pela ajuda de todos.

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #9 Online: 08 de Dezembro de 2011, 22:42 »
Que bom que conseguiu.

Estaremos aguardando. Vai ser de grande utilidadepara todos.

abraços

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #10 Online: 09 de Dezembro de 2011, 11:09 »
Bom dia Cientista13

Segue o Passo-a-passo:


RELATÓRIO DE PRODUÇÃO PARA EMC2

Testado na versão EMC2 - 2.4.6 , mas pode ser implementado em outras versões com poucas ou nehuma alterações.

Objetivo:
Gerar um relatorio de trabalho diário.
Será gerado um arquivo por dia com a data do trabalho como parte do nome, exemplo: R01_09_12_2011.txt , R01_10_12_2011.txt, R01_11_12_2011.txt.
Cada aquivo terá as seguintes informações, podendo ter varios trabalhos no mesmo arquivo:

******************************************************************
*                       ARQUIVO DE TRABALHO                      *
******************************************************************
/home/evan/emc2/nc_files/ARQUIVO 01.ngc
 INICIADO   : 18:05:24
 FINALIZADO : 18:09:43
******************************************************************

 
******************************************************************
*                       ARQUIVO DE TRABALHO                      *
******************************************************************
/home/evan/emc2/nc_files/ARQUIVO 02.ngc
 INICIADO   : 18:20:24
 FINALIZADO : 18:39:43
******************************************************************

Vamos iniciar o trabalho:

Observações Iniciais:
Vou considerar que o EMC2 está instalado tudo em suas pastas padões e sem nenhuma mudança adicional em seus fontes.
Os comonado que vamos executar no terminal, precisa estar logado com o usuario root para evitar possiveis problemas de permissão.

Abra o terminal como root #

acesse a pasta tmp com o seguinte comando:

cd /tmp/

Em seguida, vamos baixar e descompactar os arquivos necessários que já deixei pronto para facilitar o processo.

wget http://www.gois.ind.br/guiacnc/gois.tar.gz
tar -xvzf gois.tar.gz

Vamos acessar o diretório que descompactamos.
cd /tmp/gois/

Vamos deixar os arquivos originais exis e axis-remote como cópia de segurança apenas para garantir uma possivel restauração.
mv /usr/bin/axis /usr/bin/axis_backup
mv /usr/bin/axis-remote /usr/bin/axis-remote_backup


Agora vamos colocar no lugar dos originais os arquivos que baixamos anteriormente.
cp /tmp/gois/axis /usr/bin/
cp /tmp/gois/axis-remote /usr/bin/


Agora vamos dar as permissões necessárias para estes arquivos serem executados
chmod 755 /usr/bin/axis
chmod 755 /usr/bin/axis-remote

Vamos fazer uma pequena mudança no arquivo /usr/bin/axis na linha 2779. Precisamos mudar o nome do usuario especidicado no camiho do arquivo.
Fassamos o seguinte:

nano /usr/bin/axis

Vai abrir o editor de texto nano, procure a linha 2779 e faça a alteração conforme solicitado.
Na linha 2778 eu coloquei um comentário e um exemplo de como deve ficar.

Salve o arquivo e feche o editor.

Neste momento tente acessar o EMC2 , ele deve abrir normalmente se tudo estiver correto.

Se você abriu o EMC2 feche novamente e vamos continuar aqui no terminal.

Vamos criar o arquivo filename.txt e a pasta onde vai ficar armazenado nosso relatório
Substitua  <NOME_DO_USUARIO> colocando seu usuario como já fez no arquivo axis acima.

mkdir /home/NOME_DO_SEU_USUARIO/cnc
touch /home/NOME_DO_SEU_USUARIO/cnc/filename.txt
chmod 777 /home/NOME_DO_SEU_USUARIO/cnc/filename.txt

Feito isso vamos para o proximo passo.

cp /tmp/gois/M150 /home/NOME_DO_USUARIO/emc2/nc_files
chmd 755 /home/NOME_DO_USUARIO/emc2/nc_files/M150

Este arquivo M150 é responsavel por salvar a hora de início e fim do nosso trabalho.
também vamos ter que alterar onde estiver <NOME_DO_USUARIO> dentro deste arquivo.

nano /home/NOME_DO_USUARIO/emc2/nc_files/M150

Mude onde precisar em seguida salve e feche o arquivo.


Agora já está tudo preparado no sistema.

Você vai precisar adicionar o comando ( M150 P1 )no inicio do seu arquivo.ngc e no final o comando ( M150 P2 )

M150 P1 ( Grava a informação de nome do arquivo e horas do inicio do trabalho ).
M150 P2 ( Grava a hora que o trabalho foi conluido ).

Au aconselho editar seu pos-processador para adicionar o M150 P1 e M150 P2 para incluir este comando de forma altomática em todos os arquivos .ngc.

Os relatórios são criados dentro da pasta /home/NOME_DO_SEU_USUARIO/cnc/ .


É isso ai galera, aqui eu testei e está funcionando tudo corretamente, conforme planejado.

Obrigado pela ajuda de vocês e qualquer dúvida posta ai.

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #11 Online: 10 de Dezembro de 2011, 10:16 »
Olá Evan

estou tentando.

cheguei na parte que:

Vamos fazer uma pequena mudança no arquivo /usr/bin/axis na linha 2779. Precisamos mudar o nome do usuario especidicado no camiho do arquivo.
Fassamos o seguinte:

nano /usr/bin/axis

Vai abrir o editor de texto nano, procure a linha 2779 e faça a alteração conforme solicitado.
Na linha 2778 eu coloquei um comentário e um exemplo de como deve ficar.

Salve o arquivo e feche o editor.

Neste momento tente acessar o EMC2 , ele deve abrir normalmente se tudo estiver correto.

Se você abriu o EMC2 feche novamente e vamos continuar aqui no terminal.

Ai deu erro (imagem abaixo)

Uso a versão 2.2.5 do EMC2

A principio fiz a instalação normal do ubuntu e do EMC

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #12 Online: 10 de Dezembro de 2011, 12:20 »
Bom dia Cientista13
Me manda o seu arquivo axis_backup o seu arquivo original, que eu faço a alteração e lhe envio novamente.

Offline cientista13

  • CNCMASTER
  • ******
  • Posts: 1269
  • Sexo: Masculino
Re:Relatório ( log ) de Produção para EMC2
« Resposta #13 Online: 10 de Dezembro de 2011, 18:09 »
Boa tarde Evan

segue os arquivos

Offline Evan F. Gois

  • Evan F. Gois
  • Hobby
  • ****
  • Posts: 308
  • Sexo: Masculino
  • "Cerebro e Mãos - Planejar e Construir "
    • Gois Automação e Robótica Ltda
  • Cidade - UF: Toledo / PR
  • Nome:: Evan F. Gois
  • Profissão: Fabricante de Máquinas
Re:Relatório ( log ) de Produção para EMC2
« Resposta #14 Online: 11 de Dezembro de 2011, 12:03 »
Bom dia Inácio!
Fiz uma alteração utilizando o seu arquivo axis_backup, não tenho esta versão instalada aqui, devido a isso não testei ... mas creio que vai dar certo.
Segue arquivo anexo, é só renomear para axis , colocar na pasta /usr/bin e dar a permissão 755.
Qualquer erro posta aqui a imagem do Debug.

Att: Evan F. Gois

 

/** * */