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
programma in AWl:come faccio???
Moderatori:
dimaios,
carlomariamanenti
18 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
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
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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
0
voti
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
0
voti
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.
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
m_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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
0
voti
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à
0
voti
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.
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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
0
voti
m_dalpra ha scritto:Mi sembri un po' depresso....
no...non è questione di depressione è solo che devo finire tutto sto progetto prima di Aprile e sono ca**i.
Ultima modifica di
papo il 10 nov 2005, 12:32, modificato 2 volte in totale.
18 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)