Integrazione tra automazione industriale e gestione di fabbrica Vocabolario



Documenti analoghi
Dispensa di Informatica I.1

La tecnica proporzionale

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

POLITECNICO DI TORINO

PREMESSA AUTOMAZIONE E FLESSIBILITA'

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como LOGICA DI CONTROLLO

Computer Integrated Manufacturing

Architettura hardware

Sistemi Informativi e Sistemi ERP

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

Approccio stratificato

FONDAMENTI di INFORMATICA L. Mezzalira

SISTEMI INTERESSATI ALL ACQUISIZIONE DATI

Reti LAN. IZ3MEZ Francesco Canova

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

esales Forza Ordini per Abbigliamento

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Creare una Rete Locale Lezione n. 1

La Qualità il Controllo ed il Collaudo della macchina utensile. Dr. Giacomo Gelmi

Hardware delle reti LAN

uadro Soluzione software e hardware Per le rilevazione presenze Gestione Aziendale Fa quadrato attorno alla tua azienda

BIENNIO COMUNE a tutti gli indirizzi DISCIPLINE. Quadro Orario BIENNIO COMUNE. Nuovi Indirizzi Istituti Tecnici Pagina 1 1 BIENNIO

CONTROLLO NUMERICO Z32


Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Appunti sulla Macchina di Turing. Macchina di Turing

Automazione Industriale (scheduling+mms) scheduling+mms.

Corso di Informatica

GESTIONE AVANZATA DEI MATERIALI

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Elettrico Elettronico

Simulazione di macchina: analisi virtuale del comportamento cinematico. Elio Bergamaschi

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

e automazione industriale

Lo scenario: la definizione di Internet

Corso di Informatica

scada SCADA (Supervisory Control And Data Acquisition) L acronimo SCADA Scada e industria integrata

Liceo Tecnologico. Indirizzo Elettrico Elettronico. Indicazioni nazionali per Piani di Studi Personalizzati

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Profibus vs WorldFIP WorldFip centralizzato e basato sulla schedulazione

Il Sistema Operativo (1)

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

MANUALE DELLA QUALITÀ Pag. 1 di 6

SYSTEMPRO PROGRAMMA DI CALCOLO. Xcare

Luigi Piroddi

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

Concetti di base di ingegneria del software

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

Reti e Internet: introduzione

Sommario. Introduzione 1

Telecontrollo. Come poter controllare in remoto l efficienza del vostro impianto

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

THEME Matrice di Competenza - Meccatronica

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

GESTIONE AVANZATA DEI MATERIALI

INFORMATICA 1 L. Mezzalira

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Matrice delle competenze THEME - Settore tecnologie elettriche/elettroniche con competenze parziali/ risultati di apprendimento

Dispositivi di rete. Ripetitori. Hub

A cura di Giorgio Mezzasalma

L uso della Balanced Scorecard nel processo di Business Planning

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

SOLUZIONE Web.Orders online

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

Automazione Industriale 4- Ingegneria del Software

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

EasyMACHINERY ERPGestionaleCRM. partner

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Sistemi informativi secondo prospettive combinate

GESTIONE DELLA FORMAZIONE E

CONTROLLO NUMERICO Z32

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

3. Introduzione all'internetworking

Informazioni stampa. Nuovo concetto di controllo per la lavorazione dei metalli. Beckhoff alla EMO Pad. 25, Stand G33

MANUALE DELLA QUALITÀ SEZIONE 5.1: FUNZIONAMENTO DEL SISTEMA DI GESTIONE PER LA QUALITÀ

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

INTRODUZIONE ALL' INFORMATICA

Base di dati e sistemi informativi

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

IoBirro. Birra fatta in casa con SIMATIC. Siemens AG All Rights Reserved. Industry Sector

AMBIENTE INDUSTRIALE: INTRODUZIONE AL CIM

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

OFFERTA FORMATIVA INDIRIZZI DI STUDIO

Architettura di un calcolatore

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC.

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Transcript:

Integrazione tra automazione industriale e gestione di fabbrica Vocabolario Prof. Francesco Benzi Dipartimento di Ingegneria Elettrica - Università di Pavia Via Ferrata, 1-27100 Pavia e-mail: francesco.benzi@unipv.it L integrazione nella fabbrica automatica è una realtà da tempo acquisita, anche se in costante evoluzione. È significativo che per descrivela ci si trovi ad affrontare temi, tecnologie, competenze di estrazione molto diversa rispetto alla tradizionale ripartizione degli argomenti fra i settori classici dell ingegneria e della gestione aziendale. Non deve quindi apparire strano che esperti dei singoli campi dell Ingegneria Elettrica, Elettronica, Informatica, Meccanica e della Gestione Aziendale debbano ampliare le proprie conoscenze ed esperienze in settori diversi, che proprio nella realtà industriale trovano la loro integrazione. Questa breve presentazione, con il sottotitolo di Vocabolario, propone un servizio di raccordo tra le diverse discipline, per facilitare la comprensione di alcuni termini ricorrenti, poco noti sia per il loro connotato specialistico, oppure qui utilizzati in un contesto particolare e diverso da quello usuale. La sintesi è inevitabile per il tipo di presentazione. Vengono forniti, ove opportuno, riferimenti bibliografici per approfondire gli argomenti. CIM Computer Integrated Manufacturing La fabbrica integrata attraverso l uso del calcolatore. La fabbrica è descritta nel suo complesso secondo un architettura in cui il prodotto finito è solo Fabbrica completamente automatizzata fabbrica ottimizzata Reparto di PRODUZIONE Integrazione Piramide CIM Prestazioni Quantità verticale di dati ERP SCADA PLC-IPC-DCS-PG DISPOSITIVI DI CAMPO Sistemi gestionali. ERP (Enterprise Resource Planning). MES (Manufactoring Execution Systems). Livello 4. Sistemi SCADA (Supervisory Control And Data Acquisition). HM1 Livello di area, 3. PLC (Programmable Logic Controller). DCS (Distributed Control System). Livello di cella, 2. Sensori, motori, attuatori, dispositivi con esigenze di comunicazione in tempo reale a pacchetti semplici, HMI, I/O remote, Servo- PLC, Drives-intelligenti. Livello di campo, 1. OPC, DDE Integrazione orizzontale Bus di campo, utilizzati per la comunicazione a livello di cella e a livello di sensori/attuatori. OLE (Object Linking and Embedding) OPC (OLE for Process Control) DDE (Dynamic Data Exchange)

l ultimo anello di una catena di azioni che partono dall ideazione e dalla decisione di produrre e passano attraverso la predisposizione degli strumenti necessari per la produzione (materiali, macchinari, personale), la loro acquisizione e messa in opera, l esecuzione delle lavorazioni; e proseguono, oltre la produzione, con le verifiche sul prodotto, il suo inserimento nella fase operativa o di distribuzione e che prevedono una serie di ritorni : la manutenzione e le indagini di mercato con conseguente introduzione di modifiche o varianti. Questo complesso di operazioni può essere descritto da diversi modelli, a partire da quello classico gerarchico che prevede una struttura piramidale. Al vertice della piramide è collocata la direzione aziendale, alla base il macchinario e i dispositivi per la produzione, nelle posizioni intermedie si trovano i diversi livelli di pianificazione, direzione della produzione, definizione delle celle di lavoro e di comando del processo. Accanto a questo schema di riferimento, necessariamente semplificato, ne sono proposti innumerevoli altri, per tenere conto di diverse situazioni e ambiti industriali. L integrazione avviene orizzontalmente all interno dei livelli e verticalmente tra i diversi livelli, e persegue un coordinamento stretto e ottimale fra le diverse unità per conseguire un obiettivo ritenuto desiderabile. Gli strumenti dell integrazione sono innumerevoli, ma tutti passano necessariamente attraverso la lo scambio delle informazioni, che si esprime attraverso gli strumenti di comunicazione. Quest ultima funzione non si può dare per scontata dal momento che i linguaggi utilizzati ai diversi livelli e dalle diverse unità in ogni livello sono spesso differenti, per sintassi, protocollo, tempistica. Si pensi alle differenze tra il linguaggio verbale attraverso il quale si assumono le decisioni, quello formale con cui le stesse sono descritte nei documenti, i codici e i protocolli con cui le azioni da compiere vengono distribuite alle singole unità produttive, per arrivare ai listati di programmazione delle macchine operatrici. L uso del calcolatore è critico in questa funzione. Se è vero che nei diversi ambiti agiscono calcolatori con caratteristiche estremamente diverse (dal PC d ufficio, al server, al microprocessore, al PLC, al PC industriale) è altrettanto vero che le diverse CPU offrono un interfaccia comune rispetto ad una linea di comunicazione: l informazione digitale rappresentata in forma di bit e trasmissibile in forma (generalmente) seriale su un bus di comunicazione che può essere rappresentato da un semplice doppino di rame. Bus di comunicazione Non costituisce solo il supporto fisico su cui viaggia l informazione (il doppino di rame, la fibra ottica, la linea di potenza, le onde radio), ma rappresenta soprattutto il protocollo di comunicazione, cioè l insieme di regole con cui sono convogliate, ordinate e interpretate le informazioni elementari e i messaggi che vengono scambiati tra le diverse unità affacciate sulla rete cui il bus appartiene. Se la rete è delimitata dal punto di vista geografico e funzionale, per raggruppare ad es. le diverse unità che cooperano in una fabbrica, si parla di rete locale (LAN Local Area TABELLA I - I livelli ISO/OSI. 7 APPLICAZIONE 6 PRESENTAZIONE 5 SESSIONE 4 TRASPORTO INSTRADAMENTO (NETWORK) 3 2 1 COLLEGAMENTO DEL DATO ALLA RETE (LINK) MEZZO FISICO Network). I protocolli dei diversi bus di comunicazione sono generalmente identificati attraverso un sistema di livelli che ne definiscono le proprietà a partire da quelle fisiche (supporto per la trasmissione) fino alle caratteristiche applicative (tipi di messaggi e regole di comunicazione) secondo il modello ISO/OSI (Open System Interconnession - Interconnessione di sistemi aperti) valido per tutte le reti locali, ma utilizzabile anche per reti estese, utile per definire la connessione e l'accesso di ogni dispositivo alla rete, cioè le precise modalità con cui l'informazione fornita dal singolo componente o ad esso inviata, viene codificata, trasformata e instradata sul supporto fisico che costituisce la rete. Questo processo viene descritto secondo una struttura a 7 livelli, ciascuno relativo a una parte delle operazioni; ogni livello accetta i dati provenienti dal livello superiore, esegue le operazioni di sua pertinenza e invia il risultato al livello inferiore fino a raggiungere il supporto fisico; alternativamente il flusso dei segnali si svolge in maniera inversa, dal supporto fisico alla rete. Non tutti i protocolli implementano tutti i sette livelli indicati.

In ogni caso per i protocolli che si adeguano a questo schema è assicurata la possibilità di Interconnessione, cioè lo scambio di informazioni fra livelli analoghi, grazie all'impiego di opportuni ponti o gateway. Ethernet È un protocollo di comunicazione dedicato allo scambio di dati tra computer in una rete locale (LAN). Utilizza come supporti fisici il cavo coassiale, il doppino di rame e le fibre ottiche. La versione oggi più comunemente usata impiega il doppino di rame per trasmissioni di dati a 10 Mbps (Mega bit per secondo). La tecnologia Ethernet offre versioni più veloci, tipicamente 100 Mbps, di grande interesse anche a livello industriale. Si parla di GigaEthernet per le velocità fino a 10 Gbps (Giga bps), disponibili dal 2002. Va segnalata la grande diffusione e generalità di questo protocollo che specifica solo i livelli inferiori dello schema ISO/OSI, cioè quello fisico e quello di accesso alla linea, consentendo l interconnessione con moltissimi dispositivi di diverse caratteristiche e diversi costruttori. In particolare su di esso si affacciano tutti i dispositivi e le tecnologie legate a Internet attraverso i protocolli TCP/IP, per cui risultano ad esempio facilitate le modifiche di parametri o la diagnostica a distanza attraverso il Web. Bus di campo - Fieldbus Il campo cui si fa riferimento è quello della produzione vera e propria, in cui interagiscono, scambiandosi informazioni, le unità di governo (PLC, CNC, PC), gli azionamenti, l'interfaccia operatore e i trasduttori, con lo scopo di coordinare e attuare le diverse regolazioni previste dal processo produttivo. Il flusso informativo quindi è caratterizzato dallo scambio di dati specifici e codificati secondo formati comuni a gran parte delle realizzazioni (informazioni a 8-16 bit che definiscono le variabili di stato o i riferimenti, dati logici binari per i consensi e le segnalazioni ); la velocità di scambio deve essere relativamente elevata e in molti casi garantire il sincronismo delle operazioni per ottenere la corretta temporizzazione degli algoritmi di regolazione. Per soddisfare a questi requisiti le reti LAN impiegate a livello di campo, ossia le implementazioni del fieldbus, pur adottando lo schema OSI, specificano solamente i livelli 7, 2 e 1. L'eliminazione dei livelli intermedi (definizione del formato dei dati, modalità di comunicazione fra nodi, suddivisione dei messaggi in pacchetti, loro codificazione e instradamento) è resa possibile dal fatto che il numero di nodi è limitato e il tipo di dati utilizzati, il loro formato, la loro gestione, sono piuttosto uniformi e non è quindi necessario riservare tempo ed algoritmi alla loro specificazione; in questo modo si accelerano notevolmente i tempi di trasmissione, senza pregiudicarne l'efficacia. I bus di campo sono numerosi e generalmente non interoperabili, tali cioè che non è semplice la cooperazione tra dispositivi che non utilizzino esattamente lo stesso protocollo. I tentativi di standardizzazione finora operati hanno dato risultati decisamente deludenti: sia la norma internazionale (IEC61158) sia quella europea (EN 50170) definiscono infatti specifiche comuni solo per il livello fisico, mentre le modalità di accesso alla linea e i livelli superiori prevedono in pratica tante varianti quanti sono gli standard accolti. Ad es. i protocolli PROFIBUS e FIELDBUS FOUNDATION, entrambi accettati sia dallo standard europeo, sia da quello internazionale, non possono cooperare in maniera semplice in uno stesso impianto. IEC 61158 Standard IEC 61158-3 ControlNet PROFIBUS P-NET Fieldbus Foundation- High Speed Ethernet SwiftNet WorldFip Interbus EN 50170 PROFIBUS WorldFip P-NET Fieldbus Foundation ControlNet Si rimanda alla bibliografia per la descrizione dei diversi protocolli e standard. Le tabelle riportano i nomi dei protocolli accettati negli standard sopra citati.

[GISI-AEI Bus di campo tra normativa e tecnologia - Quaderno tecnico - GISI, Milano, Settembre 2000; http://read-out.net/signpost/fieldbus.html] Unità di governo e supervisione - Intelligenza distribuita Il coordinamento delle azioni svolte nelle fasi di un processo continuo dalle diverse unità operative (industria cartaria o tessile, laminatoi), ovvero il controllo dei singoli attuatori e sensori di una macchina utensile o di un robot industriale, o la gestione di un intera fabbrica sono demandati a calcolatori con caratteristiche e livelli di potenza di calcolo diversi, organizzati tra loro attraverso un bus di comunicazione. Le architetture sono molto spesso di tipo gerarchico, ma il livello di autonomia delle diverse unità può essere molto diverso: l unità di supervisione può accentrare gran parte delle funzioni di gestione e di elaborazione, riservando agli attuatori e sensori un ruolo puramente passivo, quali recettori di segnali di comando e trasmettitori di valori delle grandezze misurate. In alternativa, e sempre più di frequente, l architettura prevede una logica di intelligenza distribuita in cui gran parte delle unità impiegate, dal supervisore al sensore, sono dotate di una CPU autonoma in grado di eseguire una parte significativa di elaborazioni (ad es. algoritmi di regolazione di corrente e velocità per gli attuatori meccanici, operazioni di taratura e verifica per i sensori), liberando in questo modo le unità di elaborazione a livello superiore da una quantità di lavoro e la rete da una parte anche significativa del traffico (DCS, Distributed Control Systems). Questa distribuzione ha un ulteriore effetto benefico sulla intera rete; si consideri ad es. il caso di una serie di azionamenti per assi e mandrino in una macchina utensile: ciascuno di essi può realizzare autonomamente le operazioni di regolazione della coppia e della velocità, utilizzando CPU, programmi ed eventualmente bus interni con caratteristiche proprietarie, operando ad es. su pochi dati, ad elevata velocità e con una rigida temporizzazione delle operazioni. Se le stesse operazioni o parte di esse fossero state eseguite dall unità di supervisione (es. un CNC), non solo questa unità sarebbe stata aggravata dell elaborazione richiesta da ciascuna delle macchine, ma anche il tipo di comunicazione relativa al bus di rete che unisce supervisore e singoli azionamenti, avrebbe dovuto rispondere alle stesse caratteristiche di elevata velocità e stretto sincronismo dei dati. Con la distribuzione delle operazioni invece l unità di supervisione può dedicarsi ad operazioni di gestione, sorveglianza e interfaccia utilizzando un protocollo ad hoc, svincolato dalle esigenze degli azionamenti. Di contro in un sistema centralizzato la tipologia di informazioni scambiata con le unità periferiche è limitata ai dati e a richieste e risposte predefinite; in un sistema ad intelligenza distribuita, oltre ai dati la rete deve gestire anche messaggi di accesso e controllo della rete, di configurazione, di stato e di errore. Una sintetica carrellata delle tipologie di unità di comando e supervisione [E. Bassi, F. Benzi: Sistemi di comunicazione per l automazione industriale- L Elettrotecnica, vol. 87, Maggio 2000] Controllore Logico Programmabile (PLC). Dalla sua nascita alla fine degli anni '60 il PLC ha svolto il ruolo di controllore di processi industriali, sostituendo dapprima e poi espandendo in modo rilevante il ruolo degli schemi a relè utilizzati originariamente per realizzare processi di automazione della produzione. Lo schema a relè, valido per operazioni semplici e ripetitive, ha subito manifestato una rigidità e una lentezza eccessive non appena doveva essere utilizzato per funzioni più complesse o che richiedevano frequenti adattamenti e variazioni della produzione. Il ruolo svolto dallo schema elettromeccanico viene quindi trasferito ad una unità di calcolo che realizza la stessa rete logica operando in sequenza con istruzioni di tipo logico (chiuso/aperto) che sostituiscono perfettamente gli stati dei relè. Vi è per la verità una differenza sostanziale, per il fatto che la logica parallela dello schema elettromeccanico è sostituita nei PLC da una logica seriale. Tuttavia la rapidità di ciclo della CPU, anche nelle prime realizzazioni, è di diversi ordini di grandezza superiore a quella degli interruttori meccanici; pertanto la scansione elettronica di tutti i nodi dello schema, cioè l'esecuzione del programma, avviene comunque in tempi molto rapidi e il tempo di reazione del PLC a variazioni degli ingressi o degli stati risulta inferiore a quello della corrispondente struttura a relè. La sequenza di operazioni del PLC è pertanto quella rappresentata in figura 2.

Elementi caratterizzanti di un PLC sono da un lato le prestazioni in termini di velocità di esecuzione delle operazioni e di complessità delle operazioni elementari, dall'altro le possibilità di interfaccia verso l'esterno con segnali Verifica stato ingressi di tipo digitale o analogico e infine le potenzialità di comunicazione. Se le potenzialità di calcolo per il processo si possono ormai considerare assestate e ampiamente coperte Esecuzione programma dalle architetture e dalle CPU disponibili anche a livello di mercato di massa, è probabilmente sugli aspetti di interfaccia e comunicazione che si devono confrontare e giudicare i Aggiornamento uscite moderni PLC, soprattutto a fronte della concorrenza proposta direttamente da sistemi basati sull'uso di PC industriali. L'interfaccia fisica con i componenti del processo da controllare è realizzata attraverso schede I/O di acquisizione Fig. 2 - Sequenza operativa del PLC e invio dei dati analogici e digitali, applicabili modularmente per consentire adeguamenti e espansioni del sistema di controllo. I cataloghi dei principali produttori offrono una varietà di schede che si caratterizzano per il numero delle porte I/O, l'adeguamento delle interfacce ai diversi tipi di sensori e le caratteristiche meccaniche necessarie per garantire l'ottimizzazione dell'impianto e il suo inserimento in condizioni di sicurezza nell'ambiente industriale. Il problema della comunicazione si può descrivere in termini di interfaccia con l'operatore e di trasmissione dei dati. L'interfaccia con l'operatore comprende la programmazione e l'aggiornamento dei programmi e l'interfaccia con l'operatore nel corso del processo. Entrambe sono fortemente determinate dal linguaggio di programmazione e dal sistema operativo scelto. I linguaggi di programmazione dei PLC sono normalizzati secondo lo standard internazionale IEC 61131-3 che sarà oggetto del seminario. Un elemento, comunque non meno importante della scelta del linguaggio, è l'ambiente operativo che tende ormai ad uniformarsi ai sistemi operativi (tipo Windows) di uso generale con evidenti vantaggi quali: - schermate per la programmazione grafica - utilizzo di finestre multiple - operazioni con mouse - menù a tendina (pull-down) - assistenza in linea con funzioni di ipertesto - verifica del software nel corso della programmazione - facile apprendimento da parte dell'operatore Controllori di moto (Schede multiasse). Vengono generalmente così indicati dei moduli per il controllo di un numero in genere limitato di assi di moto che eseguono la regolazione ad anello chiuso della posizione (nello di spazio) e della velocità di azionamenti a velocità variabile, generando in uscita i riferimenti di corrente che servono per la regolazione della coppia realizzata direttamente a bordo dell azionamento. Di un azionamento comandato da questi moduli si dice che viene utilizzato nel modo coppia (torque), escludendo il regolatore di velocità di cui è normalmente dotato. A differenza dei sistemi CNC i controllori di moto (CdM) non dispongono delle funzioni caratteristiche per il comando di macchine utensili e sono prive dell interfaccia per il colloquio con l utente dotata dei programmi per l esecuzione guidata delle lavorazioni tipiche delle macchine ad asportazione di truciolo. La loro funzione tipica è quella di schede multiasse configurabili e programmabili, utili per tutte le applicazioni di carattere generale in cui dev essere garantito il movimento coordinato tra alberi, specialmente per: semplici sincronismi di velocità, coordinamento rigido della posizione di due o più alberi meccanici (albero elettrico), coordinamento modulato degli stessi (camma elettrica),

gestione di traiettorie per pochi assi. Per essi possono naturalmente venire sviluppati degli applicativi specifici per macchine non per truciolo. La scheda può presentarsi come un modulo meccanicamente separato dagli azionamenti, come una scheda aggiuntiva da inserire in un cestello (rack) di formato normalizzato che comprenda il controllo e l alimentazione di più azionamenti o motori, oppure come scheda aggiuntiva da inserire all interno di un PC. Un modulo CdM è costituito tipicamente da: a) un alimentatore per la generazione dei diversi livelli di tensione stabilizzata necessari al funzionamento del sistema; b) un controllore, corredato di memorie EPROM, RAM ed EEPROM per l esecuzione degli algoritmi di regolazione che necessitano lo scambio di dati con il campo nonché il loro immagazzinamento; c) i circuiti destinati a ricevere dal campo (motori) i segnali di posizione generati da codificatori (encoder) o risolutori (resolver), utilizzati per la chiusura degli anelli di spazio e, dopo un operazione di derivata, di velocità; d) i segnali di ingresso/uscita per l interfaccia digitale/analogica con il processo da controllare. Tipicamente comprendono i riferimenti di corrente da inviare agli azionamenti per il controllo della coppia. Gli algoritmi utilizzati per la regolazione comprendono tipicamente regolatori PID o polinomiali ad assegnamento dei poli, con la possibilità da parte dell utente di definire i parametri sia della regolazione di base sia dei termini per la precompensazione di grandezze quali la coppia d inerzia o quella dovuta all attrito; sono previsti anche dei filtri notch per l eliminazione di disturbi. Questi moduli possono ricevere i riferimenti di posizione da un unità gerarchicamente superiore, oppure generare essi stessi le leggi di moto (profili di velocità) con caratteristiche diverse (trapezoidali, curve ad S, spline) capaci di soddisfare svariate esigenze di processo (es. limitazione del jerk). Nonostante i CdM non permettano, date la potenza di calcolo relativamente limitata, la gestione di grossi impianti, essi sono tuttavia in grado di risolvere in modo ottimale il problema di regolazione di singole macchine operatrici con un modesto incremento di meccanica. L inserimento di queste schede all interno di un PC può anche risolvere il problema di un efficace interfaccia verso l operatore. Controllo Numerico (CN), Controllo Numerico Computerizzato (CNC). Si tratta dei sistemi per la gestione del posizionamento di tavole e utensili nelle macchine utensili. Un sistema CNC è tradizionalmente diviso in due elementi: la parte meccanica della macchina Controllore CNC Macchina utensile Host Computer CPU Unità Comunicaz. Unità Programm... Unità Grafica Memoria Comando Mandrino Unità PLC Comando Assi Azionamento Mandrino I/O Digitale Azionamento Assi BUS Fig. 3- Diagramma a blocchi di un CNC

