Vai al contenuto

Messaggi consigliati

Inserito:

Salve a tutti, 

ho appena iniziato a studiare come poter strutturare i diagramma ladder per PLC OmronCP1L, ma sto avendo notevoli difficoltà. 

Sapreste indirizzarmi su dei siti in cui spiegano bene come strutturare i diagrammi ladder?

Ad esempio, come posso sviluppare questa consegna?

Si attui un controllo sulla forza sviluppata sulla regolazione di un muscolo pneumatico per una fissata deformazione in catena aperta e catena chiusa. In base al valore attuale di forza generata, il segnale di comando in pressione da inviare al muscolo avrà pendenza diversa. 1. Catena aperta Basandoci sulla relazione matematica (funzione di trasferimento) Forza = Forza (pressione, ∆L/L): • calcolare il valore di pressione per produrre la forza voluta: 3,88 Bar; • con un fondoscala pari a 6 Bar, trovare il comando di tensione da inviare alla valvola proporzionale in pressione per produrre il valore di pressione precedentemente calcolato: 6,3 Volt; • scrivere un programma PLC che, dopo l’attivazione di un pulsante di START, generi un segnale analogico di output al fine di ottenere la pressione calcolata; • leggere il valore della forza ed effettuare un confronto con quella voluta

Inserita:

Tutti 'sti calcoli in ladder? Ommammmamia, ci vogliono un sacco di rung.

C'è poco da organizzare, non c'è tanta logica da fare, ma una mole di calcoli.

Alla fine il programma aspetta lo start, calcola il segnale analogico, legge la forza applicata, fa un confronto. Tutto in sequenza.

Il massimo di "struttura" è quello di creare una FB per i calcoli, e una per la lettura analogica.

PS: perché usare il CP1 che ha 20 anni e non andare su un CP2 che almeno è più recente e veloce? Ancora meglio un CJ2, che ti dà la possibilità di scrivere routine in ST, che per i calcoli è una manna... Rimanendo su PLC programmabili con CXone

Inserita: (modificato)

purtroppo all'università ci fanno usare solo Omron CP1L. 

Però come posso capire ad esempio quando usare i comandi *F, /F, FIX, MOV, MOVL,... a seconda dei casi? ho alcune difficoltà a capire come impostare la logica per il funzionamento.

Modificato: da chia10
Inserita:
20 ore fa, Ctec ha scritto:

Tutti 'sti calcoli in ladder? Ommammmamia, ci vogliono un sacco di rung.

C'è poco da organizzare, non c'è tanta logica da fare, ma una mole di calcoli.

Alla fine il programma aspetta lo start, calcola il segnale analogico, legge la forza applicata, fa un confronto. Tutto in sequenza.

Il massimo di "struttura" è quello di creare una FB per i calcoli, e una per la lettura analogica.

PS: perché usare il CP1 che ha 20 anni e non andare su un CP2 che almeno è più recente e veloce? Ancora meglio un CJ2, che ti dà la possibilità di scrivere routine in ST, che per i calcoli è una manna... Rimanendo su PLC programmabili con CXone

Salve, 

purtroppo all'università ci fanno usare solo il PLC OMRON CP1L.

Per quanto riguarda questo caso, vorrei avere alcune delucidazioni, se possibile. L'esercizio è stato svolto dal professore in questa maniera:

image.thumb.png.e4098230383e3d1e8cf4e3610fba8139.pngimage.png.0e55659a0370c1c6edb926b7de519718.png

non capisco i numeri +1,67 , +25,5 ,... da dove vengono presi. se sono tutti input che vengono letti direttamente oppure se sono stati calcolati. Grazie mille per l'aiuto

Inserita:
21 ore fa, chia10 ha scritto:

quando usare i comandi *F, /F, FIX, MOV, MOVL

I PLC in genere sono molto legati ai tipi di dato, ed è anche giusto per evitare eventi strani come numeri negativi dove non dovevano esserci. A me mancano funzioni di casting come in C nel linguaggio ST, ma non si può avere tutto...

Quindi i PLC, soprattutto quelli un poco più datati come il CP1, non sono in grado di adattare i valori a seconda dell'uso.

Per questo ti trovi delle istruzioni base (per esempio la moltiplicazione *) che ha diversi "modificatori" a seconda del tipo di dato da elaborare:

*   Moltiplicazione tra interi (16bit) con segno

*L  Moltiplicazione tra doppi interi (32bit) con segno

*U  Moltiplicazione tra interi (16bit) senza segno

*UL Moltiplicazione tra doppi interi (32bit) senza segno

*F  Moltiplicazione tra floating point

tralasciando quelli in BCD (oramai si usano piuttosto poco, anche se a volte risultano utili).

Stessa cosa per istruzioni di spostamento come la MOV (16 bit) e MOVL (32bit), da scegliere a seconda del tipo da copiare.

 

Ovviamente, in fase di compilazione, avrai un messaggio di warning che ti avverte se hai cercato di moltiplicare due interi con e senza segno, o altre incongruenze. L'operazione verrà svolta lo stesso, ma con risultati imprevisti.

 

37 minuti fa, chia10 ha scritto:

non capisco i numeri +1,67 , +25,5

Questi sono i cosiddetti "magic numbers" che vanno evitati come la morte. Sono valori che così sembrano senza senso, ed è sempre meglio usare (come la #define in C e le EQU in assembler...) delle label che abbiano senso e tra l'altro il CXprogrammer lo consente eccome.

Nel tuo programma probabilmente sono dei precalcolati, dovrei vedere in particolare, magari stasera. Ora non ho tempo, scusa.

Inserita:
Il 03/09/2024 alle 10:16 , Ctec ha scritto:

I PLC in genere sono molto legati ai tipi di dato, ed è anche giusto per evitare eventi strani come numeri negativi dove non dovevano esserci. A me mancano funzioni di casting come in C nel linguaggio ST, ma non si può avere tutto...

Quindi i PLC, soprattutto quelli un poco più datati come il CP1, non sono in grado di adattare i valori a seconda dell'uso.

Per questo ti trovi delle istruzioni base (per esempio la moltiplicazione *) che ha diversi "modificatori" a seconda del tipo di dato da elaborare:

*   Moltiplicazione tra interi (16bit) con segno

*L  Moltiplicazione tra doppi interi (32bit) con segno

*U  Moltiplicazione tra interi (16bit) senza segno

*UL Moltiplicazione tra doppi interi (32bit) senza segno

*F  Moltiplicazione tra floating point

tralasciando quelli in BCD (oramai si usano piuttosto poco, anche se a volte risultano utili).

Stessa cosa per istruzioni di spostamento come la MOV (16 bit) e MOVL (32bit), da scegliere a seconda del tipo da copiare.

 

Ovviamente, in fase di compilazione, avrai un messaggio di warning che ti avverte se hai cercato di moltiplicare due interi con e senza segno, o altre incongruenze. L'operazione verrà svolta lo stesso, ma con risultati imprevisti.

 

Questi sono i cosiddetti "magic numbers" che vanno evitati come la morte. Sono valori che così sembrano senza senso, ed è sempre meglio usare (come la #define in C e le EQU in assembler...) delle label che abbiano senso e tra l'altro il CXprogrammer lo consente eccome.

Nel tuo programma probabilmente sono dei precalcolati, dovrei vedere in particolare, magari stasera. Ora non ho tempo, scusa.

Salve, la ringrazio.

I "magic numbers" quindi vengono presi direttamente dal programma ed usati in determinati casi per qualche calcolo specifico? oppure nel mio caso, potrebbero essere dati presi direttamente in laboratorio e misurati sul muscolo pneumatico?

Inserita:

Non leggo bene, ma per esempio, nella seconda parte, il nome del programma è di Acquisizione Forza. Da questo, deduco abbastanza facilmente che +9.81 è l'accelerazione di gravità terrestre (g) Se per esempio fossero stati usati label e commenti, avresti avuto come variabile "g" e accanto il  commento "accelerazione di gravità".

 Anche gli altri valori interi hanno riferimenti alle formule, va visto un po' lì.

 

Non mi torna molto che l'input cella sia associato a un canale (word) di ingressi 1, normalmente fa parte degli ingressi digitali fisici del PLC. Ma è un esempio da lezione, per cui chi se ne frega se poi nella realtà sarà inutilizzabile...

 

Inserita:
18 minuti fa, Ctec ha scritto:

Non leggo bene, ma per esempio, nella seconda parte, il nome del programma è di Acquisizione Forza. Da questo, deduco abbastanza facilmente che +9.81 è l'accelerazione di gravità terrestre (g) Se per esempio fossero stati usati label e commenti, avresti avuto come variabile "g" e accanto il  commento "accelerazione di gravità".

 Anche gli altri valori interi hanno riferimenti alle formule, va visto un po' lì.

 

Non mi torna molto che l'input cella sia associato a un canale (word) di ingressi 1, normalmente fa parte degli ingressi digitali fisici del PLC. Ma è un esempio da lezione, per cui chi se ne frega se poi nella realtà sarà inutilizzabile...

 

però non ho capito una cosa, nella parte di "generazione di tensione" essendoci input è probabile che i dati siano stati semplicemente visualizzati sul momento ed inseriti nel programma? mentre nella parte di "acquisizione forza", non essendoci input non capisco come il professore li abbia presi o calcolati. per l'input cella con 1, potrebbe essere un errore di trascrizione oppure potrebbe essere un dato scelto dal professore?

Alessio Menditto
Inserita:

Chia per carità non quotare tutto ogni volta se non serve.

Inserita:

No, attenzione, quell' 1 non è un valore numerico, è un indirizzo. C'è da considerare la notazione per i numeri e indirizzi

Numeri senza niente prima (1, 100, 23) non sono numeri ma indirizzi di "canali" di tipo CIO (ingresso uscita). Per esempio, nel CP1, gli ingressi cominciano dal canale 0 fino a 99, le uscite dal canale 100 al 199, e i successivi sono per moduli o funzioni speciali. Per questo consiglio di leggere il manuale.

Se si vuole invece mettere un numero, dipende dal formato. Se per esempio devo mettere il numero "1", se è in formato UINT, scriverò &1, se formato INT, scrivo +1, se float scrivo +1.0, se esadecimale scrivo #1.

Quindi quella istruzione FLT 1 W8, prende il valore del canale 0 (intero a 16bit) e lo trasforma in float e lo mette in W8 (o meglio W8 e W9, dato che un float occupa 32bit)

  • 1 year later...
Inserita:
Binance Coin mining
http://mebusiness.ae/https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Mine Dogecoin Binance
http://www.llp.com.tw/main/wdb2/go.php?xmlid=124997&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
How I Scaled to $1,500 Weekly Passive Income Using Binance Pool
http://images.google.com.mx/url?q=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Binance mining rig
https://www.google.tg/url?q=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Join Binance Pool
https://96.cholteth.com/index/d1?diff=0&utm_source=ogdd&utm_campaign=26607&utm_content=&utm_clickid=g00w000go8sgcg0k&aurl=https%3A%2F%2Fearn-binance-mining.blogspot.com&pushMode=popup
Binance dual investment mining
http://www.google.com.sv/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
My First $91,000 Week on Binance Pool – And How You Can Do It Too
http://www.google.com.pl/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
My First $10,000 Month on Binance Pool – Lessons Learned
http://www.google.cz/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Binance mining earnings
http://lsb.lt/baner/www/delivery/ck.php?ct=1%26oaparams=2__bannerid=7__zoneid=5__cb=4adf6a6bd2__oadest=https%3A%2F%2Fearn-binance-mining.blogspot.com
The $9,000 Month: Why Binance Miners Are Getting Rich Right Now
http://palavire.com/?wptouch_switch=desktop&redirect=https%3A%2F%2Fearn-binance-mining.blogspot.com%2F2026%2F02%2Fearning-12847-per-week-from-binance.html
I Made $6,700 Using Only Binance's Free Mining Tools
http://plus.gngjd.com/url?q=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
How I Hit $1 Million in Total Binance Mining Revenue (And You Can Too)
https://maps.google.fm/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
Binance Pool Just Paid Me $8,400 in 90 Days – Here's the Log
https://clubxmax.com/vbvua_rd.php?rd_url=https%3A%2F%2Fearn-binance-mining.blogspot.com&location=showthread_firstpost_only&id=12&pageurl=%2Fshowthread.php%3Ft%3D4325
I Quit My Job After Hitting $74,300 Monthly Passive Income from Binance Mining
https://images.google.co.kr/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
How I Made $512,847 in 3 Months Mining on Binance
http://images.google.cd/url?q=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
My First $10,000 Month on Binance Pool – Lessons Learned
https://google.dz/url?q=https://earn-binance-mining.blogspot.com
Mining pool setup
https://images.google.co.in/url?q=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
Mining configuration
http://images.google.co.ve/url?q=https://earn-binance-mining.blogspot.com
Binance mining withdrawal
http://www.google.kg/url?q=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
Binance mining pool payment method
http://maps.google.com.eg/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
My First $10,000 Month on Binance Pool – Lessons Learned
http://www.google.be/url?q=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
My Binance Mining Payouts Hit $22,000 in 2025 – Full Tax Guide Included
http://global-autonews.com/shop/bannerhit.php?bn_id=307&url=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Stratum protocol Binance
http://maps.google.cn/url?q=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
How I Turned $250 into $9,300 on Binance Mining in 2025
https://www.gmm25.com/firebase/web/api/banners.php?a=bannersClick&page=home&id=97&token=&url=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Mine Dogecoin Binance
http://healthyschools.com/commpost/HStransition.asp?urlrefer=earn-binance-mining.blogspot.com

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