430 likes | 643 Views
AUTOMAZIONE II. MES QCADOO MES. Redazione a cura dell'Ing. Letterio Zuccaro ( zuccaro@dis.uniroma1.it ). STRUTTURA DEL NUCLEO TEMATICO. PANORAMICA SULLA PIATTAFORMA QCADOO QCADOO FRAMEWORK QCOOSTORE QCADOO MES INSTALLAZIONE DI QCADOO MES USE CASE: PRODUZIONE LOCOMOTIVE GIOCATTOLO.
E N D
AUTOMAZIONE II MES QCADOO MES Redazione a cura dell'Ing. Letterio Zuccaro (zuccaro@dis.uniroma1.it)
STRUTTURA DEL NUCLEO TEMATICO • PANORAMICA SULLA PIATTAFORMA QCADOO • QCADOO FRAMEWORK • QCOOSTORE • QCADOO MES • INSTALLAZIONE DI QCADOO MES • USE CASE: PRODUZIONE LOCOMOTIVE GIOCATTOLO
Cos’è qcadoo MES? qcadoo MES è un sistema di gestione della produzione indicato per piccole e medie imprese Combina molte funzionipresentineisistemi ERP, MRP e MES Non intende rimpiazzare grandi sistemi di gestione come SAP, MS Dynamics o Wonderware Obiettivo principale è ridurre la mole di documentazione cartacea che accompagna la produzione. L’applicazione costituisce il componente software della piattaforma cloud fornita da qcadoo
Cloud computing Wikipedia. Insieme di tecnologie (sotto forma di un servizio offerto da un provider al cliente) che permettono di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in rete. Servizi offerti: (SaaS) Software as a Service (PaaS) Platform as a Service (IaaS) Infrastructure as a Service
Cloud computing IaaS - Infrastructure as a Service Consiste nell’utilizzare l’infrastruttura messa a disposizione dal provider al cliente per eseguire la propria applicazione, a fronte di un pagamento in base al consumo dell’infrastruttura stessa. Questo tipo di servizio offre la parte relativa al networking, allo storage dei dati, ai server fisici e ai software di virtualizzazione, lasciando sotto la responsabilità dell’utente la gestione del sistema operativo, dell'eventuale middleware e della parte di runtime, oltre che dell’applicazione stessa. Esempio:
Cloud computing PaaS – Platform as a Service Passo immediatamente successivo a IaaS (che è inglobato in PaaS), Il provider fornisce anche il sistema operativo, il middleware e l’ambiente runtime necessari per eseguire l’applicazione, che quindi rimane l’unica cosa sotto la responsabilità dell'utente, oltre alla definizione del modello (numero e dimensione dei server, datacenter, caratteristiche del networking, ecc.) da utilizzare per l’esecuzione dell’applicazione. Esempio:
Cloud computing SaaS – Software as a Service Non viene eseguita un’applicazione proprietaria del cliente, ma il cliente stesso paga il diritto (mediante licenza o canone di affitto) di utilizzo di un’applicazione messa a disposizione dal provider, senza preoccuparsi di come essa venga realizzata e gestita nel cloud. L’unica preoccupazione del cliente in questo caso, oltre ovviamente alla scelta della corretta applicazione che soddisfi le sue necessità, è quella di gestire il numero di licenze richieste in funzione del numero di utenti. Esempio:
Cloud computing di qcadoo qcadoo Framework Piattaforma per lo sviluppo di applicazioni web modulari in Java e XML. Open source, fornita gratuitamente come PaaS per lo sviluppo di moduli per qcadoo MES e a pagamento per progetti indipendenti qcadoo MES Applicazione software per gestire la produzione aziendale. Distribuita sotto forma di web-application. qcooStore Appstore (simile ad Apple AppStore e Google Play) che distribuisce moduli per qcadoo MES e altre soluzioni orientate all'industria manifatturiera qcooStore (Marketplace) Micro-billings qcadoo MES (SaaS) qcadoo Framework (PaaS) Micro-billings Sistema per la gestione di micro-pagamenti per l’acquisto dei moduli e componenti
Qcadoo Framework: architettura DB Database del sistema, conserva i dati del framework dei moduli. Strutturato in tabelle. La release ufficiale utilizza il DBMS Postgres. Nelle successive è previsto supporto ad altri (Oracle, MySQL, MSSQL) Data layer Il livello dati usa il pattern DAO (Data-Access-Object) per operare sul DB. L'intento è di disaccoppiare la logica di business dalla logica di accesso ai dati, rendendo gli oggetti (Generic entity) indipendenti dalla natura del dispositivo dimemorizzazione. Generic entity Costituisce un oggetto generico che viene scambiato tra data layer e service layer
Qcadoo Framework: architettura Service Layer Responsabile della logica applicativa Fornisce un’interfaccia comune per l’accesso alle informazioni, organizzate dal Data layer in oggetti immagazzinati nel DB in tabelle. Fornisce metodi per definire model e view deimoduli View layer e DTO Prende i dati del modello e li mostra all’utente. Fornisce l’output dell’applicazione. Una view può essere una pagina web o un documento pdf/xls. Per una migliore separazione tra i livelli View e Service si adoperano DTO (Data-Transfer-Objects) modellati utilizzando il formato JSON. DTO: design pattern utilizzato per trasferire dati tra sottosistemi di un’applicazione software
Qcadoo Framework: architettura • Client Browser • Web browser responsabile di tutte le operazioni client-side: • validazione campi • visualizzazione degli elementi, grafici, stili, • comunicazione col server. • Gran parte della logica è sviluppata usando la libreria Jquery per funzioni Javascript (AJAX). • Browser supportati: • Firefox 3.0+, Internet Explorer 7+, Safari 4+, Opera 9+, Chrome 5+ Sicurezza L’autenticazione è form-based. Accesso garantito verificando credenziali memorizzate nel database Comunicazione Protocollo di comunicazione cifrato con SSL (HTTPS)
qcooStore Piattaforma che consente ad utenti/sviluppatori di acquistare/vendere componenti per qcadoo MES. Vantaggi utente: Personalizzazione del software secondo le esigenze dell’azienda grazie alla scelta e composizione dei moduli Vantaggi sviluppatore: Piattaforma unica per distribuire i componenti software Ricavi: 70% sul prezzo del componente Il sistema sarà disponibile a breve
qcadoo MES: caratteristiche software Modulare Tale approccio permette di personalizzare il sistema secondo specifiche esigenze seguendo l’evoluzione nel tempo dell’azienda. Open source Codice sorgente rilasciato gratuitamente su licenza AGPL. Chiunque può utilizzarlo per fini commerciali. Gli utenti che hanno bisogno di supporto e moduli professionali possono acquistare una licenza a pagamento Web-based qcadoo MES è disponibile via browser. Ciò rende il sistema platform-indipendent riducendo costi e tempi di installazione
qcadoo MES: moduli software I moduli sono l’elemento chiave del software Consentono di aggiungere facilmente nuove funzionalità Ogni modulo può essere realizzato ed esteso a partire da altri moduli L’implementazione di nuove features è ottenuta mediante l’uso di XML per la definizione di GUI (Interfaccia grafica) e data model e Java per lo sviluppo della logica applicativa La definizione del modello riguarda la struttura delle tabelle per la memorizzazione dei dati e le funzioni base di creazione, lettura, aggiornamento, rimozione (CRUD).
qcadoo MES: tipologie di servizio Qcadoo MES installato localmente Ideale per sviluppo e test nuovi plugins Supporto, backup a carico dell’utente Disponibilità limitata di moduli closed-source Qcadoo MES è fornito sotto forma di SaaS La web-application resiede su un server dedicato Supporto, backup e assistenza garantiti da Qcadoo
qcadoo MES : funzionalità Gestione dati di produzione - Dati anagrafici Informazioni sul personale e sui macchinari Definizione dizionari (es. unità di misura) - Prodotti I prodotti indicano tutto il materiale coinvolto nella produzione, dalle materie prime, ai semilavorati, fino ai prodottifiniti - Tecnologie Le tecnologie rappresentano il flusso di operazioni che portano alla trasformazione delle materie prime in semilavorati o prodotti finiti - Ordini di produzione Gli ordini definiscono ciò che bisogna produrre e in che quantità
qcadoo MES : funzionalità Valutazione costi e tempi di lavorazione Ogni attività o operazione è corredata di informazioni sul tempo di esecuzione e i costi. Raccogliendo i dati dall’impianto si può determinare se sono presenti problemi o colli di bottiglia che rallentano e fanno lievitare icostidellaproduzione La riduzione dei costi può avvenire eliminando scorte inutilizzate in magazzino e monitorando i tempi di inattività dell’impianto In questo ambito il sistema gestisce: - Ordini sui materiali Indicano quando e quali materie prime devono essere ordinate per soddisfare le richieste dei clienti e allo stesso tempo per ridurre scorte inutili. - Istruzioni di lavoro Ogni operaio sa esattamente cosa fare: conosce le materie prime che deve utilizzare, come deve operare, cosa dovrà essere prodotto
qcadoo MES : funzionalità Monitoraggio produzione Stato operazioni E’ possibile definire quali dati devono essere raccolti dall’impianto. In tal modo si può monitorare lo stato di ogni operazione (input, output, durata) Genealogia Registrando un prodotto si può risalire alle materie prime e semilavorati usati per realizzarlo. Tali informazioni vengono fornite mediante reports Correttezza delle informazioni L’informazione è fornita in maniera precisa. L’accesso al database centralizzato elimina le ridondanze tra i dati
Installazione su macchine Windows e Linux Installare Java 6 JDK : sudo apt-get install openjdk-6-jdk Installare database PostgreSQL: sudo apt-get install postgresql Impostare password “postgres123“ per utente postgres: sudo passwd postgres Connettersi al DB: sudo su postgres -c psql Impostare password “postgres123” nel DB per l’utente postgres ALTER USER postgres with PASSWORD 'postgres123'; Creare database mes: CREATE DATABASE mes; Installare Java 6 JDK : http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html Installare database PostgreSQL: http://www.enterprisedb.com/products-services-training/pgdownload#windows Inserire password durante l’installazione del DB Lanciare l’applicativo pgAdmin fornito da PostgresSQL, connettersi al DB inserendo la password “postgres123” Creare il database mes da pgAdmin Settare variabili d’ambiente Start -> PannellodiControllo -> Sistema -> Avanzate -> Variabilid’ambiente Aggiungereilpercorsoallacartellabindi Java 6 JDK nellavariabilePATH DefinireunanuovavariabileJAVA_HOMEallacartelladi Java JDK
Installazione su macchine Windows e Linux Scaricare qcadoo MES v. 1.1.0 edestrarrel’archivio: http://www.qcadoo.com/community-edition-download.html Disabilitare il caricamento dei dati di esempio impostando nel file mes.properties in qcadoo-mes-bin-1.1.0-stable/qcadoo il campo: loadTestData=false Lanciare l’applicazione da terminale: ./qcadoo-mes-bin-1.1.0-stable/bin/startup.sh ./qcadoo-mes-bin-1.1.0-stable/bin/startup.bat Accedere da browser: http://localhost:8080 Inserire dati accesso: User: admin Password: admin
Produzione di locomotive giocattolo In questo tutorial viene mostrato come configurare qcadoo MES per gestire la produzione di locomotive giocattolo. Il prodotto viene fornito in tre varianti: • Locomotiva con corpo laccato in blue e ruote non colorate • Locomotiva con corpo non colorato e ruote blue • Locomotiva con corpo e ruote non colorate Al termine della configurazione si potranno gestire gli ordini di produzione e pianificare il lavoro per soddisfare tali ordini
Diagramma operazioni Flusso di operazioni e le risorse coinvolte nella realizzazione del prodotto finito a partire dalle materie prime Verniciatura blue corpo locomotiva Lacca, colore blue [0,1 lt] Corpo locomotiva, blue [1 u] Taglio corpo Pannello di legno [1 u] Corpo locomotiva non laccato [10 u] Verniciatura corpo locomotiva Corpo locomotiva no colore [1 u] Lacca, no colore [0,1 lt] Lacca, colore blue [0,1 lt] Verniciatura blue set ruote Set ruote, colore blue [1 u] Pannello di legno [1 u] Taglio ruote Set ruote non laccate [60 u] Verniciatura set ruote Set ruote no colore [1 u] Vernice, no colore [0,1 lt] Realizzazione asse ruote da barra Taglio asta Barra metallo [1 m] Asse ruote [1 u] Barra metallo 5 cm [20 u]
Diagramma operazioni Assemblaggio locomotiva blue, ruote non colorate Locomotiva blue, ruote non colorate [1 u] Corpo locomotiva blue [1 u] Corpo locomotiva no colore [1 u] Assemblaggio locomotiva non colorata, ruote blue Locomotiva non colorata, ruote blue [1 u] Set ruote blue [1 u] Set ruote no colore [1 u] Asse ruote [1 u] Assemblaggio locomotiva e ruote non colorate Locomotiva e ruote non colorate [1 u]
Steps Configurazione Dati anagrafici Prodotti Operazioni Tecnologie Inserimento ordine di produzione Generazione reports Ordini di materiale Piano di lavoro personale Piano di lavoro prodotto
Definizione dati anagrafici # Unitàdimisura (Basic Data -> Dictionaries -> Units) # Macchine (Basic Data -> Machines) # Personale (Basic Data -> Staff)
Definizioneprodotti # Materie prime, semilavorati e prodottofiniti (Basic Data -> Products) Materie prime Semilavorati Prodotti finiti
Definizione operazioni # Operazioni (Basic Data -> Technology -> Operation record)
Definizionetecnologie # Tecnologie (Basic Data -> Technology -> Tecnologies)
Definizionetecnologie # Tecnologie, sequenzadioperazioni (Basic Data -> Technology -> Tecnologies)
Definizionetecnologie # Tecnologie, sequenzadioperazioni (Basic Data -> Technology -> Tecnologies)
Definizionetecnologie # Tecnologie, insiemiditecnologie (Basic Data -> Technology -> Tecnologies)
Inserimentonuovoordine # Ordinediproduzione (Production Orders -> Production orders)
Generazione reports • (Reports) Workplan prodotto Ordine materiali Workplan personale
Riferimenti Qcadoo website http://www.qcadoo.com/ Qcadoo Wiki - User Documentation http://wiki.qcadoo.org/display/QCDMESUSRDOC/English