Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Sistema ad eventi discreti

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[1] Sistema ad eventi discreti

Messaggioda Foto Utentebjunior » 2 apr 2015, 0:35

Ciao a tutti, ho appena iniziato a studiare i sistemi ad eventi discreti per l'automazione industriale ed ho un dubbio che è il seguente:
ho un sistema a coda, dove considero ovviamente una coda e un opportuno servizio a cui avranno accesso i "clienti" che man mano si metteranno in coda. Supponiamo che x(k) sia la lunghezza della coda, dove k sta ad indicare il k-esimo evento.
Ovviamente avrò il seguente insieme degli eventi E=[a,d] dove:
a= arrivo di un cliente al sistema
d= partenza di un cliente dal sistema dopo aver avuto accesso al servizio
Ora, se ad esempio ho un cliente in fila ed un determinato t si verifica l'evento d devo considerare che nello stesso stesso istante il cliente in fila abbia accesso al servizio e quindi x(d)=0 o devo aspettare che accada il prossimo evento per aggiornare lo stato della coda a 0??
Grazie a chi mi aiuterà O_/
Avatar utente
Foto Utentebjunior
13 4
New entry
New entry
 
Messaggi: 59
Iscritto il: 27 gen 2014, 17:21

0
voti

[2] Re: Sistema ad eventi discreti

Messaggioda Foto UtenteCandy » 2 apr 2015, 13:02

Ho capito poco e, tra l'altro, non so esprimermi nella forma da te rappresentata, ma, se "a" e "d" sono indici degli eventi, la coda sarà vuota quando "d" egualia "a", mentre ci sarà del lavoro da fare se "a" sarà maggiore di "d".
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54

0
voti

[3] Re: Sistema ad eventi discreti

Messaggioda Foto Utentebjunior » 3 apr 2015, 16:40

Grazie per la risposta :)
Ti posto l'esercizio che sto affrontando magari ci capiamo meglio.
Una serie di compiti vengono presentati a un sistema computer che ha 2 processori P1 e P2 che lavorano in parallelo.Quando un compito è presentato al sistema si applica la seguente regola per decidere quale dei due processori deve essere usato: si alternano i compiti tra i due processori con il primo compito che va da P1.Se il processore è impegnato nel processo e un nuovo compito arriva al processore tale compito si mette in coda.
Gli arrivi al sistema si verificano ai tempi 0.1 0.7 2.2 5.2 9.9. Il tempo di processo di P1 si alterna tra 4.2 s e 1.1 s (partendo da 4.2 s) mentre il tempo di processodi P2 è fissato a 2.0 unità di tempo. Consideriamo un modello event-driven con l'insieme degli eventi pari a E=[a,d_1,d_2] dove:
a=arrivo del compito al sistema
d_i=partenza del compito dal sistema dal i-esimo processore
Si costruisca una tabella con i valori di x_1(k),x_2(k),y(k),t(k) dove x_1(k),x_2(k),y(k) sono le lunghezze delle code e il numero cumulativo delle partenze dopo l'avvenimento del k-esimo evento e t(k) è l'istante di tempo relativo all'occorenza del k-esimo evento.Se 2 eventi occorrono nello stesso istante si assuma che la partenza avviene sempre prima di un arrivo

Allora io ho fatto in questo modo
k=1,e_1=a quindi x_1(k)=0,x_2(k)=0,y(k)=0,t(k)=0.1
k=2,e_2=a quindi x_1(k)=0,x_2(k)=0,y(k)=0,t(k)=0.7
k=3,e_3=a quindi x_1(k)=1,x_2(k)=0,y(k)=0,t(k)=2.2
k=4,e_4=d_2 quindi x_1(k)=1,x_2(k)=0,y(k)=1,t(k)=2.7
k=5,e_5=d_1 quindi x_1(k)=0,x_2(k)=0,y(k)=1,t(k)=4.3
k=6,e_6=a quindi x_1(k)=0,x_2(k)=0,y(k)=0,t(k)=5.2
k=7,e_7=d_1 quindi x_1(k)=0,x_2(k)=0,y(k)=1,t(k)=5.4
k=8,e_8=d_2 quindi x_1(k)=0,x_2(k)=0,y(k)=1,t(k)=7.2
k=9,e_9=a quindi x_1(k)=1,x_2(k)=0,y(k)=0,t(k)=9.9

quello che volevo chiedere è,ad esempio per k=5 dove si verifica la partenza di un compito dal processore 1 faccio bene a porre x_1(5)=0 e quindi a presupporre che nello stesso istante della partenza del compito, il compito in fila entra nel processore?
Avatar utente
Foto Utentebjunior
13 4
New entry
New entry
 
Messaggi: 59
Iscritto il: 27 gen 2014, 17:21

0
voti

[4] Re: Sistema ad eventi discreti

Messaggioda Foto UtenteCandy » 3 apr 2015, 22:52

Non so cosa rispoderti, perché non so nulla di cosa studi. Ma oso aggiungere delle domande, che mi nascono dal senso pratico delle cose: se nell'istante 0.1 arriva un primo evento, perché nella tua tabella non viene destinato subito al processore P1? E di conseguenza nell'istante 0.7 l'evento in arrivo so è destinato al processore P2?
Sono io che non so leggere la tua tabella? (Probabilissimo).

quindi a presupporre che nello stesso istante della partenza del compito, il compito in fila entra nel processore?


A me verrebbe da dire che se ad un certo istante invii un compito ad un processore, questo sarà nuovamente libero trascorso il tempo di esecuzione, che il testo dell'esercizio precisa.

Leggendo l'esercizio a me sembra: abbiamo cinque eventi in ingresso, da gestire, di cui sappiamo l'istante di arrivo. Abbiamo due processori. P1 ha dei tempi di esecuzione "farlocchi" di 4.2 s al primo incarico ed 1.1 s al secondo incarico, mentre P2 ha un tempo di esecuzione fisso di 2.0 s
Io immagino che nell'istante 0.1, arrivando il primo compito, vada da se che si destina istantaneamente verso P1, che impiegherà 4.2 secondi ad elaborlo e, quindi, all'istante 4.3 sarà nuovamente libero per elaborare eventuale coda...

Ma non so, perché appunto non so nulla di cosa studi tu.
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54


Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti