Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

programma in AWl:come faccio???

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

0
voti

[11]

Messaggioda Foto Utentepapo » 10 nov 2005, 12:11

m_dalpra ha scritto:Mi sembri un po' depresso....
:cry:


:oops:

no...non è questione di depressione è solo che devo finire tutto sto progetto prima di Aprile e sono ca**i.
Già è un mese che ci combatto ogni giorno dalla mattina alla sera... :?
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[12]

Messaggioda Foto Utentepapo » 10 nov 2005, 12:13

:oops:

no...non è questione di depressione è solo che devo finire tutto sto progetto prima di Aprile e sono ca**i.
Già è un mese che ci combatto ogni giorno dalla mattina alla sera... :?
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[13]

Messaggioda Foto Utentem_dalpra » 12 nov 2005, 12:13

Un modo sbagliato di approcciare i problemi e' di cercare di risolverli tutti davanti al PC.
:(
Questa tecnica comporta enormi perdite di tempo e risultati pessimi, discorso che riguarda qualunque programmazione, anche la creazione di un sito Web !!

Lascia perdere il PC e procurati penna, matita, gomma e carta.
:!: Non risparmiare carta !!!

Procedi in questo modo :

FOGLIO 1. Fai uno schizzo dell'impianto o del macchinario tipo una planimetria ed inserisci tutti gli elementi che lo compongono :
- struttura generale
- motori, pistoni , parti in movimento
- oggetti in lavorazione (scatoloni, assi di legno, lavatrici, ecc..)
:idea:
(Poi farai questo disegno in bella con un CAD.)

FOGLI 2. e 3. Elenco Ingressi ed Elenco Uscite
Numera o meglio assegna un nome a tutti i dispositivi che saranno collegati al PLC (Motore Nastro, Pompa1, Finecorsa Fc1,Fc2, Fotocellule FTC1, FTC2,..) e mettili nella planimetria.
Nei fogli invece avrai delle tabelle con tre colonne:
INDIRIZZO FISICO, SIGLA MNEMONICA, DESCRIZIONE

FOGLIO 4. Schizza una sorta di Flowchart della sequenza che esegue la macchina.
Attento che questo non e' il programma, ma lo schema di funzionamento "meccanico" della macchina.
Una sorta di elenco di tutto quello che succede.
Puo' essere anche molto sintetico, ma e' utile per schiarirsi le idee.

FOGLIO 5. Elenca quanti sottoprogrammi ci saranno nel PLC e assegna ad ognuno di essi una funzione ben prcisa, guardando il flowchart generale.
Fare un unico programma e' un sistema paleolitico che ancora qualcuno usa, ma ha solo svantaggi.

FOGLI 6.a,b,c,d... Abbozza un elenco delle cose che ogni subroutine deve fare e controlla se hai tutti i segnali di ingresso per eseguire correttamente quel compito.
Ogni subroutine un foglio, con il titolo bene in alto.
:shock:
Nota che in questa fase seben fatta, ci si accorge se manca il segnale di "start" per eseguire quella certa movimentazione, o al contrario quello di "fine", o se serve un "timer" per attendere un evento.


7. Ora puoi accendere il PC ed iniziare a scrivere i programmi.


PER FINIRE.....
Ritengo il linguaggio AWL (che poi e' il classico Linguaggio Macchina dei microprocessori) un sistema barbarico di programmare i PLC.
Il sistema LADDER e' molto piu' consono all'automazione e moooooolto piu' leggibile ad un'altra persona che guarda il tuo programma.

Peccato che molte case hanno il software di sviluppo per questo linguaggio pessimo (vedi STEP7, ad esempio).

Ciao
spero di esserti stato d'aiuto.
:wink:
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[14]

Messaggioda Foto Utentepapo » 12 nov 2005, 13:28

m_dalpra ha scritto:Un modo sbagliato di approcciare i problemi e' di cercare di risolverli tutti davanti al PC.
:(
Questa tecnica comporta enormi perdite di tempo e risultati pessimi, discorso che riguarda qualunque programmazione, anche la creazione di un sito Web !!

Lascia perdere il PC e procurati penna, matita, gomma e carta.
:!: Non risparmiare carta !!!


hai pienamente ragione ma purtroppo il fatto di aver cominciato da zero nella conoscenza dei PLC e quindi di aver perso un SACCO di tempo per cominciare a capire come fosse fatto e la data di scadenza della tesi(aplile) che è troppo vicina, mi sta portando a dover saltare qualche "tappa"



m_dalpra ha scritto:PER FINIRE.....
Ritengo il linguaggio AWL (che poi e' il classico Linguaggio Macchina dei microprocessori) un sistema barbarico di programmare i PLC.
Il sistema LADDER e' molto piu' consono all'automazione e moooooolto piu' leggibile ad un'altra persona che guarda il tuo programma.

Peccato che molte case hanno il software di sviluppo per questo linguaggio pessimo (vedi STEP7, ad esempio).


Più lavoro con l'AWL più comincio a convincermene pure io:
il fatto è che ho già studiato l'awl ,comandi e tutto e dovrei incominciare da capo a studiarmi la logica Ladder che per mè è completamente scognita e non posso permettermi di ricominciare da capo a studiare altri linguaggi:
devo oramai "produrre" e non più "acquisire".
Inizialmente volevo fare la mia tesi con Hi-Graph:
ho impiegato UN MESE per capire sto ca**o di programma(e nel frattempo passava il tempo)poi alla fine ho rinunciato ed ho buttato tutto nella spazzatura perché tra la sua manualistica scandalosa e la sua logica di funzionamento c'è veramente d'impazzire.
Abbandonato Hi-graph a quel punto mi sono buttato su AWL
vuoi perché lo conoscevo da quesi pochi richiami fatti all'università,
vuoi perché ho una "mente" più propensa alla "programmazione" (non per niente per passatempo studiavo C++).
Dirai,
allora perché non ti studiavi il linguaggio SCL??
perché appunto già conoscevo AWL,il mio tutor aziendale conosce questo linguaggio e quindi anzicchè ripetere l'esperienza di Hi-graph sono andato più sul sicuro.

m_dalpra ha scritto:Ciao
spero di esserti stato d'aiuto.
:wink:


lo sei stato davvero molto:
GRAZIE MILLE

già che ci sono volevo chiederti/chiedervi(a tutti quelli che vogliono partecipare) una cosa:
allora,
non vi lasciate impressionare dalla lunghezza del post:
è così lungo perché preferisco specificare tutto al fine essere più preciso ma di fatto sono cose che sicuramente vi saranno banali:

DOMANDE:


A) Il ciclo Loop in AWL è praticamente l'analogo del ciclo FOR del C++:
oltre a questa istruzione(LOOP appunto)ne esistono altre in AWL che permettono di ripetere ciclicamente,così come il for, un insieme di istruzioni?

B)supponiamo di avere questo semplice segmento:

1) U "TASTO_START"
2) = "MOTORE_NASTRO_ON"
3) SPBN JUMP
4) L 60
5) next: T MW 10
6) L 1
7) T MW 20
8.) L MW 10
9) L MW 20
10) -I
11) T MW 10
12) L MW 10
13) LOOP next
14) R "MSG_LIVELL_NON_PRONTO"
15) JUMP: NOP 0

