Vai al contenuto
PLC Forum


Aiuto?


Franz 95

Messaggi consigliati

Salve ragazzi,

 

spero di aver postato nella categoria giusta :/

 

comunque sia attualmente studio PLC e Programmazione IEC 61131-3, ma mi si è presentato un problema davanti a cui non riesco proprio a venirne a capo.

 

Perciò chiedo a Voi esperti se mi possiate dare una dritta a riguardo!!

 

Il problema è il seguente:

 

Semplificare la funzione di commutazione utilizzando le regole dell'algebra booleana in modo che invece dei 12 originali, nel diagramma ladder siano necessari solo 10 contatti ( Nota: Ricordate che le leggi presentate nella sezione 2. 2. 3 possono essere applicate in entrambe le direzioni! Esempio: si ritiene che X1 Λ X2 Λ X3 = X1 Λ (X2 Λ X3) e anche X1 Λ X2 Λ X3 = (X1 Λ X2) Λ X3.

 

Saluti e grazie a tutti ;)

Link al commento
Condividi su altri siti


Penso manchi una parte del problema: non c'è la parte da semplificare.

Comunque dovresti certamente (lo dice il testo...) ripassare l'algebra booleana per poter semplificare l'espressione.

Link al commento
Condividi su altri siti

Ciao Ctec,

 

hai ragione avevo dato per scontato cose che Voi non potevate sapere sorry. ``)

 

Il problema numero 1 è questo:

 

L’obiettivo è quello di creare una logica in base alla quale un segnale booleano Y assume il valore 1 quando un numero dispari di ingressi X1, X2 e X3 assume il valore 1.

Per la soluzione, utilizzare esclusivamente i simboli per i contatti, le bobine e gli operatori (V, Λ e ¬). Non utilizzare un programma PLC per creare i grafici!

 

Una volta qui ho pensato a und uno schema di tre contatti in serie, X1, X2 e X3.

Nel primo caso tutti e tre i contatti sono NO e nel secondo uno di loro NO e gli altri due NC quindi negati.

Primo caso

X1 Λ X2 Λ X3 = Y

 

X1 = 1

X2 = 1

X3 = 1

Y = 1

 

Secondo caso

X1 Λ ¬ X2 Λ ¬ X3 = Y

 

X1 = 1

X2 = 0

X3 = 0

Y = 1

oppure

¬ X1 Λ X2 Λ ¬ X3 = Y

 

X1 = 0

X2 = 1

X3 = 0

Y = 1

oppure

¬ X1 Λ ¬ X2 Λ X3 = Y

 

X1 = 0

X2 = 0

X3 = 1

Y = 1

 

Dovrebbe riferirsi a questo il secondo problema ma non riesco proprio a capire come le funzioni possano essere semplificabili :(

È da giorni che ci penso su vorrà dire he aspetterò la mail del professore grazie comunque

Link al commento
Condividi su altri siti

16 ore fa, Franz 95 ha scritto:

invece dei 12 originali

Ci dò un occhio, vedo di rispolverare l'algebra booleana.

Modificato: da Ctec
Link al commento
Condividi su altri siti

Ma devi farlo in ladder, o va bene anche il testo strutturato?

In testo strutturato (o anche in AWL, ma allora usciamo dalle IEC 61131-3), usando XOR si fa in una riga.

 

Comunque, in ladder, è molto semplice risparmiare due contatti.

Prova a pensarci un attimo: il primo ed il secondo caso iniziano con la stessa condizione, e così anche il terzo ed il quarto caso.

Modificato: da batta
Link al commento
Condividi su altri siti

Wow ragazzi non so proprio come ringraziarvi :DD

 

Siete fantastici grazie ancora a tutti per il grande aiuto senza di Voi sarei ancora in alto mare!!!

 

Buone feste :)

Link al commento
Condividi su altri siti

5 ore fa, max.bocca ha scritto:

Intendi così?

Sì, intendevo così. Ma, essendo un esercizio scolastico, volevo che Franz 95 ci arrivasse da solo.

Link al commento
Condividi su altri siti

Roberto Gioachin
Il 19/12/2020 alle 12:27 , batta ha scritto:

Ma devi farlo in ladder, o va bene anche il testo strutturato?

Già...  ottima domanda, ma a dire il vero io aggiungerei: come mai a scuola fanno studiare le mappe di Karnaugh che andavano bene con le reti fatte di porte logiche, ma le fanno verificare su un PLC. Che cosa dovrebbe servire uno studio di questo tipo? 

Facciamo due conti: nel plc si possono utilizzare infinite volte lo stesso contatto, che bisogno c'è di risparmiare?

Se si crede che utilizzando la semplificazione delle reti si risparmia qualcosa, si sbaglia di grosso, infatti se si compila il programma proposto da max.bocca e si compila lo stesso programma senza la semplificazione, probabilmente il secondo impegna meno passi di programma del primo, quindi lavoro inutile.

Non sarebbe il caso che le scuole si aggiornassero?

Link al commento
Condividi su altri siti

