Vai al contenuto
PLC Forum


Relè


Gabriele Corrieri

Messaggi consigliati

Gabriele Corrieri

Ciao a tutti,

scusate nuovamente se 'rompo' ma leggendo la documentazione relativa alle interruzioni del S7200 non ho ben inteso cosa significhi il comando DTCH, mentre ATCH attacca l'interruzione al processo DTCH la 'stacca' potreste spiegarmi a parole come funziona la cosa?

Grazie infinite.

Link al commento
Condividi su altri siti


Gabriele Corrieri

Ciao a tutti,

mi veniva in mente oggi lo sfogo di un paio di settimane fa di Walterword: i toni di Walter non sono i miei ... però mi pare strano che tutti provetti programmatori e non c'è nessuno che sappia usare HSC0 del S7200: ne sono venuto fuori grazie a Cesco e un po' di emicrania, ora mi chiedo, ma possibile che non c'è altrettanto nessuno che abbia mai utilizzato le interruzioni ,o gli interrupt chiamateli come volete, su un S7200?

O ha ragione Walter, ossia tutti usano paroloni per dire che sanno fare poche cose, oppure sto antipatico ai più, oppure davvero c'è un protezionismo micidiale, da usare la protezione dei blocchi e dell'intero software con password e altre diavolerie ... e questo non credo faccia crescere il forum, anzi ... ne segnerà la morte. Non dico di mandare ai quattro venti software la cui stesura ha richiesto settimane di lavoro, ma giusto delucidare su come funziona la gestione di un particolare istruzione non mi pare una cosa così dispendiosa.

Siamo 2000 utenti, pochi più o pochi meno, guardate in home page che c'è il counter fatto apposta, ebbene proviamo a fare una statistica, non per post, c'è già, ma per suggerimenti utili, soluzioni ... non voglio erigermi nè erigere nessuno a nessun livello alto o basso che sia, voglio solo far notare che probabilmente il forum non è solo luogo di domande aspettando sempre le risposte, oppure collegandosi solo quando si è tentato il possibile e l'impossibile ... credo invece che il forum debba essere visto più con ottica di 'aiutare' invece che postare e aspettare la 'pappetta pronta', e noi stessi non aiutare di conseguenza.

Scusate lo sfogo polemico, e probabilmente anche il posto dove inserire questa critica è sbagliato, ma credo sia utile per rilanciare un concetto di forum ...

Non so se chi ha opinioni in merito debba postare qui o in altro loco, chi vuole mi mandi una mail, gli rispondo più che volentieri. Se eventualmente i moderatori ritenessero giusto spostare il post altrove per non mescolare argomenti tecnici e altre cose facciano pure.

Ciao

Link al commento
Condividi su altri siti

ho risolto i problemi con allen bradley plc 5 e control net

ho risolto i problemi con twido-telemecanique e pannello esa

nel frattempo ho fatto un altro s7-200 con op7

sto preparando s7-300 con rete e sottorete,drives, e remotati beckoff

:P

ho sempre qua un altro s7-200 con encoder collegato in e0.0 ed e0.1

con microcomputing che supervisionera un futuro asse\i

mi sono arrangiato da solo , anche se devo con grande entusiasmo di aver

riscontrato interessi da parte di claudio , gianni, e federico i quali ringrazio

tra poco mi studiero un proporzionale,derivata e integrale fatto in casa riaprendo i vecchi libri dell'itis e. mattei di san donato milanese

:D

passa a trovarmi che facciamo funzionare anche i contatori veloci del 200

ciao e buona domenica

una cosa gabri : il mondo dell'automazione e' complesso ed articolato

si puo spaziare con invenzioni ,trucchi ecc. sapendo pero' il funzionamento

della macchina (plc) , e non sempre si puo aver fatto tutto e nemmeno conoscere tutto , pero' se hai fiducia risolviamo anche questo inghippo, che sara sicuramente una cagata magari trascurata che i manuali certamente non ti dicono

ciao

dimenticavo:ho gia tra le mani le specifiche per fare un software standard di propulsione navi da crociera,che avevo gia fatto in fincantieri quest'anno

