Vai al contenuto
PLC Forum


Risoluzione ingressi analogici Siemens


toni_unitn

Messaggi consigliati

Buongiorno a tutti

 

Ho alcuni ingressi analogici di Siemens che, mentre solitamente erano da 13 bit, ora sono diventati da 16. Questo aumento di risoluzione sembra mi porti a delle oscillazioni che prima non avevo ( ci sono delle sottrazioni dei segnali di 2 sonde nel software) , quindi vorrei capire come posso fare in modo di manipolare la word di ingresso in modo da "far finta" che il modulo sia da 13 bit, per verificare se le oscillazioni sono dovute a questo (non ho più a disposizione i moduli da 13).

 

Leggendo varie discussioni e il manuale di Siemens ho trovato la figura allegata

 

Quindi, in teoria se io metto a 0 i 3 bit più a destra della word di ingresso che leggo dal campo, sostanzialmente lavoro con un convertitore a 13 bit invece che da 16? E' corretto il mio ragionamento? 

 

Grazie 1000.

Immagine 2022-01-24 130403.png

Link al commento
Condividi su altri siti


Io farei uno shift a destra di 3 bit dei bit 0..14 (equivalente a una divisione per 8 mantenendo il segno, non so se gli S7 hanno una tale funzione), in modo da avere i valori nel campo originale a 13 bit. Oppure una semplice divisione per 8, come detto.

Link al commento
Condividi su altri siti

Indipendentemente dal numero di bit del modulo analogico, il valore di fondoscala sarà sempre 27648 (6C00 Hex).
Infatti, come si vede nella tabellina che hai postato, nel caso dell'ingresso a 13 bit sono i bit meno significativi ad essere posti sempre a zero, non quelli più significativi.
Quello che cambia al variare del numero di bit è la risoluzione, non i valori.
La scalatura degli ingressi analogici è totalmente svincolata dal numero di bit del modulo.
Non devi quindi fare assolutamente shift o altre operazioni, devi solo capire perché con il nuovo modulo ti trovi oscillazioni più ampie.
Per esempio, se prima avevi un modulo ST e adesso hai installato un modulo HS, il nuovo modulo è molto più veloce nell'acquisizione del segnale.
Da verificare anche come sono impostati, nella configurazione hardware, i filtri degli ingressi analogici.

Link al commento
Condividi su altri siti

Grazie per le risposte

 

@Ctec

Secondo me facendo uno shift a destra vado a incasinarmi con il fondo scala, io dalla tabella sopra capisco che il modulo a 16 bit scrive ANCHE i primi 3 bit (a destra) della word, mentre il modulo a 13 bit non lo fa, mentre tutti gli altri bit (dal 3 al 15) risultano uguali tra i due moduli a parità di tensione (o corrente) in ingresso. Quindi, usando il modulo a 16 e azzerando i bit 0,1, e 2, ottengo la lettura che avrei con il modulo a 13 bit.

 

@Batta

Hai ragione, ma mettiamola così, il sistema lavorava non in modo ottimale già da prima, e il motivo è che, per ragioni che non ti sto a spiegare, nell'impianto si usano sonde da 1 bar per misurare pressioni da 0,03 bar. Purtroppo i moduli da 13 bit (che io ho scritto essere siemens ma in realtà sono Vipa, e non mi permettono alcuna impostazione nella configurazione hardware se non scegliere tra 0..20 o 4..20 mA) si sono aggiunti all'infinita lista di materiale introvabile, quindi mi devo tenere i moduli a 16 bit e l'unico modo che ho per capire se il problema che ho dipende dalla risoluzione (che è l'unica cosa che è cambiata), è fare finta che il modulo sia a 13 bit e verificare se il sistema ritorna a funzionare come prima. Di qui la mia domanda. Quindi , al di là del fatto di capire perchè il sistema oscilla, mi serviva solo capire se, a livello teorico, con le operazioni che ho detto, con un modulo a 16 bit ottengo lo stesso "numero" che otterrei con in modulo a 13.

Link al commento
Condividi su altri siti

No, non avevo guardato la tabella. Tutto il resto del mondo allinea sempre a destra (bit meno significativo), Siemens ovviamente no. Segui quello che ha detto Batta.

Per ottenere lo stesso valore (rendere 0 i primi tre bit), basta che fai una AND del valore letto con 0xFFF8. Per le istruzioni da usare, vedere manuale o chiedere a Batta.

Link al commento
Condividi su altri siti

6 ore fa, toni_unitn ha scritto:

mi serviva solo capire se, a livello teorico, con le operazioni che ho detto, con un modulo a 16 bit ottengo lo stesso "numero" che otterrei con in modulo a 13.

Non ti serve a nulla azzerare i tre bita a destra. Otterresti solo una risoluzione più bassa, ma non una lettura più stabile.
In quanto alle possibili impostazioni del modulo, se non metti i codici è un po' difficile sapere quali opzioni hai a disposizione.
Se il modulo non ti permette di impostare un livellamento del segnale, lo puoi sempre fare via software. È un argomento che è stato trattato più volte.

 

6 ore fa, Ctec ha scritto:

Tutto il resto del mondo allinea sempre a destra

Sono molti i PLC che allineano a sinistra. Anzi, direi che è la scelta migliore, perché quando scrivo il software non mi devo preoccupare della risoluzione del modulo analogico.

Link al commento
Condividi su altri siti

Ma hai oscillazioni più ampie o solo oscillazioni che prima non avevi, tieni presente che se hai sensori a 10 V con schede la cui risoluzione è 13 bit ogni bit ha la sensibilità di 1,22 mV

mentre se hai una scheda a 16 bit la risoluzione scende 0,15 mV,. Quindi è chiaro che con la risoluzione più bassa le piccole oscillazioni non le vedi. Inoltre dovresti dare i codici delle schede e sapere come sono paramettrizzate, perchè ci sono delle impostazioni nelle proprietà che servono proprio a livellare i picchi di segnale.

Link al commento
Condividi su altri siti

Se azzerasse i 4 bits meno significativi, facendo AND con FFF0h, riporterebbe la risoluzione a 12 bits, cosìpotrebbe giudicare velocemente se è un problema legato alla risoluione.

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