Open plc e factory io

GiorgM

Nuovo Utente
54
6
Salve a tutti,
Mi sto cimentando ora nell'utilizzo di openplc e factory I/O. Esistono dei manuali che potrebbero farli comprendere al meglio? Chiedo questo perché ho un po' di difficoltà anche a comprendere come implementare i programmi anche in ladder.
Inoltre so che c'è la possibilità di collegarli insieme(factory io e openplc) per implementare i plc, tramite modbus, solo che purtroppo non riesco a capire come fare. Qualcuno che sappia come fare questi passaggi? Grazie in anticipo
 
U

Utente 16812

Ospite
Dei PLC ho iniziato a parlare qui:
https://forum.tomshw.it/threads/cibernetica-e-controlli-automatici.771039/post-7455697 (e seguenti) :sisi:
Qui ho introdotto i linguaggi di programmazione dei PLC:
Ciao :sisi:

P.S. http://www.tdpgalilei.altervista.org/Ladder/Introduzione_ai_PLC.pdf (introduzione)
http://www.tdpgalilei.altervista.org/Ladder/Introduzione_alla_programmazione_dei_PLC.pdf (programmazione)
http://www.tdpgalilei.altervista.org/Ladder/Ladder_per_PLC.pdf (ladder diagram)
http://www.tdpgalilei.altervista.org/Ladder/Esercizi_plc_ladder.pdf (esercizi sul ladder) ;)
 
  • Mi piace
Reazioni: GiorgM

GiorgM

Nuovo Utente
54
6
Dei PLC ho iniziato a parlare qui:
https://forum.tomshw.it/threads/cibernetica-e-controlli-automatici.771039/post-7455697 (e seguenti) :sisi:
Qui ho introdotto i linguaggi di programmazione dei PLC:
Ciao :sisi:

P.S. http://www.tdpgalilei.altervista.org/Ladder/Introduzione_ai_PLC.pdf (introduzione)
http://www.tdpgalilei.altervista.org/Ladder/Introduzione_alla_programmazione_dei_PLC.pdf (programmazione)
http://www.tdpgalilei.altervista.org/Ladder/Ladder_per_PLC.pdf (ladder diagram)
http://www.tdpgalilei.altervista.org/Ladder/Esercizi_plc_ladder.pdf (esercizi sul ladder) ;)



Graziee mille :D
 
U

Utente 16812

Ospite
A breve ti mostrerò un esempio di conversione da schema elettrico funzionale a diagramma a contatti :asd:
A dopo ;)
 
  • Mi piace
Reazioni: GiorgM

GiorgM

Nuovo Utente
54
6
A breve ti mostrerò un esempio di conversione da schema elettrico funzionale a diagramma a contatti :asd:
A dopo ;)


Va benissimo, grazie...Volevo chiederti un altro aiuto se possibile, io dovrei programmare diciamo dei robot industriali sempre in Open plc. Ora dato che non deve essere una cosa complicata, vorrei provare a fargli fare un "movimento" in modo che questo robot possa muoversi verso un punto preciso di un pezzo da assemblare. Per caso sai come posso fare?
 
U

Utente 16812

Ospite
IL DIAGRAMMA A CONTATTI (LADDER DIAGRAM)
---------------------------------------------------------------------------------

Consideriamo il seguente schema funzionale di un semplice circuito di autoritenuta (classica configurazione marcia-arresto):

image sharing

Come vedi, ci sono due pulsanti (Pm è NA e Pa è NC), un interruttore, una bobina e le linee di collegamento.
La freccia (orizzontale) che rappresenta l'asse x indica il flusso "logico", quella verticale y indica il flusso di "potenza".
Di solito con la lettera maiuscola (ad es. U, nella figura) si indicano le bobine dei relé, con la lettera minuscola (ad es. u, nella figura) vengono indicati i contatti.
Per trasformare lo schema funzionale nello schema a contatti si opera in modo molto semplice: 1) le linee d'alimentazione vengono ridisegnate verticalmente (la linea di sinistra è quella dove c'è la tensione, quella destra è la linea della messa a terra); 2) i simboli elettrici dei pulsanti NA e NC e delle bobine vengono trasformati nei rispettivi simboli grafici del linguaggio a contatti (vedi la legenda riportata in basso, nella figura sopra); 3) il flusso logico va dall'alto verso il basso; 4) il flusso di potenza va da sinistra verso destra; 5) il circuito viene ridisegnato in orizzontale anziché in verticale.
La barra di destra, quella della messa a terra, può essere eventualmente omessa.
Nel caso in cui nello schema ci siano più circuiti, le relative linee sono poste in parallelo alla prima, questo è il motivo per cui questi diagrammi sono nominati "a scala" (ladder diagram) :asd:
Ora, dal punto di vista della logica "booleana", più contatti in serie realizzano la porta logica AND, mentre più contatti in parallelo realizzano la porta OR.
Nell'esempio considerato, Pm e u, essendo in parallelo, realizzano una porta OR (Pm+u); questa somma si trova in serie con Pa, per cui la funzione logica risultante sarà: U=(Pm+u)*Pa! (Pa! rappresenta la negazione di Pa, ossia Pa-negato).
Se costruiamo la tabella di verità di questa funzione logica finale, in pratica ritroveremo il funzionamento del circuito !
Ciò significa che lo stesso schema funzionale è derivabile sia dal diagramma a contatti che dalla sua espressione logica (ed ovviamente anche dal grafcet).
A presto ;)

P.S. Tieni presente che, in sostituzione dei simboli alfanumerici (Pm, Pa, ecc.), il ladder "operativo" riporterà i codici identificativi dei vari componenti funzionali, in base all'assegnazione delle porte I/O :sisi:
http://andreapg.altervista.org/plcintro.pdf :asd:
 
Ultima modifica da un moderatore:
  • Mi piace
Reazioni: GiorgM
U

Utente 16812

Ospite
Va benissimo, grazie...Volevo chiederti un altro aiuto se possibile, io dovrei programmare diciamo dei robot industriali sempre in Open plc. Ora dato che non deve essere una cosa complicata, vorrei provare a fargli fare un "movimento" in modo che questo robot possa muoversi verso un punto preciso di un pezzo da assemblare. Per caso sai come posso fare?

A breve risponderò alle tue richieste ma prima c'è qualcosa da spiegare :sisi:
Buona serata ;)
 
  • Mi piace
Reazioni: GiorgM

LitterallyWho

Utente Attivo
164
46
Dei PLC ho iniziato a parlare qui:
https://forum.tomshw.it/threads/cibernetica-e-controlli-automatici.771039/post-7455697 (e seguenti) :sisi:
Qui ho introdotto i linguaggi di programmazione dei PLC:
Ciao :sisi:

P.S. http://www.tdpgalilei.altervista.org/Ladder/Introduzione_ai_PLC.pdf (introduzione)
http://www.tdpgalilei.altervista.org/Ladder/Introduzione_alla_programmazione_dei_PLC.pdf (programmazione)
http://www.tdpgalilei.altervista.org/Ladder/Ladder_per_PLC.pdf (ladder diagram)
http://www.tdpgalilei.altervista.org/Ladder/Esercizi_plc_ladder.pdf (esercizi sul ladder) ;)
[OT]
Che lavoro fai? Giusto per curiosità.
 
U

Utente 16812

Ospite
IL MODBUS
------------------

Innanzitutto per "bus" si definisce quel canale attraverso il quale varie periferiche colloquiano tra loro ed è caratterizzato da una linea di alimentazione degli apparati utilizzati e da una linea bus di controllo degli apparati stessi :sisi:
In particolare i cosiddetti "bus di campo" rappresentano l'insieme dei protocolli standard che consente la comunicazione tra dispositivi "smart" (intelligenti) all'interno di un sistema denominato "campo".
Tra i vari bus di campo, il protocollo Modbus rappresenta lo standard di comunicazione più diffuso nel settore dell'elettronica industriale.
Si tratta di un'architettura di tipo Master-Slave, in cui un dispositivo funge da Master, controllando le varie attività sulla linea, e le altre unità (fino ad un massimo di 247) svolgono funzioni di Slave.
Le modalità di trasmissione sono di due tipi: 1) ASCII (il messaggio è suddiviso in byte e inviato come caratteri ASCII); 2) RTU (Remote Terminal Unit), in cui ciascun byte è formato da due caratteri esadecimale di 4 bit ciascuno (è un tipo di trasmissione seriale asincrona che avviene tramite interfacce RS-232 e/o RS-485).
Di solito quando si parla di Modbus si fa implicitamente riferimento alla modalità RTU, essendo questa nettamente più efficiente rispetto a quella ASCII.
Ciao ;)

P.S. Oggi viene utilizzata anche la trasmissione via Ethernet TCP/IP, basata sul modello Client/Server :sisi:

1590736758249.png
 
U

Utente 16812

Ospite
INTRODUZIONE ALLA ROBOTICA INDUSTRIALE
---------------------------------------------------------------------------

Va benissimo, grazie...Volevo chiederti un altro aiuto se possibile, io dovrei programmare diciamo dei robot industriali sempre in Open plc. Ora dato che non deve essere una cosa complicata, vorrei provare a fargli fare un "movimento" in modo che questo robot possa muoversi verso un punto preciso di un pezzo da assemblare. Per caso sai come posso fare?

