Vai al contenuto
PLC Forum


Gestione Ingressi Analogici


Claudio_89

Messaggi consigliati

Salve a tutti. Vorrei sapere come fare a salvare il valore di un ingresso analogico in una variabile, da utilizzare poi come "valore del tempo" che un temporizzatore deve contare? Grazie mille in anticipo.

Link al commento
Condividi su altri siti


Grazie mille della risposta, ma potresti entrare più nei dettagli, anche con un esempio in KOP, perchè non ho mai lavorato con gli ingressi analogici. Grazie ancora.

Link al commento
Condividi su altri siti

Il problema non è di immediata soluzione. Il contenuto della word associata all'ingresso analogico lo devi spostare in una word di appaoggio (es. MW100 dove MB100 è a sinistra e MB101 è a destra) per essere po elaborato. Per prima cosa devi fare scorrere il contenuto di MW100 verso destra di un certo numero di posizioni (vedi manuale del modulo) in modo che il bit meno significatico del numero coincida con il bit meno significativo della word (M101.0). Il numero deve poi essere convertito in formato S5T#time in modo che il timer riesca a capire il giusto valore di tempo. Penso che ci sia una funzione già fatta che esegue questa conversione che, non è semplice da realizzare manualmente. Il timer vuole una word in cui i 3 digit (1 digit è un gruppo di 4 bit vicini) meno significativi contengano le 3 cifre in BCD, mentre il digit più significativo (quello di sinistra: M100.7 M100.6 M100.5 M100.4) determina l'unità di misura. L'unità di misura è determinata dallo stato dei bit M100.4 e M100.5 mentre M100.6 e M100.7 non sono considerati.

Ciao

post-130216-0-64583300-1411931007_thumb.

Link al commento
Condividi su altri siti

Salve,

oltre a quanto postato da amed nel messaggio #4, se non hai ancora lavorato con le analogiche, dovresti almeno dare un ulteriore indicazione su quali devono essere i limiti di conversione da impiegare per linearizzare la variabile analogica in un tempo.

Esempio:

nel caso di un ingresso analogico 0-20ma, 4-20ma, 0-10V il valore numerico restituito dopo la conversione analogica/digitale è:

0-10V = 0-27648

0-20ma = 0-27648

4-20ma = 0-27648

ora comprendi che per un valore 10Volt, o 20ma il valore restituito dall'ingresso analogico sotto forma di grandezza numerica è di 27648, ma questo valore cosa ti deve rappresentare millisecondi??,secondi??minuti??.

Dovresti dare indicazioni del tipo:

con 0 volt in ingresso il tempo deve essere 0s, con ingresso a 10 volt il tempo deve essere 60s, oppure 10minuti etc. etc.

A parer mio, anche questa deve essere una informazione da dare agli utenti del forum. Quando scrivi:

ma potresti entrare più nei dettagli, anche con un esempio in KOP

le risposte saranno più dettagliate se anche tu di conseguenza dai indicazioni più dettagliate sul controllo che desideri ottenere, non dico di redare una specifica funzionale della "cosa" che devi regolare, ma quantomeno partire da dei punti fermi (indipendentemente dalle tueconoscenze), sarebbe la cosa migliore da fare, per ricevere come detto pocanzi; indicazioni che ti permettano di partire con il piede giusto.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Dò delle informazioni più dettagliate sul dispositivo che devo controllare. Praticamente con l'ingresso analogico, cioè con un potenziometro che regola la tensione in ingresso 0-10 volt devo controllare un temporizzatore. In pratica nel programma imposto già un tempo base al timer, per esempio 1s, poi però con il potenziometro devo poter aumentare quel tempo lì, cioè moltiplicarlo per un certo "k" dettato dal valore in ingresso analogico, che potrà andare da:

-potenziometro al minimo moltiplico il valore del tempo per 1, cioè il valore del tempo non cambia, nel nostro caso resta 1s

-fondo scala (potenziometro al massimo) moltiplico il valore del tempo per 100, nel nostro caso il valore del tempo diventerà 100s

Spero di essere stato chiaro. Grazie mille delle risposte date finora.

Link al commento
Condividi su altri siti

