Pagina 1 di 1

Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 6 mar 2015, 14:23
da Vibia
Salve a tutti ho un dubbio su questi due argomenti che ruotano entrambi alla cosa che sto studiando ovvero la traduzione in ladder di sfc.
Vi desscrivo la mia situazione e spero di essere quanto più chiaro possibile.
Ho tre sfc
Il primo viene gestita la mutua esclusione di due sequenze concorrenti con un semaforo
Il secondo viene contato il numero di volte che una delle due sequenze usa la risorsa condivisa
Il terzo nel caso in cui entrambe le sequenze accedono alla risorsa condivisa contemporaneamente ci accede quella che per ha usato la risorsa un numero pari di volte.

la realizzazione in ladder delle condizioni sul numero di conteggio mi spiazza un po perché sul conteggio in se non ho problemi uso i contatori ma per valutare se una variabile è pari come faccio? Io in C usavo il bellissimo operatore % che mi semplificava la vita ma qui ho il buio totale.

un'altra domanda è sul semaforo. La mutua esclusione la realizzo con una fase centrale che deve essere iniziale e poi uso due parallelismi.
Quando vado a tradurre in ladder faccio così



in Ladder questo esempio diverrebbe

Codice: Seleziona tutto
    1     5.X         Tr1
|---||--|/|----------()---|
    1      4.X        Tr2
|---||--|/|----------()---|
    2    a         Tr3
|---||--||----------()---|
    3    a         Tr4
|---||--||----------()---|
    4    d         Tr5
|---||--||----------()---|
    5    c         Tr6
|---||--||----------()---|


Riflettevo sulla questione della valutazione del numero pari e stavo pensando che l'unica mia soluzione sia quella di crearmi un blocco funzionale

Codice: Seleziona tutto
FUNCTION_BLOCK cmp_pari
VAR_INPUT
in : = int
END_VAR

VAR_OUTPUT
out : =bool
END_VAR

var
aux := in
END_VAR

aux := in MOD 2

IF aux=0
       out:=TRUE
ELSE
       out:=False

END FUNCTION_BLOCK



Ragionando in questo modo se è possibile farlo mi semplificherei non poco la vita...

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 6 mar 2015, 21:14
da Vibia
Ho fatto delle modifiche perché ho riflettuto un po sulla problematica e credo che così sia corretto... :)

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 7 mar 2015, 18:50
da Vibia
Credo di aver risolto la traduzione si fa così


Codice: Seleziona tutto
  1     5.X     a          Tr1
|---||--||---||-----------()---|
  1     4.X    b         Tr2
|---||--||---||-----------()---|
    2    a         Tr3
|---||--||----------()---|
    3    a         Tr4
|---||--||----------()---|
    4    d         Tr5
|---||--||----------()---|
    5    c         Tr6
|---||--||----------()---|

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 14 mar 2015, 10:05
da Candy
Su che piattaforma stai lavorando?

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 13 apr 2015, 20:16
da Vibia
In realtà questi dubbi erano a livello teorico

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 13 apr 2015, 20:41
da Candy
In tutta franchezza non avevo mai visto parte della graica isata per il SFC. Me la spieghi, soprattutto il riquadro 1 che non conosco e le relative connessioni?

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 13 apr 2015, 20:46
da Vibia
Per chiarire il concetto generico ho cercato di migliorare un po' il diagramma:

Codice: Seleziona tutto
   
        .                                             .
        .                                             .
        .                                             .

     +-----+                                       +-----+
     | Si  |      +-----<------+------>-----+      | Sj  |
     +-----+      |            |            |      +-----+
        |         |            |            |         |
   ====================        |        ====================
        |                      |                      |
   (a) -+- Tx                  |           (!a && b) -+- Ty
        |                      ^                      |
     +-----+                   |                   +-----+
     |     |                   |                   |     |
     +-----+                   |                   +-----+
                               |
        .                   +-----+                   .
        .                   | Sm  |                   .
        .                   +-----+                   .
                               |
     +-----+                   |                   +-----+
     |     |                   |                   |     |
     +-----+                   |                   +-----+
        |                      ^                      |
       -+-                     |                     -+-
        |                      |                      |
   ====================        |        ====================
        |         |            |            |         |
     +-----+      |            |            |      +-----+
     |     |      +----->------+------<-----+      |     |
     +-----+                                       +-----+

        .                                             .
        .                                             .
        .                                             .

Il principio in sintesi è che, se la transizione Tx è stata superata, finché non si esce dalla sezione critica la fase Sm resta inattiva e la transizione Ty non può essere superata (a prescindere dallo stato Sj e dalla condizione abilitante). Stessa cosa ovviamente viceversa. L'unica differenza tra i due flussi d'elaborazione paralleli è la priorità d'entrata nella sezione critica. In quest'esempio Tx ha la priorità: infatti, se a e b si verificano nello stesso istante, a prescindere dalla transizione che viene valutata per prima, !a && b è falsa e quindi la transizione ad essere superata è inevitabilmente Tx.

Re: Dubbi su operazioni matematiche e Semaforo Sfc in Ladder

MessaggioInviato: 13 apr 2015, 20:51
da Candy
In pratica non l'ho proprio ma visto da nessuna parte e, un simile interblocco, credo che nessuno lo andrebbe a risolvere graficamente in quel modo, ma con catene parallele e l'uso di transizioni un poco più complesse. Forse ha uno scopo puramente didattico.