Esercitazione in aula informatica - Automazione@ingre
Transcript
Esercitazione in aula informatica - Automazione@ingre
Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Università degli Studi di Ferrara PLC CodeSys Esercitazione 6 Francesca Fanfoni [email protected] Indice Esercitazione 6 Carroponte -Soluzione modulare. Un modulo ha un’interfaccia verso l’esterno (variabili di ingresso e di uscita), un diagramma degli stati a cui corrisponde un programma in testo strutturato. Vengono utilizzate le librerie: - Libreria per gestione nastri - Libreria per gestione organo di presa - Librerie grafiche di CodeSys [email protected] Carroponte gripper nastro di ingresso nastro di uscita sensore 3 Un esempio – Una automazione a carro ponte ּסOgni modulo ha un diagramma degli stati che definisce il funzionamento di una parte della macchina in modo indipendente dagli altri moduli ּסChi controlla la macchina? – è necessario definire un modulo Macchina che impartisce i comandi ai moduli e gestisce la loro sincronizzazione si chiama Machine Controller 4 Un esempio - Una automazione a carro ponte ּסImplementa la funzione principale della macchina ּסDiagramma degli stati Attesa di riceve un comando START Avvio il nastro di ingresso Pezzo arrivato Pezzo uscito Avvio il nastro di uscita Avvio il gancio per fare la presa Pezzo arrivato sul nastro di uscita 5 Modulo NASTRO ּס Interfaccia: – Cmd dovete elencare i comandi che possono essere eseguiti • Avviamento BOOL – Ack dovete elencare gli acknoledge che confermano l’esecuzione di un comando • Avviato BOOL ּסDiagramma degli stati: Attesa di riceve un comando NOT Nastro.Cmd.Run Nastro.Cmd.Run Nastro.Cmd.Reset Malfunzionamento Esecuzione comando Errore 6 Modulo GRIPPER NOT Gripper.Cmd.Manual Attesa di riceve un comando Gripper.Cmd.Manual Macrostato di funzionamento in manuale Gripper.Cmd.Automatic Spostamento a destra NOT Gripper.Cmd.Automatic Esecuzione del prelievo Spostamento a sinistra Gripper.Cmd.Reset Attesa selezione comando Salita Errore Malfunzionamento Errore Discesa IEC 61131-3, 3rd Ed - TASK “a task is defined as an execution control element which is capable of calling, either on a periodic basis or upon the occurrence of the rising edge of a specified Boolean variable, the execution of a set of program organization units, which can include programs and function blocks whose instances are specified in the declaration of programs. ּסThe maximum number of tasks per resource and task interval resolution are implementation dependencies. ” CoDeSys supports the generation of multiple IEC tasks. Depending on the operating system of the target device The tasks can be either non preemptive or preemptive. The tasks can be directly configured within the programming system CoDeSys. Each task has a certain priority level (up to 32 levels). Sistemi multitasking ּס La guida di CodeSys: ּס Alcuni sistemi godono dell'esecuzione di un vero multitasking preventivo (per es. CoDeSys SP). ּס In casi come questi, si raccomanda quanto segue: Come anche in CoDeSys V2.3, tutte le attività si dividono una medesima immagine di processo. Motivo: L'esistenza di un'immagine di processo per ognuna delle attività graverebbe sulle performance. L'immagine di processo può tuttavia dimostrare consistenza solo verso un'attività. In fase di creazione di un progetto è bene tuttavia accertarsi come utente, che, in caso di conflitti, i dati input siano copiati in un'area sicura e lo stesso vale per le uscite. Per risolvere problemi di consistenza e sincronizzazione si utilizzano opportune librerie (es. libreria SysSem) Nei sistemi multitasking possono insorgere problemi di consistenza anche in caso di accesso ad altri oggetti globali (variabili globali, moduli), quando gli oggetti superano la larghezza dati del processore (strutture o matrici che costituiscono un'unità logica). Anche in questo caso, una soluzione può essere rappresentata per es. dai moduli della libreria SysSem. Task in CodeSys Monitoraggio Task ּס ּס ּס ּס Numero di cicli Tempo medio di ciclo Tempo max di ciclo Jitter minimo e massimo PLC CodeSys Francesca Fanfoni [email protected]