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




Prime Prove Di Awl


Messaggi consigliati

Inserita:

probabilmente ti ho confuso parlandoti di RLC.

L'RLC è sostanzialmente un bit che ti dice se l'istruzione è vera oppure no

vera =1

falsa =0

quindi se scrivi

AN T1

se T1 =0 allora RLC =1

se T1 =1 allora RLC =0

In pratica ti dice se l'istruzione viene eseguita o meno, non so se mi capisci, se RLC =1 l'istruzione è vera e quindi viene eseguita.

Un temporizzatore in particolare parte solo se la condizione di avvio passa da falsa a vera e rimane vera per la durata del tempo programmato. Se mentre conta la condizione diventa falsa, il temporizzatore si arresterà.

Quindi

AN T1

SD T1

è una istruzione che ciclicamente fa avviare T1 creando un clock.

AN T1 è vera finchè il tempo non ha terminato di contare RLC =1 quindi se è vera esegue l'istruzione SD T1 di avvio del temporizzatore. Appena T1 finisce di contare andrà =1 quindi l'istruzione AN T1 sarà falsa RLC =0.

A questo punto T1 si arresta e si resetta T1 =0 di conseguenza l'istruzione AN T1 ritorna vera RLC =1 (passaggio dell'RLC da 0 a 1) e consente di eseguire di nuovo l'istruzione SD T1 e così all'infinito.


Inserita:

la condizione di avvio di un temporizzatore può essere qualsiasi quindi per esempio M0.0.

se scrivi

A M0.0

SD T1

il temporizzatore partirà non appena imposterai M0.0 =1. Finito di contare T1 =1 non succederà più niente e T1 rimarrà =1.

Per far ripartire il temporizzatore basta che imposti M0.0 =0 e poi di nuovo M0.0 =1 (passaggio dell'RLC da 0 a 1).

La condizione M0.0 te la gestisci come ti serve. Nel mio esempio M0.0 sarebbe uguale a AN T1

cioè

AN T1

= M0.0

quindi se scrivi

A M0.0

SD T1

AN T1

= M0.0

il tuo temporizzatore funzionerà all'infinito come nei precedenti miei esempi.

se vuoi eseguire delle sequenze di temporizzatori ti basterà riscrivere queste stesse istruzioni cambiando le variabili

per esempio

A M0.0

SD T1

AN T1

= M0.0

A M0.1

SD T2

AN T2

= M0.1

i due temporizzatori funzionano, scritti così, entrambi indipendenti l'uno dall'altro. A questo punto ci vuole una condizione che li leghi sequenzialmente che è : T2 parte solo quando ha finito T1 il che equivale a T1 =1

quindi

A M0.0

SD T1

AN T1

= M0.0

A M0.1

SD T2

AN T2

A T1

= M0.1

ora T2 partirà solo quando T1 avrà finito, però quando T1 finisce subito ricomincia arrestando immediatamente anche T2. Quindi ti manca un'ultima condizione che ti faccia partire correttamente T1 cioè: T1 parte solo quando ha finito T2 e deve rimanere attivo finchè T2 non è finito e quindi o non è finito T1 od anche se non è finito T2

quindi

A M0.0

SD T1

ON T1

ON T2

= M0.0

A M0.1

SD T2

AN T2

A T1

= M0.1

se queste istruzioni le riduci ai minimi termini e cioè toglie le variabili inutili perchè uguali ad altre diventerà

AN T2

SD T1

A T1

SD T2

vedi un po' se ti è più chiaro e fai molte prove

Inserita:

ciao rddiego

intanto grazie per il tempo che sprechi ad aiutarmi a capire qualcosa sul plc... sono un po` duro di comprendonio ma spero di riuscire a concludere qualcosa prima o poi :D

probabilmente dovrei avere un po` piu` chiaro come realmente funziona il plc ....pensavo si avvicinasse alla programmazione dei processori normali tipo i pic per questo avevo preferito l`awl agli altri linguaggi proprio perche` si assomiglia molto all assembler e che un po` conosco ma adesso mi sembrano cosi` diversi....

ci credi avro` fatto mille prove ho anche isntsallato step 7 e il simulatore su un altro pc perche` mi era scaduta la licenza....mi e` rimasta solo una settimana di tempo poi scadra` anche questa e pc a disposizione non ne ho piu`...sigh...non so nemmeno come riaggiornare la chiave di accesso per un altro trial di 14 giorni...va be` ma questo e` un problema che spero di risolvere...

qualcosina sui cicli di scansione comincia ad essermi piu` chiaro...pensavo che le varie istruzione le eseguisse sequenzialmente ma ogni singola istruzione invece gia` alla prima scansione vede tutto il programma e setta le varie uscite o ingressi..gia` qui per capire cosa facesse non ti dico il nervoso....

ora mi sto rileggendo quello che mi hai gentilmente postato...provero` e riprovero` come mi suggerisci di fare e vedremo se sta volta capiro` qualcosa...credo che piu` spiegato di cosi` dovrei andare in fabbrica dove li costruiscono ...

ciao e ancora grazie

il rovo

Inserita:
pensavo che le varie istruzione le eseguisse sequenzialmente ma ogni singola istruzione invece gia` alla prima scansione vede tutto il programma e setta le varie uscite o ingressi..

???????????????????????????????????????

ciclo di scansione:

lettura ingressi

esecuzione programma (dalla prima riga all'ultima in sequenza)

scrittura uscite

Inserita:

ciao rd diego

non so piu` vcome ringraziarti per le tue risposte ....

rileggendo gli ennesimi esempi che mi hai fatto per esempio quando mi scrivi

an t1

sd t1

e` giusto se li interpreto in questa maniera...allora an t1 vuol dire negato di t1 che all`inizio e` zero quindi il negato va a 1 quindi rlc =1

quindi passaggio da 0 a 1...spero che qui sia piu` o meno corretto...ora pero` ti faro` inkazzare...dunque sd t1 sarebbe ritardo sull`inserzione quindi all`inizio e` 0 per passae dopo un tempo a 1 a questo punto finche` e` a 0 l`rlc passera` a zero nel momento che andra` a 1 anche lrlc ci andra` per ricominciare il ciclo quindi dinuovo negato di an t1 rlc che da zero ripassa a 1 perche` negato di zero e' 1 e cosi` via

spero che qualcosa di giusto ci sia in tutta sta mia farneticazione

ciao e mille volte grazie

il rovo

Inserita:

sì dovresti esserci....... eheh

ad ogni modo se vai online hai modo di visualizzare l'andamento dei bit in questione.

Online sulla destra hai una colonna che visualizza il valore di RLC un'altra con il valore del bit che stai testando ed una colonna col valore dell'accumulatore

  • 2 weeks later...
Inserita:

ciao a tutti

oggi finalmente ho ricevuto il giocattolone dalla siemens ...un bel plcione s7 300 con tre moduli uno di input output un 4... 20 ma e un altro per interfacciare sensori a quattro fili....collegamento alla rete il tutto montato su una barra per il montaggio dentro i rack...la nota dolente sono io che praticamnete ho cercato di capire (poco ) un tipo di linguaggio come l`awl mentre ora mi ritrovo a doverne usare un altro ....il software e` totalmente diverso da dal lite ....cavolo costa un capitale...vedremo cosa ne uscira` fuori

ciao

il rovo

Inserita:

eureka...sono riuscito a fare un semaforo.....finalmete qualcosa che funziona

dimenticavo ...ciao a tutti...

questo dovrebbe essere il programma...ok sara` pieno di rindondanze ma ono felice lo stesso...grazie a tutti per gli aiuti...

an t2

= q0.0

l s5t#3s

sd t1

a t1

= q0.1

sd t3

an t3

= q0.0

sd t4

a t4

= q0.1

an q0.0

= q0.2

l s5t#3s

sd t2

a t2

:rolleyes:

ora provero` a vedere se riesco a metterci il passaggio pedonale...vi terro` informati

ciao dal rovo troppo contento

Inserita:

ciao a tutti

ho un po` riguardato il pastrocchio che ho scrittto nella mail precedente cercando di migliorare un po`il mio semaforo

qui sotto quello che sono riuscito a fare insieme a un mio collega.....

AN T 2

= Q 0.0 // accendo il verde

L S5T#10S // tempo per il verde

SD T 1

A T 1

= Q 0.1 // accendo il giallo

L S5T#3S // tempo per il giallo

SD T 3

AN T 3

= Q 0.0 // spengo il verde

A Q 0.0

A T 1

= Q 0.1 // spengo il giallo

AN Q 0.0

= Q 0.2 // accendo il rosso

L S5T#5S // tempo per il rosso

SD T 2

A T 2

sicuramente si potrebbe ottimizzare ancora di piu` e togliere un po di rindondanze ma per ora sono molto soddisfatto

ciao

e a presto

il rovo

Inserita:

riciao a tutti

qui sotto invece io e un mio collegasiamo riusciti a mettere anche le luci per i pedoni ...diciamo che e` ancora un semaforo anni 90 forse 80 quando le luci per i pedoni erano il verde e il rosso con il simbolo dell`omino che camminava col verde e che stava fermo col rosso

per il lampeggio e pulsante di chiamata mi sto attrezzando ...non sono ancora cosi` avanzato ma piano piano almeno a un semaforo inizio secondo millennio o terzo!!! ...bo` va be` ...ci arrivero`...eheheheh

ciao il rovo

AN T 2

= Q 0.0 verde acceso

= Q 0.3 rosso acceso per i pedoni

L S5T#10S

SD T 1

A T 1

= Q 0.1 giallo acceso

L S5T#5S

SD T 3

AN T 3

= Q 0.0 verde spento

A Q 0.0

A T 1

= Q 0.1 giallo spento

AN T 3

A Q 0.3

= Q 0.3 rosso pedoni spento

A Q 0.2

= Q 0.4 verde pedoni acceso

AN Q 0.0

= Q 0.2 rosso acceso

L S5T#10S

SD T 2

A T 2 da qui in poi si ricomincia

ririciao il rovo

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