Logica impianto

Per default il simulatore crea un ordine a intervallo fisso, ruotando tra le coppie di prelievo e deposito selezionate. Logica impianto sostituisce questa regola con uno schema a blocchi, così gli ordini possono seguire tempi di produzione, eventi alle stazioni, condizioni e contatori.

Quando usarla

  • Più linee di produzione con ritmi e stazioni diversi.
  • Un trasporto che deve partire quando un altro è stato consegnato (movimentazioni concatenate).
  • Una sorgente da servire di nuovo solo quando si è svuotata (rifornimento ciclico).
  • Ordini che dipendono dallo stato dell'impianto: AGV liberi, missioni in coda, un contatore di scorta.

Se basta un intervallo fisso tra gli ordini, resta con il generatore periodico in Ordini e tempi.

Sequenze, blocchi e collegamenti

Uno schema è fatto di blocchi uniti da collegamenti. Un blocco di avvio (Avvio, Timer periodico, Al deposito su stazione, Missione ciclica) crea una sequenza: un gettone indipendente che passa di blocco in blocco lungo i collegamenti, attende dove un blocco lo chiede e termina in Fine sequenza.

  • Ogni uscita (a destra del blocco) ha esattamente un collegamento. Collegala all'ingresso (a sinistra) del blocco successivo.
  • Tutte le uscite devono essere collegate; usa Fine sequenza per chiudere un ramo.
  • Più sequenze possono essere attive contemporaneamente, anche negli stessi blocchi. Più collegamenti in ingresso allo stesso blocco non sincronizzano le sequenze.
  • Le variabili sono condivise da tutte le sequenze e partono da zero.
  • Il tempo avanza solo con la simulazione: ogni durata è in secondi simulati.

Riferimento dei blocchi

Avvii

BloccoImpostazioniComportamento
▶ AvvioAvvia una sequenza al tempo zero.
◷ Timer periodicoIntervallo (s), Primo avvio dopo (s)Avvia una nuova sequenza a ogni intervallo, anche se la precedente è ancora attiva.
↧ Al deposito su stazioneDepositi da osservareAvvia una sequenza ogni volta che un AGV completa uno scarico in una delle stazioni selezionate. Arrivi, prelievi e rientri al parking non lo attivano.
↻ Missione ciclicaPrelievi del blocco, Depositi del blocco, Ritardo a sorgente libera (s)Per ogni sorgente selezionata senza missioni in attesa o in corso (di qualsiasi blocco), attende il ritardo e genera un trasporto verso un deposito raggiungibile (i depositi ruotano). Si ripete da solo.

Flusso e condizioni

BloccoImpostazioniComportamento
◴ AttesaDurata (s)Trattiene la sequenza per un tempo di produzione o lavorazione.
⊣ PrerequisitoVerifica, Confronto, ValoreTrattiene la sequenza finché la condizione non è vera. Non prenota AGV o risorse.
◇ CondizioneVerifica, Confronto, ValoreValuta la condizione una volta e prosegue sull'uscita o No.
# Aggiorna variabileVariabile, Operazione (Imposta / Incrementa), ValoreImposta o incrementa un contatore condiviso. Gli incrementi possono essere negativi.
■ Fine sequenzaTermina questa sequenza. Le altre sequenze e i veicoli continuano.

Prerequisito e Condizione possono verificare AGV liberi, Missioni in attesa, Missioni in corso, Missioni completate o una Variabile impianto, con i confronti ≥, ≤, =, > e <. I nomi delle variabili hanno al massimo 40 caratteri: lettere, numeri, spazi e underscore.

Missioni

BloccoImpostazioniComportamento
⇢ Genera missionePrelievi del blocco, Depositi del bloccoA ogni passaggio di una sequenza accoda un trasporto, ruotando tra le coppie prelievo/deposito raggiungibili. L'allocatore sceglie l'AGV.
⚄ Missione randomPrelievi del blocco, Depositi del bloccoGenera un ordine: un prelievo casuale con almeno un deposito raggiungibile, poi un deposito raggiungibile casuale. La stessa coppia può ripetersi.
✓ Attendi consegnaAttende lo scarico dell'ultima missione generata da questa sequenza, non di tutte. Richiede un blocco missione prima di sé su ogni ramo in ingresso.

Tempi di carico e scarico, flotta, velocità e criterio di scelta dell'AGV restano in SimulaScenario.

Usare l'editor

  1. Apri il workspace. Clicca Logica impianto nella barra superiore. Uno schema vuoto propone Inizia da un esempio.
  2. Aggiungi blocchi. Trascina un blocco dalla palette Blocchi nello schema, oppure cliccalo per aggiungerlo.
  3. Collega. Clicca la porta di uscita a destra di un blocco, poi la porta di ingresso a sinistra del blocco successivo. Esc o Annulla collegamento interrompono.
  4. Configura. Seleziona un blocco per modificarne nome e impostazioni in Proprietà blocco. Gli elenchi di stazioni mostrano solo le stazioni con il ruolo adatto.
  5. Verifica. La riga di stato indica Schema valido oppure il numero di problemi da correggere prima dell'avvio; ogni problema nomina il blocco interessato.
  6. Attiva. Spunta Usa lo schema per generare gli ordini. Finché è disattivato, lo schema è una bozza e si usa il generatore periodico.
AzioneCome
Zoom / spostamentoRotellina per lo zoom, tasto centrale per spostare; Adatta inquadra lo schema
Selezionare più blocchiTrascina un rettangolo con il tasto sinistro; Shift/Ctrl+clic aggiunge o toglie un blocco
Spostare un gruppoTrascina uno dei blocchi selezionati
Copia / incollaCtrl+C copia i blocchi con i collegamenti interni; Ctrl+V li incolla accanto agli esistenti
EliminareSeleziona un blocco o un collegamento e premi Canc, oppure usa il pulsante di eliminazione nelle proprietà

Le modifiche allo schema riavviano la simulazione da zero e si salvano nel progetto con Salva. Lo schema supporta annulla e ripristina come il resto del progetto.

Seguire l'esecuzione

Durante la simulazione ogni blocco mostra quante sequenze si trovano al suo interno e quante vi sono passate. La riga di stato indica se la logica è In esecuzione o Pronto / in pausa, il numero di sequenze attive e terminate e gli eventuali avvisi. Gli ordini generati indicano il blocco che li ha creati, per esempio M12 (3 → 7) da «Linea A».

Se la logica incontra un problema durante l'esecuzione, per esempio un ciclo senza tempo di attesa, Simula mostra un errore: apri Logica impianto, correggi lo schema o premi Reset.

Schemi ricorrenti

Linea di produzione con limite di coda (l'esempio incluso)

Timer periodico60 sPrerequisitoin attesa ≤ 5Genera missioneAttendi consegnaAttesa10 sFine sequenza

Ogni minuto parte una sequenza, attende che non ci siano più di cinque missioni in attesa, genera un trasporto e ne attende la consegna prima di un tempo di lavorazione di 10 s.

Trasporti concatenati

Al deposito su stazionestazione 1Genera missione1 → 2Fine sequenza

A ogni scarico sulla stazione 1 viene creato un nuovo trasporto da 1 a 2. La stazione 1 deve avere entrambi i ruoli Pickup e Drop, e la prima consegna verso di essa deve venire da un'altra sequenza dello schema.

Servire una sorgente appena è libera

Missione ciclicaprelievo 1, deposito 2, ritardo 30 sFine sequenza

Un trasporto da 1 parte 30 s dopo che la sorgente non ha più missioni in attesa o in corso. Non servono timer né collegamenti di ritorno.

Domanda casuale quando un veicolo è libero

Timer periodico45 sCondizioneAGV liberi ≥ 1Missione randomFine sequenza

Collega l'uscita No della Condizione a una seconda Fine sequenza. Le scelte casuali usano il generatore casuale del browser, quindi due run non sono identiche.

Un ciclo in serie

AvvioGenera missioneAttendi consegnaAttesa20 storna a Genera missione

Un Timer periodico può avviare sequenze sovrapposte. Per lavori strettamente uno dopo l'altro usa Avvio e ricollega l'ultima Attesa al primo blocco di lavoro. Metti sempre un'Attesa nel collegamento di ritorno: un ciclo senza tempo di attesa viene fermato come ciclo istantaneo.

Studi più completi basati su questi schemi sono nel Ricettario di scenari.

Limiti

  • 200 blocchi e 400 collegamenti per schema.
  • 500 sequenze attive e 1000 ordini in attesa: oltre questi valori i nuovi avvii vengono sospesi finché la coda si libera.
  • 200 transizioni istantanee per passo di simulazione.