Ciao a tutti,
Non ho trovato un argomento in particolare che affrontasse questo problema, quindi speravo di ottenere 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 della vita reale per i cicli di manutenzione:
1) Se ho due componenti paralleli, entrambi con errori e elementi pianificati, vorrei essere in grado di sospendere l'elemento pianificato per il componente parallelo quando il suo blocco parallelo non è riuscito.Questo per modellare la risposta normale negli impianti di produzione in cui la manutenzione sarebbe differita 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 scaglionati 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 capire il suo utilizzo.
Ho avuto una domanda quasi identica (la prima) un paio di settimane fa. Sto copia / incolla la mia risposta di seguito. Ha una sfida di tempistica extra, ma il pezzo per evitare la manutenzione è lo stesso.
A seconda di quando si desidera avviare la manutenzione dopo aver ritardato quella pianificata, 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 eseguite su Boiler2. Non sono in grado di dare la logica completa perché la descrizione non mi è chiara.
L'esempio che mi è stato fornito ha un tempo di completamento della manutenzione preventiva distribuito triangolarmente tra 0,5 e 5, quindi il massimo è 5.
Anche l'esempio di manutenzione preventiva programmata alle 22, 22 + 24, 22 + 24 * 2, ....
Ora facciamo la pianificazione a 22, 22 + 24, ecc.
- Aggiungi 1 evento pianificato, con Intervallo ricorrente = 22 e Ricorrenza massima = 1. Quindi viene eseguito solo una volta, alle 22.
- Collegalo a tre azioni, tutte attivate al momento 22:
- Verificare e se Boiler2 NON è ok. Questo collegamento a un'AZIONE di pianificazione con occorrenza massima = 1 e tempo di completamento = 5, quindi verrà attivato 5 ore dopo. Avviso dopo 5 ore, la caldaia 2 deve essere attiva, a causa dell'impostazione del completamento della manutenzione. L'azione di pianificazione si collega a un'azione di riparazione minima.
- Verificare e se Boiler2 è ok. Quindi si collega a un'azione di riparazione minima.
- Avvia un nuovo programma ACTION con Max Occurrence MISSING e tempo di completamento = 24. Quindi questo ragazzo si accenderà ogni 24 ore dopo le 22. E questo nodo si collega ai nodi come (a) e (b) sopra.
- La caldaia 2 dovrebbe fare cose simili, ma il condizionamento sulla caldaia 1.
Se si vuole avviare la caldaia 1 precisamente quando la caldaia 2 è fissata e riaccesa, ora è impossibile.
Non capisco la seconda domanda, ma credo che la soluzione sarà su come intrecciare un evento pianificato o azioni di pianificazione, o entrambi, con gli eventi desiderati.