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




Calcoli Awl,


Messaggi consigliati

Inserita:

Ok grazie mille ho fatto confusione .

Inviato dall'app. Mobile di PLC Forum da iPhone6,2


  • Risposte 66
  • Created
  • Ultima risposta

Top Posters In This Topic

  • coquinati

    34

  • batta

    17

  • JumpMan

    12

  • floydfan

    3

Top Posters In This Topic

Posted Images

Inserita:

An un flip-flop toggle ,rappresentare in KOP una cosa del genere è Abbastanza complessa. Nel senso che se si prova scrivere lo stesso schema scritti in AWL in KOP non va chiaramente ...bisogna elaborarlo parecchio.

Inviato dall'app. Mobile di PLC Forum da iPhone6,2

Inserita:

In KOP fai così:

|
|   E0.0     M20.0    M20.1
+----[ ]------[P]------( )
|
|   M20.1    A0.0       A0.0
+----[ ]------[/]----+---( )
|                    |
|   M20.1    A0.0    |
+----[/]------[ ]----+
|

Praticamente quello che aveva già messo JumpMan nel post #47.

Inserita: (modificato)

Grazie batta :)veramente comoda questa istruzione . Mi potrà andare bene per eseguire qualche marcia arresto di un motore:) Sinceramente io non ci sarei mai arrivato a capire che la X ha la funzione di flip-flop tipo T.. Mi chiedo se esiste un manuale dove svelano tutto questo

Modificato: da coquinati
Inserita:

Sinceramente io non ci sarei mai arrivato a capire che la X ha la funzione di flip-flop tipo T

Non è che la "X" abbia funzione di Toggle. La "X" è un OR Esclusivo e basta. Quello del toggle è solo un esempio di possibile applicazione di un or esclusivo, ma non è certo l'unico.

Non è raro trovarsi a dover controllare situazioni tipo: se va questo ma non va quello, oppure se va quello ma non questo. Ecco che l'or esclusivo ti permette di risparmiare istruzioni.

Inserita:

Si è parecchie anche :)AWL lo sto iniziando ad amare ... Solo che mi fa impazzire ....anche se non mi è chiara una cosa al 100%100 riguardante lo schema KOP dell'istruzione X.. ..... Ma perché quando ho l'uscita di A0.0 è a 0, E premendo il pulsante E0.0 il contatto NC di 20.1 non si apre ? Ma non dovrebbe aprirsi per un micro istante? .(se si apre chiaramente non funziona lo schema ) Non riesco spiegarmelo .l'unica che mi viene in mente è che si apre asincrono con l'attivazione dell'uscita .. Se uno si chiude l'altro si apre , ok che il fronte emana un segnale che solo il sistema e in grado di leggere ...grazie ragazzi .

Inserita:

La cpu legge le istruzioni da sinistra verso destra e dall'alto in basso e l'attivazione dell'uscita è l'ultima istruzione eseguita.

Per avere l'esatto ordine di esecuzione delle istruzioni, ti basta visualizzare il segmento in AWL, che si presenta come segue:

U   M20.1
UN  A0.0
O
UN  M20.1
U   A0.0
=   A0.0

Partiamo con A0.0 = OFF.

Quando premi il pulsante, il merker M20.1 si attiva per una scansione.

Quindi, per una scansione, avremo:

U M20.1 UN A0.0 = TRUE

UN M20.1 U A0.0 = FALSE

Dato che le due condizioni sono tra loro in OR, basta che una sola sia vera.

L'uscita A0.0 viene quindi attivata.

Alla scansione successiva avremo:

U M20.1 UN A0.0 = FALSE

UN M20.1 U A0.0 = TRUE

Quindi l'uscita A0.0 rimane attiva.

Se ripremi il pulsante, per una scansione avremo:

U M20.1 UN A0.0 = FALSE

UN M20.1 U A0.0 = FALSE

L'uscita A0.0 viene quindi disattivata.

E alla scansione successiva avremo ancora:

U M20.1 UN A0.0 = FALSE

UN M20.1 U A0.0 = FALSE

L'uscita A0.0 rimane disattivata.

