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:
Posta un commento