utensile e l'unità di controllo, quest'ultima definita per semplicità CNC. Le operazioni principali del CNC rientrano in due funzioni. In primo luogo analizzare le specifiche di lavorazione(part program), cioè la sequenza di codici che definiscono il movimento richiesto all'utensile o al pezzo, traducendolo in traiettorie da imporre agli attuatori (motori). In secondo luogo il CNC deve eseguire il comando degli attuatori stessi perché realizzino gli spostamenti richiesti. Uno schema classico di CNC è illustrato in Fig. 3. PC Industriali Il Personal Computer industriale rappresenta una soluzione in rapida diffusione, limitata solamente da alcune ragioni di difficile accettazione da parte degli utilizzatori di un prodotto nuovo a fronte di strutture dedicate e consolidate, come sono quelle costituite da CN e PLC nei rispettivi settori d impiego. Un limite intrinseco del PC, cioè la sua struttura dedicata ad applicazioni di carattere generale e non specifiche, è ormai superata da prodotti offerti per le applicazioni industriali in cui la potenza di calcolo è ampiamente sufficiente a implementare tutte le esigenze di una unità di comando, incluse le operazioni di gestione e quelle di regolazione. Soprattutto, sono ormai diffusi sistemi operativi che garantiscono la ripartizione precisa dei diversi programmi, i quali vengono eseguiti in parallelo (multitasking), in finestre temporali prefissate rigorosamente con un sincronismo che consente l esecuzione di cicli di operazioni veloci e affidabili (preemptive), adatti anche all'implementazione di algoritmi di regolazione. La personalizzazione del PC verso l'applicazione si ottiene con l'uso di schede I/O ed interfacce robuste di tipo analogico e digitale o con altre funzioni e con accorgimenti che rendono affidabile e semplice l'impiego del PC in ambito industriale, ad es. prevedendo modalità di inserzione e sostituzione sicura delle schede e dei connettori in una rastrelliera facilmente accessibile e protetta; il software dedicato è di uso semplice, grazie anche alla ormai familiare interfaccia Windows, con cui si possono implementare sia la tradizionale programmazione "ladder", sia i linguaggi strutturati del tipo C o a oggetti. Nel confronto PC - PLC emergono numerosi elementi a vantaggi del primo tra i quali sono decisivi: - Maggiore semplicità di adattamento con prestazioni generalmente superiori delle CPU, con strutture mono o multiprocessore che soddisfano pressoché ogni esigenza di elaborazione e calcolo; - Struttura aperta e non proprietaria della macchina che consente il ricorso a fornitori alternativi e non limita in alcun modo l'espansione o l'aggiornamento delle macchine e delle strutture; - Connettività su bus di campo diversi e intercambiabili per utilizzare tutti gli standard specifici più diffusi, senza ricorso a bus proprietari L uso dei bus di campo per il controllo in tempo reale. Se la scelta del protocollo da utilizzare non può prescindere dallo spinoso tema della varietà e mancanza di unificazione, tuttora non risolto, da un punto di vista scientifico tecnologico molto maggiore interesse va dedicato alle caratteristiche tecniche dei protocolli e alla loro rispondenza alle esigenze specifiche dei sistemi e degli azionamenti elettrici in termini di capacità (quantità di informazione gestita nell unità temporale) e di velocità di trasmissione, anche considerando che il semplice dato della velocità di trasferimento del dato (misurata in byte/s) costituisce un dato molto approssimato e poco attendibile delle prestazioni di un bus, soprattutto per le esigenze dinamiche elevate degli azionamenti elettrici. Infatti quando i diversi nodi (attuatori, motori, sensori) di un processo operano a dinamiche ridotte, come nell industria di processo, si presume che quasi tutti i moderni protocolli siano in grado di garantire un comportamento trasparente del sistema di comunicazione, i cui ritardi non interferiscono con il processo stesso. Lo stesso non vale se i componenti di una rete aumentano di numero e operano a velocità più elevate, come quando gli elementi di regolazione operano sugli anelli interni della catena di regolazione su dispositivi elettrici (controllo di corrente o coppia), oppure quando, pur intervenendo con tempistiche più lente (ad es. governando solo i riferimenti di traiettoria negli anelli esterni di regolazione) il numero di azionamenti impiegato è elevato. Allora

diventano cruciali e meritevoli di attenzione altri elementi di valutazione quale la capacità di un bus di garantire che le informazioni che sono trasmesse attraverso di esso giungano a destinazione in tempo per garantire il funzionamento effettivo, ovvero in tempo reale rispetto al sistema di controllo. In proposito è opportuno riportare alcune definizioni: - Operazione in tempo reale definita come la possibilità di utilizzare un dato scambiato sulla rete per l esecuzione diretta della regolazione. Non esiste una specifica assoluta che assicuri che un protocollo particolare operi in tempo reale, in quanto questa caratteristica dipende anche dalla dinamica del processo in esame; infatti ad esempio un bus ed un protocollo che si possono considerare come operanti in tempo reale per l industria di processo in cui sono comuni tempi di risposta di qualche decina di ms, non sono adeguati al controllo in tempo reale in ambito manifatturiero dove spesso la dinamica degli azionamenti elettrici si misura nell ordine del millisecondo o meno. In termini più generali un protocollo opera in tempo reale quando esso è in grado di certificare che la durata massima richiesta per eseguire un operazione è limitata superiormente ed è compatibile con la dinamica del processo in esame (un millisecondo o meno per operazioni concernenti l integrazione stretta di azionamenti elettrici). - Determinismo è la proprietà di un protocollo di associare ad ogni istante temporale una conoscenza complessiva della situazione di rete, in particolare di conoscere il diritto di ogni nodo di accedere al bus e il tipo di messaggio che il nodo trasferisce. - Sincronismo è la proprietà di un bus di campo di impiegare un orologio comune ad ogni evento del processo, e per i suoi diversi componenti il che implica l emissione periodica e prioritaria di un segnale di clock sulla rete. Questa proprietà è fondamentale per l implementazione di algoritmi discreti e in particolare quando ad es. diversi azionamenti devono operare in sincronismo tra loro, come ad es. per realizzare funzioni di albero o camma elettrici. Software per l automazione e l integrazione di fabbrica L integrazione dei componenti e delle funzioni all interno della fabbrica automatica si realizza attraverso l interazione appropriata delle diverse unità intelligenti. L integrazione di queste ultime è legata a sua volta alla standardizzazione su diversi livelli: periferiche, linguaggi di programmazione, CPU. Per quanto riguarda la definizione delle periferiche e delle loro modalità di interfaccia, essa si può ritenere per molti aspetti comune a diverse tipologie di unità (es. PC e PLC) e a diversi costruttori. I linguaggi di programmazione stanno trovando una base comune nello standard IEC 61131. Al contrario la CPU ha tuttora caratteristiche proprietarie: un effettiva integrazione si ottiene utilizzando software che abbia la caratteristica di adattarsi a diverse piattaforme, ovverosia diversi sistemi operativi, utilizzando appositi compilatori. Tecnologia JAVA La tecnologia JAVA, nata inizialmente per la produzione di pagine Web, offre un supporto utilizzabile anche in ambito industriale, grazie alla sua principale caratteristica che è la portabilità, cioè la facilità di trasferimento di uno stesso programma su macchine diverse. La struttura di JAVA è basata su un'architettura a due livelli consistenti in una macchina virtuale Java (JVM) e in sistema di interfacce applicative (APIs) (Fig. 4 ). La macchina virtuale risiede sulla piattaforma ospite e interagisce con il programma applicativo JAVA da un lato e con il sistema operativo della macchina fisica dall'altro. L'interfaccia applicativa interagisce con il processo da controllare attraverso il programma. Il codice sorgente dell'applicazione JAVA è indipendente dalla piattaforma e viene compilato da un compilatore JAVA che produce uno pseudo-codice macchina rivolto non alla particolare CPU ospite, ma alla macchina virtuale JAVA. Il linguaggio prodotto è costituito da istruzioni scritte in JAVA Byte Code, che sono interpretate dalla JVM. Esiste quindi una JVM specifica pressoché per ogni piattaforma di calcolo in uso. Di conseguenza un programma JAVA può essere esportato in modo semplice e diretto senza bisogno di alcuna riscrittura o adattamento. Fig. 4 - Architettura Java (Spectrum, Dicembre 1998)

Nell'ambito in cui si sono sviluppate (gestione dei dati e delle informazioni nel Web) le applicazioni JAVA (Applet) vengono utilizzate con la modalità client/server, essendo messe a disposizione dell'utente sulla base delle sue richieste. Per queste caratteristiche, unitamente alla portabilità, queste stesse applicazioni si prestano all'uso in ambito industriale, dove una stesso programma (ad es. un regolatore per la gestione di assi) può essere utilizzato con poche varianti su diverse macchine e in quanto tale consente l'integrazione di diversi componenti in un unico impianto. Si noti che l'estrema portabilità consente non solo di risparmiare sul tempo di riprogrammazione e adattamento da una macchina e da un sistema all'altro, ma anche di garantire una maggiore affidabilità dell'impianto dal momento che possono essere utilizzate senza modifiche le routine già ampiamente collaudate. La tecnologia JAVA costituisce inoltre un ponte di collegamento importante tra i diversi livelli della gestione di fabbrica. In figura 5 sono riportati i principali livelli di uso dei programmi in ambito dell'automazione. Nella parte alta i programmi di gestione e supervisione della produzione, comprendente fra le altri le funzioni di gestione degli ordini, pianificazione delle risorse, gestione e processo delle informazioni e sistema CAD/CAM per il progetto della lavorazione. Sul livello inferiore, corrispondente appunto a quello di campo, si trovano i componenti di fabbrica, fra i quali attuatori, sensori, PLC, interfacce con gli operatori. Dal momento che le macchine che realizzano queste funzioni sono intrinsecamente diverse per caratteristiche e potenzialità di calcolo (dalla workstation al microcontrollore del PLC), un linguaggio indipendente dalla piattaforma come JAVA consente di integrare in maniera significativa i due sistemi, utilizzando routine che possono realmente comunicare tra di loro sia pure perseguendo ciascuna i propri obiettivi con gestione dei dati e tempistiche completamente diversi. Non si può tuttavia trascurare il fatto che mentre le applicazioni JAVA possono facil-mente sostituirsi ai sistemi software ad alto livello tradizional-mente utilizzati per la gestione della fabbrica, trattandosi di fatto di un linguaggio molto vicino alla struttura ad oggetti di C++, esse presentano tuttora alcuni importanti problemi di implementazione quando si tratta di realizzare gli algoritmi in tempo reale richiesti dalle applicazioni di Fig. 5 - Architettura di fabbrica interconnessa con applicazioni Java. (Spectrum, Dicembre 1998) controllo degli attuatori e dei componenti, realizzati di norma con linguaggi ASSEMBLER o comunque di basso livello. Infatti questi ultimi richiedono programmi che devono essere eseguiti in cicli rapidi e soprattutto sincroni, mentre la caratteristica di programma interpretato tipico di JAVA gli conferisce limiti di velocità, che tuttavia si possono superare in prospettiva grazie all'evoluzione tecnologica dei componenti, ma soprattutto un limite quanto alla certezza dei tempi di risposta dovuta ad alcune caratteristiche intrinseche. In primo luogo, in quanto eseguito su una macchina virtuale un programma JAVA non prevede un'interfaccia diretta con l'hardware da comandare e come conseguenza non è facilmente implementabile un meccanismo di interruzione hardware che consenta il sincronismo delle esecuzioni. Inoltre la gestione della memoria è basata su un meccanismo di ottimizzazione dello spazio utilizzato che consiste nel riutilizzare in modo dinamico gli spazi di memoria, cancellando e sostituendo quelli non necessari. I tempi di esecuzione dell'algoritmo di ottimo non sono per loro natura prevedibili e producono un'ulteriore elemento di impredicibilità dei tempi di esecuzione.

