Vai al contenuto
PLC Forum


Conversione dati


belarturo

Messaggi consigliati

Buon giorno ringrazio il forum come sempre per i consigli ho un problema con una scheda analogia da041 con questa scheda devo dare la frequenza di 0-10v a due inverter della Omron  il mio problema non riesco a convertire il valore che scrivo del pannello x convertirlo alla data memory della scheda analogica.Sul pannello scrivo in 16bcd sulla d900 poi vorrei convertire con la funzione scaling scl 194 e faccio d900 canale di origine d20 primo canale e canale finale Q2001 che è la scheda analogica.

Sulla d20 scrivo 0 su d21 #0 sulla d22 60 d23 #fa0 l'inverter è settato come massima frequenza a 60hz grazie mille 

Link al commento
Condividi su altri siti


Che serie di PLC stai usando? CJ, CP?

Comunque, considera che la SCL esegue la scalatura di un dato UINT (unsigned binary) e rende il risultato in UBCD (unsigned BCD), per cui come ingresso non dovrai dare un BCD, altrimenti lo interpreta male. Per esempio, se metti 100 in BCD, in effetti è 100 in hex, quindi 256 in decimale. Occhio alle notazioni.

Ovviamente anche i parametri della SCL per la scalatura dovranno essere congruenti.

Link al commento
Condividi su altri siti

Aspetta, forse è più semplice. Te imposti la frequenza in Hz, giusto? Quindi avrai un dato da 0 a 60. E vuoi riportarlo da 0 a 4000, che è l'uscita 0-10V analogica.

Suppongo sempre che tu immetta il dato in BCD (anche se non capisco perché) e lo metti in D900.

Una cosa facile, senza scalatura, è moltiplicare il valore di D900, riportato in decimale, per 200 e dividerlo poi per 3 (per non usare floating point), quindi così

image.png.e7127ff950f6260296f1740229cf6829.png

 

Se invece vuoi usare la scalatura, partendo da un BCD, va usata la SCL3, che prende un valore BCD e lo riscala in INT (entrambi con segno, ma nel nostro caso non importa):

image.png.c994ab9a889aa3652414bad65e402386.png

Link al commento
Condividi su altri siti

Buon giorno funzionano entrambi grazie mille per i preziosi consigli l'unica cosa nella 1 opzione moltiplicare x 20 con il pannello scrivo da 0 a 600.Invece con lo scaling nel #60 va a #600 grazie ancora 

Link al commento
Condividi su altri siti

Eh, no, se metti 600 si va fuori scala. 600x200 fa 120000, che non può essere contenuto in una word. In quel caso, devi lavorare con doppie word (32 bit).

In quel caso, meglio la SCL3 con massimo a #600

Link al commento
Condividi su altri siti

Forse mi sono espresso male nel 1 esempio ho moltiplicato x 20 invece nel secondo esempio dove sta lo scaling il #60 ho messo #600 e funzionano entrambi grazie ancora 

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