Vai al contenuto
PLC Forum


Uscite Analogiche 0-10v - gestione velocita motori


Messaggi consigliati

tecnologyassistence
Inserito:

Salve a tutti mi trovo a gestire con un una CPU 314 con dei moduli di uscite analogiche SM332 una linea di trasporto bottiglie e confezioni

dovrei poter gestire le velocita di ben 32 motori la mia domanda e :

come posso fare per assegnare alle mie PAW *** dei valori immessi tramite un TP177A che vanno da 0% al 100% in pratica da 0 Hz a 100HZ ? sicuramente devo alzare delle memorie e dopo trasferirle alla PAW ecco in pratica dal pannello dovrei impostare per ogni motore es:

MOTORE N°1

VELOCITA BASSA

VELOCITA MEDIA

VELOCITA ALTA

come posso fare?

grazie

Domenico


Inserita:

Inizia col fare una bella struttura sulla DB per contenere i dati dei 32 motori:

Motore ARRAY [1..32]

STRUCT

VelMin INT

VelMin INT

VelMin INT

END_STRUCT

Poi fai un FC che fa da "commutatore", mettici 3 ingressi bool per scegliere quale velocità attivare, mettici 3 ingressi INT su cui appoggiare i 3 riferimenti di velocità, poi aggiungi un parametro d'uscita per la scrittura della PAW.

All'interno dell'FC in base allo stato dei 3 bit fai la selezione di 1 dei 3 riferimenti, poi lo devi scalare in modo che 100% corrisponda a 27648 e il risultato della scalatura lo butti in uscita.

Richiami l'FC 32 volte per tutti i motori cambiando di volta in volta i parametri.

(Si potrebbe anche fare con un FB multiistanziato ma se te lo spiego ti creo ancora più confusione).

tecnologyassistence
Inserita:

ciao io ho provato con FC106 come ingresso vuole un dato in formato REAL anche se creo il mio DB con es: DB10.DBD0 e poi lo metto

CALL FC106

IN:DB10.DBD0

HI: 1.000000E+002

LO:0.000000E+000

BIPOLAR: FALSE

VAL : RET#

OUT PAW328

cosi facendo se utilizzo adesempio L MW40 T DB10.DBD0 quando scrivo es: 20 il valore va in negativo 2.000000-046 viene fuori un qualcosa di simile come posso fare? :huh:

avevo pensato di fare cosi ma non riesco nemmeno

U M3.0 =VELOCITA BASSA

SPBN M001

L 5000

M001: NOP 0

U M3.1=VELOCITA MEDIA

SPBN M002

L 12000

M002:NOP 0

UN M3.2= VELOCITA ALTA

SPBN M003

L 22000

M003: NOP 0

T PAW328

ma cosi non posso editare dei valori che mi corrispondono alla frequenza co 20 = 20 Hz come posso fare?

Inserita:

Dipende da cosa vuoi impostare sul display, vuoi impostare un valore da 0 a 100% oppure una velocità in rpm?

Io il TP177A non l'ho mai usato, ho usato però un paio di pannelli che si programmavano in Protool e tutti avevano la possibilità di scalare direttamente il valore inserito dall'utente, p.es. quando l'utente scrive 100% il display si arrangia a scalare e trasferire al plc il valore 27648.

Questa sarebbe la soluzione più semplice, ma il rovescio della medaglia è che quando apri la DB per vedere i valori fai un po' di fatica a capire rapidamente le velocità dei motori impostate dall'operatore.

Far fare la scalatura al plc è una cosa molto semplice, FC106 non l'ho mai usato perchè non mi piace, fatti un FC tuo in cui puoi fare quello che vuoi, oppure leggi bene l'elp dell'FC106 (io ora non ne ho proprio voglia).

Per scalare un valore 0...100 in un valore 0...27648 basta che fai:

L iValPercentuale

ITD

DTR

L 276.48

*R

RND

T iValScalato

;)

tecnologyassistence
Inserita:

Ciao jump funziona perfettamente anche se il valore non corrisponde con precisione ma devo dire che va bene.

Grazie

Saluti Domenico

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