Vai al contenuto
PLC Forum


Problema Ingressi


Messaggi consigliati

Inserito:

Salve,

inizio questa discussione dopo aver manovrato per poco tempo con un s5 101u,quel che basta per rispolverare quelle poche cose che ho imparato con un corso tempo fa.

Ho avuto la possibilità di fare a cambio con un s5100u con cpu 103.

Mi trovo però bloccato all'alimentazione degli ingressi ed uscite.

La cpu funziona (apparentemente) bene,e riesco a mandarla in stop e run,fino a quando non carico un programma(anche semplicissimo),e da questo punto quando metto la macchina in run,lampeggia per un secondo il led e poi ritorna in stop.

Vista la mia poca esperienza manuale in oggetti piu evoluti di un s101u,ho pensato subito che il problema potesse essere l'alimentazione scorretta dei moduli ingresso-uscita(visto che ci ho capito poco dal manuale).

http://www.simlogic.pl/pubapp/repository/file/6ES5%20998-0UB23.pdf

I miei moduli input e output sono rispettivamente a pagg 372-378

Io non riesco a capire se ho fatto bene a collegare:

al pin 2 del modulo input,sono la fase

e dal pin 1 al pin 2 del modulo output,la fase col neutro

Inoltre che cosa è quel condensatore raffigurato??

Scusate per le domande stupide :smile:


Inserita: (modificato)

Ciao

I moduli di ingresso/uscita vanno alimentati a 24VDC:

il +24V sul morsetto 1 (L1)

il - sul morsetto 2 (M)

Per utilzzare un ingresso, devi collegare un contatto tra +24V e l'ingresso

per utilizzare un uscita, devi collegare un carico tra un morsetto di uscita e il -

Quello che Tu chiami "condensatore" è il simbolo della batteria o alimentazione del modulo (vedi sopra).

Modificato: da elettrodino
Inserita:

Grazie elettrodino.

Difatti io ho proprio eseguito l'alimentazione così come hai descritto tu,solo che mi aspettavo,come è successo nel 101u,che dopo aver caricato il programma,le uscite si aprissero in base ai comandi che ho fornito,invece non succede nulla.

Ho anche attivato l'unico input che ho messo,usando un conduttore invece che un contatto.

Invece ora se carico la pb i comandi non me li esegue.e se chiedo lo stato del blocco online su step 5,me lo trasmette come blocco non elaborato,come se il plc fosse in stato di stop insomma..

Sò di essere stato molto superficiale nell'aver controllato il manuale,ma sono sicuro che anche se avessi controllato meglio,non ci avrei cavato un ragno dal buco.

grazie

Inserita: (modificato)

Hai creato OB1 con il richiamo al PB?

L'indirizzamento agli ingressi/uscite è corretto? Se hai un solo modulo di ingresso subito dopo la cpu si chiameranno E0.0-E0.7 e se subito dopo hai il modulo delle uscite, saranno A1.0-A1.1.

Modificato: da busanela
Inserita: (modificato)

Grazie busanela.

Ho sbagliato a immettere le uscite..Mettevo a0.1 a0.2 etc....

Purtroppo però ho risolto in parte,perchè continua a non volere i programmi che gli do..

difatti ho creato un programma pb con due contatti per una sola uscita...Ok me lo elabora..

Ma se metto il programma che ho creato precedentemente con dei contatori e temporizzatori,fà lo stesso problema di prima,anche se lo richiamo dall' ob1.

Perciò ho pensato di modificare il programma semplicissimo di prima dei contatti,aggiungendoci solo UN temporizzatore..

E di nuovo quando metto in run,lampeggia poi va in stop...

Credo perciò che non riesca ad elaborare programmi un pò piu "complessi",che semplici contatti aperti o chiusi..

Non so dove sbattere la testa..

Modificato: da casafe
Inserita:
Credo perciò che non riesca ad elaborare programmi un pò piu "complessi",che semplici contatti aperti o chiusi..

Non credo proprio che il problema sia nella cpu. La procedura corretta sarebbe di suggerirti di verificare nel registro delle interruzioni cosa ti viene indicato come problema, ma credo sia fondamentale vedere prima cosa hai scritto e che manda in stop il plc: prova a postare le righe di istruzioni che non ti funzionano e cerchiamo di capire assieme cosa sbagli.

Inserita:

ob1:

spa pb 2

pb2:

u e0.0

ltkt100.1

si t1

nop 0

lt1

tdw20

lct1

tdw22

ut1

=a1.0

con questi blocchi mi si blocca.

Andando su test stato blocco,mi dice blocco non elaborato...

Invece se faccio questo semplice istruzione pb1:

ue0.0

une0.1

=a1.1

Il problema sorge solo quando aggiungo temporizzatori,contatori(ora ho provato solo questi)

Inserita:
tdw20

Il problema è qui.

Scrivi la DW20 di quale DB?

Devi aprire il DB con l'istruzione

A DB nnn

prima di accedere alle variabili.

Ovviamente, devi anche creare il DB e caricarlo nella CPU.

Inserita:

Fino a che non ti sei ripassato il manuale o quanto hai studiato al corso, ti consiglio di lasciar stare i blocchi dati.

Se vuoi provare il temporizzatore:

UE0.0

L KT 100.1

SI T1

NOP 0

NOP 0

NOP 0

U T1

= A 1.0

semplicemente.

Col tempo puoi provare a costruirti degli FB con il proprio DB d'istanza che ti permettono di richiamare dei cicli di tempo ( o di lampeggio, per esempio, ha più senso) con i relativi tempi di cadenza caricati nel blocco dati.

Inserita:

Grazie a tutti..

Beh sì in effetti non avevo la piu pallida idea di cosa fosse il db,anche se ho fatto il programma di prova dello step 5 dove lo utilizzava.

Ero rimasto al 101u dove bastava che scrivessi quello che volevo senza dover far riferimento a nulla,così ho fatto tabula rasa di quello che imparai al corso(per altro del step7)...

Mi toccherà ora riprendere da dove ho mollato dal manuale del step5..

Grazie infinite

Inserita:
Ero rimasto al 101u dove bastava che scrivessi quello che volevo senza dover far riferimento a nulla

Ne sei proprio sicuro?

Inserita:

Ciao,

penso tu stia confondendo S5 ed S7. In S7 puoi fare aperazioni direttamente sulle DW con un'unica riga (L oppure T DBx.DWy) mentre in S5 devi sempre dichiarare la DB con una riga indipendente ( A DBx e nella riga successiva T DWy) ed è indipendente dal tipo di CPU.

Ciao

Inserita:

Confermo che nel vecchio 101u il programma descritto sopra andava senza db..

Non ho la piu pallida idea del perchè,ma funzionava...

Inserita:
Confermo che nel vecchio 101u il programma descritto sopra andava senza db..

Questo può essere solo se le righe da te scritte erano state aggiunte ad un programma esistente.

Se nel PLC esisteva un DB, e da qualche parte nel programma veniva aperto QUEL DB, allora il programma funzionava.

In nessuna CPU S5 un programma potrebbe funzionare SOLO con le istruzioni da te scritte.

Inserita:

Ciao,

confermo quanto detto detto da batta. Probabilmente in un punto iniziale del programma c'è un A DBx. Questo comando rimane valido fino all'apertura di un'altra DB. Quindi se lavori con un'unica DB basta aprirla in un solo punto, ma se lavori con 2 o più DB devi sempre dichiarare A DBx, ADBy ecc.

Ciao.

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