2026-04-02 17:14:55 +02:00
2018-05-04 20:38:38 +02:00
2024-03-18 18:15:14 +01:00
2020-10-12 12:35:30 +02:00
2026-03-11 07:43:04 +01:00
2024-03-18 18:15:14 +01:00
2025-03-21 16:39:58 +01:00
2024-03-22 10:06:30 +01:00
2022-04-21 15:28:34 +02:00
2024-03-22 09:54:40 +01:00
2018-10-04 17:50:43 +02:00
2018-10-04 17:50:43 +02:00
2021-09-01 10:22:20 +02:00
2024-03-22 10:06:30 +01:00
2024-03-22 10:06:30 +01:00
2022-04-26 16:11:26 +02:00
2020-12-31 10:36:06 +01:00
2018-10-26 12:27:57 +02:00
2018-09-19 17:49:25 +02:00
2018-09-19 17:49:25 +02:00
2019-04-04 11:08:47 +02:00
2019-04-04 11:08:47 +02:00

MoonPro .net

Progetti area Mapo/MoonPro

Consiste di vari siti web che ruotano intorno al DB principale MoonPro di seguito elencati che si occupano delel varie gestioni del processo di

  • acquisizione dati
  • input utente (tramite tablet)
  • gestione utente (da browser)
  • visualizzazione con analisi (SITE)
  • visualizzazione non presidiata (MON)

Installazione

Perr installare ci sono dei prerequisiti server:

MP

  • landing site
  • rimando a singoli siti

MP/IO

  • Verifica status impianti
  • Acquisizione da IOB (INPUT DATA)
  • Ottimizzazione input tramite layer REDIS x caching dello stato macchine e delle StateMachine degli Ingressi (HW)

MP/SITE

  • sito web principale
  • visualizzaizone stato macchine
  • visualizzazione tempi ciclo
  • analisi produttività
  • verifica ODL correnti/chiusi/aperti

MP/TAB

  • sito tablet
  • gestione input da operatore
  • apertura/chiusura ODL
  • gestione causali fermo

MP/ADM

  • applicazione amministrativa
  • gestione ODL

MP/MON

  • monitoraggio continuo (totem officina)
  • ottimizzato per rPI
  • permette di vedere in 3 modalità
    • Normale (cambia tra 2 versioni colore "fisse") --> MP/MON
    • Blink pulsante (animazione) --> MP/MON/Home/Blink
    • FISSO (NESSUNA animazione) --> MP/MON/Home/Fix

MP/MAKE

  • gestione linee di montaggio/assemblaggio ed in genere task manuali
  • implementzione pilota e di riferimento x Colcom (sarà poi da integrare con gestionale)

BASIC VERSION

DA RIVEDERE (tolta elettronica scalvina...)

La versione base dell'applicativo gestisce (SENZA integrazione con sistemi informativi esterni) le informazioni collegate alla gestione di fasi manuali.

In particolare si tratta di

  • registrare MANUALMENTE i TASK (= gli ordini di produzione, con set minimo: cod_ordine, cod_articolo, qta_richiesta)
  • obbligatorio RICONOSCIMENTO dell'operatore (barcode? QRCode?)
  • utilizzare il barcode ove possibile (es fase di registrazione TAKS)
  • decodificare l'informazione in modo parametrico (es. ordini iniziano per "ORD*", lungh minima 10 char...; articoli iniziano per "ART*"; qta da produrre è una cifra < 999'999) --> vedere ad esempio modalità riconoscimento datamatrix in GMW
  • al PRIMO caricamento di un TASK (riconosciuto dal codice UNIVOCO dell'ordine di lavoro NON ancora registrato su DB) --> predisposizione alla registrazione del record
  • letto il valore CHIAVE (esterna) --> sono accettati i dati a correto (codice articolo e quantità da produrre)
  • conferma una volta letto il set intero --> CREAZIONE DELLA PROMESSA (PromessaODL)
  • Una volta creata la promessa (intestata su un GRUPPO GLOBALE) questa diventa attiva e "accettabile" per l'avvio di qualsiasi fase di lavoro (NON E' preimpostato un ciclo, si ileva qulsiasi fase venisse associata in futuro)
  • Ogni postazione potrà (anche contemporaneamente ad altre) INIZIARE UNA REGISTARZIONE, ovvero registrare un PERIODO di attività (=fase di alvoro specifica) da associare al TASK, tendenzialmente per una quantità COMPLETA (= tutto quanto indicato come Qta_RICHIESTA)
  • Una volta avviata un attività questa potrà SOLO essere CONCLUSA/SOSPESA. Se SOSPESA si propone DI DEFAULT di riaprirla (es dopo una pausa o il giorno successivo) sullo stesso impianto/postazione. Se viceversa fosse segnalata come conclusa NON verrà proposto di riavviarla (ma non sarà impedito, es fasi di riparazione post collaudo...)
  • Possiamo avere TANTE registrazioni di PERIODI di attività per OGNI task attivo (fino a quando il task non viene chiuso). Ogni registrazione DOVREBBE riportare la quantità evasa nel periodo (se non fatto verrebbe sbagliata registrazione tempo ciclo/produttività personale)
  • Una vlta chiusa ulima registrazione, nelle postazioni abilitate si può CHIUDERE il TASK (=lavorazione) e da quel momento NON si può riaprire (tipicamente collaudo, primo collaudo o collaudo successivo per pezzi ripresi)
  • Esistono le "fasi standard" (da effettuare su TUTTI i pezzi richiesti) e le fasi di ripresa (tipicamente solo su un subset dei prodotti)
  • Output: report base (excel) delle fasi (TUTTE!) associate ad ogni task, con durata TOTALE fase (e quantità pari a quella ordinata - con le fasi di ripresa POTREBBE NON essere vero...)
  • Totale tempo fasi / pezzi --> TC stimato
  • Si potrebbe costruire un grafico / curva (opzionale, in secondo periodo) per indicare una CURVA del TCiclo al variare della uantità di pezzi lanciati in un ordine di produzione

ADV VERSION

La versione avanzata COMPRENDE tutti i dati, i metodi e le funzioni di base. Si aggiungon però alcune caratteristiche:

  • dati ORDINI/FASI recuperati TIPICAMENTE da gestionale / DB+tab esterni
  • ...

HOWTO e gestione prolemi

Procedura per ricaricare i dati da rPI-IOB a MP/IO

In caso di problemi (disconnessioni lunghe, PI che non trasmetotno) i dati salvati nel logfile dei PI possono essere ritrasmessi al server MP/IO in modalità bath, per farlo:

  • mettere la macchina in modalità insEnabled=0 (così quando riparte NON trasmette ma accumula in RAM)
  • riavviare il PI
    • collegarsi con WinSCP
    • aprire sessione ssh (ctrl-P x aprire sessione sul PI)
    • diventare root (basta digitare senza pwd il comando sudo su)
    • digitare reboot
  • quando il PI è ripartito si deve preparare il file... per farlo
    • andare nella directory steamware (/home/pi/steamware) con cd steamware
    • copiare il file di log e seleizonare il periodo da ritrasmettere, per farlo:
      • cp logfile.txt oldLog/log_20171124.txt (conviene salvare con data del log)
      • editare il file con vim (editor di testo) col comando vim oldLog/log_20171124.txt
      • cercare ULTIMA trasmissione dati, ovvero quando sul log scrive offline, per farlo il comando è /offline; questo trova la prima occorrenza, x cercarel tutte usare n che le mostra tutte (in basso indica la % nel file), ci serve ULTIMA VOLTA che va offline (attenzione che se si è riavviato ha scritto offlien anche dopo riavvio, non è questo...)
      • eliminare tutte le righe PRIMA dell'ultimo offline (che sono già state salvate sul server...), per farlo quando si rifà la ricerca in absso a dx c'è il numero della riga,numero della colonna e poi % del documento, ci interessa numero della riga...
      • andiamo alla prima riga del file col comando :1 (invio)
      • scriviamo il comando di cancellazione (dd) per il numero di righe trovate (meno qualcuna, nel nostro esempio è 131698--> prendo 131690) e dare il comando 131690dd (tutto attaccato); se quancosa andasse storto si annulla con il comando u (undo)
      • quando lui elimina riporta in absso a sx il risultato (es 131690 fewer lines)
      • se si fa un pasticcio x uscire senza salvare si usa esc (anche + volte) e poi :q! (invio) per uscire (:q) senza salvare (!)
      • per salvare l'editing comando w invio (write)
      • eliminare una x una le singole righe rimaste prima del record offline (si può lasciare) con il comando dd (dopo esser certi di essere alla prima riga... :1)
      • ora va eliminato la aprte DOPO il riavvio --> vado in fondo (shift-g)
      • si risale con PgUp / frecce fino a trovare record riavvio "Avvio Programma ReadPar"
      • si eliminano le righe da li in poi (1000dd x eliminarne 100, saranno meno...)
      • si salva e si esce: :wq
  • convertiamo il file con il programma ./convertLogFile.py oldLog/log_20171124.txt pMem.dat (nome programma python, file sorgente, destinazione)
  • verificare il file convertito, DOVREBBE essere nel formato aaaaMMggHHmmssnnn (nnn=millesimo=)#SEGNALE#contatore
  • INVIARE IL FILE!!!! ./readFile.py pMem.dat reload.log (programma, file_da_inviare file_log_invio)
  • RIMETTERE LA MACCHINA ONLINE (e dovrebbe automaticamente caricare i dati che aveva in RAM dal riavvio...)
S
Description
No description provided
Readme 168 MiB
Languages
JavaScript 67.6%
C# 15.3%
ASP.NET 6.9%
CSS 3.7%
TSQL 2.9%
Other 3.5%