POLITECNICO DI BARI - Prof.ssa Maria Pia FANTI - Esercitatore Ing. Giorgio IACOBELLIS

giovedì 10 gennaio 2008

Dubbi progetto in ARENA

.............abbiamo un dubbio riguardante la realizzazione in Arena del
subsystem riferito al posto p1 (stesso discorso va fatto per p6). Il
posto, infatti, per far partire il token deve attendere che o t1 o t2
scatti. Quale potrebbe essere la soluzione per implementare uno schema
che ci permetta di lasciar andare il token in p2 se scatta t1 o in p3 se
scatta t2? potremmo utilizzare due blocchi hold in parallelo con due
blocchi leave a valle, 1 per ciascun percorso, ma poi, supposto che il
token vada in p2 per esempio, come è possibile disabilitare il percorso
che porterebbe il token anche in p3?

RISPOSTA
Si in effetti con 2 hold non risolvete granchè!
Potreste, utilizzando un hold, cambiare la condizione di uscita da wait
for signal a scan for condition e poi sostituire i blocchi signal
delle transizioni t1 e t2 con 2 blocchi assign.
In pratica dovreste avere una variabile, ad es. T12, che può assumere
valori pari a 0,1(è scattata t1),2(è scattata t2),
che di solito vale 0 e quando scatta una delle 2 transizioni, la
setta al valore corrispondente.
La condizione di uscita dal blocco hold sarebbe così (
T12==1.or.T12==2) subito a valle mettete un bel blocco
assign e trasferite il valore di T12 in un attributo e resettate T12 a
zero!
In seguito con un blocco decide potete instradate la vostra entità in
base al valore dell'attributo tra i 2 blocchi leave.
Spero di essere stato chiaro e di aiuto.

Nessun commento: