Vai al contenuto
PLC Forum


Marcia avanti ed indietro in scl


Giovanni Segreto

Messaggi consigliati

Quote

per porta logica si intende

 

Assolutamente no. 

 

Una porta logica è, per definizione,

" un circuito digitale in grado di implementare (cioè di realizzare, simulandone la "logica matematica" mediante opportuni controlli su segnali elettrici) una particolare operazione logica di una o più variabili booleane." 

cit. Wikipedia. 

 

In altre parole, devi vederla come una funzione che riceve in entrata dei dati e in uscita ti da un risultato che è la combinazione logica degli ingressi. 

 

Se sei di estrazione elettrica, saprai benissimo cosa sono i contatti messi in parallelo, in serie e negati.

Ecco, 3 contatti in parallelo sono 3 contatti messi in 'OR' ; 2 contatti in serie sono 2 contatti in 'AND' e un contatto negato è NOT, cioè vuoi leggerne lo stato invertito. 

 

Forse una immagine ti chiarisce meglio di 100 esempi:

 

Giovanni1.thumb.png.c4aebda94b3d84e39b63e9dd666ec229.png

 

Prendendo per esempio la porta NOT, noterai che il risultato è == 1 solo se l'ingresso è == a 0. Viceversa, il risultato è 0 se ingresso == 1. 

 

Nella porta AND invece, noterai che l'uscita è == 1 se e solo se TUTTI gli ingressi sono alo stato 1. Basta anche solo uno di essi a 0 che lo stato di uscita sarà 0.

 

Nella porta OR invece, perchè il risultato sia == 1 è sufficiente che UNO SOLO degli ingressi sia allo stato 1 . Il risultato sarà == 0 solo se TUTTI gli ingressi hanno stato 0. 

 

Questo è uno dei pilastri della programmazione plc, e cioè la logica binaria. Se non hai ben chiaro in testa questo concetto, è inutile andare a cercare complicazioni come Scl o altro perchè nella migliore delle ipotesi qualcuno può farsi male davvero. 

 

And, Or e Not come dicevo sono in tutto e per tutto riconducibili al contesto elettrico: 

 

Giovanni2.thumb.png.d458381e81a8533b6d4b213747b0db1a.png

 

Nel primo caso, è sufficiente che uno qualsiasi dei pulsanti venga premuto per attivare la bobina. 

Nel secondo, è necessario che TUTTI i pulsanti siano premuti per attivare la bobina.

Nel terzo invece, è necessario che siano soddisfatte le seguenti condizioni: 

Pulsante 1 == 0 ; 

Pulsante 2 == 1;

Pulsante 3 == 0

perchè la bobina si attivi.

 

Spero di essere stato chiaro.

Link al commento
Condividi su altri siti


Giovanni Segreto

@step-80

Si comprendo che se no a i sa quello che si fa e cosa muovi può essere pericoloso..ma voglio solo capire..

Esempio

Or tradotto  significa o quindi

Q= a o b e ha senso perché serve o a o b per attivare Q

And significa e quindi:

A e b per avere segnale  Q alto. 

NOT è un attibuto? 

Esempio

a and not b sarebbe a negato e sommato a b? O meglio dico l aperto che ho in campo segnamelo chiuso e fammi l and con b? 

 

È corretto ragionare cosi? 

 

 

 

 

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Quote

a and not b sarebbe a negato e sommato a b? 

 

Oddio...mi sembra abbastanza chiaro quello che c'è scritto. 

and 

NOT B

 

significa 

prendi A , cosi com'è 

e fammi il PRODOTTO logico, quindi l'AND (attenzione non la somma che è l'OR!!) 

con lo stato invertito di B 

 

Lascia perdere per il momento il concetto di contatto aperto o chiuso, ragiona su stato alto o basso, 0 oppure 1..poi sullo schema e sul plc li puoi mettere come vuoi.

 

Esempio

A ha stato logico 1 

B ha stato logico 0

 

Quindi

se prendo B e lo inverto , il risultato è 1(ci siamo fin qui? l'inverso di 0 è 1 spero che fin qui ci siamo...)

RiQuindi

1 (che è lo stato di A)

And

1 (che è lo stato invertito di B

= 1 

 

In questo caso quindi, analizzando il segmento nel ciclo di scansione nel quale A è 1 e B è 0.....il risultato di A and Not B sarà = a 1. 

 

 

 

Per quanto riguarda contatti aperti o chiusi, brevemente puoi avere diciamo 4 casi:

 

Caso classico del Pulsante di Marcia. 

1) Contatto NO collegato al plc . In questo caso nel programma inserirai il contatto aperto ------| |-------   e cosi facendo dirai al plc condizione soddisfatta se al morsetto ingressi c'è tensione

 

2)Stesso Contatto NO collegato al plc,ma in questo caso nel programma inserirai il contatto chiuso ------|/|-------   e cosi facendo dirai al plc condizione soddisfatta se al morsetto ingressi NON c'è tensione

 

 

Caso classico del Pulsante di Arresto. 

