tecnologyassistence Inserito: 9 febbraio 2008 Segnala Inserito: 9 febbraio 2008 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°1VELOCITA BASSA VELOCITA MEDIAVELOCITA ALTA come posso fare?grazie Domenico
JumpMan Inserita: 10 febbraio 2008 Segnala Inserita: 10 febbraio 2008 Inizia col fare una bella struttura sulla DB per contenere i dati dei 32 motori:Motore ARRAY [1..32]STRUCTVelMin INTVelMin INTVelMin INTEND_STRUCTPoi 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: 10 febbraio 2008 Autore Segnala Inserita: 10 febbraio 2008 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 mettoCALL FC106IN:DB10.DBD0HI: 1.000000E+002LO:0.000000E+000BIPOLAR: FALSEVAL : RET#OUT PAW328cosi 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? avevo pensato di fare cosi ma non riesco nemmenoU M3.0 =VELOCITA BASSASPBN M001L 5000M001: NOP 0U M3.1=VELOCITA MEDIASPBN M002L 12000M002:NOP 0UN M3.2= VELOCITA ALTASPBN M003L 22000M003: NOP 0T PAW328ma cosi non posso editare dei valori che mi corrispondono alla frequenza co 20 = 20 Hz come posso fare?
JumpMan Inserita: 10 febbraio 2008 Segnala Inserita: 10 febbraio 2008 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 iValPercentualeITDDTRL 276.48*RRNDT iValScalato
tecnologyassistence Inserita: 12 febbraio 2008 Autore Segnala Inserita: 12 febbraio 2008 Ciao jump funziona perfettamente anche se il valore non corrisponde con precisione ma devo dire che va bene.Grazie Saluti Domenico
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora