Un magazzino della frutta dispone di una pompa di calore per il mantenimento del clima entro un intervallo di temperatura. Una condizione termica critica fa attivare i sensori Sf o Sc (Sf= temperatura troppo bassa, Sc= temperatura troppo alta). Per riportare il clima del magazzino ad un clima ideale l’operatore dispone di una pulsantiera con due tasti: C e F dove il primo fa attivare la pompa di calore rialzando la temperatura in caso di freddo critico e il secondo la riabbassa in caso di caldo estremo; i motori (MC e MF) si attivano al rilascio del pulsante corrispondente riportando la temperatura a quella ideale. 1. I sensori SF e SC non possono mai essere attivi contemporaneamente poiché non si possono aver e condizioni di caldo e freddo critico nello stesso momento. 2. La pressione di pulsanti in momenti non opportuni non farà avviare i motori. Ad esempio quando il motore è già attivo oppure quando il clima è già ideale 3. È possibile premere più pulsanti in simultanea ma avrà effetto solo quello utile a riportare la temperatura entro il suo intervallo. 4. I motori MC e MF non possono essere accesi contemporaneamente e si spengono in automatico al raggiungimento della temperatura ideale. 01/01 01/00 Sc Sf/C F 00/01 00/10 00/00 C 00 01/10 01/01 01/00 01/11 01/10 01/10 D 00 01/00 F 01 A 00 Mc Mf 10/10 10/00 H 00 10/01 10/10 10/00 10/11 10/01 10/01 I 00 10/00 M 10 ScSfCF 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 A A A - A - - - C - - - - - - - H C - - - - D - C C - - - - - - - - D - - - - D D - F - - - - - - - - F A - - - F - F F - - - - - - - - H - - - - - - - - - - - - H - I H I - - - - - - - - - - - - - I I M M A - - - - - - - - - - - M - M M C - D CF Stati a due a due compatibili: ([AC], [AH], [CH], [DH], [DI]) CF Classi massime di compatibilità: ([ACH], [DI],F ,M) F H - - - I MH - - A C D [ACH] => α F => β [DI] => γ M => δ MH M F H I 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 ACH α α α - α γ - α α - - - - α - γ α F β α - - - β - β β - - - - - - - - DI γ - - - - γ γ - β - - - - - γ γ δ M δ α - - - - - - - - - - - δ - δ δ ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 11 00 β 01 00 01 - - 01 β 01 - 01 - - 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 11 - 00 00 α 00 - - - - 00 β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - - - 10 10 δ 10 - - - - 00 CF=10 CF=11 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 01 00 β 01 00 01 - - 01 β 01 - 01 - 11 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 10 - 00 00 α 00 - - - - 00 β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - 11 - 10 10 δ 10 - - - - 00 CF=10 CF=11 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 01 00 β 01 00 01 - - 01 β 01 - 01 - 11 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 10 - 00 00 α 00 - - - - 00 β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - 11 - 10 10 δ 10 - - - - 00 CF=10 CF=11 Mc= Y0!Y1!F + Y0!Y1!C Mf=!Y0Y1!C + !Y0Y1!F ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 01 00 β 01 00 01 - - 01 β 01 - 01 - 11 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 10 - 00 00 α 00 - - - - 00 β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - 11 - 10 10 δ 10 - - - - 00 CF=10 CF=11 Y0=Y0C + ScY0 + Y1F!Sf + SfC!Y1 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 01 00 β 01 00 01 - - 01 β 01 - 01 - 11 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf Α 00 00 10 - 00 00 α 00 - - - - 00 Β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - 11 - 10 10 δ 10 - - - - 00 CF=10 CF=11 Y1= SfY1 + !ScY0C + ScY1F + Sc!Y0F Colori dei segnali: La simulazione evidenzia, dopo il reset della rete, che la pressione • In azzurro i pulsanti C e F dei pulsanti C e F quando la condizione termica è già ideale non • In arancione i sensori Sc e Sf comporta una variazione delle uscite. In seguito all’attivazione del • In fucsia le uscite Mc e Mf • In bianco Y0 e Y1 sensore Sf ,il quale segnala un clima troppo freddo , possiamo not• In rosso il reset are che il motore si attiva solo alla pressione del pulsante C e non a quella di F e resta attiva fino a quando non si disattiva il sensore Sf. Una successiva attivazione del sensore Sc annuncia che la temperatura è troppo alta per cui è necessario premere il pulsante F per riabbassarla: la pressione di C non comporta cambiamenti mentre la simultanea pressione di entrambi i motori fa attivare solo Mc rispettando la 3° condizione di funzionamento della rete. Nell’ultima attivazione del sensore Sc e conseguentemente del motore Mc è possibile notare che la pressione di pulsanti quando il motore non è attivo non comporta variazioni dell’uscita e quest’ultimo si disattiverà solo quando il sensore indicherà il raggiungimento del clima opportuno. Colori dei segnali: • In azzurro i pulsanti C e F • In arancione i sensori Sc e Sf • In fucsia le uscite Mc e Mf • In bianco Y0 e Y1 • In rosso il reset La simulazione post-route evidenzia un piccolo ritardo sulle uscite rispetto alla behavioral ma rispetta il comportamento della rete tranne che per un glitch sull’uscita dovuto alla risoluzione delle corse critiche, il quale non compromette il funzionamento essendo estremamente breve. Per ovviare a questo problema dalla diapositiva successiva è presente una versione alternativa del progetto che rispecchia quello corrente con una piccola variazione. 1. I sensori SF e SC non possono mai essere attivi contemporaneamente poiché non si possono aver e condizioni di caldo e freddo critico nello stesso momento. 2. La pressione di pulsanti in momenti non opportuni non farà avviare i motori. Ad esempio quando il motore è già attivo oppure quando il clima è già ideale 3. È possibile premere più pulsanti in simultanea ma avrà effetto solo quello utile a riportare la temperatura entro il suo intervallo. 4. I motori MC e MF non possono essere accesi contemporaneamente e si spengono in automatico al raggiungimento della temperatura ideale. Per non avere glitch nelle uscite è necessario rinunciare ad una condizione: mentre il motore è già attivo la pressione del pulsante non corrispondente farà fermare il motore per il periodo in cui resta premuto e ripartirà al rilascio. Il pulsante giusto non comporta varizioni. ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 00 - 00 00 α 00 00 00 - 01 00 β 01 00 01 - - 01 β 01 - 01 - 11 01 γ 11 - 01 - 10 00 γ 11 - - - 11 00 δ 10 00 - - 10 10 δ 10 - - - 10 10 CF=00 CF=01 ScSf Y0Y1 ScSf 00 01 11 10 McMf Y0Y1 00 01 11 10 McMf α 00 00 10 - 00 00 α 00 - - - - 00 β 01 - 01 - - 01 β 01 - - - - 00 γ 11 - 11 - - 00 γ 11 - 11 - 11 00 δ 10 - 11 - 10 10 δ 10 - - - - 00 00 CF=10 CF=11 Mc= Y0!Y1!C Mf= !Y0Y1!F 00 In giallo è stata evidenziata la condizione a cui abbiamo rinunciato mentre in verde la scomparsa dei glitches presenti precedentemente nella post-route. Le simulazioni rispecchiano in tutti gli altri aspetti quelle del progetto principale.