Vai al contenuto
PLC Forum


Cpu314c 2dp - COLLEGAMENTO ENCODER INCREMENTALE


Messaggi consigliati

tecnologyassistence
Inserito:

Salve posso gestire 3 motori su cui vengono montati degli encoder incrementali con una cpu314c 2dp ?

dopo diche dovrei creare un programmino che non so come ma che dovrebbe far muovere questi motori tenendo conto delle impostazioni date da pannello operatore in mm.

come posso fare?


tecnologyassistence
Inserita:

ciao Savino ma allora questa non va bene?

in talcaso ho una fm350-2 puo funzionare?

Inserita:
posso gestire 3 motori su cui vengono montati degli encoder incrementali con una cpu314c 2dp ?

Non vorrei ricordare male, ma la 314c-2dp mi pare disponga di 4 ingressi di conteggio veloce, quindi sì.

dovrei creare un programmino che non so come ma che dovrebbe far muovere questi motori tenendo conto delle impostazioni date da pannello operatore in mm.

beh, intanto sarebbe bello saper come intendi gestire i motori: se con rampe di accelleraz. e/o decellerazione oppure se sono comandati con semplici teleruttori, e cosa devi impostare sull'HMI (limiti, velocità, rallentamenti, ...).

tieni comunque presente che il valore che acquisisci da encoder, caricato in word od in dword, lo elabori come una comunissima parola o doppia parola, con le consuete istruzioni di trasferimento e confronto. ;)

tecnologyassistence
Inserita:

ciao Busanella grazie allora i motori da gestire sono due comandati direttamente tramite contattore e uno tramite inverter e dal HMI dovre impostare le quote per lo spostamento in mm di ogni asse ES: motore 1 avanza per una lunghezza di 1000 mm pensi che si puo fare?

Inserita:

Ciao tecnology

Dato che usi una Cpu314c penso che invece di utilizzare una scheda di posizionamento FM, varrebbe la pena di provare il pacchetto

software "Easy Motion"

https://support.automation.siemens.com/WW/l...=&nodeid99=

Questo pacchetto software ti fornisce delle librerie Siemens contenenti FB specifici per gestire il movimento degli assi.

I blocchi funzione sono conformi allo standard PLCOPEN e ti consentono di effettuare posizionamenti assoluti o relativi, jog, gearing

Non ho mai avuto occasione di utilizzarli in quanto solitamente utilizzo le CPU 315/7T, ma la cosa mi incuriosirebbe parecchio dato che

potrebbero essere una buona soluzione a costo relativamente contenuto. Prova ad informarti presso il tuo rivenditore.

tecnologyassistence
Inserita:

Buongiorno grazie mille il mio problema e che e' la prima volta che devo gestire un motore in relazione a delle misure ben precise

credo che mi perderei invece vorrei capire con la CPU che possiedo se e fattibbile e se magari quancuno potrebbe darmi una dritta su come iniziare a provare quancosa iniziando a collegare un encoder incrementale

Inserita:

Ciao tech...provo a darti qualche dritta rapèida rapida...

Il contatore integrato della cpu 31xC è abbastanza semplice da urilizzare..

In configurazione hardware stabilisci come utilizzare il contatore, ad esempio se contatore impulsi, 2 canali AB avanti indietro risoluzione x1 x2 x4 e puoi anche stabilire se al raggiungimento di un cero valore di conteggio debba o meno venire generato u interrupt in OB40.

Questi contatori hanno una frequenza di conteggio di 30KZ, quindi a seconda del tuo encoder e a dove lo monti (direttamente sul motore piuttosto che su un organo meccanico della macchina)puoi verificare se la cpu può effettuare o meno il conteggio..

Il contatore viene poi gestito con l'SFB47.

nel blocco dati di istanza di questo FB trovi i comandi di gestione del contatore, (start, reset impostazione del valore iniziale conteggio, impostazione del valore a cui eseguire l'interrupt e molto altro ancora).

Alcuni comandi come lo start stop, sono semplicemente dei bit da attivare , altri come ad esempio l'impostazione del valore del contatrore sono "un po' piu complessi", devi infatti impostare un codice operativo in una word per far fare l'operazione desiderata al contatore ( ma per piu dettagli ti rimando al manuale "FUNZIONI TECNOLOGICHE "della cpu)

https://support.automation.siemens.com/WW/l...p;y=10(SPERIAMO SIA GIUSTO IL LINK ....) :)

Per quanto riguarda i motori comandati da teleruttori, dubito che riuscirai ad ottenere un posizionamento preciso, mentre per quel che riguarda quello sotto invertere puoi ottenere una notevole precisione se generi il corretto profilo di velocità (io ho i miei appositi FB per operazioni di posizionamento di questo tipo)

tecnologyassistence
Inserita:

grazie mzmo provo e ti faccio sapere inizio a vedere come collegare l'encoder

tecnologyassistence
Inserita:
:( salve quancuno gentilmente puo' mandarmi un esempio dell' SFB47 sto diventando matto caspita :(
tecnologyassistence
Inserita:

niente da fare non ne esco fuori ho creato sfb47 ma come diamine deve sunzionare l'encoder funziona vedo i led della scheda accendersi ma sul blocco come faccio a impostare l'indirizzo del primo canele ? io ho messo channel 0 ma non va :(

paolo.francovigh
Inserita:

Ciao, io ho fatto un posizionatore in mm con una 350-2 messa su una 313C controllando 3 assi. Se ti interessa posso darti una mano.

zanellatofabio
Inserita:

ciao ,

se hai l'encoder collegato sul canale 0 devi vedere nella configurazione Hw il conteggio quale indirizzo hai di ingresso nel mio esempio ho 768 questo lo devi scrivere in HEX quindi 300 in LADDR dell SFB47

vedi immagine del DB102 dbw0 , poi se nella scheda hw conteggio non hai abilitato il gate hw e all SFB47 dai 1 sul gate sw ( vedi db102.dbx4.0 ) vedrai il valore del conteggio su DB102.DBD14

hwsx3.th.jpg

e

sfb47vm4.th.jpg

e

dbbq4.th.jpg

e

gatenf4.th.jpg

tecnologyassistence
Inserita:
:) grazie ci sono riuscito adesso come faccio a scalare il valore di conteggio per trasformarlo in mm e poi azzerarlo con un F/S?
Inserita:

Ciao,

adesso come faccio a scalare il valore di conteggio per trasformarlo in mm

Beh, questo dipende dalla tua applicazione, devi provarlo nel campo. Se , per esempio, il motore nel muovere il tuo azionamento per percorrere 1 mm fa ruotare l'encoder di 2 giri ed hai un'encoder di 500 impulsi/giro, vuol dire che hai 1000 impulsi/mm. ed è questo il tuo fattore incrementale: se hai fatto 15000 conteggi (=impulsi), dividendo per 1000 hai percorso 15 mm.

Se con F/S intendi fondo scala, con un'istruzione di comparazione ed una di trasferimento dovresti risolvere il tuo problema:

L MW 50 // Word in cui è appoggiato il tuo valore di F/S.

L MW 60 // Word in cui è appoggiato il valore attuale dell'encoder.

I == // Istruzione di confronto in uguaglianza.

L MW 40 // Se è uguale, carica dalla memoria di appoggio nuovo valore da caricare nell'encoder.

T MW 60 // Trasferisci questo nuovo valore (nel tuo caso 0) nella merker di appoggio dell'encoder.

Io utilizzo questa procedura per tutti i confronti di posizione. ricorda solo che se devi attribuire delle uscite in occasione di posizioni definite, devi utilizzare comandi di Set/Reset, altrimenti, con la semplice attribuzione (= A0.0) appena l'encoder esce dal valore di confronto, l'uscita torna immediatamente allo stato logico 0. ;)

tecnologyassistence
Inserita:

grazie busanella si devo comandare delle uscite quando avro la comparazione del mio valore allora se non ho capito male divido per 1000 il valore che mi viene dato dall' SFB47 dal count val???

Inserita:
se non ho capito male divido per 1000 il valore che mi viene dato dall' SFB47 dal count val???

devi dividere per 1000 se, come nell'ESEMPIO che io ti ho fatto il tuo encoder è un 500 impulsi/giro e per percorrere 1 mm l'encoder compie 2 giri! (se ho davvero indovinato le tue condizioni d'applicazione, cambio lavoro e faccio il mago!)

Più plausibilmente, devi verificare sul posto quanti giri o quanti impulsi effettua il tuo encoder per percorrere 1 mm (o multipli di questo), raffrontarlo col numero di impulsi giro dell'encoder (di solito è stampigliato nella sigla, insieme alla tensione di lavoro) ed avrai il tuo "fattore incrementale". ;)

tecnologyassistence
Inserita:

ciao busanella grazie per la risposta comunque e un encoder ce' scritto 1000

grazie

Domenico

Inserita: (modificato)

ciao Domenico,

un encoder ce' scritto 1000

OK, allora adesso devi vedere quanti impulsi del tuo encoder vengono conteggiati (puoi usare una VAT per visualizzare il valore appoggiato ad un merker) per percorrere 1 mm od un multiplo di questo (è più facile misurare 1 cm) nel movimento del tuo motore.

Dopo di che, supponiamo che per muovere il motore di 1 cm l'encoder abbia risposto con 347 impulsi, in corrispondenza ad 1 mm hai: 347/10=34.7 impulsi.

Questo è il valore che devi utilizzare per confrontare il numero di impulsi dato dall'encoder con lo spazio percorso in millimetri: se per esempio il F/S è a 15703 impulsi, in millimetri corrispondono a 15703/34,7=452,54mm. ;)

Alessandro.

Modificato: da busanela
Gabriele Corrieri
Inserita:

Ciao

OK, allora adesso devi vedere quanti impulsi del tuo encoder vengono conteggiati (puoi usare una VAT per visualizzare il valore appoggiato ad un merker) per percorrere 1 mm od un multiplo di questo (è più facile misurare 1 cm) nel movimento del tuo motore.

Dopo di che, supponiamo che per muovere il motore di 1 cm l'encoder abbia risposto con 347 impulsi, in corrispondenza ad 1 mm hai: 347/10=34.7 impulsi.

A casa mia una volta c'erano i cinematici ... i conti li ho sempre fatti sugli schemi cinematici ... poi semmai ho verificato la cosa in pratica ...

Ciao

Inserita:
dovrei creare un programmino che non so come ma che dovrebbe far muovere questi motori tenendo conto delle impostazioni date da pannello operatore in mm.

come posso fare?

un encoder ce' scritto 1000

Ciao,

non mi pare che a casa di tecnologyassistance, a giudicare dalle premesse e dalle risposte date, ci siano schemi cinematici! <_<

  • 1 year later...
Inserita:

Salve a tutti, abito in uno stabile di 3 piani con solo 3 appertamenti. Questo non è dotato di messa a terra e in attesa che gli altri 2 proprietari si convingono a mettere in sicurezza tutto lo stabile posso eseguire l'impianto di terra nel mio appartamento e collegarlo provvisoriamente alla rete idrica ( la tubazione è interamente interrata), ciao attendo un vostro parere.

Inserita:

NO! Oltre che essere quasi sempre una terra insufficiente, può essere pericoloso...........

C'è il rischio, in caso di dispersione, di folgorazione durante l'uso dell'acqua........

Ciao ;)

Inserita:

Assolutamente nemmeno da pensare... in caso di dispersione si manda in tensione tutta la colonna e di conseguenza tutti i rubinetti delle singole utenze....

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