Se questi elementi sembrerebbero compromettere l'impiego di JAVA per le applicazioni di campo, si osserva d'altro canto che un linguaggio di programmazione aperto (cioè portabile), unito ad un sistema di interconnessione anch'esso aperto rappresenta uno strumento molto attraente per ogni utilizzatore, che suggerisce sforzi di ricerca nella direzione di ovviare ai problemi accennati per ottenere un sistema di gestione delle informazioni accettabile anche in questo settore. [R.W. Atherton: Moving Java to the Factory - Spectrum, Dicembre 1998] OPC (OLE for Process Control) OPC è uno standard di software industriale, nato dalla collaborazione tra numerosi produttori mondiali di software e hardware per definire un interfaccia comune di comunicazione in ambito industriale, basata sulla tecnologia OLE/COM/DCOM della Microsoft, che renda indipendenti le applicazioni dall hardware utilizzato. Di conseguenza gli utilizzatori sono facilitati sia nell apprendimento di un unico software, sia perché possono rivolgersi a diversi costruttori, purché questi operino all interno dello standard. Al tempo stesso i programmatori di software possono in buona parte prescindere dalla specificità dei prodotti cui sono destinate le applicazioni. Uno dei principi su cui sono basate le applicazioni OPC è la tecnologia OLE, sviluppata dalla Microsoft e sperimentata a lungo in innumerevoli applicazioni di software di uso generale. Il termine significa Fig. 6 - Architettura industriale realizzata con applicazioni OPC. Object Linking and Embedding, Collegamento e Integrazione degli Oggetti) in cui si fa riferimento alle singole applicazioni software come oggetti che possono essere utilizzati con un semplice richiamo da programmi diversi, in quanto sono autosufficienti, facilitando così applicazioni di utilizzo semplice e immediato (Plug and Play). Lo standard OPC è basato su una architettura client/server che consente il collegamento di diversi clienti (dispositivi prodotti da costruttori diversi) a un unico server; e viceversa la comunicazione di diversi server verso uno stesso cliente. La figura 6 rappresenta il vasto campo di utilizzo delle applicazioni OPC, dalla gestione di fabbrica al campo, caratterizzate, a seconda dell impiego, da specifiche con diverse tipologie: Data Access (funzionalità on-line), Alarm & Events, Historical (archivio degli eventi), Batch (trasmissione di programmi). La programmazione delle applicazioni avviene utilizzando i linguaggi di più ampia diffusione quali C/C++, Visual Basic, Delphi. Le piattaforme utilizzabili comprendono naturalmente le diverse

versioni di Windows, Windows NT, compreso Windows CE, e applicazioni OPC sono sviluppate anche in LINUX. Il meccanismo di collegamento dei clienti OPC a un processo prevede una sequenza di operazioni, prima delle quali è la localizzazione di un server OPC su un PC o su una LAN, operazione facilitata dalla funzionalità COM di Microsoft, che fornisce automaticamente una lista di tutti i server OPC disponibili. Successivamente si deve creare un collegamento diretto tra gli items della configurazione del server e quelli corrispondenti del cliente, per realizzare la funzionalità specifica. La tecnologia OPC si può considerare un buon esempio di standard de facto, basato sul predominio commerciale dei prodotti cui fa riferimento. Elementi dei CNC: http://www.mmsonline.com/articles/cnc98intro.html Tutorial indipendente sui PLC: http://www.plcs.net/ Fieldbus e LAN: http://read-out.net/signpost/fieldbus.html; http://www.unipv.it/electric/azionamenti/comunicazione/comunicazione.htm Terminologia e definizioni di informatica e comunicazioni digitali: http://webopedia.internet.com/