In pratica tu hai 0-10V = 0-27648 ==> 0-100%. Devi solo effettuare una conversione, risolvendo la relazione 100:276480=X:valore lettto.

Quindi avrai x = (valore_letto*100)/27648; questo valore lo memorizzi in una word e lo usi come fattore di moltiplicazione. Puoi effettuare le operazioni in DWord o in real.

Link al commento
Condividi su altri siti

Non sò ancora con certezza. Pensavo di usare il modulo analogico 6ES7 231 con CPU 222 però a me servono per tutto il progetto 4 ingressi analogici e 5 uscite analogiche e non sò se quel modulo mi permette di usare 4 ingressi analogici. Voi cosa mi consigliate?

Link al commento
Condividi su altri siti

a me servono per tutto il progetto 4 ingressi analogici e 5 uscite analogiche

Ti serve allora un modulo EM235 (4 ingressi analogici + 1 uscita analogica) ed un modulo EM232 (4 uscite analogiche). Gli ingressi, settati per valore di tensione (1 o 5 Volt), sono adatti per essere gestiti da un potenziometro; La AWI, appoggiata ad una memoria per le operazioni matematiche che ti sono state consigliate per la scalatura, la si trasferisce con il comando MOVE.

Link al commento
Condividi su altri siti

Se ho ben capito si tratta di un s7-200 quindi su questo thread bisogna sotituire dappertutto 27648 con 32000 che è il fondoscala delle analogiche per i plc di quella serie ;)

Link al commento
Condividi su altri siti

si tratta di un s7-200 quindi su questo thread bisogna sotituire dappertutto 27648 con 32000

Giusto, bravo Jumpman, m'era sfuggito! Inoltre, se invece lavori con 11bit + segno, il campo di lavoro può andare tra -32000 e +32000.

Link al commento
Condividi su altri siti

La 221 non è espandibile.

La 222 puoi espanderla con max. 2 moduli

La 224 puoi espanderla con max. 7 moduli

-----------------------------------------------------------------------------------------
Codice             Tipo       Alimentazione       Ingressi     Uscite     Porte Ing. Usc.
Ordinazione        CPU        (nominale)          digitali     digitali         Ana. Ana.
-----------------------------------------------------------------------------------------
6ES7211-0AA23-0XB0 CPU 221    24 V DC              6 a 24VDC   4 a 24VDC   1    No   No   
6ES7211-0BA23-0XB0 CPU 221    da 120 a 240 V AC    6 a 24VDC   4 x relè    1    No   No   
6ES7212-1AB23-0XB0 CPU 222    24 V DC              8 a 24VDC   6 a 24VDC   1    No   No   
6ES7212-1BB23-0XB0 CPU 222    da 120 a 240 V AC    8 a 24VDC   6 x relè    1    No   No   
6ES7214-1AD23-0XB0 CPU 224    24 V DC             14 a 24VDC   10 a 24VDC  1    No   No   
6ES7214-1BD23-0XB0 CPU 224    da 120 a 240 V AC   14 a 24VDC   10 x relè   1    No   No   
6ES7214-2AD23-0XB0 CPU 224XP  24 V DC             14 a 24VDC   10 a 24VDC  2    2    1    
6ES7214-2BD23-0XB0 CPU 224XP  da 120 a 240 V AC   14 a 24VDC   10 x relè   2    2    1    
6ES7216-2AD23-0XB0 CPU 226    24 V DC             24 a 24VDC   16 a 24VDC  2    No   No   
6ES7216-2BD23-0XB0 CPU 226    da 120 a 240 V AC   24 a 24VDC   16 x relè   2    No   No

Link al commento
Condividi su altri siti

Grazie della risposta. Però vorrei sapere se la CPU 222 supporta 4 ingressi analogici e 5 uscite analogiche, cioè collegandoci alla CPU 222 i moduli EM232 e EM235. se non li supporta che cpu devo utilizzare? Grazie ancora.

Link al commento
Condividi su altri siti

Come ti ha precisato Jumpman la 222 supporta solo 2 moduli tra analogici e digitali; se non ti bastano 2 moduli devi passare alla 224 o alla 226.

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