Innanzitutto introduciamo brevemente qualche concetto importante sui robot: per "robot" (dal cecoslovacco "robota" che significa "lavoro pesante") s'intende un insieme di apparecchiature artificiali in grado di eseguire azioni in base a comandi impartiti sia autonomamente che dall'uomo (secondo delle istruzioni generiche contenute in un programma).
Nel settore della robotica industriale i robot sono utilizzati per la movimentazione dei pezzi, per vari tipi di lavorazioni (saldatura, foratura, ecc.), per l'assemblaggio di componenti meccanici e così via, di solito in ambienti inaccessibili all'uomo.
Possiamo affermare che in questi casi i robot sono "automi" che sostituiscono direttamente l'uomo :sisi:
Le connessioni non sono sotto il diretto controllo umano ma sono guidate da controlli in "retroazione" tra azionamenti e percezione.
Il programma eseguito dal micro-controller si occupa della gestione della retroazione e della movimentazione passo-passo.
Avremo dunque una struttura meccanica (simile a quella del corpo umano), formata da bracci, polsi, mani (end effector), giunti, ecc., e un'unità di governo (su micro-computer), che, come nel caso delle macchine a CN (controllo numerico), si avvale di parecchi sensori e comanda gli attuatori per il controllo dei movimenti.
I sensori (interni e esterni) sono essenzialmente dei trasduttori che rilevano alcune grandezze fisiche (temperatura, pressione, prossimità, spostamento, ecc.) e le trasformano in segnali elettrici di opportuna intensità.
Gli attuatori possono essere di vari tipi: 1) elettrici (motori elettrici); 2) pneumatici (ad aria compressa); 3) idraulici (di solito ad olio idraulico).
Ora, da un punto di vista "cinematico" un robot viene descritto come una "catena" cinematica aperta costituita da vari componenti rigidi interconnessi da giunti rotanti e/o prismatici.
La cinematica "diretta" analizza il passaggio dallo spazio dei giunti allo spazio dell'end effector, la cinematica "inversa" analizza il passaggio dallo spazio dell'end effector allo spazio dei giunti :asd:

http://nikemagic.altervista.org/download/Macchine/gen_robot.pdf (i robot in generale)
http://nikemagic.altervista.org/download/Macchine/cin_dir.pdf (cinematica diretta)
http://nikemagic.altervista.org/download/Macchine/cin_inv.pdf (cinematica inversa)

In questo modo è possibile definire il "modello cinematico" di un robot, che utilizza algoritmi matematici piuttosto complicati (basati sul calcolo matriciale, su cui al momento non mi soffermerò), elaborati al computer.
Ovviamente con gli stessi programmi viene anche sviluppata l'analisi "dinamica" del robot.
Ciao ;)

P.S. Tenendo conto di quanto illustrato, mi pare di capire che vuoi "interfacciare" un PLC direttamente con un robot industriale, senza "passare" per il controller e la programmazione "proprietaria" del robot stesso (ti ricordo, infatti, che ciascun produttore di robot fornisce un linguaggio di programmazione "proprietario" per i suoi prodotti e specifici software e controller), per fargli eseguire un determinato movimento.
Il supporto di un robot può essere fisso al suolo (cioè il robot non cambia posizione) oppure può essere mobile (su ruote o su guide), quindi immagino che tu stia facendo riferimento ai movimenti del braccio, del polso, della mano e così via.
A quale tipo di movimento ti riferisci ?
Di tipo lineare (traslatorio) o di tipo rotazionale (i gradi di libertà di un robot sono fondamentali) ?
Che tipo di sensori e attuatori dovrà usare il robot ? ;)
 
  • Mi piace
Reazioni: GiorgM
U

Utente 16812

Ospite
ADDENDUM
--------------------

La scheda processore di un PLC svolge i propri compiti in base ad un ciclo sequenziale, che prende il nome di "scansione" :sisi:
Le scansioni sono di 3 tipi: 1) sincrona in ingresso e in uscita; 2) sincrona in ingresso e asincrona in uscita; 3) asincrona sia in ingresso che in uscita.
Cosa significa ?
Nel caso del ciclo sincrono in ingresso e in uscita, ad esempio, sia la lettura che l'invio dei dati avviene contemporaneamente per tutti gli ingressi e tutte le uscite :asd:
Quindi il processore, per ogni ciclo di scansione, acquisisce le informazioni dal campo, le elabora secondo il programma contenuto in memoria ed aggiorna le uscite (rinviando le informazioni elaborate al campo).
Il tempo di risposta è sempre maggiore del tempo di scansione, per molte applicazioni ciò non rappresenta un grave inconveniente (il tempo di scansione è molto piccolo, dell'ordine dei ms).
Ora, proprio per questa particolarità di progetto, il PLC è un dispositivo inadatto al controllo diretto di un robot industriale :sisi:
Il controllo di un robot richiede l'implementazione di uno strato hardware specializzato, in grado di "leggere" impulsi ad alta frequenza da ogni servosistema e di eseguire calcoli matriciali "inversi" per la corretta gestione del sistema di posizionamento :sisi:
Solitamente un PLC si posiziona ad un livello più elevato, quale è quello di un sistema di "interfacciamento" tra il robot e altri dispositivi.
Qui ho accennato ai vari linguaggi per robot (RL - Robot Language):
Ciao ;)

P.S. Per la "prototipizzazione" di robot a scuola faccio usare Webots, didatticamente è un tool molto valido:
https://cyberbotics.com/ :sisi:
Per quanto riguarda, invece, la programmazione "offline" utilizziamo KUKA Sim Layout, in particolare per la progettazione di celle robotiche:
https://www.kuka.com/it-it/prodotti...e-progettazione-assistenza-sicurezza/kuka_sim ;)
 
Ultima modifica da un moderatore:

GiorgM

Nuovo Utente
54
6
[OT]
Che lavoro fai? Giusto per curiosità.


Studio Ingegneria informatica :D
Post unito automaticamente:

ADDENDUM
--------------------

La scheda processore di un PLC svolge i propri compiti in base ad un ciclo sequenziale, che prende il nome di "scansione" :sisi:
Le scansioni sono di 3 tipi: 1) sincrona in ingresso e in uscita; 2) sincrona in ingresso e asincrona in uscita; 3) asincrona sia in ingresso che in uscita.
Cosa significa ?
Nel caso del ciclo sincrono in ingresso e in uscita, ad esempio, sia la lettura che l'invio dei dati avviene contemporaneamente per tutti gli ingressi e tutte le uscite :asd:
Quindi il processore, per ogni ciclo di scansione, acquisisce le informazioni dal campo, le elabora secondo il programma contenuto in memoria ed aggiorna le uscite (rinviando le informazioni elaborate al campo).
Il tempo di risposta è sempre maggiore del tempo di scansione, per molte applicazioni ciò non rappresenta un grave inconveniente (il tempo di scansione è molto piccolo, dell'ordine dei ms).
Ora, proprio per questa particolarità di progetto, il PLC è un dispositivo inadatto al controllo diretto di un robot industriale :sisi:
Il controllo di un robot richiede l'implementazione di uno strato hardware specializzato, in grado di "leggere" impulsi ad alta frequenza da ogni servosistema e di eseguire calcoli matriciali "inversi" per la corretta gestione del sistema di posizionamento :sisi:
Solitamente un PLC si posiziona ad un livello più elevato, quale è quello di un sistema di "interfacciamento" tra il robot e altri dispositivi.
Qui ho accennato ai vari linguaggi per robot (RL - Robot Language):
Ciao ;)

P.S. Per la "prototipizzazione" di robot a scuola faccio usare Webots, didatticamente è un tool molto valido:
https://cyberbotics.com/ :sisi:
Per quanto riguarda, invece, la programmazione "offline" utilizziamo KUKA Sim Layout, in particolare per la progettazione di celle robotiche:
https://www.kuka.com/it-it/prodotti...e-progettazione-assistenza-sicurezza/kuka_sim ;)


Veramente molte grazie per le informazioni e il resto, davvero, e complimenti per la tua preparazione.Spiego, praticamente devo preparare un progetto, non troppo sofisticato chiaramente, per un esame all'università, che in pratica deve simulare il comportamento di un sistema di automazione, e appunto non avendo mai visto nulla di questo genere non sapevo come muovermi . Avevo pensato di creare un programma che mi permettesse di avere un impianto che abbia al suo interno due robot e un nastro trasportatore. Il primo robot( robot di tipo scada, che abbia movimenti simili a un braccio umano e che si vedono nelle fabbriche moderne) deve saldare dei pezzi ( un pezzo a, b, c), per poi farlo prelevare da un altro braccio meccanico che a sua volta lo trasporta questo pezzo saldato su un nastro che porta fuori da un impianto il prodotto finito. Diciamo che l'idea di base è da implementare tramite linguaggio SFC, ovviamente utilizzando il software open plc. Ovviamente il tutto dovrebbe essere completato con un PID, che però non ho ancora pensato.
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili