Vai al contenuto
PLC Forum


Scalare Valore Analogici - informazioni su come scalare dei valori Analogici


olaspa

Messaggi consigliati

Ciao,

in mattinata stavo guardando come scalare dei valori analogici con Rslogix5000.

Esempio.

Se ho una delle seguente schede 1734 - IEC4/C e aprendo le sue propietà la setto con current rage :

4-20 mA.

high engineering 16383

low engineering 3227.

Io vorrei scala i valori che leggo da plc.

Se la scheda legge 3227 deve essere = 0

Mentre se la sceda legge 16383 = 10000.

Questo per permettermi di gestire meglio i valori analogici.

In simens c'era SCL...ma in rockwell non lo trovo in ladder.

Grazie mille

Saluti

Link al commento
Condividi su altri siti


Io conosco i plc Rslogix5000 solo di striscio, ma penso che i valori per la scalatura siano:

0 mA --> 0

4 mA --> 3277 (e non 3227)

20 mA --> 16383

Mi pare strano che nel Rslogix5000 non ci sia già una istruzione apposita per la conversione da valore binario letto sul canale analogico a valore ingegneristico.

Comunque, si tratta di una semplicissima scalatura. Il valore ingegneristico che, nel caso in esempio deve variare da 0 (4mA) a 1000 (20mA), si calcola come segue:

Valore = (lettura_analogico - 3277) * 1000 / (16383 - 3277) = (lettura_analogico - 3277) * 0,076301

Link al commento
Condividi su altri siti

Luca, ci sono essenzialmente due possibilità, oltre a quella indicata da batta: ;)

1. utilizzare la scalatura "automatica" direttamente nella configurazione del modulo; Configuration Tab, seleziona il range (4-20 ma) e il valore di High Engineering e Low Engineering che ti interessano (10000 - 0). Per default sono indicati 16383 e 3277 per la selezione 4 -20 ma.

2. utilizza una istruzione Add-On (l'istruzione SCP non è disponibile nella libreria standard) che puoi scaricare al seguente link:

Samplecode

Usa come chiave di ricerca "Title/Description" la sigla SCP.

Per dettagli sull'import e utilizzo delle istruzioni Add-On, capitolo 4 del seguente manuale:

Add-On Programming

- fuzzy logic

Link al commento
Condividi su altri siti

del_user_27683

Inserisci un ramo e incolla la riga che segue (In ASCII Text):

CPT YR "(X- 3277)/(16383- 3277)*10000" MOV YR Y

Crea le tag:

X > DINT (copiare valore dell'analogica)

Y > DINT (valore scalato)

YR > REAL (appoggio per calcoli)

Note:

- Ho lasciato indicati i valori 16383 e 3277 per facilitare la comprensione ed eventualmente modificarli

- L'appoggio su una REAL è obbligatorio altrimenti non si perdono semplicemente i decimali.

ciao

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