3) Contatto NC collegato al plc . In questo caso nel programma inserirai il contatto aperto ------| |-------   e cosi facendo dirai al plc condizione soddisfatta quando al morsetto ingressi c'è tensione. In un segmento di autoritenuta come quello cui facevamo riferimento ieri era disegnato cosi per far capire che finchè pulsante a riposo, l'autoritenuta rimaneva armata.

 

4) Stesso contatto NC collegato al plc ,ma in questo caso nel programma inserirai il contatto chiuso ------|/|-------   e cosi facendo dirai al plc condizione soddisfatta quando al morsetto ingressi NON c'è tensione. 

 

Per 'Condizione soddisfatta' intendo flusso di tensione immaginaria presente a dx del contatto . 

|
|                         

|------------------| |------------   condizione soddisfatta se tensione presente in questo punto
|
|

Meglio di cosi io non saprei fare.

 

 

 

Modificato: da step-80
Link al commento
Condividi su altri siti

Giovanni Segreto

@step-80

32 minuti fa, step-80 ha scritto:

Oddio...mi sembra abbastanza chiaro quello che c'è scritto. 

and 

NOT B

 

significa 

prendi A , cosi com'è 

e fammi il PRODOTTO logico, quindi l'AND (attenzione non la somma che è l'OR!!) 

con lo stato invertito di B

 

Grazie! Non so che altro dire😅 molto chiaro. Poi con l enciclopedia che mi hai scritto posso sempre sfogliare per provare a scrivere qualcosa e accendere led a banco.. Sono consapevole che non si può scrivere programmi senza essere certi ma almeno posso comunque imparare qualcosa. 

Grazie.. 

 

 

 

Link al commento
Condividi su altri siti

Giovanni Segreto
21 ore fa, step-80 ha scritto:

 

 

 

 

Adesso , prova a ragionare su quanto detto e prova asvolgere questo esercizio: traduci in ST il seguente rampo ladder:

 

Giovanni7.png.e9b71d006b56ecb82ff196e396d04108.png

 

In bocca al lupo;)

Marcia:=((P1 or P2 or P3) And not p4)  ((P5 or p7) and P6)

-------------------------------------------------------------

può andare?

 

questa é la logica o un idea (non so se corretta)  di cosa possa avvenire.. 

 

-Primo passaggio plc: i 3 P in or, risultato or lo passa a

-secondo passaggio plc: and not p4

 

Se queste condizioni sono soddisfatte (linea verde ladder) usa il bool alto delle condizioni appena descritte ed esegue:

 

-terzo step: P5 o P7 attivi 

 

Plc Mette risultato  in 

 

-Quarto step: and P6.. 

 

 

@step-80

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

@Giovanni Segreto diciamo che in qualche modo ci siamo. 

 

Alla fine di tutta la tua catena il plc avrà come risultato solo uno 0 o 1.

 

Ti faccio un'altra domanda: Premendo per esempio Pulsante 2, se pulsante 4 == 1 , pulsante 5 == 1 e pulsante 6 == 1...cosa succede alla bobina marcia?

Link al commento
Condividi su altri siti

Giovanni Segreto
22 ore fa, step-80 ha scritto:

 

 

Se premi P1 soddisfi or. Ma premendo p4 annulli la negazione del not ovvero apri p4 software e anche se premi P5 e soddisfi or è chiudi anche P6 premendolo non hai marcia. 

 

Mettendo tutto in una frase e come dire se premi uno dei tre pulsanti in parallelo e non hai premuto p4 e si è chiuso o P5 o p7 è hai chiuso P6 allora il motore va. 

È per questo Che intuisco che l scl può anche essere comodo se hai dimestichezza, perché mi viene da pensare. Se testualmente posso dire al Plc Cosa Deve fare perché devo usare ladder? ma parlo giusto per esporre un opinione.. In linea teorica se sapessi come scrivere potrei dire in base al impianto che ho al plc cosa deve fare tutto in testuale.. 

 

@step-80

Modificato: da Giovanni Segreto
Link al commento
Condividi su altri siti

Hai detto bene. In linea teorica.

 

A parte tutto, vorrei chiederti la cortesia (se possibile) di sforzarti ad esprimerti in modo più chiaro perchè faccio veramente fatica a tradurre quello che vuoi dire. Lasciando perdere la punteggiatura, che mancano le parole ecc..faccio proprio fatica. 
 

Poi ho come l impressione che consideri Scl come la soluzione a tutti i mali, come se basti parlare al plc per dirgli cosa vuoi fare. Purtroppo ti devo deludere: scl è esattamente uguale a qualsiasi altro linguaggio dal punto di vista strutturale. Le logiche che ti devi inventare in Ladder te le devi inventare anche in scl o fdb o sfc. Si tratta solo di utilizzare strumenti diversi, i quali possono prestarsi meglio o peggio per eseguire un determinato compito. 
 

Come già ripetuto allo sfinimento, realizzare una logica booleana in scl che tiene conto di marcia, arresto, finecorsa, termiche, timers ecc ecc...fare si fa ma non è il massimo. È come usare la Ferrari per andare a fare la spesa . 
 

Se devi fare pippo:= ( (pluto + tizio)/2) x (caio x3 ,14) in ladder, fare si fa. Ma in scl ci metti 2 minuti..in ladder moolto di piu. 
 

Spero di essere stato chiaro.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...