Inserita:

Praticamente la cpu esegue una immagine degli ingressi e uscite trova l'ingresso E0.0 ad 1 . Elabora il programma , crea un immagine delle uscite con A0.0 allo stato 1 . L'attiva per un micro istante nel frattempo esegue un altra scansione e vede l'uscita A0.0 a 1 , Porta ad 1 il contatto NO di a0.0 e così avviene l'auto ritenuta. Grazie molte .. Batta tempo fa ho letto delle discussioni dove spiegavi gli accumulatori di step 7 . È anche una dove spiegavi i puntatori .Il problema è che non le trovo .. Per caso ti ricordi dove erano? GraZie mille

Inserita:
inoltre ho visto che è possibile usare l'istruzione "L" anche nei segmenti di logica bool per esempio:
U e0.0
FP M0.0
L 0.0
U L 0.0
UN A0.1
S M0.1
U L 0.0
U A0.1
R M0.1
0.0 se non erro è un puntatore?
grazie mille
Inserita: (modificato)

Praticamente la cpu esegue una immagine degli ingressi e uscite trova l'ingresso E0.0 ad 1 . Elabora il programma , crea un immagine delle uscite con A0.0 allo stato 1 . L'attiva per un micro istante nel frattempo esegue un altra scansione e vede l'uscita A0.0 a 1 , Porta ad 1 il contatto NO di a0.0 e così avviene l'auto ritenuta.

Stai facendo un po' di confusione.

Il PLC, prima di iniziare l'elaborazione del codice, legge lo stato di tutti gli ingressi e ne crea l'immagine. Quando da programma leggi lo stato, per esempio, dell'ingresso E0.0, in realtà leggi lo stato che aveva l'ingresso nell'istante in cui è stata creata l'immagine. Nel frattempo questo stato potrebbe anche essere cambiato, ma non te ne accorgi.

Questo è molto utile, perché ti garantisce che, nella stessa scansione, se interroghi l'ingresso in più punti, questo avrà sempre lo stesso stato.

Pensa che casino se dovessi leggere in un segmento l'ingresso alto, e il segmento successivo lo stesso ingresso basso.

Per quanto riguarda le uscite, l'immagine viene aggiornata nell'istante in cui assegni lo stato (non importa se con = , SET o RESET).

Questo significa che se in un segmento assegni lo stato TRUE a un'uscita, lo stato fisico dell'uscita non cambierà. Ma se nel segmento successivo leggi l'immagine dell'uscita (U A0.0), lo vedrai TRUE, perché leggi lo stato dell'immagine.

Lo stato fisico dell'uscita invece verrà aggiornato solo a fine scansione.

Per i rari casi in cui si deve leggere lo stato reale di un ingresso (o di aggiornare istantaneamente lo stato fisico di un'uscita), è possibile farlo, ma penso sia meglio non parlarne ora.

Nel PLC non esistono i "microistanti".

Il PLC semplicemente esegue le istruzioni ciclicamente, una alla volta.

Nel segmento dell'esempio, il merker M20.1 rimane alto per una scansione quando l'ingresso E0.0 passa da FALSE a TRUE.

Se l'uscita è FALSE e premi il pulsante cablato su E0.0, il merker M20.1 si attiva per una scansione.

In questa scansione troverai quindi che: U M20.1 UN A0.0 = TRUE.

L'uscita viene attivata.

Le stesse istruzioni poi non verranno più lette fino alla prossima scansione, nella quale M20.1 sarà FALSE, e l'uscita A0.0 sarà TRUE.

Ecco che ora ti ritrovi con: UN 20.1 U A0.0 = TRUE.

L'uscita viene quindi mantenuta alta.

Seguendo lo stesso ragionamento capisci perché con la prossima pressione del pulsante (M20.1 nuovamente alto per una scansione), l'uscita viene disattivata.

Batta tempo fa ho letto delle discussioni dove spiegavi gli accumulatori di step 7 . È anche una dove spiegavi i puntatori .Il problema è che non le trovo .. Per caso ti ricordi dove erano?

No, purtroppo non mi ricordo dove erano. A dire il vero, non mi ricordo nemmeno di aver spiegato l'uso degli accumulatori. Sai, alla mia età, la memoria gioca brutti scherzi ;)

inoltre ho visto che è possibile usare l'istruzione "L" anche nei segmenti di logica bool per esempio:

Anche qui stai confondendo due cose completamente diverse.

Scrivere

L 0.0

significa caricare nell'accumulatore 1 il valore 0.0 in formato REAL.

Scrivere

U L0.0

significa invece interrogare lo stato della variabile booleana nell'area delle variabile temporanee (o locali, da cui la lettera L) con indirizzo 0.0.

Molti accessi a variabili locali fatti in questo modo li trovi quando converti un segmento da KOP ad AWL.

Se c'è bisogno di appoggiare lo stato provvisorio di RLC, il sistema usa le variabili locali, assegnando l'indirizzo in automatico.

Queste variabili possono essere riutilizzate varie volte nello stesso blocco di programma.

Se invece sei tu che decidi di usare variabili locali, ti consiglio vivamente di dichiararle nell'interfaccia delle variabili del blocco (nell'area TEMP), e di dare loro un nome.