sempre con una decina di tsx premium,tutto in basic,fipway,ethernet,modbus altre reti plc, e tutto all'applicom per il pcvieu

schneider,con interfacciamenti sepa magrini,wecs wartsila,vago,lips,maag

in seriale modbus,ethy. ecc e ti spaventi per un contatore veloce???

passa di qua e porta quello che tu sai bene(allkeys)

:D :D :D

ciao

Link al commento
Condividi su altri siti

Ciao Gabriele

Mi sembra un po' strano quello che scrivi. Può capitare che per qualche giorno uno non possa o non voglia dare un occhio al forum e quindi certe risposte non arrivano con la velocità che desidera chi è sulla graticola con il problema aperto.

Tra l'altro ricordo il tuo post sul contatore e ti devo aver anche scritto qualche cosa.

Io gli interrupt del 200 ( e non solo del 200) li uso regolarmente senza particolari problemi. Sono dispostissimo a dare una mano (con i miei tempi) se capisco il problema. Alle volte i problemi sono mal posti e si fa molta fatica a dare un aiuto perchè o non si capisce il problema o lo si capisce in modo errato.

Quanto alla protezione del software, pensaci un poco: se ti costa lacrime, sudore e sangue non sei poi molto disposto a buttarlo via. Un conto è darsi una mano fra colleghi, un altro è regalare il proprio alvoro.

Io non voglio fare polemiche, anche perchè partecipo al forum solo per pura passione senza velleità di dimostrare niente a nessuno.

Non sono per niente d'accordo con l'impostazione che da Walterword alla maggioranza dei suoi post: può essere bravissimo (o meno) ma, a mio parere, si devono usare modi e toni diversi!

Da ultimo rispondo alla tua prima domanda.

ATCH e DTCH: è il modo che viene usato nello S7-2xx per collegare un evento ad una interruzione (ATCH) e per scollegarlo (DTCH). Per capirne la funzione bisogna fare irferimento alla piattaforma HW ed al SO.

Su alcuni processori ci sono i cosidetti vettori di interruzzupts, per cui puoi collegare un certo evento ad un certo livello di interrupt. Così si stabiliscono le priorità. Usando le istruzioni ATCH e DTCH puoi collegare e scollegare i tuoi eventi ai vari livelli di interrupt e cambiare dinamicamente le priorità di interruzzione. ATTENZIONE: se vuoi usare un interrupt su di un evento DEVI usare almeno una volt ATCH. Di solito lo si fa nella sub di inizializzazione. Questo in parole estremamente povere il concetto relativo a ATCH e DTCH.

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao Livio,

hai dalla tua molte ragioni, effettivamente se il software ti ha fatto tribolare è vero che non lo regali via ... su questo siam d'accordo: io stesso ho fatto un qualcosa capace di trasformare un TD200 in un prodotto molto simile ad OP3 (chi pensa che sia così facile lo invito a provarci) tre giorni intensi di lavoro effettivamente quel blocchetto non lo regalerò via, se qualcuno lo vuole gli chiederò qualche euro, ma se non riesco a far contare un HSC non vedo nulla di protezionistico spiegare come si fa, stessa cosa con gli interrupt.

Il mio problema per intero dell'interrupt è questo: siccome devo usare il medesimo HSC per fare diversi conteggi, uno assoluto partendo da inizio asse con quota zero e incrementando man mano, e uno relativo ossia dal punto di fermata precedente devo incrementare 10 impulsi, la mia idea era questa: dopo ogni interruzione 'ricaricare' l'interruzione con una MD che mi assegni la posizione di fermata successiva sull'asse.

Ho provato con l'assistente istruzioni di MicroWin e programmando 2 passi da 0 a x e da x a 0 mi ha generato la SBR di inizializzazione HSC e 2 INT, nell'ultimo INT c'è il famoso DTCH, sicchè mi è sorta la domanda: vuoi vedere che devo fare un 'loop' di più passi chiuso (inteso come ultimo INT) con un DTCH obbligatoriamente? A questo punto mi pare che la soluzione che pensavo dovrebbe girare, non ho il tempo materiale di provarla almeno fino a domani tardo pomeriggio.

Ringrazio comunque Livio e Francesco per le risposte, rimane comunque davvero il dubbio che o nessuno (o pochissimi) usa gli interrupt su S7200, oppure chi li sa usare si tiene ben bene stretto il know-how.

Ciao e grazie

Link al commento
Condividi su altri siti

Che pochi programmino il 200 usando gli interrupts sembra abbastanza probabile; in genere viene visto come una piccola scatola di relè e basta!. Io con un 216 ho fatto qualche regolazione un po' sofisticata come assi elettrici e loop di pressioni per cilindri idraulici.

Ma torniamo al tuo problema. Non ho capito bene se ci sono vincoli particolari per il conteggio assoluto. Comunque se si vuole rilevare la coincidenza tra quaota impostata e quota reale devi assegnare una routine di interrupt all'evento 12 (se usi HSC0). Come fare? Quando scrivi la SBR0 (inizializzazione) farai:

Network xy

LD SM0.1

ATCH 1,12

ENI

Cioè ha stabilito che la sbr interupt 1 sarà scatenata dall'evento 12 (coincidenza dei valori di HSC0).

Non necessita di nessun DTHC!

Quando HSC0 avrà raggiunto la coincidenza scatterà l'interupt 1, nella cui subroutine scriverai il nuovo valore di comparazione per HSC0. Poi sta a te decidere se eseguire altre operazioni nella SBR o se settare un flag che scatenerà un'operazione in un'altra SBR.

La vera cosa importante è l'istruzione di ENI altrimenti gli interrupts non scattano.

Se presumi che il contatore possa superare 2^31, puoi durante l'interrupt (p.e.) azzerarlo e tenere conto degli impulsi contati.

DTCH ti serve solo se VUOI DISCONNETTERE L'INTERRUPT DALL'EVENTO!

Io, per i posizionamenti, i contatori li ho spesso usati in questo modo senza problemi. Spero di averti aiuta a chiarire l'uso degli interrupts.

Se hai bisogno di qualche altra notizia puoi scrivermi direttamente, la mia email la conosci.

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao Livio,

... in genere prima di mettere mano alle novità provo un piccolo demo o lascio fare tutto all'assistente (se supporta l'istruzione) poi ragiono di conseguenza.

Mi era nato un piccolo dubbio ... oggi ho provato un piccolo demo fai-da-te ed effettivamente riesco a fargli fare quanto voglio.

Grazie per l'aiuto, a questo punto penso di aver inteso tutto o quasi tutto ciò che gira intorno a HSC ed INT.

Ciao

Link al commento
Condividi su altri siti

se poi magari la tua cpu e' anche ad uscite a transistor

puoi pilotare un drive per motori passo passo

ci sono due uscite veloci che ti danno un bel trenino di impulsi

l'encoder che hai configurato per i contatori veloci

sara la tua retroaazione.puoi anche riprodurre

brani musicali

Link al commento
Condividi su altri siti

Gabriele Corrieri+Oct 4 2002, 06:11 PM-->
CITAZIONE(Gabriele Corrieri @ Oct 4 2002, 06:11 PM)

Come utente di questo forum e quindi "interessato" ti avrei risposto più che volentieri, purtroppo nel mio caso HSC l'ho utilizzato una sola volta, dopo qualche tentativo a caso , funziona ma non ho capito perchè :lol:

Ciao :)

Link al commento
Condividi su altri siti

  • 5 years later...

Ciao a tutti.. ho un problema, mi hanno chiesto un quadro con un plc da spedeire in nord africa, nelle specifiche devo fornire il plc secondo specifica "tropicalizzato", la mia domanda è le cpu per condizioni ambientali ampliate per intenderci quelle con il codice di ordinazione con l'80 finale rispechiano queste specifiche.

Ciao e grazie

Link al commento
Condividi su altri siti

Nel codice c'è l'80, si, comunque se guardi nel famoso catalogo ST70 aggiornato trovi tutte le caratteristiche di resistenza alla temperatura e umidità, anche perchè il plc non è fatto solo di cpu....

pigroplc

Link al commento
Condividi su altri siti

Se mandi il plc in zone "calde" occhio che la memoria della cpu e' tamponata da un condensatore. Ho fatto un impianto che e' finito in sudan, con il risultato che ai primi di giugno hanno spento l'impianto togliento alimentazione al quadro. In settembre alla riaccensio ne si sono ritrovai i dati salvati sulla memory e non quelli caricati in ram

Link al commento
Condividi su altri siti

Cliff wrote:

Se mandi il plc in zone "calde" occhio che la memoria della cpu e' tamponata da un condensatore. Ho fatto un impianto che e' finito in sudan, con il risultato che ai primi di giugno hanno spento l'impianto togliento alimentazione al quadro. In settembre alla riaccensio ne si sono ritrovai i dati salvati sulla memory e non quelli caricati in ram

Ciao Cliff,

mi è capitao un problema analogo. Confidando nel condensatore e dimenticandomi di eseguire "Salva RAM in ROM" su una CPU317 Siemens ho perso tutti i dati delle DB.

Il punto in cui differisce il mio caso dal tuo è relativo al tempo trascorso senza alimentare il PLC: infatti sono trascorsi solo pochi giorni.

Le mie domanda :

1) Se un tecnico dopo la riaccensione della CPU sposta lo switch su MRES si perdono tutti i dati presenti su RAM?

2) Se sulla tua CPU inviata in Sudan si fosse eseguita la procedura di "Salva RAM in ROM" non si sarebbe perso niente?

3) Come può un tecnico senza PG / PC eseguire l'operazione "Salva RAM in ROM"

Bye,

Kurt_come

Link al commento
Condividi su altri siti

Allora, dopo l'esperienza disastrosa della perdita ho chiamato l'hot line, e come al solito ho finito col litigare con i "tecnici" Siemens, sempre preparati. Le varie risposte che ho ottenuto da varie persone sono state :

1) impossibile

2) la cpu quando sente la mancanza di tensione usa il poco tempo che rimane in vita per salvare i dati su flash, e quindi non dovrei aver perso nulla

3) le db sono su flash, quindi non perdo nulla

4) lasciare l'impianto sempre alimentato

e cosi' via...

Dopo varie vicissitudini ho risolto mandando un tecnico a sbloccare l'impianto, trasferire il programma e salvando sulla mmc con cpu in stop.

Questa e' stata solo una soluzione temporanea, naturalmente. La solzione ottimale (anche se non la ho mai provata) e' usare

SFC 84 "WRIT_DBL", che trasferisce una db su MMC. Ho provato un po' di volte a farla, ma non ci sono riuscito. In teoria bisognerebbe bypassare tutte le letture/scritture della db in oggetto e usare sfc84, lasciandola lavorare fino al termine. A questo punto estraendo la mmc e inserendola in un plc vergine si dovrebbero trovare i dati salvati.

Se qualcuno e' riuscita ad usarla con successo....

Bye

Modificato: da cliff
Link al commento
Condividi su altri siti

Si io, la sto usando in un mio software per mantenere aggiornati i dati, tempi di funzionamento macchina e motori, anche se il cliente dovesse resettare la CPU (lo fa lo fa <_< ).

Ho fatto delle prove e sta funzionato bene, però ho dovuto fare così:

1- Ho creato una DB dove copio tutti i dati che devono essere salvati ad ogni ciclo

2- Ogni 5 minuti avvio SFC 84 "WRIT_DBL" per salvare la DB interessata

3- Con SFC 84 in esecuzione Bypasso la scrittura della DB

4- Ad ogni riavvio e solo al primo ciclo PLC copio i dati salvati nelle relative DB da cui ho preso i dati da salvare

Modificato: da TravelMen
Link al commento
Condividi su altri siti

  • 1 year later...

.... a bobina disalimentata trovi chiuso tra i C e NC di tutti e tre i contatti

a bobina alimentata trovi chiuso tra C e NO di tutti e tre i contatti, ovviamente tre i tre contatti hai sempre isolamento galvanico...

Cordialmente

Link al commento
Condividi su altri siti

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