Dipartimento di Informatica e Sistemistica METODOLOGIE, STANDARD E LINGUAGGI OBJECT ORIENTED Alessandro DE CARLI Anno Accademico 2006-07 METODOLOGIE ORIENTATE AGLI OGGETTI ASPETTI INNOVATIVI NELL’AUTOMAZIONE INDUSTRIALE, LE ATTIVITÀ INGEGNERISTICHE SONO ORIENTATE ALLA REALIZZAZIONE DI SISTEMI DI AUTOMAZIONE CHE CONSENTANO DI MIGLIORARE L’EFFICIENZA, LA PRODUTTIVITÀ ED IL RENDIMENTO DEI SINGOLI IMPIANTI È DI FONDAMENTALE IMPORTANZA RIDURRE I TEMPI CHE INTERCORRONO TRA LA PROGETTAZIONE E L’INSTALLAZIONE DEGLI IMPIANTI E MANTENERE IL SISTEMA DI PRODUZIONE SEMPRE IN CORRETTE CONDIZIONI DI FUNZIONAMENTO PER TUTTO IL SUO CICLO DI VITA PER REALIZZARE QUESTI OBIETTIVI È NECESSARIA UNA INTEGRAZIONE TOTALE TRA SISTEMI, APPARECCHIATURE, SOFTWARE DI CONNESSIONE DELLA STRUMENTAZIONE, SOFTWARE DI TRASMISSIONE DATI E INFORMAZIONI E DELLE ATTIVITÀ GESTIONALI ASPETTI INNOVATIVI 2 METODOLOGIE ORIENTATE AGLI OGGETTI PER MIGLIORARE L’ACCESSO ALLE INFORMAZIONI DEI DISPOSITIVI DI CAMPO VENGONO UTILIZZATE LE TECNOLOGIE E GLI STANDARD DEI BUS DI CAMPO (FIELDBUS, PROFIBUS) LA NECESSITÀ DI CONTROLLARE ED ACCEDERE ALLE INFORMAZIONI CHE DEFINISCONO I DIVERSI ASPETTI DI UN GRAN NUMERO DI ELEMENTI FISICI, PORTA ALLA MODELLAZIONE DELL’IMPIANTO CON STRUTTURE ORIENTATE AGLI OGGETTI PER GLI ASPETTI CHE RIGUARDANO LA STRUTTURA, LA REALIZZAZIONE E IL CONTROLLO • PER AUMENTARE LE CAPACITÀ DECISIONALI E GESTIONALI DEGLI OPERATORI OCCORRE REALIZZARE UN PORTALE DI TIPO WEB CON AMBIENTE DI NAVIGAZIONE BROWSER PER L’ACCESSO SIA AI DATI REAL-TIME SIA AI DATI STORICI DELL’IMPIANTO ATTUALMENTE NELL’AUTOMAZIONE INDUSTRIALE VENGONO UTILIZZATE METODOLOGIE SVILUPPATE INIZIALMENTE PER APPLICAZIONI TIPICHE DELL’INFORMATICA, COME AD ESEMPIO LA MODELLAZIONE ORIENTATA AGLI OGGETTI E LO SVILUPPO DI APPLICAZIONI DEL TIPO WEB SERVER aspetti innovativi 3 METODOLOGIE ORIENTATE AGLI OGGETTI UNITÀ OPERATIVE GESTIONE DELLA PRODUZIONE MANUTENZIONE OTTIMIZZAZIONE DELLE RISORSE PIANIFICAZIONE E PROGRAMMAZIONE ASPECT INFORMAZIONI CENTRALIZZATE ORIENTED CICLO DI VITA IDEE PROGETTAZIONE INSTALLAZIONE INGEGNERIZZAZIONE DI IMPIANTO INGEGNERIZZAZIONE DI PROCESSO RISORSE FUNZIONAMENTO MANUTENZIONE DISPOSITIVI DI CAMPO INTERAZIONE TRA L’ AUTOMAZIONE E PROCESSI PRODUTTIVI 4 METODOLOGIE ORIENTATE AGLI OGGETTI DISEGNI COSTRUTTIVI DIAGRAMMI DEI COLLEGAMENTI INFORMAZIONI SULLA MANUTENZIONE INFORMAZIONI SULLA UBICAZIONE INFORMAZIONI SULLA QUALITÀ VIDEO DEL FUNZIONAMENTO DIFFERENTI ASPETTI DI UN OGGETTO INTERAZIONE TRA L’ AUTOMAZIONE E PROCESSI PRODUTTIVI 45 METODOLOGIE ORIENTATE AGLI OGGETTI GESTIONE DEGLI ASPETTI DI UN OGGETTO CON SOFTWARE SPECIALISTICI OGGETTO REALE SUDDIVISIONE IN OGGETTI ASTRATTI SOFTWARE SPECIALISTICI ASPETTI VENGONO EVIDENZIATI CON SOFTWARE SPECIALISTICI GLI ASPETTI CARATTERIZZANTI DI CIASCUN OGGETTO AL FINE DI ARCHIVIARE, DI GESTIRE, DI AGGIORNARE E DI PRESENTARE IN TEMPO REALE LE RICHIESTE DI INFORMAZIONE IL RISULTATO È UN SISTEMA APERTO DI SOFTWARE SPECIALISTICI INDIPENDENTI, REALIZZATI IN MODO CHE POSSANO ESSERE AGGIUNTI SOFTWARE NON PREVISTI IN FASE INIZIALE SENZA ALTERARE QUELLI GIÀ IN FUNZIONE IMPLEMENTAZIONE DEGLI ASPETTI 6 METODOLOGIE ORIENTATE AGLI OGGETTI MODELLAZIONE DI UN IMPIANTO CON STRUTTURE AD OGGETTI STRUTTURA FUNZIONALE STRUTTURA FISICA STRUTTURA BATCH PER NAVIGARE TRA LE VARIE STRUTTURE SI UTILIZZA UN BROWSER EXPLORER GLI OGGETTI VENGONO INSERITI, CANCELLATI O SPOSTATI AGGIUNGENDO CANCELLANDO E MODIFICANDO DINAMICAMENTE GLI ASPETTI STRUTTURALI STRUTTURE MULTIPLE 7 METODOLOGIE ORIENTATE AGLI OGGETTI LE TIPOLOGIE DI OGGETTI DEFINISCONO UN INSIEME DI CARATTERISTICHE CONDIVISE DA TUTTI GLI ELEMENTI DI UNA CLASSE CIÒ RENDE POSSIBILE IL RIUTILIZZO DI IMPLEMENTAZIONI STANDARD IN PROBLEMI RICORRENTI IL MODELLO A OGGETTI SUPPORTA IL CONCETTO DI EREDITARIETÀ E LE MODIFICHE APPORTATE AD UNA TIPOLOGIA DI OGGETTI POSSONO ESSERE AUTOMATICAMENTE RISPECCHIATE IN TUTTI GLI ELEMENTI DI UNA CLASSE PER UNA MANUTENZIONE PIÙ EFFICIENTE ASPETTO TIPOLOGIE DI OGGETTI EREDITARIETÀ 8 METODOLOGIE ORIENTATE AGLI OGGETTI LIVELLO DI AMBIENTI DI LAVORO AMBIENTE DI LAVORO PC STANDARD AMBIENTE DI LAVORO LAN AMBIENTE DI LAVORO WIRELESS LIVELLO DEI SERVER SERVER OPC SERVER APPLICAZIONI SOFTWARE SERVER ASPECT ORIENTED LIVELLO DI CONTROLLO CONTROLLORI LOCALI DISPOSITIVI DI CAMPO PLC ARCHITETTURA DI SISTEMA 9 METODOLOGIE ORIENTATE AGLI OGGETTI INTERNET PROTEZIONE RETE INTRANET RETE D’ IMPIANTO PORTALE WEB WIRELESS LAN O BLUETOOTH ROUTER RETE CLIENT-SERVER IEEE802 E TCP-IP SERVER OPC SERVER CONFIGURAZIONE SERVER APPLICAZIONI RETE DI CONTROLLO IEEE802 E TCP-IP CONTROLLER BUS DI CAMPO ARCHITETTURA DI SISTEMA CONTROLLER BUS DI CAMPO 10 METODOLOGIE ORIENTATE AGLI OGGETTI STAZIONE OPERATORE ASPECT OBJECTS SISTEMA DI MANUTENZIONE MES PIATTAFORMA DI INTEGRAZIONE CONNESSIONE DISPOSITIVI CONNESSIONE DISPOSITIVI APPLICAZIONI FUTURE FIELDBUS DISPOSITIVI DI CAMPO ARCHITETTURA FUNZIONALE 11 METODOLOGIE ORIENTATE AGLI OGGETTI UN PORTALE REAL-TIME È UNA INFRASTRUTTURA CHE CONSENTE LA DISTRIBUZIONE E LA PRESENTAZIONE DELLE INFORMAZIONI IN UN AMBIENTE WEB LE INFORMAZIONI SONO VISUALIZZATE ATTRAVERSO INTERFACCE CHE CONSENTONO DI AGGIORNARE I DATI IN TEMPO REALE E SONO CONFIGURABILI DALL’UTENTE PER MEZZO DI WEB PARTS LE WEB PARTS SONO COMPONENTI SOFTWARE INTERATTIVI CHE INCORPORANO DIVERSE FUNZIONI OPERATIVE PER LA PRESENTAZIONE DI EVENTI IN TEMPO REALE LO STANDARD SVG (SCALABLE VECTOR GRAPHICS) CONSENTE L’AGGIORNAMENTO IN TEMPO REALE DELLE PARTI GRAFICHE GLI STANDARD XML E SOAP (SIMPLE OBJECT ACCESS PROTOCOL) SONO GLI STANDARD UTILIZZATI PER LA COMUNICAZIONE TRA LE WEB PARTS E I SERVIZI DEL PORTALE ATTRAVERSO UN PROTOCOLLO DI COMUNICAZIONE TRA APPLICAZIONI SU INTERNET INDIPENDENTE DALLA PIATTAFORMA PORTALE WEB REAL - TIME 12 METODOLOGIE ORIENTATE AGLI OGGETTI NAVIGAZIONE SELEZIONE DI VISTE INTERAZIONI WEB PARTS DATI CORRENTI SVG DISPLAY DATI STORICI TRENDING PORTALE WEB REAL - TIME 13 METODOLOGIE ORIENTATE AGLI OGGETTI ELABORAZIONE DEI DATI AGGIORNAMENTO WEB REAL-TIME VISUALIZZAZIONE WEB INFORMAZIONI ANALISI VALIDAZIONE DATI DAL CAMPO ELABORAZIONE DEI DATI 14 METODOLOGIE ORIENTATE AGLI OGGETTI MODELLAZIONE AD OGGETTI COMPONENTI SOFTWARE PRESENTATION OBJECTS WEB PARTS APPLICATION OBJECTS COMPONENTI SOFTWARE RIUTILIZZABILI WEB SERVICES ANALISIS PLUG-IN DATA OBJECTS ELEMENTI MODELLI TEMPLATES OGGETTI SOFTWARE RIUTILIZZABILI LA CAPACITÀ DI GESTIRE EVENTI IN TEMPO REALE È APPLICATA A TUTTI I COMPONENTI DELL’INFRASTUTTURA, DALL’ACQUISIZIONE DEI DATI DI BASE AGLI STRUMENTI DI ANALISI, ALLA DISTRIBUZIONE DELL’INFORMAZIONE SUL WEB, ALL’AGGIORNAMENTO DELLA RAPPRESENTAZIONE SUL BROWSER IMPLEMENTAZIONE OBJECTS ORIENTED 15 IL LINGUAGGIO UML IN UN MONDO COSTANTEMENTE IN FERMENTO ED IN EVOLUZIONE L’ESIGENZA PRIMARIA È QUELLA DI RIDURRE L’INTERVALLO DI TEMPO CHE VA DALLA PROGETTAZIONE ALLA REALIZZAZIONE QUESTO HA DETERMINATO L’INTRODUZIONE DELLE METODOLOGIE DI PROGETTAZIONE DEL TIPO OBJECT ORIENTED NELL’AMBITO DELLA AUTOMAZIONE INDUSTRIALE PER MODELLARE GLI OGGETTI CHE COMPONGONO UN SISTEMA SI UTILIZZA IL LINGUAGGIO UML (UNIFIED MODELLING LANGUAGE) È UN LINGUAGGIO DI RAPPRESENTAZIONE E PROGETTAZIONE E NON DI PROGRAMMAZIONE (COME JAVA, VISUAL BASIC, C++..) UML COSTITUISCE UNA NOTAZIONE UNIVERSALE PER RAPPRESENTARE QUALUNQUE TIPO DI SISTEMA SOFTWARE, HARDWARE, ORGANIZZATIVO UTILIZZANDO OPPORTUNAMENTE IL SIGNIFICATO E LA NOTAZIONE PROPRIA DI UML È POSSIBILE SUDDIVIDERE LA MODELLAZIONE DI UN SISTEMA IN UNA SERIE DI SOTTOSISTEMI COERENTI E DI DIMENSIONI MINORI ASPETTI GENERALI 16 IL LINGUAGGIO UML È DEFINITO DALLO STANDARD OMG (OBJECT MANAGEMENT GROUP) DAL NOVEMBRE 1997 ALBERO GENEALOGICO DI UML 17 IL LINGUAGGIO UML SERVE PER PROGETTARE UN NUOVO SISTEMA O PER DOCUMENTARNE UNO ESISTENTE SENZA PERDERSI NEI DETTAGLI DEI LINGUAGGI DI PROGRAMMAZIONE È UNIVERSALE E PUÒ RAPPRESENTARE SISTEMI ETEROGENEI PER ARCHITETTURA, PER TECNOLOGIA, PER TIPOLOGIA APPLICATIVA PUÒ ESSERE UTILIZZATO DA PERSONE E GRUPPI CHE SEGUONO METODI DIVERSI MANTENENDO LA COERENZA DELLE INFORMAZIONI E LA COORDINAZIONE DEI GRUPPI È UN LINGUAGGIO DI MODELLAZIONE VISUALE E NON UN LINGUAGGIO DI PROGRAMMAZIONE VISUALE DEFINISCE UNO STANDARD FORMALE APPROVATO DAI COMITATI DI STANDARDIZZAZIONE NON È UN LINGUAGGIO PROPRIETARIO NON È UN MODELLO PER LA DEFINIZIONE DI INTERFACCIA COSA È UML 18 IL LINGUAGGIO UML UML È BASATO SU UN META-MODELLO INTEGRATO, COMPOSTO DA NUMEROSI ELEMENTI (CLASSI, ATTRIBUTI, MODULI) COLLEGATI TRA LORO SECONDO REGOLE PRECISE UTILIZZANDO GLI ELEMENTI DEL META-MODELLO È POSSIBILE CREARE I MODELLI PER I SISTEMI DA RAPPRESENTARE GLI ELEMENTI DEL META-MODELLO POSSONO COMPARIRE IN DIAGRAMMI DI TIPO DIVERSO ED ALCUNI ELEMENTI (AD ESEMPIO LA “CLASSE”) HANNO UN’ICONA CHE LI RAPPRESENTA GRAFICAMENTE UML È UNA RIUTILIZZAZIONE RAZIONALIZZATA DI MODELLI E DIAGRAMMI PREESISTENTI (MODELLI ENTITY-RELATIOSHIP, FLOWCHART, MODELLI OBJECT ORIENTED, DIAGRAMMI DI STATO) CHE NE ESTENDE IL SIGNIFICATO PER ADATTARSI ALLE NUOVE ESIGENZE DI MODELLAZIONE UML META-MODELLO E DIAGRAMMI 19 IL LINGUAGGIO UML DIAGRAMMI RELATIVI AL CONTROLLO DIAGRAMMI RELATIVI ALLA STRUTTURA DIAGRAMMA DI DISTRIBUZIONE DIAGRAMMA DI STATO DIAGRAMMA DEI COMPONENTI METAMODELLO DIAGRAMMA DEGLI OGGETTI DIAGRAMMA DELLE CLASSI UML DIAGRAMMA DI COLLABORAZIONE DIAGRAMMA DELLE ATTIVITÀ DIAGRAMMA DI SEQUENZA DIAGRAMMA DEI CASI D’USO DIAGRAMMI RELATIVI ALLA COMUNICAZIONE DIAGRAMMI UML 20 IL LINGUAGGIO UML DIAGRAMMA DEI CASI D’USO • COSA RAPPRESENTA IL DIAGRAMMA DEI CASI D’USO È UTILIZZATO PER MODELLARE LE FUNZIONALITÀ DEL SISTEMA PERCEPITE DA UN UTENTE ESTERNO RAPPRESENTANO LE MODALITÀ DI UTILIZZAZIONE DEL SISTEMA DA PARTE DI UNO O PIÙ UTENTI DESCRIVE LE INTERAZIONI TRA SISTEMA ED ENTITÀ ESTERNE COME UNA COLLEZIONE DI SCENARI, IN CUI OGNI SCENARIO RAPPRESENTA UNA SEQUENZA DI EVENTI LE ENTITÀ ESTERNE DETERMINANO L’INIZIO DELLA SEQUENZA DI EVENTI SONO DEFINITI “ATTORI” E POSSONO RAPPRESENTARE UN OPERATORE, O UN COMANDO PROVENIENTE DA UN ALTRO SISTEMA O DA UN DISPOSITIVO HARDWARE DIAGRAMMA DEI CASI D’ USO 21 IL LINGUAGGIO UML DIAGRAMMA DEI CASI D’USO (USE CASES DIAGRAM) PERMETTE DI INDIVIDUARE E RAFFIGURARE I DIVERSI MODI DI UTILIZZAZIONE DI UN SISTEMA DA UNO O PIÙ UTENTI ESTERNI DESCRIVE LE INTERAZIONI TRA SISTEMA ED ENTITÀ ESTERNE COME UNA COLLEZIONE DI SCENARI, IN CUI OGNI SCENARIO RAPPRESENTA UNA SEQUENZA DI EVENTI I PROTAGONISTI SONO GLI “ATTORI” DEL SISTEMA CIOÈ COLORO CHE PRENDONO PARTE AI CASI D’USO LE ENTITÀ ESTERNE DETERMINANO L’INIZIO DELLA SEQUENZA DI EVENTI GLI ATTORI POSSONO ESSERE PRIMARI COME OPERATORI, UTENTI GENERICI O CLIENTI; E SECONDARI COME SISTEMI HW E SW QUALI RETI, SISTEMI DI CONTABILITÀ O UNITÀ DI CALCOLO GLI ATTORI INTERAGISCONO CON I CASI D’USO TRAMITE ASSOCIAZIONI GENERICHE O DI GENERALIZZAZIONE O INCLUSIONE DI SEGUITO E’ RIPORTATO IL DIAGRAMMA DEI CASI D’USO DELLA PIATTAFORMA DI PERFORAZIONE DIAGRAMMA DEI CASI D’ USO 22 IL LINGUAGGIO UML • STRUTTURA I CASI D’USO SONO COMPOSTI GRAFICAMENTE PRINCIPALMENTE DA DUE ENTITÀ DISTINTE: “MODO” DI UTILIZZAZIONE DEL SISTEMA UTILIZZATORE DEL SISTEMA ATTORE CASO D’ USO • UTILIZZAZIONE IL DIAGRAMMA DEI CASI D’USO COSTITUISCE UN ECCELLENTE STRUMENTO PER STIMOLARE I POTENZIALI UTENTI AD INTERVENIRE CON LE LORO CRITICHE ED OPINIONI NELLA DEFINIZIONE DELLE FUNZIONALITÀ CHE TALE SISTEMA DOVRÀ AVERE DIAGRAMMA DEI CASI D’ USO 23 IL LINGUAGGIO UML DIAGRAMMA DELLE CLASSI CLASS DIAGRAM CLASSE: È LA DESCRIZIONE DI UN INSIEME DI OGGETTI (ELEMENTI DI UNA CLASSE) CHE CONDIVIDONO DETERMINATE CARATTERISTICHE COMUNI ATTRIBUTI: RAPPRESENTANO LE PROPRIETÀ CHE SONO CONDIVISE DA TUTTI GLI OGGETTI APPARTENENTI AD UNA DATA CLASSE OPERAZIONI: UN’OPERAZIONE RAPPRESENTA UN SERVIZIO CHE PUÒ ESSERE RICHIESTO AD UN OGGETTO APPARTENENTE ALLA CLASSE E CHE MODIFICA IL COMPORTAMENTO DEL SISTEMA A CUI L’OGGETTO APPARTIENE UN DIAGRAMMA DELLE CLASSI CONSENTE DI DESCRIVERE GLI OGGETTI CHE COMPONGONO IL SISTEMA ATTRAVERSO LE LORO ASTRAZIONI, OSSIA LE CLASSI TRAMITE OPPORTUNE RELAZIONI FRA LE CLASSI CHE COSTITUISCONO IL DIAGRAMMA, VENGONO IMPLEMENTATI I MECCANISMI DI EREDITARIETÀ SEMPLICE E MULTIPLA, POLIMORFISMO E RIDEFINIZIONE MEDIANTE LE ASSOCIAZIONI VENGONO SPECIFICATI I VINCOLI CHE LEGANO TRA LORO LE CLASSI A PRESCINDERE DAL LINGUAGGIO DI PROGRAMMAZIONE CHE VERRÀ UTILIZZATO PER L’IMPLEMENTAZIONE DEL PROGETTO DIAGRAMMA DELLE CLASSI 24 IL LINGUAGGIO UML NOME CLASSE RAPPRESENTAZIONE DI UNA CLASSE ATTRIBUT0 1 ATTRIBUT0 2 ………………. OPERAZIONE 1 OPERAZIONE 2 …………………. • UTILIZZAZIONE LA CLASSE RAPPRESENTA UN EFFICACE MECCANISMO DI ASTRAZIONE PER MODELLARE ENTITÀ DEL MONDO REALE, CHE DEVONO ESSERE POI REALIZZATE NEL SISTEMA HARDWARE E/O SOFTWARE DA SVILUPPARE VISUALIZZANO L’ELEMENTO DEL SISTEMA SOTTOPOSTO ALLA ANALISI E METTONO IN EVIDENZA I LEGAMI TRA LE VARIE ENTITÀ PRESENTI SENZA RIFERIMENTO AGLI EVENTI DI SINCRONIZZAZIONE DIAGRAMMA DELLE CLASSI 25 IL LINGUAGGIO UML • LIVELLI DI VISIBILITÀ LA VISIBILITÀ È UNA PROPRIETÀ RELATIVA AGLI ATTRIBUTI ED ALLE OPERAZIONI, CHE SPECIFICA LA POSSIBILITÀ CHE HANNO LE CLASSI DI UTILIZZARE GLI ATTRIBUTI E LE OPERAZIONI DI UNA ALTRA CLASSE. SONO CONSENTITI TRE LIVELLI DI VISIBILITÀ : • LIVELLO PUBBLICO: L’UTILIZZO VIENE ESTESO A TUTTE LE CLASSI • LIVELLO PROTETTO: L’UTILIZZO È CONSENTITO SOLTANTO ALLE CLASSI CHE DERIVANO DALLA CLASSE ORIGINALE • LIVELLO PRIVATO: SOLTANTO LA CLASSE ORIGINALE PUÒ UTILIZZARE GLI ATTRIBUTI E LE OPERAZIONI DEFINITI COME TALI A LIVELLO GRAFICO VENGONO UTILIZZATI, GENERALMENTE, SEGUENTI SIMBOLI PER DISTINGUERE I TRE LIVELLI: LIVELLO PUBBLICO: + LIVELLO PROTETTO: # LIVELLO PRIVATO : LIVELLI DI VISIBILITÀ 26 I 26 26 IL LINGUAGGIO UML • INTERFACCIA <<INTERFACE>> RAPPRESENTAZIONE DI UN’ INTERFACCIA NOME OPERAZIONE 1 OPERAZIONE 2 …………………. UN’INTERFACCIA RAPPRESENTA UN INSIEME DI OPERAZIONI CHE UNA CLASSE OFFRE AD ALTRE CLASSI UN’INTERFACCIA NON HA ATTRIBUTI MA SOLTANTO OPERAZIONI INTERFACCIA 27 IL LINGUAGGIO UML • RELAZIONI ASSOCIAZIONE: RAPPRESENTAZIONE GRAFICA È UNA CONNESSIONE CONCETTUALE TRA DUE CLASSI AGGREGAZIONE: RAPPRESENTA UNA GERARCHIA IN CUI UNA CLASSE DETTA “INTERO” È AL DI SOPRA DI ALTRE CLASSI DETTE “COMPONENTI” COMPOSIZIONE: UNA COMPOSIZIONE È UN’AGGREGAZIONE DI TIPO PIÙ FORTE IN CUI UN COMPONENTE PUÒ APPARTENERE SOLTANTO AD UN INTERO RELAZIONI 28 IL LINGUAGGIO UML • RELAZIONI REALIZZAZIONE: RAPPRESENTAZIONE GRAFICA È UNA RELAZIONE TRA UNA CLASSE ED UN’INTERFACCIA EREDITARIETÀ: È UNA RELAZIONE IN CUI UNA “CLASSE FIGLIA” PUÒ EREDITARE GLI ATTRIBUTI E LE OPERAZIONI DA UNA CLASSE PIÙ GENERICA DEFINITA “CLASSE PADRE” RELAZIONI 29 IL LINGUAGGIO UML • STRUTTURA CLASSE 1 ATTRIBUTI OPERAZIONI AGGREGAZIONE CLASSE 2 CLASSE 3 CLASSE 4 ATTRIBUTI ATTRIBUTI ATTRIBUTI OPERAZIONI OPERAZIONI OPERAZIONI EREDITARIETÀ CLASSE 5 CLASSE 6 CLASSE 7 ATTRIBUTI ATTRIBUTI ATTRIBUTI OPERAZIONI OPERAZIONI OPERAZIONI DIAGRAMMA DELLE CLASSI 30 ESEMPIO MODELLAZIONE UML DIAGRAMMA DEGLI OGGETTI IL DIAGRAMMA DEGLI OGGETTI RAPPRESENTA L’INSIEME DEGLI OGGETTI CHE COSTITUISCONO GLI ELEMENTI DI CIASCUNA CLASSE SENSORI OGGETTO POTENZIOMETRICI SENSORI CAPACITIVI SENSORI MAGNETICI DIAGRAMMA DEGLI OGGETTI SENSORI AD EFFETTO HALL SENSORI CLASSE DI POSIZIONE SENSORI OTTICI SENSORI AD ULTRASUONI 31 IL LINGUAGGIO UML DIAGRAMMA DI SEQUENZA • COSA RAPPRESENTA UN DIAGRAMMA DI SEQUENZA RAPPRESENTA LA SEQUENZA TEMPORALE DELLE INTERAZIONI CHE AVVENGONO FRA GLI OGGETTI DEL SISTEMA È UN DIAGRAMMA BIDIMENSIONALE IN CUI SU DI UN ASSE VENGONO DISPOSTI GLI OGGETTI CHE INTERAGISCONO, MENTRE SULL’ALTRO VIENE RAPPRESENTATO IL TEMPO LE INTERAZIONI TRA OGGETTI SONO COSTITUITE SCAMBIO DEI MESSAGGI CHE AVVIENE TRA ESSI DALLO • UTILIZZAZIONE RAPPRESENTANO LA SEQUENZA CON CUI SI SUSSEGUONO LE SINGOLE AZIONI, SENZA SPECIFICARE I DETTAGLI SUI COMPONENTI, EVIDENZIANDO ESCLUSIVAMENTE LA SEQUENZA TEMPORALE DEI MESSAGGI DIAGRAMMA DI SEQUENZA 32 IL LINGUAGGIO UML • STRUTTURA OGGETTO NOME 1 NOME 2 ATTORE MESSAGGIO ATTIVITÀ DELL’OGGETTO MESSAGGIO RICORSIVO DIAGRAMMA DI SEQUENZA 33 IL LINGUAGGIO UML DIAGRAMMA DI COLLABORAZIONE • COSA RAPPRESENTA UN DIAGRAMMA DI COLLABORAZIONE RAPPRESENTA L’INSIEME DEGLI OGGETTI CHE IN UN CASO D’USO COLLABORANO PER REALIZZARE IL COMPORTAMENTO DI UNO SCENARIO LA SEQUENZA DEI MESSAGGI È MENO EVIDENTE CHE NEL DIAGRAMMA DI SEQUENZA, MENTRE SONO PIÙ EVIDENTI I LEGAMI TRA OGGETTI • UTILIZZAZIONE IL DIAGRAMMA DI COLLABORAZIONE È MOLTO UTILE PER MODELLARE LA SEQUENZA DEGLI ASPETTI DI UNA PROCEDURA, METTENDO IN EVIDENZA IL LEGAME TRA I VARI OGGETTI TALI OGGETTI (ELEMENTI DI UNA CLASSE) REALIZZANO TUTTI INSIEME UNA DELLE FUNZIONALITÀ RICHIESTE AL SISTEMA DIAGRAMMA DI COLLABORAZIONE 34 IL LINGUAGGIO UML • STRUTTURA OGGETTO AZIONE 1 AZIONE 3 NOME 1 NOME 3 ATTORE AZIONE 2 MESSAGGIO NOME 2 DIAGRAMMA DI COLLABORAZIONE 35 IL LINGUAGGIO UML DIAGRAMMA DI STATO • COSA RAPPRESENTA IL DIAGRAMMA DI STATO CONSENTE DI VISUALIZZARE GLI STATI CHE UN OGGETTO PUÒ ATTRAVERSARE E I PASSAGGI CHE INTERCORRONO TRA TALI STATI MOSTRA IL PUNTO DI PARTENZA ED IL PUNTO DI ARRIVO DI UNA SEQUENZA DI CAMBIAMENTI DI STATO SPECIFICA IL CICLO DI VITA DEGLI OGGETTI DI UNA CLASSE DEFINENDO LE REGOLE CHE LA GOVERNANO • UTILIZZAZIONE IL DIAGRAMMA DI STATO AIUTA GLI ANALISTI, I PROGETTISTI E GLI SVILUPPATORI A CAPIRE IL COMPORTAMENTO DEGLI OGGETTI IN UN SISTEMA GLI SVILUPPATORI DEVONO TRADURRE TALE COMPORTAMENTO IN SOFTWARE DIAGRAMMA DI STATO 36 IL LINGUAGGIO UML • STRUTTURA NOME 1 STATO INIZIALE VARIABILI CARATTERIZZANTI LO STATO STATO ATTIVITÀ TRANSIZIONE DI STATO NOME 2 NOME 3 VARIABILI CARATTERIZZANTI LO STATO VARIABILI CARATTERIZZANTI LO STATO ATTIVITÀ ATTIVITÀ STATO FINALE DIAGRAMMA DI STATO 37 IL LINGUAGGIO UML DIAGRAMMA DI ATTIVITÀ • COSA RAPPRESENTA IL DIAGRAMMA DI ATTIVITÀ PERMETTE DI RAPPRESENTARE LE ATTIVITÀ DA SVOLGERE (PROCESSI) IN MODO PARALLELO E LA LORO SINCRONIZZAZIONE È UN CASO PARTICOLARE DI DIAGRAMMA DI STATO, IN CUI OGNI STATO È UNO STATO DI ATTIVITÀ PERMETTE DI MODELLARE LE ATTIVITÀ DA SVOLGERE IN MODO PARALLELO E LA LORO SINCRONIZZAZIONE • UTILIZZAZIONE COSTITUISCE LA BASE PER LA SCRITTURA DEL CODICE NELLA FASE DI SVILUPPO DIAGRAMMA DI ATTIVITA’ 38 IL LINGUAGGIO UML • STRUTTURA ATTIVITÀ ATTIVITÀ 1 PERCORSO DECISIONALE NO BARRA DI SINCRONIZZAZIONE SI ? ATTIVITÀ 2 ATTIVITÀ 3 TRANSIZIONE ATTIVITÀ 4 DIAGRAMMA DI ATTIVITA’ ATTIVITÀ 5 PERCORSI CONCORRENTI 39 IL LINGUAGGIO UML DIAGRAMMA DEI COMPONENTI • COSA RAPPRESENTA IL DIAGRAMMA DEI COMPONENTI EVIDENZIA L’ORGANIZZAZIONE E LA DIPENDENZA ESISTENTE TRA I VARI COMPONENTI I COMPONENTI SONO MODULI DOTATI DI IDENTITÀ E CON INTERFACCIA BEN SPECIFICATA VARI COMPONENTI (COME A LIVELLO LOGICO I CASI D’USO O LE CLASSI) POSSONO ESSERE RAGGRUPPATI PER FORMARE UN INSIEME • UTILIZZAZIONE PERMETTONO DI ILLUSTRARE LA VISIONE STATICA DELLA REALIZZAZIONE DEL SISTEMA E PERTANTO SONO STRETTAMENTE CONNESSI AI DIAGRAMMI DELLE CLASSI CIASCUN COMPONENTE È UN CONTENITORE DI CLASSI E INTERFACCE DIAGRAMMA DEI COMPONENTI 40 IL LINGUAGGIO UML • STRUTTURA COMPONENTE [NOME SOTTOSISTEMA] NOME COMPONENTE 1 [NOME PACKAGE] NOME COMPONENTE 2 [NOME PACKAGE] NOME COMPONENTE 1 DIAGRAMMA DEI COMPONENTI RELAZIONE DI DIPENDENZA 41 IL LINGUAGGIO UML DIAGRAMMA DI DISTRIBUZIONE • COSA RAPPRESENTA IL DIAGRAMMA DI DISTRIBUZIONE MODELLA LA STRUTTURA HARDWARE DI UN SISTEMA EVIDENZIANDO LA CONFIGURAZIONE DEI NODI DI ELABORAZIONE IN AMBIENTE DI ESECUZIONE E GLI OGGETTI UBICATI IN QUESTI NODI • UTILIZZAZIONE PERMETTONO DI RAPPRESENTARE A DIVERSI LIVELLI DI DETTAGLIO L’ARCHITETTURA FISICA DEL SISTEMA, MOSTRANDO COME SONO CONFIGURATE E ALLOCATE LE UNITÀ HARDWARE E SOFTWARE PER UNA APPLICAZIONE DIAGRAMMA DI DISTRIBUZIONE 42 IL LINGUAGGIO UML • STRUTTURA CONNESSIONE TRA NODI APPLICATION SERVER TCP/IP TCP/IP CLIENT DATA SERVER NODO DIAGRAMMA DI DISTRIBUZIONE 43 IL LINGUAGGIO UML SOTTOSISTEMA CONSENTE DI SUDDIVIDERE UN SISTEMA IN SOTTOSISTEMI COSTITUITI DA ELEMENTI OMOGENEI, CHE POSSONO ESSERE DI: • NATURA LOGICA (CLASSI, CASI D’ USO, ….) • NATURA FISICA (MODULI, TABELLE, ….) • ALTRA NATURA (PROCESSORI, RISORSE DI RETE, ….) OGNI ELEMENTO APPARTIENE AD UN SOLO SOTTOSISTEMA UN SOTTOSISTEMA PUÒ FARE RIFERIMENTO AD ELEMENTI APPARTENENTI AD ALTRI SOTTOSISTEMI NOME PACKAGE SOTTOSISTEMA 44 IL LINGUAGGIO UML USO DEI DIAGRAMMI UML 1 DEFINIZIONE DELLE ATTIVITÀ: ATTRAVERSO COLLOQUI CON L’UTILIZZATORE VENGONO ANALIZZATE IN MODO DETTAGLIATO LE ATTIVITÀ FONDAMENTALI DEL SISTEMA, DEFINENDO UN DIAGRAMMA DELLE ATTIVITÀ 2 ANALISI DEL SISTEMA: VENGONO DEFINITI GLI ATTRIBUTI E LE OPERAZIONI DELLE VARIE CLASSI CHE COMPONGONO IL SISTEMA, PER REALIZZARE UN DIAGRAMMA DELLE CLASSI 3 CORRELAZIONE TRA I SISTEMI: VENGONO IDENTIFICATE LE RELAZIONI DI DIPENDENZA TRA I VARI SISTEMI ATTRAVERSO LA REALIZZAZIONE DI UN DIAGRAMMA DI DISTRIBUZIONE 4 PRESENTAZIONE DEI RISULTATI: TERMINATA LA RACCOLTA DELLE INFORMAZIONI VENGONO PRESENTATI I RISULTATI DELLE ANALISI ALL’UTILIZZATORE 5 COMPRENSIONE DELL’UTILIZZO DEL SISTEMA: ATTRAVERSO COLLOQUI CON I POTENZIALI UTENTI VENGONO DEFINITI GLI ATTORI E I RELATIVI CASI D’ USO, PER REALIZZARE UN DIAGRAMMA DEI CASI D’USO USO DEI DIAGRAMMI 45 IL LINGUAGGIO UML 6 ANALISI DELLE TRANSIZIONI DI STATO: DURANTE LA CREAZIONE DEI MODELLI VENGONO ANALIZZATE LE EVENTUALI TRANSIZIONI DI STATO DI OGNI OGGETTO, REALIZZANDO UN DIAGRAMMA DI STATO 7 INTERAZIONE TRA GLI OGGETTI: PER METTERE IN RELAZIONE GLI OGGETTI, DEFINITI NEI PRECEDENTI DIAGRAMMI, CON LE TRANSIZIONI DI STATO, SI REALIZZANO IL DIAGRAMMA DI SEQUENZA ED IL DIAGRAMMA DI COLLABORAZIONE 8 ANALISI DELL’INTEGRAZIONE DEL SISTEMA CON SISTEMI PREESISTENTI: SI SVILUPPA UN DIAGRAMMA DI DISTRIBUZIONE PER DEFINIRE L’ INTEGRAZIONE CON I SISTEMI PREESISTENTI O CON ALTRI SISTEMI CON I QUALI È NECESSARIO COOPERARE 9 DEFINIZIONE DEGLI OGGETTI: DALL’ANALISI DEL DIAGRAMMA DELLE CLASSI VIENE GENERATO IL DIAGRAMMA DEGLI OGGETTI 10 DEFINIZIONE DEI COMPONENTI: VENGONO VISUALIZZATI I COMPONENTI DEL SISTEMA E LE LORO DIPENDENZE, REALIZZANDO UN DIAGRAMMA DEI COMPONENTI USO DEI DIAGRAMMI 46 IL LINGUAGGIO UML 11 REALIZZAZIONE DEL CODICE: CON IL DIAGRAMMA DELLE CLASSI, IL DIAGRAMMA DEGLI OGGETTI, IL DIAGRAMMA DELLE ATTIVITÀ ED IL DIAGRAMMA DEI COMPONENTI A DISPOSIZIONE, VIENE REALIZZATO DAI PROGRAMMATORI IL CODICE PER IL SISTEMA 12 PROVE DEL CODICE 13 COSTRUZIONE DELL’ INTERFACCIA UTENTE E COLLEGAMENTO AL CODICE: UNA VOLTA CHE È A DISPOSIZIONE IL SISTEMA FUNZIONANTE E COMPLETO CON L’ INTERFACCIA UTENTE 14 INSTALLAZIONE DEL SISTEMA COMPLETO SULL’ HARDWARE APPROPRIATO 15 PROVE SUL SISTEMA INSTALLATO USO DEI DIAGRAMMI 47 IL LINGUAGGIO XML LINGUAGGIO XML • XML È L’ ACRONIMO DI EXTENSIBLE MARKUP LANGUAGE • XML È UN LINGUAGGIO DI MARKUP SIMILE AD HTML PENSATO PER DESCRIVERE DATI ED INFORMAZIONI • XML È FLESSIBILE, NON CI SONO TEICHETTE PREDEFINITE • XML È STATO ORGANIZZATO IN MODO DA FORNIRE UNA STRUTTURA AI DATI PER LA DESCRIZIONE E CONDIVISIONE DELLE INFORMAZIONI • XML È STATO ORGANIZZATO PER EFFETTUARE LO SCAMBIO E LA INTERUSABILITÀ DI DOCUMENTI SU INTERNET ASPETTI GENERALI 48 IL LINGUAGGIO XML VANTAGGI DOCUMENTI AUTODESCRITTIVI STRUTTURA NAVIGABILE DEI DOCUMENTI INDIPENDENTE DALLA PIATTAFORMA (STANDARD APERTO) STRUTTURAZIONE GERARCHICA DEI DOCUMENTI SINTASSI UNIVERSALE, MINIMALE E RIGOROSA FACILE CONVERTIBILITÀ AI FORMATI WEB APPLICAZIONI PERMETTE LO SCAMBIO DI DATI TRA APPLICAZIONI DIVERSE SUPERANDO I PROBLEMI DI COMPATIBILITÀ (INTEROPERABILITÀ) CONSENTE L’ACCESSO A DATABASE ETEROGENEI SUPERANDO I PROBLEMI LEGATI ALLA STRUTTURA E ALLA SINTASSI DEI DATI ASPETTI GENERALI 49 IL LINGUAGGIO XML COMPONENTI DI UN DOCUMENTO ELEMENTO XML BLOCCO ELEMENTARE INIZIO DELLA ETICHETTA STRUTTURA CONTENUTO CONTENUTO RAPPRESENTAZIONE FINE DELLA ETICHETTA STRUTTURA DEL LINGUAGGIO XML 50 STANDARD ISA IMPRESA STANDARD ISA SP95 PARTE3 SISTEMA DI PRODUZIONE AREA PRODUTTIVA IMPIANTO DI PRODUZIONE CONTINUA STANDARD ISA SP88 RUOLO STANDARD ISA AREA PRODUTTIVA IMPIANTO BATCH AREA PRODUTTIVA IMPIANTO DI PRODUZIONE DISCRETA STANDARD ISA SP95 PARTE 1 & 2 51 STANDARD ISA ISA SP95 (ENTERPRISE CONTROL SYSTEM INTEGRATION) LO STANDARD SP95 È UN INSIEME DI DOCUMENTI ELABORATI DAL COMITATO ISA SP95 PER SPECIFICARE IL MODELLO DI DATI E LE PRATICHE MIGLIORI PER LO SCAMBIO DI INFORMAZIONI FRA IL LIVELLO DI IMPRESA ED IL LIVELLO DI IMPIANTO FORNISCE MODELLI STANDARD E LA TERMINOLOGIA PER LA DEFINIZIONE DELLE INTERFACCE E DELLE INTERAZIONI OGNI INDUSTRIA È ORGANIZZATA DIFFERENTEMENTE DA UNA ALTRA E UTILIZZA DIFFERENTI SISTEMI DI AUTOMAZIONE E LE INFORMAZIONI SCAMBIATE SONO CODIFICATE IN MODO DIFFERENTE UN’ INTERFACCIA AUTOMATIZZATA FRA IMPRESA ED I SISTEMI DI CONTROLLO RENDE LE INFORMAZIONI ACCESSIBILI AL MOMENTO GIUSTO PERMETTENDO UN’OTTIMIZZAZIONE NOTEVOLE DELLA PRODUZIONE E DELLA UTILIZZAZIONE DELLE RISORSE STANDARD ISA SP95 52 STANDARD ISA CARATTERISTICHE DELLO STANDARD SP95 • PARTE 1 LA PARTE 1 DELLO STANDARD SP95 FORNISCE I MODELLI CON TERMINOLOGIA STANDARD CHE POSSONO ESSERE USATI PER DEFINIRE I SISTEMI DI IMPRESA ED I SISTEMI DI CONTROLLO È UN METODO ECCELLENTE PER DETERMINARE QUALI INFORMAZIONI DEDDANO ESSERE SCAMBIATE FRA I SISTEMI DI IMPRESA ED I SISTEMI DI CONTROLLO DI PRODUZIONE • PARTE 2 DEFINISCE UNA METODOLOGIA PER SVILUPPARE L’INTERFACCIA FRA I SISTEMI DETERMINANDO GLI ATTRIBUTI DI TUTTI GLI OGGETTI DEFINITI NELLA PARTE 1 I MODELLI DELLA PARTE 1 SONO LA BASE PER LA PARTE 2 STRUTTURA DELLO STANDARD ISA SP95 53 STANDARD ISA • PARTE 3 QUESTA PARTE DELLO STANDARD DETERMINA LE ATTIVITÀ ED I FLUSSI DELLE INFORMAZIONI PIÙ IMPORTANTI DEL MES (MANUFACTORING EXECUTION SYSTEM) VANTAGGI LO STANDARD SP95 È STATO SVILUPPATO CON I SEGUENTI OBIETTIVI: RIDUZIONE DEI COSTI RIDUZIONE DEI RISCHI E DEI POSSIBILI ERRORI NEI PROGETTI D’ INTEGRAZIONE MIGLIORAMENTO DELLA COMUNICAZIONE ATTRAVERSO L’INTRODUZIONE DI UNA TERMINOLOGIA STANDARD STRUTTURA DELLO STANDARD ISA SP95 54 STANDARD ISA ISA SP88 (SEQUENZE BATCH) LA NORMATIVA ISA SP88 COSTITUISCE UN MODELLO RIFERIMENTO PER LO SVILUPPO DELLE SEQUENZE BATCH DI MODELLO FISICO IL PRIMO PASSO DELLA METODOLOGIA PROPOSTA DALLO STANDARD ISA SP88 È LA COSTRUZIONE DEL MODELLO FISICO DELL’IMPIANTO CHE È GERARCHICAMENTE SUDDIVISO IN QUATTRO LIVELLI: CONTROL MODULE EQUIPEMENT MODULE UNIT PROCESS CELL STRUTTURA DELLO STANDARD ISA SP88 55 STANDARD ISA MODELLO FISICO PROCESS CELL PROCESS CELL: UN INSIEME DI APPARECCHIATURE INCLUSIVE DELLE UNITÀ DI PRODUZIONE DEL BATCH UNIT: È UN INSIEME DI CONTROL MODULE O DI UNIT EQUIPMENT MODULE IN CUI POSSONO ESSERE EFFETTUATE UNA O PIÙ ATTIVITÀ SIGNIFICATIVE DAL PUNTO DI VISTA DELLA PRODUZIONE EQUIPMENT MODULE EQUIPMENT MODULE : UN GRUPPO FUNZIONALE CONTROL MODULE CONTROL MODULE : UN INSIEME DI DISPOSITIVI DI MODELLO FISICO DI APPARECCHIATURE CHE PUÒ SVOLGERE UN NUMERO FINITO DI SEMPLICI ATTIVITÀ REGOLAZIONE O CON UN NUMERO FINITO DI STATI POSSIBILI, O ANCORA UN INSIEME DI QUESTI DISPOSITIVI CHE PUÒ ESSERE UTILIZZATO SOLO COME UN TUTTO UNO 56 STANDARD ISA ISA SP88 (SEQUENZE BATCH) LA NORMATIVA ISA SP88 COSTITUISCE UN MODELLO RIFERIMENTO PER LO SVILUPPO DELLE SEQUENZE BATCH DI MODELLO PROCEDURALE IL SECONDO PASSO DELLA METODOLOGIA PROPOSTA DALLO STANDARD ISA SP88 È QUELLO DI DEFINIRE GLI ELEMENTI PROCEDURALI CORRISPONDENTI AI VARI LIVELLI DELLE APPARECCHIATURE CHE COSTITUISCONO UN IMPIANTO, COSTRUENDO QUELLO CHE VIENE DEFINITO IL MODELLO PROCEDURALE, CHE RISULTA COSI SUDDIVISO: PHASE OPERATION UNIT PROCEDURE PROCEDURE STRUTTURA DELLO STANDARD ISA SP88 57 STANDARD ISA MODELLO PROCEDURALE PROCEDURE: LA PROCEDURA PER IL COMPLETAMENTO DI PROCEDURE UNIT PROCEDURE OPERATION UN CERTO PROCESSO. CONSISTE DI UNA SEQUENZA DI UNIT PROCEDURE NECESSARIE PER PRODURRE UN BATCH IN UNA CERTA PROCESS CELL UNIT PROCEDURE: UNA SEQUENZA DI PRODUZIONE COSTITUITA DA OPERATION SUCCESSIVE E DALLE ATTIVITÀ ACCESSORIE PER L’INIZIALIAZZAZIONE, ORGANIZZAZIONE E CONTROLLO DI QUESTE OPERAZIONI OPERATION : È UN ELEMENTO PROCEDURALE CHE DEFINISCE UN’ ATTIVITÀ DI PROCESSO INDIPENDENTE PHASE : IL PIÙ PICCOLO ELEMENTO PROCEDURALE CHE PHASE DEFINISCE UNA AZIONE SIGNIFICATIVA DAL PUNTO DI VISTA DEL PROCESSO MODELLO PROCEDURALE 58 STANDARD ISA CORRISPONDENZA TRA MODELLO FISICO E MODELLO PROCEDURALE MODELLO FISICO MODELLO PROCEDURALE PROCEDURE PROCESS CELL UNIT PROCEDURE UNIT UNIT OPERATION PHASE EQUIPMENT MODULE STRUMENTAZIONE DI PROCESSO CONTROL MODULE CORRISPONDENZA TRA MODELLI 59 STANDARD ISA SP88 EQUIPMENT MODULE EQUIPMENT MODULE CONTROL MODULE ESEMPIO IMPIANTO BATCH 60 NORME IEC STANDARD IEC PER AFFRONTARE IL PROGETTO DI MODERNI SISTEMI DI AUTOMAZIONE È NECESSARIO DEFINIRE METODI E STRUMENTI CHE PERMETTANO DI RAPPRESENTARE SISTEMI DI AUTOMAZIONE COMPLESSI IN MANIERA SEMPLICE E SICURA SIA IN FASE DI PROGETTO SIA IN FASE DI VERIFICA LA MODULARITÀ È UN ELEMENTO CRUCIALE PER AFFRONTARE LA COMPLESSITÀ DEI SISTEMI DI CONTROLLO INDUSTRIALE LA POSSIBILITÀ DI RIUTILIZZARE SOLUZIONI DI AUTOMAZIONE GIÀ SVILUPPATE RISULTA ACCRESCIUTA ATTRAVERSO L’ADOZIONE DI MODELLI FORMALI MODULARI, RIDUCENDO COSÌ I COSTI E I TEMPI RICHIESTI PER IL PROGETTO E LA REALIZZAZIONE DI NUOVI SISTEMI L’USO DI STANDARD INTERNAZIONALI GARANTISCE LA INTEROPERABILITÀ E L’INTERSCAMBIABILITÀ DELLE SOLUZIONI DI CONTROLLO DEFINITE IN PROGETTI DIVERSI. STANDARD IEC 61 NORME IEC NORMA IEC 61131 NORMA IEC 61131: DEFINISCE I LINGUAGGI STANDARD NON PROPRIETARI PER LA PROGRAMMAZIONE DEI PLC È SUDDIVISA NELLE SEGUENTI PARTI: DEFINIZIONI GENERALI HARDWARE LINGUAGGI DI PROGRAMMAZIONE LINEE GUIDA PER L’UTENTE MESSAGGI DI COMUNICAZIONE COMMUNICAZIONE VIA FIELDBUS PROGRAMMAZIONE DEI CONTROLLORI FUZZY LINEE GUIDA PER L’UTILIZZAZIONE DEI LINGUAGGI NORMA IEC 61131 62 NORME IEC 61131 LINGUAGGI DI PROGRAMMAZIONE (PARTE 3) UN LINGUAGGIO DI PROGRAMMAZIONE RAPPRESENTA LA INTERFACCIA TRA IL PROGRAMMATORE ED IL SISTEMA DI CONTROLLO LA NORMA IEC 61131-3 FORNISCE IL SUPPPORTO ADEGUATO PER GRUPPI DI LAVORO CON PERSONE DI DIFFERENTI LIVELLI O BACKGROUND CHE UTILIZZANO APPROCCI DIVERSI AL CONTROLLO SONO DEFINITI QUATTRO TIPI DI LINGUAGGI DI PROGRAMMAZIONE: DUE DI TIPO GRAFICO E DUE DI TIPO TESTUALE SINTASSI GRAFICA SINTASSI TESTUALE STRUCTURED TEXT (ST) LADDER DIAGRAM (LD) FUNCTION BLOCK DIAGRAM (FBD) ISTRUCTION LIST (IL) LINGUAGGI 63 NORME IEC 61131 LADDER DIAGRAM (LD): LINGUAGGIO A CONTATTI • UTILIZZA SIMBOLI ELETTRICI STANDARD • IDEALE PER LE APPLICAZIONI DI CONTROLLO DISCRETO E LOGICA DI ASSERVIMENTO STRUTTURA DEL LINGUAGGIO CONTATTO A1 B1 LINEA DI POTENZA DESTRA PUMP COMANDO ATTUATORE C1 PUMP := (A1 AND B1) OR C1 FLUSSO DI POTENZA LINEA DI POTENZA SINISTRA LINGUAGGI 64 NORME IEC 61131 INSTRUCTION LIST (IL) • LINGUAGGIO A BASSO LIVELLO PER L’OTTIMIZZAZIONE DELLE PRESTAZIONI DI CODIFICA • BASATO SU UNICO REGISTRO ACCCUMULATORE • È CONSENTITA UNA SOLA OPERAZIONE PER LINEA STRUTTURA DEL LINGUAGGIO LD AND N ST A B C OPERANDO OPERATORE LINGUAGGI 65 NORME IEC 61131 STRUCTURED TEXT (ST) LINGUAGGIO STRUTTURATO DI ALTO LIVELLO OTTIMALE PER LA ELABORAZIONE DI ALGORITMI COMPLESSI SONO POSSIBILI STRUTTURE COMPLESSE ED ANNIDATE FORNISCE SUPPORTO PER: CICLI ITERATIVI (REPEAT – UNTIL; WHILE – DO) ESECUZIONI CONDIZIONATE (IF – THEN – ELSE; CASE) FUNCTIONS (SQRT( ); SIN( ) ) STRUTTURA DEL LINGUAGGIO C := (A AND NOT B) LINGUAGGI 66 NORME IEC 61131 FUNCTION BLOCK DIAGRAM (FBD) • LINGUAGGIO GRAFICO PARTICOLARMENTE ADATTO ALLE APPLICAZIONI DI CONTROLLO INDUSTRIALE • PERMETTE DI PROGRAMMARE CON ELEMENTI CHE APPAIONO COME BLOCCHI, CHE POSSONO ESSERE CONNESSI CON LA STESSA MODALITÀ USATA NEI DIAGRAMMI CIRCUITALI LINGUAGGI 67 NORME IEC 61131 FUNCTION BLOCK CONFIGURAZIONE RISORSA RISORSA PERCORSO VARIABILI COMPITO COMPITO COMPITO COMPITO FB FUNCTION BLOCK PROGRAMMA PROGRAMMA FB PROGRAMMA FB FB VARIABILI PROGRAMMA FB FB FB GLOBALI PERCORSO DI ACCESSO VARIABILE ESECUZIONE COMPITI FUNZIONE DI COMUNICAZIONE MODELLO SOFTWARE 68 NORME IEC 61131 FUNCTION BLOCK È DEFINITO COME UNA SEQUENZA DI BLOCCHI FUNZIONALI CHE DOPO L’ESECUZIONE FORNISCONO UNO O PIÙ ELEMENTI IN USCITA HA UNA STRUTTURA DATI INTERNA PERMANENTE, INVISIBILE DALL’ESTERNO CHE NASCONDE L’ IMPLEMENTAZIONE AD OGNI SUA ISTANZA VIENE RISERVATA UN’ AREA DATI SPECIFICA È DEFINITO DA UNA RAPPRESENTAZIONE GRAFICA IN CUI SONO EVIDENZIATE LE INTERFACCE DI INGRESSO E DI USCITA PUÒ ESSERE PROGRAMMATO UTILIZZANDO UN QUALUNQUE LINGUAGGIO DEFINITO DALLA NORMA LINGUAGGI 69 NORME IEC 61131 MODELLO SOFTWARE SCHEDULING SEQUENZIALIZZAZIONE SENZA PRECEDENZA NON CONSENTE L’INTERRUZIONE DI UN COMPITO DA PARTE DI ALTRI CON PRIORITÀ PIÙ ALTA È SEMPLICE DA RENDERE OPERATIVO MA NON CONSENTE UNA ESECUZIONE IN TEMPO REALE SEQUENZIALIZZAZIONE CON PRECEDENZA CONSENTE L’INTERRUZIONE DI UN COMPITO DA PARTE DI ALTRI CON PRIORITÀ PIÙ ALTA CONSENTE DI ESEGUIRE IL EFFETTIVAMENTE IN TEMPO REALE SCHEDULING CONTROLLO 70 NORME IEC 61131 MODELLO SOFTWARE SCHEDULING COMPITO A, PRIORITA’ 0, INTERVALLO 100mS SEQUENZIALIZZAZIONE SENZA PRECEDENZA COMPITO B, PRIORITA’ 1, INTERVALLO 200mS COMPITO C, PRIORITA’ 2, INTERVALLO 300mS 100 200 300 400 SEQUENZIALIZZAZIONE CON PRECEDENZA 100 SCHEDULING 200 300 500 600 COMPITO C INTERROTTO 400 500 600 71 NORME IEC 61131 LIVELLI DI PORTABILITA’ PROGRAMMA APPLICAZIONE FB FB FB VARIABILI BLOCCO DI CODICE PORTABILITA’ PORTABILITA’ DELLE APPLICAZIONI PORTABILITA’ DELLE LIBRERIE DEI BLOCCHI FUNZIONALI VARIABILI VARIABILI BLOCCO DI BLOCCO CODICE DI CODICE PROGRAMMA APPLICAZIONE FB VARIABILI PORTABILITA’ DEI SISTEMI DI BASE FB FB BLOCCO DI CODICE VARIABILI VARIABILI BLOCCO DI BLOCCO CODICE DI CODICE 72 NORME IEC 61131 IL MODELLO SOFTWARE POU LO STANDARD IEC 61131 DEFINISCE PROGRAMMI, BLOCCHI FUNZIONALI E FUNZIONI DI PROGRAMMAZIONE COME PROGRAM ORGANITATION UNITS (POU) • LE POU SONO COMPONENTI DAL COMPORTAMENTO RIPETITIVO CHE POSSONO ESSERE USATE IN DIFFERENTI PARTI DI UNA APPLICAZIONE • LE POU PERMETTONO LA RIUTILIZZABILITÀ DEL CODICE DAL MACRO LIVELLO AL MICRO LIVELLO CON LE FUNZIONI DI PROGRAMMA LA IEC 61131 NON CONSENTE L’UTILIZZO DI POU RICORSIVE, PERCHÈ È DIFFICILE TESTARE SOFTWARE RICORSIVO NON ESSENDO PREDICIBILE IL SUO COMPORTAMENTO REAL - TIME MODELLO POU 73 NORME IEC 61131 IL MODELLO SOFTWARE - DIFFERENZE LA STRUTTURA TRADIZIONALE DI UN PLC ERA COMPOSTA DA UN’ UNICA RISORSA, UN UNICO TASK, UN UNICO PROGRAMMA LA NORMA IEC 61131 PROPONE UNA STRUTTURA PIÙ GENERALE APPLICABILE A SISTEMI MOLTO EVOLUTI CONFIGURAZIONE RISORSA PROGRAMMA PLC SINGOLO (CON UNA SOLA CPU) DIFFERENZE 74 NORME IEC 61131 IL MODELLO SOFTWARE - MAPPING PLC MULTIPROCESSORE: CPU INDIPENDENTI INSTALLATE IN UN UNICO RACK CONFIGURAZIONE MAPPING SISTEMA DI CONTROLLO DISTRIBUITO: PLC COLLEGATI MEDIANTE RETE DI CONTROLLO RISORSA PROGRAMMA 75 NORME IEC 61131 CONCETTO DI APPLICAZIONE E’ DEFINITO NELLA NORMA IEC 61499 E’ UN IMPORTANTE ASPETTO DEL MODELLO SOFTWARE PER I PLC CHE SONO IN GRADO DI CONTROLLARE DIVERSE PARTI DEL SISTEMA: LE APPLICAZIONI POSSONO ESSERE ESEGUITE INDIPENDENTEMENTE SOLO SE CARICATE SU DIFFERENTI RISORSE CONFIGURAZIONE RISORSA PROGRAMMA RISORSA PROGRAMMA APPLICAZIONE A APPLICAZIONE PROGRAMMA RISORSA RISORSA PROGRAMMA PROGRAMMA APPLICAZIONE B APPLICAZIONE C 76 NORME IEC 61131 SEQUENTIAL FUNCTION CHART STATI LOGICI DI FUNZIONAMENTO AZIONE STEP 1 N FILL VARIABILE INDICATORE TRANSITION 1 STEP 2 S EMPTY ACTION BLOCK TRANSITION 2 STEP 3 SFC 77 NORME IEC 61131 SEQUENTIAL FUNCTION CHART FORNISCE UNA POTENTE TECNICA GRAFICA PER DESCRIVERE IL COMPORTAMENTO SEQUENZIALE DI UN PROGRAMMA DI CONTROLLO UTILE PER SUDDIVIDERE IL PROBLEMA DEL CONTROLLO EVIDENZIA IL COMPORTAMENTO SEQUENZIALE MACCHINA E DEI SUOI COMPONENTI MOSTRA UNA DIAGNOSTICA SFC VISIONE DI INSIEME PER UNA DI UNA RAPIDA 78 NORME IEC 61804 IEC 61804 L’ESISTENZA DI DIVERSE TECONOLOGIE E DIVERSI DISPOSITIVI PER I BUS DI CAMPO DETERMINA L’ ESIGENZA DI REALIZZARE UN’ INTERFACCIA COMUNE NEI SISTEMI DI CONTROLLO DEFINISCE LA STRUTTURA DI UN SISTEMA DI CONTROLLO NECESSARIA PER AVERE UNA COMPLETA INTEGRAZIONE TRA LE DIVERSE TECNOLOGIE DI COMUNICAZIONE E REALIZZAZZIONE DEI DISPOSITIVI DI CAMPO DEFINISCE L’ ARCHITETTURA, IL MODELLO E IL CICLO DI VITA DI UN SISTEMA DEFINISCE I BLOCCHI FUNZIONALI PER REALIZZARE IL CONTROLLO COME APPLICAZIONI SOFTWARE CHE INTERAGISCONO CON GLI ATTUATORI E I DISPOSITIVI DI MISURA. NORME IEC 79 NORME IEC 61804 STRUTTURA IEC 61804 PARTE 1: DESCRIVE I REQUISITI E LA STRUTTURA PER L’USO DEI BLOCCHI FUNZIONALI NEL CONTROLLO DI PROCESSO PARTE 2: DEFINISCE LE TIPOLOGIE DI BLOCCHI FUNZIONALI SEZIONE 1: FUNZIONI COMUNEMENTE UTILIZZATE NEL CONTROLLO DI PROCESSO (AD ESEMPIO: PID) SEZIONE 2 : FUNZIONI PARTICOLARI (AD ESEMPIO: FUNZIONI BOOLEANE) NORME IEC 80 NORME IEC 61804 ESEMPIO DI APPLICAZIONE: PROCESSO CONTROLLATO VALVOVA CIRCUITO DI RAFFREDDAMENTO TC TC 2-1 2-2 TT TT 2-1 2-2 REATTORE RITORNO DEL CIRCUITO DI RAFFREDDAMENTO PRODOTTO TT 2-2 TT 2-1 INPUT FUNCTION BLOCK INPUT FUNCTION BLOCK PID FUNCTION BLOCK TC 2-2 FUNCTION BLOCK PID FUNCTION BLOCK TC 2-1 OUTPUT FUNCTION BLOCK 81 NORME IEC 61804 DEFINIZIONE DEI FUNCTION BLOCK SENSORE -ATTUATORE DISPOSITIVO DEVICE BLOCK IDENTIFICAZIONE DISPOSITIVI HARDWARE E SISTEMA OPERATIVO TECNOLOGY BLOCKS SYSTEM MANAGEMENT RISORSE DI UN DIPOSITIVO DIPOSITIVI DI MISURA E ATTUATORI APPLICAZIONI DI SINCRONIZZAZIONE APPLICATION FUNCTION BLOCKS FUNZIONALITÀ PRESENTI SOLO IN ALCUNI DIPOSITIVI SIGNAL PROCESSING INTERFACCIA DI COMUNICAZIONE FUNCTION BLOCK FUNZIONALITÀ CARATTERISTICHE DEL DISPOSITIVO 82 NORME IEC 61804 DIAGRAMMA A BLOCCHI NOME TIPO ELABORAZIONE DEI SEGNALI INPUT GESTIONE SEGNALI E PARAMETRI ALGORITMI OUTPUT ALGORITMI PARAMETRI PARAMETRO 1 PARAMETRO 2 ……. FUNCTION BLOCK DESCRIZIONE PARAMETRO 1 DESCRIZIONE PARAMETRO 2 ……….. 83 NORMA IEC 61804 FLUSSO DEI SEGNALI NELLE APPLICAZIONI DI PROCESSO SETPOINT FUNCTION BLOCK DI CALCOLO SENSORE TECNOLOGY BLOCK DISPOSITIVI DI MISURA FUNCTION BLOCK DISPOSITIVI DI MISURA FUNCTION BLOCK DI CONTROLLO ATTUATORE FUNCTION BLOCK ATTUATORI TECNOLOGY BLOCK ATTUATORI SENSORE BLOCCHI RELATIVI AI DISPOSITI DI MISURA BLOCCHI RELATIVI ALLE APPLICAZIONI DI PROCESSO FLUSSO DEI SEGNALI DI PROCESSO BLOCCHI RELATIVI AGLI ATTUATORI 84 NORMA IEC 61804 DEVICE DESCRIPTIVE LANGUAGE (DDL) IL RAPIDO SVILUPPO DELL’AUTOMAZIONE DI PROCESSO RENDE INEVITABILE L’USO DI SOFTWARE E STRUMENTI DI SVILUPPO PER LA GESTIONE DELLE APPLICAZIONI DEI DCS (DISTRIBUTED CONTROL SYSTEM) I BUS DI CAMPO REALIZZANO LA CONNESSIONE TRA DISPOSITIVI ETEROGENEI, PERMETTENDO LO SCAMBIO DI DATI TRA CONTROLLORI, SENSORI E ATTUATORI DIVENTA FONDAMENTALE LA PRESENZA DI POSTAZIONI DI LAVORO COMPUTERIZZATE SULLE QUALI SONO INSTALLATI GLI STRUMENTI CHE PERMETTONO LA VISUALIZZAZIONE DELLA CONFIGURAZIONE E DELLE CARATTERISTICHE DEI DISPOSITI DI CAMPO (PRODUTTORE, VERSIONE DEL FIRMWARE, TIPO DI DATI, …..). LO STANDARD IEC 61804 DEFINISCE LA TECNOLOGIA DDL CHE CONSENTE LA CONFIGURAZIONE OFF-LINE DEL SISTEMA DI CONTROLLO PER TUTTO IL SUO CICLO DI VITA E L’INTEGRAZIONE DI NUOVI DISPOSITIVI. DEVICE DESCRIPTIVE LANGUAGE 85 NORMA IEC 61804 FLUSSO DEI SEGNALI NELLE APPLICAZIONI DI PROCESSO MODELLI ASTRATTI SPECIFICHE PER I BLOCCHI FUNZIONALI PROFILO TECNOLOGICO IEC 61499 ISO 15745 SPECIFICHE FUNCTION BLOCK IEC 61804 FIELDBUS FONDATION RETE DI CONTROLLO PROFIBUS IEC 61804 SPECIFICHE EDD REALIZZAZIONE PRODOTTI PROFILO BASATO SULLA NORMA IEC 61804 86 NORMA IEC 61804 ESEMPIO DI APPLICAZIONE • I BLOCCHI FUNZIONALI CHE PRENDONO ORIGINE DALLA PROGETTAZIONE DEL SISTEMA DI CONTROLLO DI UN PROCESSO COSTITUISCONO UNA MODELLAZIONE ASTRATTA DEL SISTEMA E POSSONO ESSERE REALIZZATI IN MODI DIVERSI E CON DIFFERENTI DISPOSITIVI • I BLOCCHI FUNZIONALI SONO REALIZZATI DAI DISPOSITIVI DI CAMPO, DAI PLC E DALLE POSTAZIONI DI VISUALIZZAZZIONE • ANCHE I SISTEMI DI SUPERVISIONE E DI SVILUPPO POSSONO INTERAGIRE CON I BLOCCHI FUNZIONALI PER LA LORO GESTIONE ESEMPIO DI APPLICAZIONE 87 NORMA IEC 61804 PROGETTAZIONE REALIZZZIONE SISTEMA DI SUPERVISIONE IEC 61804 FB SISTEMA DI VISUALIZZAZIONE SISTEMA DI SVILUPPO TOOL COMMISSIONATI 1804 EDD FB Function Block AI_FB Member { Variable_1; ... } PLC LIBRERIE IEC 61131-3 FB FD 1 PA device DD 1 ESEMPIO DI APPLICAZIONE FD 2 DD 2 DD n DD 3 DD 2 DD 1 FD 3 FF device DD 3 FD n DD n DD - Device Description FD - Field Device PLC - Programable Logic Controller 88 NORME IEC 61499 IEC 61499 DEFINISCE I BLOCCHI FUNZIONALI PER SISTEMI CONTROLLO E SUPERVISIONE DI IMPIANTI INDUSTRIALI COSTITUISCE LO STRUMENTO DI SUPPORTO PER IL PROGETTISTA NELLO SVILUPPO DI MODELLI DETTAGLIATI DEL SOFTWARE DEL SISTEMA DI AUTOMAZIONE NONCHÉ NELLA DISTRIBUZIONE DELLE FUNZIONI DI CONTROLLO E SUPERVISIONE SUI DISPOSITIVI È BASATO SU UN MODULO FONDAMENTALE (BLOCCO FUNZIONALE) CHE RAPPRESENTA UNA UNITÀ FUNZIONALE SOFTWARE ASSOCIATA AD UNA RISORSA HARDWARE DEL SISTEMA DI CONTROLLO DEFINISCE MODELLI RIUTILIZZABILI ATTRAVERSO I PRINCIPI DI MODULARITÀ INCAPSULAMENTO E STANDARDIZZAZIONE DELLE INTERFACCE NORME IEC DI 89 NORME IEC 61499 LA NORMATIVA IEC 61499 DEFINISCE I MODELLI DI CINQUE ENTITÀ PRINCIPALI: MODELLO DEL SISTEMA SISTEMA COMPLESSIVO APPLICAZIONI FUNCTION BLOCK MODELLO DELLA APPLICAZIONE MODELLO FUNCTION BLOCK SISTEMA OPERATIVO RISORSE DISPOSITIVI HARDWARE MODELLO DELLA RISORSA MODELLO DEL DISPOSITIVO MODELLO DEL SISTEMA CONTROLLATO 90 NORME IEC 61499 IL MODELLO DI SISTEMA IL CONTROLOLO DI UN SISTEMA DI PRODUZIONE COMPLESSO È COSTITUITO DA UN INSIEME DI DISPOSITIVI ETOROGENEI, CONNESSI TRA LORO ATTRAVERSO DELLE RETI DI COMUNICAZIONE PER LO SCAMBIO DI DATI ED EVENTI I DISPOSITIVI POSSONO ESSERE CLASSIFICATI IN BASE ALLA LORO FUNZIONALITÀ NELLE SEGUENTI CATEGORIE: DISPOSITIVI DI SUPPORTO: SVOLGONO UN’AZIONE SUL CONTROLLO DI UN PROCESSO INDUSTRIALE (SISTEMI INFORMATIVI, WORKSTATION, …..) DISPOSITIVI DI CONTROLLO: PERMETTONO DI APPLICARE L’AZIONE DI CONTROLLO SUGLI ELEMENTI CHE COMPONGONO UN SISTEMA DI PRODUZIONE DISPOSITIVI DI CAMPO: RENDONO OPERATIVI I SINGOLI ELEMENTI CHE REALIZZANO UN SISTEMA DI PRODUZIONE IL MODELLO DI SISTEMA 91 NORME IEC 61499 IL MODELLO DI SISTEMA: DISPOSITIVI DISPOSITIVI DI SUPPORTO IL MODELLO DI SISTEMA DI CONTROLLO DI CAMPO 92 NORME IEC 61499 MODELLO DI SISTEMA: RETI DI COMUNICAZIONE RETI DI INFORMAZIONE: SVOLGONO COMUNICAZIONE TRA SISTEMI INFORMATIVI UN’AZIONE DI RETI DI CONTROLLO: COLLEGANO I SISTEMI DI CONTROLLO DEL PROCESSO RETE DI INFORMAZIONE DISPOSITIVI DI SUPPORTO DISPOSITIVI DI SUPPORTO DISPOSITIVI DI SUPPORTO RETE DI CONTROLLO DISPOSITIVI DI CONTROLLO DISPOSITIVI DI CONTROLLO DISPOSITIVI DI CONTROLLO SISTEMA DI PRODUZIONE IL MODELLO DI SISTEMA 93 NORME IEC 61499 IL MODELLO DEI DISPOSITIVI UN GENERICO DISPOSITIVO È ESSENZIALMENTE COMPOSTO DA: • UNA O PIÙ RISORSE • UNA O PIÙ INTERFACCE A LORO VOLTA LE INTERFACCE POSSONO APPARTENERE A TRE CLASSI DIFFERENTI: • INTERFACCE DI PROCESSO (TRA IL PROCESSO FISICO E LE RISORSE) • INTERFACCE DI COMUNICAZIONE (TRA LE RISORSE E LA RETE DI COMUNICAZIONE) • INTERFACCE OPERATORE (TRA LE RISORSE E GLI OPERATORI E/O LE PERIFERICHE ABILITATE A TALE SCOPO) IL MODELLO DEI DISPOSITIVI 94 NORME IEC 61499 IL MODELLO DEI DISPOSITIVI RETE DI COMUNICAZIONE DISPOSITIVO INTERFACCIA DI COMUNICAZIONE RISORSA X RISORSA Y RISORSA Z APPLICAZIONE A APPLICAZIONE C APPLICAZIONE B INTERFACCIA DI PROCESSO PROCESSO CONTROLLATO IL MODELLO DEI DISPOSITIVI 95 NORME IEC 61499 IL MODELLO DELLE RISORSE SI DEFINISCE RISORSA UN’UNITÀ FUNZIONALE CONTENUTA IN UN DISPOSITIVO, CHE HA IL CONTROLLO INDIPENDENTE DELLE SUE OPERAZIONI E FORNISCE ALCUNI SERVIZI ALLE APPLICAZIONI, INCLUSA LA SELEZIONE, LA TEMPORIZZAZIONE E L’ ESECUZIONE DEGLI ALGORITMI UNA RISORSA È QUINDI COMPOSTA DA: • UNA O PIÙ PARTI DI UNA APPLICAZIONE • BLOCCHI FUNZIONALI DI INTERFACCIA CON LA RETE DI COMUNICAZIONE • UNA FUNZIONE DI SCHEDULING PER SELEZIONARE, TEMPORIZZARE E RENDERE OPERATIVI I BLOCCHI FUNZIONALI CHE POTRANNO ALLOCARE LA RISORSA AL FINE DI ESEGUIRE LE AZIONI AD ESSE ASSOCIATE IL MODELLO DELLE RISORSE 96 NORME IEC 61499 IL MODELLO DELLE RISORSE INTERFACCIA DI COMUNICAZIONE OPERATORE INTERFACCIA DI INFORMAZIONE DEL DISPOSITIVO Events Service Interface Function Block Data Algorithms Service Interface Function Block INTERFACCIA DI COMUNICAZIONE DEL DISPOSITIVO FUNZIONE DI SCHEDULING STRUTTURA BLOCCHI FUNZIONALI 97 NORME IEC 61499 IL MODELLO DELL’APPLICAZIONE UN’APPLICAZIONE È UN INSIEME DI BLOCCHI FUNZIONALI ALLOCATI ANCHE SU RISORSE DIVERSE CHE CONCORRONO AL RAGGIUNGIMENTO DI UN DETERMINATO OBIETTIVO L’APPLICAZIONE PUÒ ESSERE DEFINITA COME UN INSIEME DI: FUNCTION BLOCK (FB) COSTANTI CONNETTORI IL MODELLO DELLE RISORSE 98 NORME IEC 61499 IL MODELLO DELL’ APPLICAZIONE APPLICAZIONI FUNCTION BLOCK BLOCCHI FUNZIONALI DI BASE CONNETTORI COSTANTI BLOCCHI FUNZIONALI COMPOSTI IL MODELLO DELLE RISORSE 99 NORME IEC 61499 I BLOCCHI FUNZIONALI DI BASE INTERFACCIA EVENTI EVENTI IN INGRESSO EXECUTION CONTROL CHART UN ELEMENTO DI UN BLOCCO FUNZIONALE È CARATTERIZZATO DA: EVENTI IN USCITA IDENTIFICATORE TIPO ALGORITMI • UN NOME DI TIPO E UN NOME DI ELEMENTO • EVENTI IN INGRESSO E IN USCITA • DATI IN INGRESSO E IN USCITA • UN SISTEMA AD EVENTI DISCRETI, CHIAMATO EXECUTION CONTROL CHART (ECC), FORMATO DA STATI, TRANSIZIONI, AZIONI • VARIABILI INTERNE • UN INSIEME DI ALGORITMI ASSOCIATI AGLI STATI DELL’ ECC DATI IN USCITA DATI IN INGRESSO VARIABILI INTERNE INTERFACCIA DATI STRUTTURA BLOCCHI FUNZIONALI 100 NORME IEC 61499 EXECUTION CONTROL CHART OGNI ECC È COMPOSTO DALLE SEGUENTI ENTITÀ FONDAMENTALI : • • • • AZIONI STATO INIZIALE STATI TRANSIZIONI STATO INIZIALE START TRANSIZIONE AZIONE INIT STATO INIT INITO MAIN ALGORITMI STATO EXECUTION CONTROL CHART MAIN EXO EVENTO ALGORITMI 101 NORME IEC 61499 MODELLO DI ESECUZIONE E TEMPORIZZAZIONE 2 EXECUTION CONTROL FUNCTION 8 7 1 ALGORITMI 5 3 4 6 UTILIZZANDO LA EXECUTION CONTROL FUNCTION VIENE CONTROLLATA L’ESECUZIONE DEGLI ALGORITMI APPARTENENTI AI BLOCCHI FUNZIONALI 1: I DATI RILEVATI PER UN EVENTO SONO RESI DISPONIBILI E STABILI ALL’ INGRESSO DEL BLOCCO FUNZIONALE 2: OCCORENZA DI UN EVENTO ALLA INTERFACCIA EVENTI 3: LA EXECUTION CONTROL FUNCTION RICHIEDE ALLA FUNZIONE DI SEQUENZIALIZZAZIONE DI ESEGUIRE L’ALGORITMO ASSOCIATO ALLO STATO ATTUALE DELLA EXECUTION CONTROL FUNTION 4: LA FUNZIONE DI SEQUENZIALIZZAZIONE RENDE DISPONIBILE LA RISORSA E INIZIA LA ESECUZIONE DELL’ ALGORITMO FUNZIONE DI SCHEDULING DELLA RISORSA = CAMPIONAMENTO MODELLO ESECUZIONE E TEMPORIZZAZIONE 102 NORME IEC 61499 MODELLO DI ESECUZIONE E TEMPORIZZAZIONE 2 EXECUTION CONTROL FUNCTION 5: L’ ALGORITMO COMPLETA IL CALCOLO DELLE VARIABILI DI USCITA E LE RENDE DISPONIBILI SULLE USCITE PER I DATI 6: IL BLOCCO FUNZIONALE COMUNICA ALLA FUNZIONE DI SEQUENZIALIZZAZIONE CHE HA TERMINATO L’ ESECUZIONE DELLO ALGORITMO E RILASCIA LA RISORSA 7: LA FUNZIONE DI SEQUENZIALIZZAZIONE COMUNICA ALLA EXECUTION CONTROL FUNCTION CHE È TERMINATA L’ESECUZIONE DELL’ALGORITMO 8: L’ EXECUTION CONTROL FUNCTION GENERA GLI EVENTI IN USCITA ASSOCIATI ALLO STATO APPENA TERMINATO RENDENDOLI DISPONIBILI SULLE USCITE DELLA INTERFACCIA EVENTI 8 7 1 ALGORITMI 5 3 4 6 FUNZIONE DI SCHEDULING DELLA RISORSA = CAMPIONAMENTO MODELLO ESECUZIONE E TEMPORIZZAZIONE 103 103 103 NORME IEC 61499 BLOCCHI FUNZIONALI COMPOSTI IL FUNZIONAMENTO OPERATIVO DEL FUNCTION BLOCK È ESPRESSO IN TERMINI DI UNA SOTTO-RETE DI FUNCTION BLOCK EVENTI IN INGRESSO EXECUTION CONTROL CHART EVENTI IN USCITA IDENTIFICATORE TIPO DATI IN INGRESSO BLOCCHI FUNZIONALI COMPOSTI DATI IN USCITA 104 NORME IEC 61499 FUNCTION BLOCK COME INTERFACCE DI SERVIZIO FORNISCONO UN’INTERFACCIA STANDARD PER L’UTILIZZO DI FUNZIONI PRIVATE DEL SISTEMA NASCONDONO ALL’ UTENTE I PARTICOLARI DI SECONDARIO INTERESSE SERVONO A STRATIFICARE LA STRUTTURA DEL SISTEMA DI CONTROLLO DISTRIBUITO INTERFACCE DI SERVIZIO 105 NORME IEC 61499 FUNCTION BLOCK COME INTERFACCE DI SERVIZIO BLOCCO FUZIONALE COME INTERFACCIA DI SERVIZIO EVENTI EVENTI DATI RISORSA RETE DI COMUNICAZIONE ISO / OSI LAYERS DATI RETE DI COMUNICAZIONE DISPOSITIVO INTERFACCE DI SERVIZIO 106 NORME IEC 61499 FUNCTION BLOCK DI COMUNICAZIONE FORNISCONO UN’ INTERFACCIA ALLE APPLICAZIONI PER LE RETI DI COMUNICAZIONE TRA RISORSE O DISPOSITIVI COMPONENTI IL SISTEMA DI CONTROLLO COMPLESSIVO LA NORMATIVA IEC COMUNICAZIONE : 61499 UTILIZZA DUE MODALITÀ DI • UNIDIREZIONALE (BROADCAST) • BIDIREZIONALE (CLIENT-SERVER) FUNCTION BLOCK DI COMUNICAZIONE 107 NORME IEC 61499 COMUNICAZIONE UNIDIREZIONALE (BROADCAST) EVENT EVENT BOOL ANY ANY : ANY INIT REQ INITO CNF PUBLISH_m QI QO PARAMS STATUS SD_1 : SD_m EVENT EVENT EVENT EVENT BOOL ANY BOOL ANY INIT(+) PARAMS INITO(+) ~ REQ(+) SD_1, ..., SD_m INIT RSP INITO IND SUBSCRIBE_m QI QO PARAMS STATUS RD_1 : RD_m EVENT EVENT BOOL ANY ANY : ANY INIT(+) PARAMS INITO(+) IND(+) RD_1, ..., RD_m CNF(+) FUNCTION BLOCK DI COMUNICAZIONE RSP(+) 108 NORME IEC 61499 FUNCTION BLOCK DI COMUNICAZIONE EVENT EVENT BOOL ANY ANY : ANY INIT REQ INITO CNF CLIENT_m_n QO QI STATUS PARAMS RD_1 SD_1 : : RD_n SD_m EVENT EVENT EVENT EVENT BOOL ANY ANY : ANY BOOL ANY ANY : ANY INIT RSP INITO IND SERVER_n_m QI QO PARAMS STATUS SD_1 RD_1 : : SD_n RD_m EVENT EVENT BOOL ANY ANY : ANY INIT(+) PARAMS INITO(+) INIT(+) PARAMS INITO(+) REQ(+) SD_1, ..., SD_m CNF(+) IND(+) RD_1, ..., RD_m RSP(+) SD_1, ..., SD_n RD_1, ..., RD_n FUNCTION BLOCK DI COMUNICAZIONE 109 NORME IEC CENTRALIZZATO PROGRAMMABILE CONFIGURABILE PLC IEC 61131-3 RICONFIGURABILE ED ESPANDIBILE Function Blocks IEC 61499 SINTESI RICONFIGURABILE ED ESPANDIBILE DCS IEC 61804 RICONFIGURABILE IN LINEA ARCHITETTURA DEL MODELLO COMUNE DI RIFERIMENTO DISTRIBUITO CONFIGURABILE PROGRAMMABILE DISTRIBUITO CONFIGURABIL E APPROCCIO OBJECT ORIENTED 110 NORME IEC USO DEI FUNCTION BLOCK NEI SISTEMI DI CONTROLLO CONTROLLO CENTRALIZZATO IEC 61131 CON FUNCTION BLOCK UTLIZZANDO DISPOSITIVI I\O CONTROLLO DECENTRALIZZATO IEC 61131 \ IEC 61804 CON FUNCTION BLOCK PROXY UTLIZZANDO DISPOSITIVI DI CAMPO DECENTRALIZZATI CONTROLLO DISTRIBUITO IEC 61499 \ IEC 61804 CON FUNCTION BLOCK DISTRIBUITI UTILIZZANDO DISPOSITIVI DI TIPO FUNCTION BLOCK PANORAMA DEI FUNCTION BLOCK 111 NORME IEC INFORMATION TECNOLOGY : BASE DELLA CONOSCENZA MODELLI PER DIVERSI SCENARI INDUSTRIALI TOOLS DI SUPPORTO TECNOLOGIE INTELLIGENTI RICONFIGURAZIONE CONDUZIONE INGEGNERIA BASATA SU BLOCCHI MECCANOTRONICI CONTROLLO DIFFUSIONE ED ADDESTRAMENTO CONFIGURAZIONE RETI DI COMUNICAZIONE VISUAL EDITOR COMPILATORE LIBRERIE DIAGNOSTICA VALIDAZIONE RICERCA GUASTI MODELLAZIONE INCAPSULAMENTO DELLA CONOSCENZA VERIFICA OBIETTIVI SIMULAZIONE PIATTAFORMA DI SIMULAZIONE RUN -TIME PIATTAFORMA STRUMENTI DIMOSTRAZIONE DEI BENEFICI IN AMBIENTE INDUSTRIALE SVILUPPO DI PROTOTIPI ARCHITETTURA APERTA IEC 61499 FIPA PANORAMA DEI BLOCCHI UML XML IEC 61131 IEC AUTOMATION OBJECT 112 FUNCTION BLOCK - OBJECT ORIENTED FUNCTION BLOCK ORIENTED FLUSSO DEGLI EVENTI OBJECT- ORIENTED UML CLASSI SEQUENZE ATTIVITA’ FLUSSO DEI DATI STATO S2 S3 S6 DISPOSITIVO 3 RISORSA 1 DISPOSITIVO 2 RISORSA 1 DISPOSITIVO 1 RISORSA 1 RISORSA 2 RISORSA 2 RISORSA 2 RISORSA 3 S4 S5 RISORSA 3 RISORSA 3 NODO1 COMPONENTI CONFRONTO TRA ARCHITETTURE 113 FUNCTION BLOCK - OBJECT ORIENTED FUNCTION BLOCK ORIENTED RAPPRESENTAZIONE ORIENTATA ALLA STRUTTURA HARDWARE E ALLE APPLICAZIONI OBJECT - ORIENTED RAPPRESENTAZIONE PIÙ ASTRATTA INFORMAZIONI DISTRIBUITE IN DIAGRAMMI DIFFERENTI INFORMAZIONI RACCOLTE IN UN UNICO DIAGRAMMA RAPPRESENTAZIONE DETTAGLIATA, MA PIÙ COMPLESSA RAPPRESENTAZIONE CONCISA SEMPLIFICA LA REALIZZAZIONE DI NUOVE REALIZZAZIONI (FACILMENTE RICONFIGURABILE). CONFRONTO TRA ARCHITETTURE 114 MODELLAZIONE UML LIVELLLO CONCETTUALE LIVELLLO FISICO REQUISITI FUNZIONALI REALIZZAZIONE UTENTE FINALE FUNZIONALITÀ CASO D’USO PROGRAMMI PER IL FUNZIONAMENTO LA GESTIONE UNA APPLICAZIONE VISTA DELL’UTENTE ATTIVITÀ DA SVOLGERE INTEGRATORE DI SISTEMA COMPORTAMENTO PRESTAZIONI PUNTI DI VISTA UTILIZZAZIONE INGEGNERIA DI SISTEMA ISTALLAZIONE COMUNICAZIONE 115 APPROCCIO OBJECT ORIENTED DISPOSITIVO DI CONTROLLO TRAPANO PANNELLO DI CONTROLLO COMANDO MOVIMENTO TRAPANO RETE DI COMUNICAZIONE TRA I DISPOSITIVI DI CONTROLLO ESEMPIO DI APPARATO COMANDO POSIZIONE SLITTA DISPOSITIVO DI CONTROLLO SLITTA 116 APPROCCIO OBJECT ORIENTED LA LAVORAZIONE PUÒ INIZIARE IL TRAPANO PUÒ INIZIARE LA LAVORAZIONE IL TRAPANO È ALLONTANATO DAL PEZZO FASI DELLA LAVORAZIONE IL PEZZO È CARICATO SULLA SLITTA IL PEZZO È PORTATO SOTTO IL TRAPANO IL TRAPANO EFFETTUA IL TRAPANO HA CONCLUSO LA LAVORAZIONE LA LAVORAZIONE IL PEZZO È SCARICATO DALLA SLITTA LA LAVORAZIONE È CONCLUSA 117 APPROCCIO OBJECT ORIENTED CICLO DI LAVORO INIZIO CICLO FINE CICLO MOVIMENTO PEZZO 1. IL PEZZO DA LAVORARE POSIZIONATO SULLA SLITTA MOVIMENTO SLITTA 2. LA SLITTA VIENE POSIZIONATA SOTTO IL TRAPANO MOVIMENTO TRAPANO 3. VIENE ABBASSATO IL TRAPANO LAVORAZIONE 4. VIENE AVVIATA LA LAVORAZIONE MOVIMENTO TRAPANO 5. TERMINATA LA LAVORAZIONE, TRAPANO VIENE SOLLEVATO MOVIMENTO SLITTA 6. ILTRAPANO VIENE FERMATO MOVIMENTO PEZZO 7. VIENE MOVIMENTATA LA SLITTA PER SCARICARE IL PEZZO ESEMPIO DI APPARATO VIENE IL 118 APPROCCIO OBJECT ORIENTED PANNELLO DI CONTROLLO COMUNICAZIONE DATI DISPOSITIVO DI CONTROLLO TRAPANO COMANDO MOVIMENTO TRAPANO SENSORI COMANDO POSIZIONE SLITTA ALTO MOVIMENTO PEZZO MOVIMENTO TRAPANO CARICA BASSO SENSORI RETE DI COMUNICAZIONE TRA I DISPOSITIVI DI CONTROLLO ESEMPIO DI APPARATO PRONTO ATTESA COMUNICAZIONE DATI DISPOSITIVO DI CONTROLLO SLITTA 119 ESEMPIO MODELLAZIONE UML UNITA’ DI FORATURA AUTOMATICA CONTROLLO SLITTA <<INCLUDE>> SETUP LAVORAZIONE PROGETTISTA NORMALE FUNZIONAMENTO OPERATORE/ IMPIANTO <<INCLUDE>> CONTROLLO TRAPANO ARRESTA SISTEMA <<INCLUDE>> <<INCLUDE>> MANUTENZIONE GESTIONE ALLARMI OPERATORE <<INCLUDE>> <<INCLUDE>> OPERATORE RIAVVIA SISTEMA DIAGRAMMA DEI CASI D’USO 120 ESEMPIO MODELLAZIONE UML UNITÀ DI FORATURA + ESEGUI LAVORAZIONE () + TRASLA () + RUOTA () COLLABORA CON - POSIZIONE - OPERATIVITÀ SLITTA COLLABORA CON TRAPANO - POSIZIONE - OPERATIVITÀ + TRASLA () + RUOTA () CONTROLLORE - ATTESA - CONTROLLO + INVIA SEGNALE () + RICEVE SEGNALE () DIAGRAMMA DELLE CLASSI 121 ESEMPIO MODELLAZIONE UML DIAGRAMMA DELLE CLASSI 122 ESEMPIO MODELLAZIONE UML CONTROLLO TRAPANO CONTROLLO SLITTA UNITÀ DI FORATURA TRAPANO DIAGRAMMA DEGLI OGGETTI SLITTA 123 ESEMPIO MODELLAZIONE UML OPERATORE CONTROLLO SLITTA 1: INIZIA SLITTA CONTROLLO TRAPANO TRAPANO 2: CARICA PEZZO 3: CARICATO 4: A SINISTRA 5: PRONTO 6: PEZZO IN POSIZIONE 7: INIZIO CICLO DI LAVORAZIONE ? 8: AVVIARE TRAPANO 9: ABBASSA 10: LAVORAZIONE DIAGRAMMA DELLE SEQUENZE 124 ESEMPIO MODELLAZIONE UML APPROCCIO OBJECT ORIENTED OPERATORE CONTROLLO SLITTA SLITTA CONTROLLO TRAPANO TRAPANO 11: SOLLEVA 12 : IN ALTO 13: FINE LAVORAZIONE 14: A DESTRA 15 : IN ATTESA 16 : SCARICA 17 : SCARICATO 18: FINITO DIAGRAMMA DELLE SEQUENZE 125 ESEMPIO MODELLAZIONE UML APPROCCIO OBJECT ORIENTED LAVORAZIONE INIZIO SLITTA IN ATTESA SCARICA SLITTA IN ATTESA CARICA FINE SLITTA IN PRONTO CICLO TRAPANO TRAPANO ALTO FERMO DIAGRAMMA DI STATO TRAPANO ALTO ROTAZIONE TRAPANO BASSO LAVORAZIONE 126 ESEMPIO MODELLAZIONE UML APPROCCIO OBJECT ORIENTED OPERATORE SLITTA TRAPANO INIZIO CICLO AZIONA COMANDO SLITTA CARICAMENTO PEZZO SLITTA A SINISTRA AZIONA COMANDO TRAPANO AVVIAMENTO TRAPANO TRAPANO IN BASSO LAVORAZIONE DIAGRAMMA DELLE ATTIVITA’ 127 ESEMPIO MODELLAZIONE UML APPROCCIO OBJECT ORIENTED OPERATORE SLITTA TRAPANO TRAPANO IN ALTO TRAPANO FERMO SLITTA A DESTRA SCARICA IL PEZZO FINE CICLO DIAGRAMMA DELLE ATTIVITA’ 128 ESEMPIO MODELLAZIONE UML NODO 1 CONTROLLO SLITTA NODO 2 RETE DI COMUNICAZIONE DATI SLITTA DIAGRAMMA DI DISTRIBUZIONE CONTROLLO TRAPANO TRAPANO 129 MODELLAZIONE UML UML IN SINTESI UML È COMPLESSO E VA ADATTATO ALLE ESIGENZE DEI PROGETTISTI E AL CONTESTO DEL PROGETTO PRENDENDO IN CONSIDERAZIONE I SEGUENTI FATTORI: SETTORE DI ATTIVITÀ TIPOLOGIA DI PROGETTO ESIGENZE DI CONFORMITÀ A NORME COMUNICAZIONE CON COMMITTENTI E FORNITORI COMPOSIZIONE E DISTRIBUZIONE DEL GRUPPO DI LAVORO UML IN SINTESI 130 MODELLAZIONE UML UML IN SINTESI UML NON SUGGERISCE NÉ PRESCRIVE UNA SEQUENZA DI REALIZZAZIONE DEI DIVERSI DIAGRAMMI UML OFFRE UN’AMPIA GAMMA DI POSSIBILI MODALITÀ DI UTILIZZO TRA LE QUALI I PROGETTISTI SONO LIBERI DI SCEGLIERE NON TUTTI I DIAGRAMMI SONO UGUALMENTE UTILI IN OGNI CIRCOSTANZA IN OGNI APPLICAZIONE BISOGNA INDIVIDUARE QUALI DIAGRAMMI SONO EFFETTIVAMENTE NECESSARI PER LA REALIZZAZIONE DEL MODELLO UML IN SINTESI 131 MODELLAZIONE UML CONCLUSIONI LE METODOLOGIE DI PROGETTO ORIENTATE AGLI OGGETTI SONO STATE ADOTTATE CON SUCCESSO NELL’AUTOMAZIONE INDUSTRIALE PER FAR FRONTE ALLE SEGUENTI ESIGENZE: • RIDURRE I TEMPI CHE INTERCORRONO TRA LA PROGETTAZIONE E LA REALIZZAZIONE DI UN SISTEMA • SVILUPPARE ARCHITETTURE SOFTWARE AD OGGETTI, CHE OFFRONO MAGGIORI POSSIBILITÀ DI INTEGRAZIONE TRA SISTEMI ETEROGENEI • REALIZZARE SISTEMI DI PRODUZIONE, IMPIANTI ED APPARATI CON STRUTTURE MODULARI CHE PERMETTONO: UNA SEMPLICE CONFIGURAZIONE DEL SISTEMA UNA MANUTENZIONE PIÙ RAPIDA ED ECONOMICA LA POSSIBILITÀ DI RICONFIGURAZIONE LA POSSIBILITÀ DI INSERIMENTO DI NUOVE UNITÀ CONCLUSIONI 132 ESEMPIO MODELLAZIONE UML L’ ESISTENZA DEGLI STANDARD IEC E ISA FORNISCE LE LINEE GUIDA PER LA PROGETTAZIONE DI ARCHITETTURE SOFTWARE ORIENTATE AGLI OGGETTI PROGETTARE SISTEMI CON STRUTTURA NON CONFORME AGLI STANDARD SI RIVELA UN APPROCCIO PERDENTE, PERCHÈ PORTA ALLA REALIZZAZIONE DI SOLUZIONI PROPRIETARIE SENZA POSSIBILITÀ DI INTEGRAZIONE CON ALTRI SISTEMI E NON RIUTILIZZABILI, QUINDI PIÙ COSTOSE CONCLUSIONI 133 ESEMPIO MODELLAZIONE UML INTERFACCIA UN ELEMENTO DI CONGIUNZIONE FRA DUE UNITÀ FUNZIONALI, DEFINITE PER MEZZO DELLE CARATTERISTICHE FUNZIONALI, DELLE CARATTERISTICHE DEI SEGNALI O DI ALTRE CARATTERISTICHE PIÙ APPROPRIATE SISTEMA UN INSIEME DI ELEMENTI INTERCORRELATI APPARTENENTI AD UN CONTESTO BEN DEFINITO PRESO COME UNITÀ SEPARATA DELL’AMBIENTE ESEMPIO DI DATI UN INSIEME DI VALORI ASSOCIATI ALL’INSIEME DI OPERAZIONI CONSENTITE DATI UNA RAPPRESENTAZIONE FORMALIZZATA DI UNA INFORMAZIONE ESPRESSA IN MANIERA DA POTER ESSERE UTILIZZATA PER LA COMUNICAZIONE, L’INTERPRETAZIONE E L’ELABORAZIONE DEFINIZIONI SECONDO LE NORME IEC 65 134 ESEMPIO MODELLAZIONE UML UNITÀ FUNZIONALE ENTITÀ HARDWARE E/O SOFTWARE IN GRADO DI RAGGIUNGERE UNA SCOPO PREDEFINITO RETE UNA AGGREGAZIONE DI NODI E DI ELEMENTI DI COLLEGAMENTO AZIONE (OPERTATION) UNA AZIONE BEN DEFINITA CHE UNA VOLTA APPLICATA AND UNA COMBINAZIONE DI ENTITÀ NOTE PRODUCE UNA NUOVA ENTITÀ PARAMETRO UNA VARIABILE A CUI È ASSEGNATO UN VALORE COSTANTE COLLEGATO AD UNA APPLICAZIONE SPECIFICA E CHE PUÒ ESSERE INDICATA COME APPLICAZIONE CONNESSIONE UN COLLEGAMENTO STABILITO FRA DUE ENTITÀ FUNZIONALI PER TRASFERIRE UNA INFORMAZIONE DEFINIZIONI SECONDO LE NORME IEC 65 135 ESEMPIO MODELLAZIONE UML HARDWARE UN DISPOSITIVO FISICO CON FINALITÀ DEFINITE INFORMAZIONE SIGNIFICATO CHE VIENE ASSEGNATO AD UN DATO O AD UN INSIEME DI DATI TRAMITE UNA CONNESSIONE BEN DEFINITA OGGETTO PER L’AUTOMAZIONE UNA UNITÀ FUNZIONALE HARDWARE O SOFTWARE PER RENDERE OPERATIVA L’AUTOMAZIONE O UNA AZIONE DI CONTROLLO CONFIGURAZIONE DI UN OGGETTO PER L’AUTOMAZIONE ASSEGNAZIONE DELLA CONFIGURAZIONE O DEI PARAMETRI DI UN OGGETTO PER L’AUTOMAZIONE INGRESSO DI UN OGGETTO PER L’AUTOMAZIONE INTERFACCIA DI UN OGGETTO PER L’AUTOMAZIONE O DEL SUO MODELLO CHE AGISCE COME LA DESTINAZIONE DI UN OGGETTO PER L’AUTOMAZIONE DEFINIZIONI SECONDO LE NORME IEC 65 136 ESEMPIO MODELLAZIONE UML MODELLO DI UN OGGETTO PER L’AUTOMAZIONE MODELLO DI UN PARTICOLARE ASPETTO DI UN OGGETTO DIAGRAMMA DI UN OGGETTO PER L’AUTOMAZIONE UN RETE I CUI NODI SONO MODELLI DI OGGETTI PER L’AUTOMAZIONE E I RAMI SONO LE CONNESSIONI USCITA DI UN OGGETTO PER L’AUTOMAZIONE INTERFACCIA DEL MODELLO DI UN OGGETTO PER L’AUTOMAZIONE CHE AGISCE COME SORGENTE DI UNA CONNESSIONE TIPO OGGETTO PER L’AUTOMAZIONE CARATTERISTICHE DOMINANTI DI UN OGGETTO PER L’AUTOMAZIONE DEFINIZIONI SECONDO LE NORME IEC 65 137 ESEMPIO MODELLAZIONE UML DISPOSITIVO FISICO NOMEATTUATORE DEL DISPOSITIVO STATO MODALITÀ DI CONTROLLO ATTRIBUTI TENSIONE DI ALIMENTAZIONE POTENZA COPPIA ON OFF RUNNING STOP VALORE CODICE BOOLEAN INTEGER STRING FLOATING NUMERO MODELLO FORMATO MODELLO GRANDEZZE PRODUTTORE VARIABILE ATIIVA OPERAZIONI DIAGRAMMA DELLE CLASSI PER UN ATTUATORE 138 ESEMPIO MODELLAZIONE UML DISPOSITIVO FISICO DIAGRAMMA DELLE CLASSI PER UN ATTUATORE FORMATO RUN setSTATO setON setOFF setSTOP setVARIABLE_ACTIVE getSTATO getMODALITÀ_ DI _CONTROLLO getTENSIONE_ DI_ ALIMENTAZIONE getPOTENZA setTMODALITÀ_DI _CONTROLLO getON getOFF getRUNNING setRUNNING getSTOP getVARIABLE_ACTIVE VARIABILI STATO «SETTER» «GETTER» OPERAZIONI VALORE VALORE GRANDEZZE ATTIVAZIONE RISULTATO ATTRIBUTI ATTUATORE 139 ESEMPIO MODELLAZIONE UML CONCEPTUAL DATA MODEL (CDM) È UTILIZZATO PER RAPPRESENTARE LA STRUTTURA GENERALE DI UNA APPLICAZIONE, INDIPENDENTEMENTE DA OGNI SOFTWARE O CONSIDERAZIONE RELATIVA AL SALVATAGGIO DELLA STRUTTURA DATI (DATABASE MANAGEMENT SYSTEM DBMS). IL MODELLO, GRAZIE AI DIAGRAMMI ENTITÀ-RELAZIONE (ENTITY RELATIONSHIP DIAGRAMS -ERD), FORNISCE UNA RAPPRESENTAZIONE FORMALE DELLA ORGANIZZAZIONE DEI DATI DESCRIVENDO LE RELAZIONI CONCETTUALI DI TIPI DIFFERENTI DI INFORMAZIONI PIUTTOSTO CHE LA LORO STRUTTURA FISICA. PHYSICAL DATA MODEL (PDM) È UTILIZZATO PER MODELLARE LA STRUTTURA FISICA DI UN DATABASE, TENENDO CONTO DEL SOFTWARE E DELLE CONSIDERAZIONI RELATIVE DBMS. IL MODELLO SUPPORTA L’UTENTE CON DIVERSI TIPI DIAGRAMMI, A SECONDA CHE SI VOGLIA MODELLARE L’IMPLEMENTAZIONE FISICA DEL DATABASE OPPURE DEFINIRE DATA-QUERIES SU DATI OPERAZIONALI. DIFFERENTI TIPI DI MODELLO 140 ESEMPIO MODELLAZIONE UML OBJECT ORIENTED MODEL (OOM) È UTILIZZATO PER MODELLARE UN SISTEMA SOFTWARE/HARDWARE/GESTIONALE UTILIZZANDO UN APPROCCIO ORIENTATO AGLI OGGETTI PER JAVA ED ALTRI LINGUAGGI DI PROGRAMMAZIONE COME AD ESEMPIO C#, C++, VISUAL BASIC .NET, XML BUSINESS PROCESS MODEL (BPM) È UTILIZZATO PER MODELLARE I SIGNIFICATI DI UNO O PIÙ PROCESSI BUSINESS XML MODEL (XSM) PER MODELLARE LA STRUTTURA DI UN FILE XML REQUIREMENTS MODEL (RQM) È UTILIZZATO PER SPECIFICARE E DOCUMENTARE LE NECESSITÀ DEI CLIENTI CHE DEVONO ESSERE SODDISFATTE DURANTE IL PROCESSO DI SVILUPPO INFORMATION LIQUIDITY MODEL (ILM) È UTILIZZATO PER MODELLARE LA REPLICAZIONE DELLE INFORMAZIONI DA UN DATABASE SORGENTE A PIÙ DATABASE REMOTI, USANDO MOTORI DI REPLICAZIONE. FREE MODEL (FEM) È UTILIZZATO PER CREARE OGNI TIPO DI CHARTDIAGRAM, IN UN CONSTESTO DI AMBIENTE GENERICO DIFFERENTI TIPI DI MODELLO 141 ESEMPIO MODELLAZIONE UML PRESTAZIONI DESIDERATE E PROGETTAZIONE AD OGGETTI MODELLO DELLE PRESTAZIONI CONCEPTUAL MODEL BUSINESS PROCESS MODEL PHYSICAL DATA MODEL OBJECT ORIENTED MODEL XML MODEL OGGETTI COINVOLTI E LORO PRESTAZIONI INFORMATION LIQUIDITY MODEL ORGANIZZAZIONE DELLE PROGETTAZIONE PER MODELLI 142 ESEMPIO MODELLAZIONE UML DIAGRAMMA DELLE CLASSI PER UN ATTUATORE 143