la cui spiegazione ,sperando che sia giusta è:

1) interrogo il segnale di ingresso "TASTO_START"
2) se "TASTO_START" è = 1 abilito "MOTORE_NASTRO_ON" e accendo il motore
3) SPBN JUMP mi fa saltare all'etichettaJUMP solo se le condizioni 1)e 2sono false =0)
4) Carico il valore 60
5) Etichetta del cicloLOOP:inizio del Loop:trasferisco il valore di 60 alla parola di Merker 10
6) Carico il valore 1
7) Trasferisco il valore 1 nella parola di merker MW 20
8.) Carico il valore della parola di merker MW 10 cioè 60
9) Carico il valore della parola di merker MW 20 cioè 1
10) Faccio 60 - 1
11) Trasferisco il valore così ottenuto in MW 10 cioè 59 va in MW 10
12) Carico il valore di MW 10 e ritorno all'etichetta LOOP

Adesso all'etichetta next: T MW 10 verrà trasferito su MW 10 il valore di 59 e non 60 come all'inizio.

Così facendo procedo a ritroso finquando ,non appena MW10 arriva a zero ,non eseguo più il LOOP ma vado avanti così da resettare l'uscita "MSG_LIVELL_NON_PRONTO"
QUINDI "MSG_LIVELL_NON_PRONTO" si resetta solo dopo aver ripetuto 60 volte il ciclo loop ok??

Ora ,
il codice che avete visto sopra è la versione primordiale di una simulazione di ENCODER.
Di fatto "sembra " funzionare ma dico sembra perché c'è un piccolo problema:
Quel numero 60 sarebbero centimetri ovvero,mentre il ciclo loop procede a ritroso "esaurendosi" il braccio meccanico si muove in avanti fino a raggiungere quota 60 centimetri.

Di fatto però l'esaurimeto del LOOP è velocissimo cioè non appena avvio il ciclo e PREMO IL PULSANTE START mi si resetta quasi subito l'uscita "MSG_LIVELL_NON_PRONTO" mentre dovrebbe starci un po' visto che materialmente il braccio meccanico ha la sua inerzia.
Non so se questa velocità dipende dal codice che è MAGARI ERRATO o è una cosa normale dovuto alla velocità della CPU.

Nel dubbio vi ho appunto trascritto il codice per escludere il caso in cui l'errore sta in esso.
Nel caso in cui sia una cosa normale ,mi è stato detto di usare il blocco OB35,mi sono andato a documentare ed ho trovato che i blocchi OB ,dal 30 al 38 sono blocchi di schedulazione orologio e che in particolare OB35 ha un valore di default per reticolo temporale di 100s
Questo significa che il codice di cui sopra devo inserirlo in un OB35 così da farlo andare a rilento perché la sua elaborazione avviene ogni 100 secondi??

Volendo ,
questo problema della rapidità posso superarlo simulando questo tempo "di spostamento virtuale" con un temporizzatore ma a questo punto nemmeno mi serve il ciclo loop di cui sopra.
A parer mio però l'uso del loop e di quel codice mi sembra più elegante rispetto ad un "temporizzatore posticcio" perché più si avvicina a quella che è la logica di un encoder reale.

Cosa ne pensate????
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[15]

Messaggioda Foto Utentem_dalpra » 16 nov 2005, 18:24

Purtroppo sono mooolto arrugginito sul linguaggio AWL (che e' comunque proprietario Siemens), quindi non posso aiutarti.
Se c'e' qualcun altro nel forum, ben volentieri.

Dai tuoi problemi mi sono attivato per aggiornare il mio manuale di programmazione dei PLC.
L'edizione aggiornata la trovi su :
http://www.novatekno.it/Download/Manual ... ftware.pdf

Dagli un'occhiata, forse puo' esserti d'aiuto.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[16]

Messaggioda Foto Utentepapo » 17 nov 2005, 10:32

m_dalpra ha scritto:Purtroppo sono mooolto arrugginito sul linguaggio AWL (che e' comunque proprietario Siemens), quindi non posso aiutarti.
Se c'e' qualcun altro nel forum, ben volentieri.

Dai tuoi problemi mi sono attivato per aggiornare il mio manuale di programmazione dei PLC.
L'edizione aggiornata la trovi su :
http://www.novatekno.it/Download/Manual ... ftware.pdf

Dagli un'occhiata, forse puo' esserti d'aiuto.


grazie,
lo farò.

ti volevo chiedere un'altra cosa:
visto che parli di Autocad e premesso che non ho l'ho mai usato(nessuna versione)ho installato la versione trial 2006 perché devo disegnare in 3D il macchinario industriale di cui sto facendo il programma in AWL.
A me serve ricreare "un'accozzaglia" di poligoni che creino grosso modo la struttura della macchina e quindi creare parallelepipedi rettangoli,quadrati e cerchi che poi sistemati tra loro nello spazio(magari compenetrandone qualcuno)mi diano qualcosa di simile a quello che ho nel foglio di carta.
Non mi interessa una cosa perfetta ma solamente un'immagine indicativa ,eventualmente quotabile.
Ho cercato in rete ma ho trovato sempre qualcosa di approssimativo o comunque troppo "vasto" rispetto a quello che devo fare io.
Mi potresti spiegare,se puoi, come creo dei solidi per fare ciò??
Ieri sera ho provato a fare un parallelepipedo:
andavo in Disegna>Solidi>Parallelepipedo:
mi dice di inserire lo spigolo di base ,poi l'altro e poi l'altezza ma mi esce fuori un rettangolo.
in realtà credo che lo veda come tale perché lo osservo dal piano di default X-Y ma non posso stare a provare lì tutti e 400 i menù perché non ho tutto questo tempo.
PS:
se magari conosci qualche altro programma ancora più semplice per lo scopo potresti consigliarmelo??

Grazie

Se per te va bene,
possiamo scambiarci le mail e così risponderci più "velocemente" perché forse nel forum ci "vediamo" + di rado.
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

0
voti

[17]

Messaggioda Foto Utentem_dalpra » 17 nov 2005, 10:51

Hai proprio ragione : stai vedendo l'oggetto da piano X-Y, cioe' da sotto !

Mooolto tempo fa ho disegnato con Autocad 12 un pezzo meccanico molto complesso in 3D.
(la versione era in inglese)
Quella e' stata pressoche' l'ultima volta che ho usato il 3D (10 anni fa o piu').

A quel tempo esisteva un comando per muovere la visione nello spazio tridimensionale che si chiamava VPOINT.

Prova a digitare nel prompt dei comandi di Autocad questo comando
"_VPOINT" invio
"1,1,1" invio

(Il trattino serve per fa accettare i comandi in inglese)

Dovresti vedere il tuo oggetto da un punto a 45 gradi di "alzata"

Fammi sapere
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[18]

Messaggioda Foto Utentepapo » 17 nov 2005, 16:54

m_dalpra ha scritto:Hai proprio ragione : stai vedendo l'oggetto da piano X-Y, cioe' da sotto !

Mooolto tempo fa ho disegnato con Autocad 12 un pezzo meccanico molto complesso in 3D.
(la versione era in inglese)
Quella e' stata pressoche' l'ultima volta che ho usato il 3D (10 anni fa o piu').

A quel tempo esisteva un comando per muovere la visione nello spazio tridimensionale che si chiamava VPOINT.

Prova a digitare nel prompt dei comandi di Autocad questo comando
"_VPOINT" invio
"1,1,1" invio

(Il trattino serve per fa accettare i comandi in inglese)

Dovresti vedere il tuo oggetto da un punto a 45 gradi di "alzata"

Fammi sapere


grazie.
ho anche trovato queste lezioni che mi sembrano davvero ben fatte:

http://www.ordineingegneri.bergamo.it/

Magari ti possono servire se vuoi rispolverare qualcosa.
Io già me le sono salvate tutte!!
ciao
Avatar utente
Foto Utentepapo
0 3
 
Messaggi: 26
Iscritto il: 26 ott 2005, 19:10

Precedente

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti