Chiarimento sulle memorie
Moderatori:
dimaios,
carlomariamanenti
5 messaggi
• Pagina 1 di 1
0
voti
Salve a tutti! Volevo sapere in quest'esempio di programmazione http://www.electroyou.it/rea/wiki/articolo1 cosa stanno ad indicare le memorie m0.0 m0.1 m0.2 m0.3 m0.4 m0.5 m0.6?? E come funzionano?
-

Meccatronic
0 2 - Messaggi: 2
- Iscritto il: 28 mag 2012, 17:51
1
voti
Genericamente indicate come "marker" sono sostanzialmente delle memorie di appoggio, considerale delle variabili, che hanno lo scopo di "semplificare" la logica funzionale.
Il risultato di una network appoggiato su di una memoria può essere utilizzato in più network successive senza dovere "riscrivere" la network che genera la memoria di appoggio ogni volta.
Il risultato di una network appoggiato su di una memoria può essere utilizzato in più network successive senza dovere "riscrivere" la network che genera la memoria di appoggio ogni volta.
-

carlomariamanenti
60,1k 6 11 13 - G.Master EY

- Messaggi: 4324
- Iscritto il: 18 gen 2012, 10:44
3
voti
[3] Re: Help memorie
In via generale le memorie merker sostituiscono gli antenati relè che, potendo assumere le due posizioni elementari, zero od uno, mantenendole fino all'evento che ne cambia lo stato, ricordano quindi una certe informazione. E' il programmatore che deve quindi sapere cosa memorizzano i singoli merker.
Un merker per un PLC non è altro che un bit, un valore booleano, l'unità più piccola ed elementare che riconosce e manipola un sistema digitale.
Parlando di programmazione base di un PLC si distinguono due logiche di programmazione: logica sequenziale e logica combinatoria. Nella logica sequenziale le memoria merker non avrebbero senso di esistere, infatti ogni azione di uscita è conseguenza di una ben precisa e diversa combinazione degli stati di ingresso. Viceversa nella logica combinatoria le azioni di uscita sono vincolate al rispetto di una sequenza di stati di ingresso uguali tra loro. Ecco che, in via generale, è solo con le memorie che si può risolvere una logica combinatoria, memorizzando e diversificando stati di ingresso uguali per azioni di uscita diverse.
Per il vero poi si usano i merker anche per ragioni ben diverse. Ad esempio, (non unico), si può memorizzare con un merker una condizione più o meno complessa e ripetitiva, come la sequente di pura fantasia:
Capiterà infatti spesso di trovare in un programma merker per:
- modo manuale selezionato;
- modo ciclo singolo selezionato;
- modo ciclo automatico selezionato;
- memoria di ciclo;
- memoria tutto a riposo;
- memoria passi non presenti;
- memoria presenza avaria;
- ecc.
Le memorie, oltre a ricordare, diventano i passaggi intermedi di una semplificazione di parti comuni e ripetitive.
A tutto questo poi si aggiungono tecniche di programmazione più "evolute" come ad esempio gli shift register. Una memoria merker è uno dei tanti bit che compongono un byte, una word o più oltre. Sovente si fa coincidere a ciascuno dei merker di una parola una diversa posizione di un oggetto all'interno di una macchina: ad esempio un macchina con sei diverse stazioni su una tavola rotante. Ogni volta che la tavola compie un passo, lo stesso oggetto è presente in una diversa stazione. Ma è il caso di controllare per sei volte se l'oggetto è presente per far lavorare la stazione? Basta una volta sola, in ingresso alla macchina e poi, per ogni passo della tavola, tramite lo shift della parola scelta, i bit di presenza di sposteranno all'unisono. In questo caso, il merker diventa un "traker" di un evento comune...
Più merker all'interno di una parola, attribuendo a ciascuno di questi un peso numerico diverso, possono rappresentare valori numerici... Ed il discorso sarebbe ancora parecchio lungo.
Quando leggi un programma altrui, funzionante o no, devi quindi comprenderlo a ritroso. Osservandolo e leggendolo, studiando come i singoli elementi, non solo i merker, sono inseriti e tra loro "interconnessi", puoi comprenderne la logica ed arrivare a capire perché è stato usato un determinato merker. Questo però lo lascio fare a te. Semmai potrai fare domande più specifiche che potremo ragionare successivamente.
Un merker per un PLC non è altro che un bit, un valore booleano, l'unità più piccola ed elementare che riconosce e manipola un sistema digitale.
Parlando di programmazione base di un PLC si distinguono due logiche di programmazione: logica sequenziale e logica combinatoria. Nella logica sequenziale le memoria merker non avrebbero senso di esistere, infatti ogni azione di uscita è conseguenza di una ben precisa e diversa combinazione degli stati di ingresso. Viceversa nella logica combinatoria le azioni di uscita sono vincolate al rispetto di una sequenza di stati di ingresso uguali tra loro. Ecco che, in via generale, è solo con le memorie che si può risolvere una logica combinatoria, memorizzando e diversificando stati di ingresso uguali per azioni di uscita diverse.
Per il vero poi si usano i merker anche per ragioni ben diverse. Ad esempio, (non unico), si può memorizzare con un merker una condizione più o meno complessa e ripetitiva, come la sequente di pura fantasia:
Capiterà infatti spesso di trovare in un programma merker per:
- modo manuale selezionato;
- modo ciclo singolo selezionato;
- modo ciclo automatico selezionato;
- memoria di ciclo;
- memoria tutto a riposo;
- memoria passi non presenti;
- memoria presenza avaria;
- ecc.
Le memorie, oltre a ricordare, diventano i passaggi intermedi di una semplificazione di parti comuni e ripetitive.
A tutto questo poi si aggiungono tecniche di programmazione più "evolute" come ad esempio gli shift register. Una memoria merker è uno dei tanti bit che compongono un byte, una word o più oltre. Sovente si fa coincidere a ciascuno dei merker di una parola una diversa posizione di un oggetto all'interno di una macchina: ad esempio un macchina con sei diverse stazioni su una tavola rotante. Ogni volta che la tavola compie un passo, lo stesso oggetto è presente in una diversa stazione. Ma è il caso di controllare per sei volte se l'oggetto è presente per far lavorare la stazione? Basta una volta sola, in ingresso alla macchina e poi, per ogni passo della tavola, tramite lo shift della parola scelta, i bit di presenza di sposteranno all'unisono. In questo caso, il merker diventa un "traker" di un evento comune...
Più merker all'interno di una parola, attribuendo a ciascuno di questi un peso numerico diverso, possono rappresentare valori numerici... Ed il discorso sarebbe ancora parecchio lungo.
Quando leggi un programma altrui, funzionante o no, devi quindi comprenderlo a ritroso. Osservandolo e leggendolo, studiando come i singoli elementi, non solo i merker, sono inseriti e tra loro "interconnessi", puoi comprenderne la logica ed arrivare a capire perché è stato usato un determinato merker. Questo però lo lascio fare a te. Semmai potrai fare domande più specifiche che potremo ragionare successivamente.
-

Candy
32,5k 7 10 13 - CRU - Account cancellato su Richiesta utente
- Messaggi: 10123
- Iscritto il: 14 giu 2010, 22:54
0
voti
Grazie ad entrambi...scusate ancora l'ignoranza ma avrei un'altra domanda. Come funzionano le funzioni set/reset delle memorie??
-

Meccatronic
0 2 - Messaggi: 2
- Iscritto il: 28 mag 2012, 17:51
2
voti
La funzione SET pone a 1 il bit corrispondente.
La funzione RESET pone a 0 il bit corrispondente.
Per fare un esempio ti illustro alcune righe in LADDER.
Vale il medesimo criterio anche in altri linguaggi di programmazione PLC.
In questo caso il SET ed il RESET del bit 2 della Merker 23 sono separati.
Il SET ed il RESET sono scatenati dal verificarsi delle condizioni poste prima del comando.
( nel caso del SET quando ( il bit 0 della Merker 25 ) = 1 E CONTEMPORANEAMENTE ( il bit 4 della Merker 45 ) = 0 )
Un modo diverso e' quello di utilizzare il blocco dedicato.
ATTENZIONE all'ordine con il quale vengono eseguite le operazioni di attivazione del SET e del RESET.
A seconda della logica prevista e' meglio privilegiare l'azione di SET o di RESET per cui la sequenza di verifica delle condizioni deve essere scelta in base al funzionamento richiesto ( scelta del blocco SR oppure RS ).
La funzione RESET pone a 0 il bit corrispondente.
Per fare un esempio ti illustro alcune righe in LADDER.
Vale il medesimo criterio anche in altri linguaggi di programmazione PLC.
In questo caso il SET ed il RESET del bit 2 della Merker 23 sono separati.
Il SET ed il RESET sono scatenati dal verificarsi delle condizioni poste prima del comando.
( nel caso del SET quando ( il bit 0 della Merker 25 ) = 1 E CONTEMPORANEAMENTE ( il bit 4 della Merker 45 ) = 0 )
Un modo diverso e' quello di utilizzare il blocco dedicato.
ATTENZIONE all'ordine con il quale vengono eseguite le operazioni di attivazione del SET e del RESET.
A seconda della logica prevista e' meglio privilegiare l'azione di SET o di RESET per cui la sequenza di verifica delle condizioni deve essere scelta in base al funzionamento richiesto ( scelta del blocco SR oppure RS ).
Ingegneria : alternativa intelligente alla droga.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
5 messaggi
• Pagina 1 di 1
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 9 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)
