Jump to content
PLC Forum


Ton E Il Suo Time.


ferentarius
 Share

Recommended Posts

ferentarius

Ciao a tutti, come faccio in KOP ad utilizzare il blocco TON dandogli in pasto una word?

Il TON vuole come parametro in ingresso un tipo di dato TIME.

Come faccio a convertire una semplice word (dato che mi arriva da un pannello operatore) in un dato da dare in pasto alla TON.

Ero capace di farlo in AWL, ma qui non trovo come fare.

Mi date una mano per favore?

Grazie e ciao.

Fer.

Link to comment
Share on other sites


ferentarius

Ottimo, hai ragione, funziona, grazie e ciao.

è una cosa che non ho trovato io o non c'è scritto da molte parte?

sull'. del blocco non mi sembra ci sia scritto.

boh boh, comunque grazie.

Fer.

Link to comment
Share on other sites

ferentarius

Ho detto gatto senza averlo nel sacco.

Ti avevo detto "funziona". Troppo presto, avevo solo visto che la DINT era un parametro che veniva accettato dal blocco TON.

Però ora mi da questo mex di errore la CPU:

"Errore CPU temporaneo: Errore di lunghezza di campo in FC 10"

In effetti cosa vuol dire mettere una DINT in quel posto? che base di tempi dovrebbe avere? come dovrebbe gestire il timer?

Grazie e ciao.

Fer.

Link to comment
Share on other sites

Prendi la variabile A che vuoi passare a PT, la muovi nella variabile del DB dati del TON.PT.

Mi spiego meglio:

crei un TON il quale crea un DBA;

crei una variabile A (DINT);

muovi la variabile A in DBA.PT;

usi la variabile DBA.PT in PT del TON....

Link to comment
Share on other sites

io di solito uso il -(TON)-, in un db uso una variabile come IEC-timer per definire il timer e poi creo una variabile TIME ( te la da in ms) per assegnargli il tempo

Link to comment
Share on other sites

x mrsunday:

anch'io all'inizio facevo così!!!!! poi ho usato questo sistema per avere la possibilità quando vado sul display di poter inserire nel campo del display uuna unità in minuti o secondi invece di avere solo millisecondi!!!

i campi I/O del display mi dà lapossibilità di inserire 5000ms, che poi il TON li trasforma in 5 secondi, con il miio sistema posso mettere a display 5 e il TON li prende come 5 secondi....l'ho fatto perchè certe variabili inserite da display mi ci volevano in 5 ore da fare girare un motore....quindi non potevo fare inserire all'operatore 18000000 ms!!!

Tutto qui....mi sa che non stato molto chiaro....

poi non sò se c'è qualche altra soluzione!!!

Link to comment
Share on other sites

lucacortinovis.autom

Io per ovviare al problema mi sono costruito un temporizzatore che utilizza il bit di clock della CPU. Imposto un tempo di preset in secondi e sommo i fronti di salita del bit di clock in secondi. Un comparatore mi dice quando ho raggiunto il tempo di preset.

Link to comment
Share on other sites

Provate a vedere le immagini e ditemi se qualcosa non è chiaro!!!

non si possono aggiungere immagini?

Edited by beppexx80
Link to comment
Share on other sites

Ma vi piace così tanto complicarvi la vita?

Perché non dichiarate semplicemente la variabile in formato TIME?

Il formato TIME non è altro che una DINT con il tempo in millisecondi.

Per la visualizzazione sul HMI nell'unità di misura desiderata, basta una semplicissima scalatura da fare nel pannello operatore stesso.

Link to comment
Share on other sites

penso che la scalatura sia possibile su tutti i pannelli, uno volta si poteva fare anche su quelli base con il vecchio Protool comunque basta selezionare la variabile e andare nelle proprietà e vedere se ti da la funzione

"scala lineare"

Link to comment
Share on other sites

X Batta e Mrsunday:

nel mio pannello KPT400 non c'è la possibilità o la funzione scala lineare...se qualcuno ha qualche idea migliore è ben accetta....

Come no?

Ho appena provato proprio con un KPT400 mono, e funziona.

- Seleziona la variabile nella tabella delle variabili dell'HMI

- Apri la scheda "Proprietà"

- Scegli "Scala lineare"

- Metti il segno di spunta per abilitare la scalatura

- Inserisci i valori di scalatura

Se, per esempio, desideri impostare un tempo in secondi, potresti inserire i seguenti valori:

PLC: valore iniziale = 0 --- valore finale = 1000

HMI: valore iniziale = 0 --- valore finale = 1

Link to comment
Share on other sites

occhio che come dice Batta devi selezionare la variabile dalla tabella delle variabili dell'HMI, non dal campo di definizione che hai messo nell'immagine

Link to comment
Share on other sites

Ho visto "Scala lineare" certo che potevano mettere queste proprietà di scala lineare anche quando si seleziona la variabile a display.....che palle!!!! ci sono proprietà ovunque!!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...