Vai al contenuto
PLC Forum


Archiviare Dato In Virgola Mobile...


monica_124

Messaggi consigliati

Ciao a tutti:

Con questo codice archivo nel DB100 una serie di campioni (fino a 2000) in formato decimale. Come posso fare lo stesso ma con formato virgola mobile?

      AUF   DB   100
      L     2000

X01:  T     #cont

      L     1

      -D   

      SLD   4

      L     P#DBX 0.0

      +D   

      LAR1 

      L     DBW [AR1,P#0.0]

      T     DBW [AR1,P#2.0]

      L     #cont

      LOOP  X01

      L     #input

      T     DBW    0 

Grazie in anticipo per un'eventuale suggerimento :-)

Link al commento
Condividi su altri siti


Prova così:

      AUF   DB   100
      L     2000

X01:  T     #cont

      L     1

      -D   

      SLD   5

      L     P#DBX 0.0

      +D   

      LAR1 

      L     DBD [AR1,P#0.0]

      T     DBD [AR1,P#4.0]

      L     #cont

      LOOP  X01

      L     #input

      T     DBD    0 

La variabile #input deve essere, ovviamente, in formato REAL.

Modificato: da batta
Link al commento
Condividi su altri siti

Buongiorno a tutti,

penso che le istruzioni sopra riportate con variabi intere faccia al caso mio per memorizzare gli impulsi di un encoder.

L'Ho provato con il simulatore ma non riesco ad archiviare i valori.

Ho creato un fc richiamata da ob1dove ho messo le istruzioni sopra fatte da Monica e creato un DB, all' interno dell' fc ho creato la variabile temoranea #temp e come variabile #input ho messo la variabile esterna dell' encoder.

Se vado a visualizzare i valori online nel DB mi viene caricato solamente il valore di input e cioè dell' encoder nella word 0.

Come faccio con un bit esterno a fermare il conteggio e a memorizzarlo su una word senza pero fermare il valore dell' encoder?

Ho letto la guida del forum sui puntatori ma ci sono alcune cose che non mi sono chiare:

I puntatori praticamente servono per memorizzare dei valori come nel caso mio che cambiano velocemente e di fermarli in dato istante in una memoria o hanno anche altri utilizzi?

perchè si sposta di 4 bit a sinistra il valore?

cosa vuol dire dbw[ar1,p#0.0], ho letto anche sulla guida che ci sono i registri e come in questo caso viene richiamato da L AR1 ,a quale scopo esistono oltre agli accumulatori i registri?

se qualcuno potrebbe indirizzarmi in una guida dettagliata o spiegarmi il programma soprastante ne avrei proprio bisogno.

Scusate per le domande sicuramente elementari per la maggior parte delgi amici del forum ma sono da due giorni che faccio prove e non riesco a capire i puntatori.

Grazie a tutti

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