Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

programma in AWl:come faccio???

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[1] programma in AWl:come faccio???

Messaggioda Foto Utentepapo » 26 ott 2005, 19:19

allora,
senza entrare troppo nel dettaglio dovrei progettare (al livello didattico)un magazzino automatico che sia gestito da un PLC opportunamente programmato.
Il processo si sviluppa in un nastro trasportatore che porta i pacchi in prossimità di un braccio
meccanico che poi assolverà proprio al compito di posizionare questi in
delle scaffalature .

Il linguaggio di programmazione che sto cercando
di usare per la stesura del codice è l'AWL e
il pacchetto software
impiegato è lo Step 7.

Come simulo un encoder assoluto o incrementale??
Infatti quando dovrò posare il pacco dovrò
dire al braccio meccanico ,di salire ad esempio di 30 cm e traslare di 120 cm ma come faccio ciò??
Come creo il codice AWL per dire al braccio di far ciò??

Poi un'altra cosa:
mio processo ci sarebbe un sensore che ad un dato istante,mentre il
pacco scorre sul nastro trasportatore,mi rileva le sue dimensioni di
base.
Dal punto di vista simulativo devo "inventarmi" il codice che simula questo sensore e il suo
funzionamento (almeno credo che si proceda così).

Dovendo implementare allora tale dispositivo avevo pensato di crearmi un insieme numerico che contiene le dimensioni di base dei pacchi che saranno via via incontrati.
Ad esempio pensavo di generare un insieme così fatto:

{ (30x50) , (70x40) , (37x45) }

in cui i pacchi possono avere SOLO le suscritte dimensioni di base(non mi interessa l'altezza del pacco).Ogni termine tra parentesi mi rappresenta quindi le dimensioni di un pacco che dovrò stoccare e quindi partiamo dal presupposto che potrò stoccare solo 3 tipologie di pacco.
Capisco che c'è la limitazione che i pacchi potranno avere solo quelle dimensioni ma non
mi interessa più di tanto.

Se supponiamo quindi che saranno caricate solo 3 tipologie di pacco,P1,P2,P3,allora
la funzione random dovrebbe passarmi ,al primo step, le dimensioni di
uno dei 3 pacchi(ad esempio(30x50)) ,poi al secondo step le dimensioni
di un altro dei 3 pacchi(che può essere casualmente delle stesse
dimensioni di quello di prima o diverso) e così via.Posso caricare ,ad
esempio,n pacchi ma questi ,possono avere solo le dimensioni
dell'insieme che le ho riportato:
{ (30x50) , (70x40) , (37x45) }

La funzione che dovrei creare dovrebbe quindi "estrarre" uno di
questi "set" di dimensioni di base e memorizzarli poi in una
opportuna lista.
Ebbene,mi sono fermato ancora prima infatti non ho trovato nella
documentazione relativa allo step 7 ,né tantomeno nella lista dei
comandi di AWL, alcuna funzione random .

Grazie anticipatamente
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[2]

Messaggioda Foto Utentem_dalpra » 5 nov 2005, 19:09

Carissimo "PAPO",
le questioni che poni sono molteplici.
Da quello che sembra vuoi programmare un PLC che pero' non e' collegato a nulla e quindi il campo devi simularlo.

Personalmente non mi sono mai trovato in questa situazione paradossale quindi posso esprimere qualche idea.

Per gestire un encoder nel software di un PLC (qualunque sistema di programmazione usi ) si deve usare un contatore veloce o un contaimpulsi.
Il braccio quindi si ferma quando il numero di impulsi conteggiati supera la quota impostata.

Devi quindi generare una serie di impulsi con un timer per gestire in modo simulato questa situazione.

Costruisci ovviamente il programma reale, ed a parte in un'altra zona di memoria del PLC, il programma simulatore.

Spero di esserti stato d'aiuto.

Ciao
Marco
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[3]

Messaggioda Foto Utentepapo » 6 nov 2005, 10:46

m_dalpra ha scritto:Carissimo "PAPO",
le questioni che poni sono molteplici.
Da quello che sembra vuoi programmare un PLC che pero' non e' collegato a nulla e quindi il campo devi simularlo.

Personalmente non mi sono mai trovato in questa situazione paradossale quindi posso esprimere qualche idea.

Per gestire un encoder nel software di un PLC (qualunque sistema di programmazione usi ) si deve usare un contatore veloce o un contaimpulsi.
Il braccio quindi si ferma quando il numero di impulsi conteggiati supera la quota impostata.

Devi quindi generare una serie di impulsi con un timer per gestire in modo simulato questa situazione.

Costruisci ovviamente il programma reale, ed a parte in un'altra zona di memoria del PLC, il programma simulatore.

Spero di esserti stato d'aiuto.

Ciao
Marco


grazie per i consigli,
Ciao
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[4]

Messaggioda Foto Utentem_dalpra » 8 nov 2005, 19:42

A proposito, per misurare un "corpo" su di un nastro trasportatore (cosa che ho fatto realmente) puoi procedere in questo modo.

a) Un rullo folle del nastro trasportatore ha calettato un encoder, che conta sempre quando il nastro si muove.

b) Una fotocellula quando vede transitare il pacco azzera il contatore veloce di quell'encoder, che quindi inizia a contare da zero.

c) Quando la fotocellula si libera si imposta un bit del contatore veloce in modo che non esegua piu' il conteggio (talvolta chiamato HOLD).

d) A questo punto copi il valore di conteggio in un'altra zona di memoria del PLC dove fare le elaborazioni del caso (moltiplicare gli impulsi per il valore di conversione al fine di ottenere i centimetri).

Spero di averti dato qualche altra idea utile.
Ultima modifica di Foto Utentem_dalpra il 9 nov 2005, 9:09, modificato 1 volta in totale.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[5]

Messaggioda Foto Utentepapo » 8 nov 2005, 21:40

m_dalpra ha scritto:A proposito, per misurare un "corpo" su di un nastro trasportatore (cosa che ho fatto realmente) puoi procedere in questo modo.

a) Un rullo folle del nastro trasportatore ha calettato un encoder, che conta sempre quando il nastro si muove.

b) Una fotocellula quando vede transitare il pacco azzera il contatore veloce di quell'encoder, che quindi inizia a contare da zero.

c) Quando la fotocellula si libera si imposta un bit del contatore veloce in modo che non esegua piu' il conteggio (talvolta chiamato HOLD).

d) A questo punto copi il valore di conteggio in un'altra zona di memoria del PLC dove fare le elaborazioni del caso (moltiplicare gli impulsi per il valore di conversione al fine di ottenere i centimetri).

Spero di averti dato qualche altra idea utile.


c2) Oppure un bit blocca


solo che devo prendere le DUE dimensioni di base e non solo la profondità
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[6]

Messaggioda Foto Utentem_dalpra » 9 nov 2005, 15:00

Ummm....
Questo e' un problema piu' serio.
L'oggetto infatti e' in movimento.

Sicuramente esistono dei dispositivi "laser" che misurano distanze, e te ne serve una per parte.
In ogni caso non saprei come farli per comunicare con il PLC.

Potresti ipotizzare che ti inviano un segnale analogico 0-10Vdc.
A questo punto in una determinata Word degli ingressi ti troverai i valori delle misure effettuate da questi sensori.

Si potrebbero anche usare (con un costo inferiore) una decina di fotocellule a tasteggio diretto : il numero di fotocellule che viene oscurato determina quale pacco sta transitando.

Ricordati che dovrai sempre prendere il segnale di "Start Misurazione" dalla fotocellula che vede l'oggetto transitare sopra il nastro.

Attualmente per questi problemi, il sistema piu' in voga e' quello di Visione tramite una telecamera ed un apposito modulo da montare vicino al PLC.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[7]

Messaggioda Foto Utentepapo » 9 nov 2005, 15:54

m_dalpra ha scritto:
Attualmente per questi problemi, il sistema piu' in voga e' quello di Visione tramite una telecamera ed un apposito modulo da montare vicino al PLC.



già...ho visto...
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

1
voti

[8]

Messaggioda Foto Utentem_dalpra » 9 nov 2005, 17:12

Mi sembri un po' depresso....
:cry:
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[9]

Messaggioda Foto Utentepapo » 10 nov 2005, 12:10

m_dalpra ha scritto:Mi sembri un po' depresso....
:cry:


:oops:

no...non è questione di depressione è solo che devo finire tutto sto progetto prima di Aprile e sono ca**i.
Ultima modifica di Foto Utentepapo il 10 nov 2005, 12:32, modificato 2 volte in totale.
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[10]

Messaggioda Foto Utentepapo » 10 nov 2005, 12:10

Già è un mese che ci combatto ogni giorno dalla mattina alla sera... :?
Ultima modifica di Foto Utentepapo il 10 nov 2005, 12:31, modificato 2 volte in totale.
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

Prossimo

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti