Jump to content
jgaspar

Criação de código para monitorização forno

Recommended Posts

jgaspar

Boas,

Pretendo desenvolver a seguinte aplicação no meu local de trabalho utilizando automatos Siemens em principio será o S7 1200 ou então terei de utilizar o S7-300.

Passo a descrever a aplicação.

Tenho um forno de aquecimento de peças, a temperatura ronda os 1300ºC e pretendo saber a posição da peça ao longo do forno no decorrer de x tempo. O forno leva cerca de 90 peças de cada vez (caso máximo).

As peças á entrada são identificadas manualmente com um código unico, no entanto será feito a curo prazo utilizando o codigo de barras.

A minha dúvida é:

A peça chega a entrada do forno, através de um input (fim de curso) irei capturar o número da peça exemplo peça nº1000.

Este valor será guardado numa memória? Logo de seguida virá outra peça 1001, depois 1002 etc, como guardarei estes valores? Como saberei que passados 30 min a peça nº1000 se 5 metros depois da entrada?

Como poderei associar isto num software de monitorização?

Agradeço todas as ajudas

Share this post


Link to post
Share on other sites
pmg

Ao guardares o numero da peça guardas tambem a hora actual.

Sabendo a velocidade a que as peças andam, a distancia é a velocidade * tempo.

Imaginando que a velocidade é de 1.3 metro por minuto e que a peça #1000 foi capturada ás 12:33:16 ... ás 12:37:43 a peça andou 267 segundos, portanto está a 5.785 metros (267 * 1.3 / 60) da posição em que foi capturada.

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
jgaspar

E como posso guardar o número da peça?

Essa é mesmo a minha dúvida.

Exemplo, MW0 guardo o valor da peça 1, MW2 valor da peça 2, M100 peça 100 e por ai além, no entanto como faço isto de forma automática?

Share this post


Link to post
Share on other sites
pmg

...

As peças á entrada são identificadas manualmente com um código unico, no entanto será feito a curo prazo utilizando o codigo de barras.

...

E como posso guardar o número da peça?

Essa é mesmo a minha dúvida.

Exemplo, MW0 guardo o valor da peça 1, MW2 valor da peça 2, M100 peça 100 e por ai além, no entanto como faço isto de forma automática?

Entao sao identificadas manualmente ou automaticamente? :)

De qualquer maneira, tens que usar o input (teclado para identificacao manual; outro sistema para identificacao automatica) para receber dados. Depende do hardware.

Depois de receberes os dados no programa (scanf(), fgets(), read(), ..., ..., ...) fazes o processamento necessario.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
jgaspar

O que teria pensado foi.

A peça chega á entrada do forno acciona despolta um trigger e capto o número da peça (isto pode ser manual ou automático) ainda não está definido, mas manual será um teclado uma consola etc, automático um sistema de leitura e posterior tratamento dos dados. Penso que isto é ponto certo.

Agora o uso dessas funções em Siemens nunca utilizei, programei PIC´s, programei um robot ABB em C, tive duas cadeiras de programação mas nunca fiz em Siemens.

Onde poderei encontrar dicas sobre este tema?

Agradeço toda a ajuda que tem dado.

Share this post


Link to post
Share on other sites
bubulindo
sergio.costa

Boas...bem relações a tua duvida sobre as memorias podes usar um mapa de variaveis.....

Se o forno leva 90 peças teras de criar 90 variaveis.

Depois acualizas o mapa sempre que entra ou sai uma peça.... ou seja, sempre que entra uma peça o registo que esta na posição 1 passa para a posição 2 e por ai a diante passando a ter a posição 1 livre para o registo da peça que vai entrar... isto cria uma mapa dinamico das peças que estao dentro do forno...

Imagina que entram 10 peças. A primeira a sair será a que esta na posição 10 e da 11 ate a 90 os valores serao 0.... ou seja a ultima a sair sera a akela em que as memórias seguintes sejam 0.... quando a peça sai fazes as comparações que tens a fazer e colocas a variavel 10 a 0....

Entao a proxima a sai sera a 9....

Espero ter sido explicito

Share this post


Link to post
Share on other sites
djthyrax

Talvez o melhor seja usar uma base de dados. Também podes sempre usar tabelas (procura ADD_TBL no manual), dependendo da quantidade de informação que precisas de guardar..


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Seabra

Costumo utilizar muito esse sistema mas não com Siemens.

Utilizo um FIFO ShiftWord ligado a um encoder ou detector de rotação no veio do motor que avança as peças. Para determinar quantas Words necessito, divido o comprimento do forno pelo numero de divisões que necessito. Quando chega uma peça, move o valor do código da peça para a primeira word e faz o Shift de todas as words. Na saída do forno tens o código da peça que está lá a passar.

Em Siemens terá que verificar qual a função que faz isso.

Cump.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.