2 minuti fa, Roberto Gioachin ha scritto:

Che cosa dovrebbe servire uno studio di questo tipo? 

 

E sempre la solita dicotomia tra scuola e mondo del lavoro.

Purtroppo sono anni che la scuola è notevolmente in ritardo rispetto al tecnologia reale.

Link al commento
Condividi su altri siti

14 ore fa, Roberto Gioachin ha scritto:

Già...  ottima domanda, ma a dire il vero io aggiungerei: come mai a scuola fanno studiare le mappe di Karnaugh che andavano bene con le reti fatte di porte logiche, ma le fanno verificare su un PLC. Che cosa dovrebbe servire uno studio di questo tipo? 

Facciamo due conti: nel plc si possono utilizzare infinite volte lo stesso contatto, che bisogno c'è di risparmiare?

Se si crede che utilizzando la semplificazione delle reti si risparmia qualcosa, si sbaglia di grosso, infatti se si compila il programma proposto da max.bocca e si compila lo stesso programma senza la semplificazione, probabilmente il secondo impegna meno passi di programma del primo, quindi lavoro inutile.

Non sarebbe il caso che le scuole si aggiornassero?

 

Non sono d'accordo. Un esercizio del genere è chiaro che non è sottinteso al risparmio di risorse di memoria o di cicli CPU bensi a sviluppare l'attitudine a ragionare...infatti chi doveva risolverlo è andato in palla (succede per carità non è un attacco a chi ha proposto l'esercizio) e io fossi in lui rifletterei che se non sono è capace di fare un esercizio del genere quantomeno una ripassatina allo studio fatto dovrebbe farla...questa è la mia opinione...purtroppo orami appena c'è un "problema" ci si butta su google e in qualche modo, comn la conoscenza altrui se ne viene a capo..a costo di non aver capito un accidenti di quanto sviluppato.

Link al commento
Condividi su altri siti

39 minuti fa, max.bocca ha scritto:

Con i primi Logo, quante volte si è dovuto fare i conti perché i blocchi erano limitati....

 

Anch'io 40 anni fa dovevo fare i conti dei bit che usavo in RAM e delle istruzioni perchè i microcalcolotari avevano a disposizione di norma, 4 k byte di memoria di programme e 256 bit RAM dati!

Oggi molto raramente, solo in casi di programmi particolarmente complessi con piccoli micro, mi devo preoccupare di di ottimizzare l'occupazione di memoria.

La tecnologia evolve, le priorità cambiano. Oggi ritengo inutile pereder tempo per risparmiare 2 istruzioni e/o un paio di bytes di RAM

Link al commento
Condividi su altri siti

13 ore fa, Livio Orsini ha scritto:

 Oggi ritengo inutile pereder tempo per risparmiare 2 istruzioni e/o un paio di bytes di RAM

sono pienamente daccordo, sono talmente tante le situazioni a cui si deve pensare oggigiorno che non mi passa nemmeno per la testa di mettermi a rigurdare regole e teoremi dell'algebra booleiana, chi è alle prime armi o a scuola fa bene a capirle e applicarle ma chi sta sul pezzo oggigiorno non penso proprio gli interessi tutto ciò, l'importante semmai è rendere il software comprensibile e di non complessa diagnostica

Link al commento
Condividi su altri siti

Però a me l'arte (io la ritengo così) della semplificazione piace e cerco di applicarla comunque. Non perché ci sia bisogno di risparmiare memoria (anche se però sarebbe sensato, l'ottimizzazione dei progetti è una cosa oramai troppo dimenticata), ma per mantenere attiva la mente e rendere anche il software più "elegante".

Anch'io come Livio dovevo strizzare roba in memorie risicatissime, ma anche oggi che posso avere ROM e RAM enormi, non mi dispiace affatto cercare l'ottimizzazione. E' un po' una sfida personale. Forse è la vecchiaia. Mi piace per esempio andare a rivedere i software dei giochi dei primi anni '80 per vedere le implementazioni hardware e software con processori e memorie che oggi farebbero sorridere...

Ritengo comunque che sia molto importante insegnare tali cose a scuola, per preparare mentalmente gli studenti, e non è detto che non possa poi mai venire utile in futuro.

Link al commento
Condividi su altri siti

20 minuti fa, Ctec ha scritto:

Ritengo comunque che sia molto importante insegnare tali cose a scuola, per preparare mentalmente gli studenti, e non è detto che non possa poi mai venire utile in futuro.

 

Questo è più che corretto.

Quello che trovo invece poco corretto didatticamente è proporre esercizi che prevedano logica a contatti.

A mio giudizio se si insegnano le regole dell'algebra di Boole si devo usare gli strumenti ed i metodi propri di quest'algebra. Se invece si voglio insegnare le applicazioni di quest'algebra su apparati industriali ci si deve rivolgere a strumenti attuali.

La minimizzazione la si può fare, ad esempio, anche usando il linguaggio "C". Quando si hanno chiari i concetti della teoria degli insiemie dell'algebra di boole, non importa quale linguaggio di programmazione si usa.

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...