Nel programma poi utilizzi il nome, guadagnando molto in comprensione.

0.0 se non erro è un puntatore?

No, non è un puntatore.

Capisco ed ammiro la tua voglia di imparare, ma penso sia meglio rimandare il discorso puntatori a quando avrai piena dimestichezza con le istruzioni più semplici.

Modificato: da batta
Inserita:

Batta mi scuso per tutto il tempo che ti faccio perdere e ti ringrazio molto per l'aiuto che mi stai dando... Ora mi rendo conto che avevo molta confusione sui cicli che esegue una cpu per analizzare il programma ..un ultima domanda prendendo sempre l'esempio del segmento sopra ,quando avrò alla prima scansione U20.1 A0.0 a true , alla seconda scansione come hai detto te avrò UN 20.1 false e A0.0 a true . Per fare questo durante l'elaborazione di UA0.0 prende la precedente immagine delle uscite?.... Per la U L 0.0 non la uso io di proposito e che stavo eseguendo degli esercizi e come hai detto, durante la trasformazione da KOP a AWL mi ha scritto questa istruzione , non riuscivo capire perché mi carica sti valore di 0.0 per un segmento di logica . Ma adesso mi è tutto più chiaro ... (Prima era Confusione allo stato puro )Ormai ho fatto i miei sbagli tempi indietro , ho iniziato con il KOP e tutto sembrava facile ... Ma ora mi rendo conto cosa vuol dire sapere le cose .... HO abbandonato molti hobby come la chitarra , la moto, per riuscire a imparare qualcosa su questo mondo.. Anche se mi rendo conto che non so ancora nulla ..

Inserita:

Per fare questo durante l'elaborazione di UA0.0 prende la precedente immagine delle uscite?

Se interroghi lo stato di una uscita (salvo il caso di accesso diretto e non all'immagine) interroghi l'immagine.

Nell'immagine c'è lo stato dell'ultima assegnazione.

Quindi se hai impostato A0.0 = TRUE, fino a quando non andrai a modificare questo stato, l'uscita A0.0 (o meglio, l'immagine dell'uscita) sarà TRUE.

HO abbandonato molti hobby come la chitarra , la moto,

La moto, purtroppo, l'ho quasi abbandonata anch'io. Ora però ho deciso di rimetterla in sesto (funzionamento irregolare, causato, quasi sicuramente, da un carburatore, dato che accensione e punterie le ho già controllate).

Ma, ti prego, non mi puoi abbandonare la chitarra!!! ;)

Inserita:

Se interroghi lo stato di una uscita (salvo il caso di accesso diretto e non all'immagine) interroghi l'immagine.

Nell'immagine c'è lo stato dell'ultima assegnazione.

Quindi se hai impostato A0.0 = TRUE, fino a quando non andrai a modificare questo stato, l'uscita A0.0 (o meglio, l'immagine dell'uscita) sarà TRUE.

La moto, purtroppo, l'ho quasi abbandonata anch'io. Ora però ho deciso di rimetterla in sesto (funzionamento irregolare, causato, quasi sicuramente, da un carburatore, dato che accensione e punterie le ho già controllate).

Ma, ti prego, non mi puoi abbandonare la chitarra!!! ;)

capito al 100%100 mi sento già più sereno :) piccolo OT:per la moto se posso darti un consiglio di controllare anche il condensatore (con 4 euro lo prendi nuovo). Poi una bella ripulita al carburatore o rubinetto della benzina fa sempre bene:) per la chitarra qualche volta strimpello ma purtoppo il tempo è quello che è, :) scusate per l'off topic .
Inserita:

Sempre OT:

Di carburatori ce ne sono quattro. Il funzionamento del motore è irregolare. Diciamo che va a tre e mezzo. Ovvero, tre cilindri lavorano bene, e uno no. Ho già controllato candele (nuove), bobine, cavi, e tutto quello che riguarda l'accensione (che è elettronica, quindi non c'è il condensatore come nel caso delle puntine). La scintilla è ottima su tutte e quattro le candele. Ho regolato le punterie, e nessuna delle 16 valvole era puntata. Caso mai, c'erano giochi un po' abbondanti, ma questo non rovina la tenuta delle valvole. Il carburatore del terzo cilindro (quello che lavora male) aveva la ghigliottina inceppata aperta. Ho sistemato la ghigliottina, ma non è cambiato quasi nulla. Avviando il motore con air box smontato, si vede il carburatore del terzo cilindro che "sputacchia" e la ghigliottina che, accelerando, si alza in modo irregolare. Essendo un carburatore a depressione (la ghigliottina quindi non viene sollevata direttamente dal cavo dell'acceleratore. Il cavo dell'acceleratore apre la farfalla e la ghigliottina viene fatta sollevare dalla depressione creata dal pistone), l'irregolarità della ghigliottina è la conseguenza del fatto che il cilindro lavora male, e non la causa. Almeno così dovrebbe essere. Quando ho tempo, devo smontare nuovamente il carburatore, controllare lo stato della membrana e di tutte le guarnizioni, e fare una bella pulizia.

Altra ipotesi (ma spero non sia quella giusta) è che il terzo cilindro sia quasi senza compressione. Ma visto che il problema si è presentato in modo quasi istantaneo, una simile perdita di compressione potrebbe essere giustificata solo da un grippaggio. Ma se grippi te ne accorgi.

Poi, visto che si tratta di una vecchia GSF 400 del '91, devo passarla come storica, in modo da risparmiare su bollo e assicurazione.

Chitarra classica, folk o elettrica? Che genere di musica suoni?

Inserita:

Sempre off topic:È una moto bella grossa allora :) pensavo che volevi scrivere puntine sul primo messaggio per quello ho detto condensatore :) in teoria se perde compressione sicuramente trafila olio e lo vedi che fuma in maniera esagerata ,se è stata ferma anni potrebbero essere qualche gomma secca , io ho lavorato molto sui 2 tempi , quindi non ne so molto di 4tempi.. Per la chitarra elettrica ho imparato da mio padre che suona in un gruppo blues , io sinceramente mi sono dato alla musica neoclassica , o il metal neoclassico sempre seguendo chitarristi come paul gilbert, steve

Vai, yngwie malmesteen.. Quindi l'esercizio giornaliero per me contava molto ..ma suoni anche te?:) io ho una gibson Les paul del 73 nera:) scusate per OT

Inserita:

Ultimo OT, poi meglio che ritorniamo in argomento.

Non sono certo un grande chitarrista. Strimpello. Mi diletto.

Ultimamente ho ripreso in mano la chitarra dopo anni di completo abbandono, e ricominciare non è facile.

Diciamo che è un po' come andare in bicicletta: le cose semplici te le ritrovi spontanee, ma quando si cerca di salire di livello...

Il mio genere è completamente diverso dal tuo. Quasi esclusivamente musica italiana, soprattutto cantautori. Guccini e Vecchioni in primis.

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

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




×
×
  • Crea nuovo/a...