Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




A Cosa Servono Le Parentesi In Awl?


Messaggi consigliati

Inserito:

Salve, è da un po’ che smanetto con l’awl ma ncora non ho capito a che serve l’istruzione U( .

Mi spiego meglio:

U E0.0
U(
…..
Istruzioni
….
)

mi sarei aspettato che se E0.0 vale 0 e quindi anche l’RLC=0 il codice tra parentesi non venisse eseguito, invece la presenza di U E0.0 è ininfluente.

Qualcuno sa chiarirmi l’utilizzo delle parentesi?

Grazie.


Inserita:

Le parentesi sono come in matematica !!

es. se E 0.0 è in serie a due contatti in parallelo E0.1 e E0.2 :

U E 0.0

U(

O E0.1

O E0.2

)

= A ...

Spere d'essere stato chiaro

Inserita:

Se non metti le parentesi vengono elaborati prima gli AND e poi gli OR, come le moltiplicazioni e le addizioni in matematica.

Se vuoi dare prevalenza agli OR devi racchiuderli tra parentesi.

Si possono aprire più livelli di parentesi (come in matematica).

Inserita:

Ciao, secondo me il memtodo migliore per capire l'AWL è di usare la conversione i visualizzazione...

Magari prima scrivi in Ladder e poi converti in AWL.

Comunque nell'esempio che hai fatto UE0.0 non puo essere ininfluente...

Forse l'istruzione successiva è un OR e non un AND

:)

Saluti

emanuele.croci
Inserita: (modificato)
Se non metti le parentesi vengono elaborati prima gli AND e poi gli OR, come le moltiplicazioni e le addizioni in matematica.

Se vuoi dare prevalenza agli OR devi racchiuderli tra parentesi.

Preciso un attimino:

-Chiaramente se metti un'espressione tra parentesi questa ha prevalenza sulle altre

-Se usi le istruzioni AND e OR che citi nel tuo esempio non c'è precedenza tra AND e OR, si esegue il calcolo in maniera sequenziale: facciamo un esempio

U E0.0

U E0.1

O E0.2

U E0.3

U E0.4

NOTA CHE: se E0.4 è FALSO tutta l'espressione è FALSA

(se invece dessi priorità all'AND sull'OR => Con E0.0=E0.1=true tutta l'espressione sarebbe vera)

- Esiste una istruzione OR che viene eseguita dopo AND, è la O senza operando

U E0.0

U E0.1

O

U E0.2

U E0.3

U E0.4

così facendo se E0.0=E0.1=true tutta l'espressione è vera.

Vado a memoria, spero di non aver detto castronerie....

Provate se volete in ONLINE col Plc

Ciao, Emanuele

Modificato: da emanuele.croci
Ospite igemma
Inserita:

Cosa intendi per :

(se invece dessi priorità all'AND sull'OR => Con E0.0=E0.1=true tutta l'espressione sarebbe vera)
Inserita:

si chiamano AND e OR ma sono un po' diversi da come siamo abituati a pensarli.

in realtà

U E0.0 interroga l'ingresso e se questo ha stato 1, RLC viene impostato a 1 (il risultato dell'operazione è true) questo vele per il primo U

adesso se segue un altra serie di U

U E0.0

U E0.1

O E0.5

U E0.2

U E0.3

U E0.4

il secondo U E0.1 fa l'AND tra E0.1 e RLC che è stato impostato da UE0.0, se sono tutti

e due = a 1 allora il risultato è ancora true, a questo punto O esegue un OR tra RLC e E0.5

se RLC = 1 allora il risultato è true in ogni caso.

supponi invece che E0.1 = 0

allora dopo U E0.1 rlc viene impostato a zero e fino a qui il risultato dipende da E0.5

se c'è una sequenza di U per avere true, RLC deve essere sempre 1,

nel momento che incontri un O invece importa solo ilvalore che aveva RLC nella lettura dell'ingresso

precedente.

AND e OR non vengono eseguiti tra due ingressi ma tra l'ingresso dopo U/O e RLC

precedente. B)

Spero di essere stato chiaro.

ciao francesco

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...