Ciao a tutti,
Non ho trovato un argomento particolare che affrontasse questo argomento, quindi speravo di ricevere aiuto da alcuni di voi che usano gli RSS.
Fondamentalmente ci sono due cose che sto cercando di fare nel motore di simulazione per tenere conto della risposta nella vita reale per i cicli di manutenzione:
1) Se ho due componenti paralleli, entrambi con errori ed elementi pianificati, vorrei essere in grado di sospendere l'elemento pianificato per il componente parallelo quando il suo blocco parallelo fallisce.Questo serve a modellare la risposta normale negli impianti di produzione in cui la manutenzione sarebbe rinviata per prevenire la perdita di un sistema.
2) C'è un modo per scaglionare i programmi di manutenzione in modo che non si sovrappongano se sono ancora sullo stesso programma (cioè vengono completati ogni anno, ma sfalsati di 3 mesi l'uno dall'altro).
Immagino che l'utilizzo di un blocco If potrebbe essere applicabile per questo, ma non c'è alcuna documentazione reale a cui fare riferimento per capirne l'uso.
Ho avuto una domanda quasi identica (la prima) un paio di settimane fa. Copio/incollo la mia risposta qui sotto. Ha una sfida di tempismo extra, ma il pezzo per evitare la manutenzione è lo stesso.
A seconda di quando si desidera iniziare la manutenzione dopo il ritardo rispetto a quello pianificato, potrebbe essere possibile creare un RSS. Allego uno schema parzialmente finito. Abbiamo chiamato i componenti Caldaie. Allegherò un esempio parziale che mostra la logica. Ho apportato modifiche solo a Boiler1, modifiche simili devono essere apportate a Boiler2. Non sono in grado di dare la logica completa perché la descrizione non mi è chiara.
L'esempio che mi è stato fornito ha il tempo di completamento della manutenzione preventiva distribuito triangolarmente tra 0,5 e 5, quindi il massimo è 5.
Anche l'esempio della manutenzione preventiva programmata alle 22, 22+24, 22+24*2, ....
Ora facciamo la programmazione alle 22, 22+24, ecc.
- Aggiungi 1 evento pianificato, con Intervallo ricorrente = 22 e Ricorrenza massima = 1. Quindi funziona solo una volta, alle 22.
- Collegalo a tre azioni, tutte attivate al momento 22:
- Controllare e se Boiler2 NON va bene. Questo collegamento a una Schedule ACTION con Max Occurrence = 1 e Completion Time = 5, quindi si attiverà 5 ore dopo. Avviso dopo 5 ore, la caldaia 2 deve essere accesa, a causa dell'impostazione del completamento della manutenzione. L'azione di pianificazione si collega a un'azione di riparazione minima.
- Controllare e se Boiler2 è ok. Quindi si collega a un'azione di riparazione minima.
- Avvia una nuova AZIONE programmata con occorrenza massima MANCANTE e tempo di completamento = 24. Quindi questo ragazzo si accenderà ogni 24 ore dopo le 22. E questo nodo si collega ai nodi stessi di (a) e (b) sopra.
- La caldaia 2 dovrebbe fare cose simili, ma condizionando la caldaia 1.
Se si vuole far partire la Caldaia 1 proprio quando la Caldaia 2 è riparata e riaccesa, adesso è impossibile.
Non capisco la seconda domanda, ma credo che la soluzione riguarderà come intrecciare eventi pianificati o azioni di pianificazione, o entrambi, con gli eventi desiderati.