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




Istruzione OLD AWL


Messaggi consigliati

del_user_239149
Inserito:

Buongiorno a tutti e scusate la mia domanda che può sembrare alquanto sciocca. Da pochissimo mi sto interfacciando con la programmazione PLC, la mia domanda viene appunto dalla mia inesperienza in materia. 

Ho le seguenti istruzioni:

LDB=    VB2101, 21

AN        V0.0

LD        V0.0

A          V1501.0

OLD

A          M30.4

AN       M30.0

A          M31.0

AN       M30.6

AN       M1.2

S         M30.0, 1

S         M10.0, 1

S         M10.1, 1

 

L'istruzione OLD esegue la funzione OR tra le istruzioni precedenti e successive ad essa? o tra le istruzioni 

 

LDB=    VB2101, 21

AN        V0.0

 

 

LD        V0.0

A          V1501.0

 

Qualcuno può spiegarmi meglio? Grazie.


Inserita:

Ciao,

se ricordo bene, OLD mette in parallelo i 2 rami che iniziano con LDx, quindi, come hai scritto tu

B= VB2101, 21 in serie negato V0.0

parallelo

V0.0 in serie con V1501.0

segue tutto il resto

C'è un modo molto semplice per verificarlo: apri MicroWin e imposti la visualizzazione in AWL (Visualizza->AWL); copi le istruzioni così come sono in un segmento, poi imposti la visualizzazione in KOP (Visualizza->KOP).

del_user_239149
Inserita:

Quando provo a cambiare linguaggio non fa la conversione su tutti i segmenti. Alcuni hanno un messaggio di errore. comunque si, la spiegazione che mi hai dato è corretta. Grazie. 

Inserita:

Si, perchè per la conversione occorre rispettare alcune regole; il segmento che hai postato le rispetta.

del_user_239149
Inserita:

tipo quali? Alcune righe (tipo quella che ho postato) nella conversione invece dello stesse righe in KOP viene fuori Segmento non valido

Inserita:

Questa è la "bibbia" del S7-200, però non so è presente una spiegazione dettagliata dell'AWL del 200; la riga che hai postato sono riuscito a convertirla senza problemi ...

del_user_239149
Inserita:

scusa puoi darmi una mano con queste istruzioni. 

Di nuovo l'OLD ma questa volta davvero non lo capisco anche perchè una delle due istruzioni precedenti all'old contiene un'assegnazione e quindi?

poi che senso ha fare un and tra un registro e lo stesso registro negato?quel ramo non si ecitterà mai. 

LD     V22.0
AN     V22.2
A      M30.3
OW<>   VW950, +0
CALL   SBR23
LD     V22.1
AN     V22.7
OW<>   VW950, +0
CALL   SBR15
LDN    V22.2
CALL   SBR18
LD     I0.4
=      V22.3
LD     Q0.2
AN     I0.4
A      I0.4
OLD
TON    T219, +3000
LD     T219
=      V22.7

 

Immagine.jpg

Inserita:

Secondo me quel segmento va suddiviso nel seguente modo; primo:

 

LD     V22.0
AN     V22.2
A      M30.3
OW<>   VW950, +0
CALL   SBR23

 

Secondo:

 

LD     V22.1
AN     V22.7
OW<>   VW950, +0
CALL   SBR15

 

Terzo:

 

LDN    V22.2
CALL   SBR18

 

Quarto:

 

LD     I0.4
=      V22.3
LD     Q0.2
AN     I0.4
A      I0.4
OLD
TON    T219, +3000

 

Ultimo:

 

LD     T219
=      V22.7

 

Detto questo, il quarto segmento non torna, sia perchè se il V22.3 ed il timer fossero in parallelo, risulterebbe:

 

LD     I0.4
LD     Q0.2
AN     I0.4
A      I0.4
OLD
=      V22.3
TON    T219, 3000

 

e non come è scritto ora, quindi quell'istruzione OLD secondo me è un errore di battitura oppure una dimenticanza; inoltre, come giustamente hai fatto notare, mettere in serie il contatto di un ingresso con il contatto negato dello stesso ingresso significa che quel ramo non potrà mai attivarsi, di conseguenza il timer non potrà mai "contare".

Secondo me, nella suddivisione, il quarto segmento diventerebbe:

 

LD     I0.4
=      V22.3

 

a cui ne segue un quinto che, come abbiamo detto, è del tutto ininfluente:

 

LD     Q0.2
AN     I0.4
A      I0.4
TON    T219, +3000

 

e finalmente l'ultimo con il contatto del timer che pilota V22.7.

Vedi se riesci a capire a cosa serve effettivamente quel timer T219 e la memoria V22.7 (ipotesi: scatena un evento dopo che l'uscita Q0.2 rimane attiva per 5 minuti ?); solo così riuscirai a venirne a capo ...

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...