Vai al contenuto

Christian Bortotto

ingresso analogico

Recommended Posts

Christian Bortotto

Salve

Ho preso una cpu1214 e una scheda AnalogInput e una AnalogOutput. Praticamente ho un pressostato che lavora in 4..20mA e devo comandare una valvola che ha come entrata 0..10V.

Come posso fare per comandare anche a step la valvola in base all' entrata?

Es.:

PRESSOSTATO   VALVOLA

4mA                     10V

5mA                     12V

6mA                     14V

7mA                     16V

ecc ecc

Condividi questa discussione


Link discussione
Condividi su altri siti
Riccardo Ottaviucci

hai aperto 3 discussioni quasi identiche ,2 ne ho cancellate,continua qui senza aprirne di altre

Condividi questa discussione


Link discussione
Condividi su altri siti
Christian Bortotto

OPS , scusa ma non me ne sono nemmeno accorto

Condividi questa discussione


Link discussione
Condividi su altri siti
Blackice

Ciao Christian,una domanda,dove trovi quei valori superiori ai 10V in uscita visto che la massima tensione del modulo analogico può essere,appunto,10V?

Se ti basta comandare la valvola linearmente puoi copiare l' AIW.... nell' AQW...

Condividi questa discussione


Link discussione
Condividi su altri siti
Project75

Se il pressostato lavora da 4 a 20ma è la valvola da 0 a 10v, come fa la valvola ad essere a 10v con pressostato a 4ma? Dovrebbe essere 0v a 4 ma è 10v a 20mA. Ciao

Condividi questa discussione


Link discussione
Condividi su altri siti
Christian Bortotto

certo scusate l errore volevo dire

4 mA - 10V

5 mA - 9V

ecc ecc

Condividi questa discussione


Link discussione
Condividi su altri siti
Blackice

Fai una sottrazione tra 27648(valore max ingresso analogico)ed il valore dell'ingresso analogico.Come risultato avrai 10V a 4mA e 0V a 20mA.

Condividi questa discussione


Link discussione
Condividi su altri siti
raff69

Grazie Blackice era da questa mattina che mi stavo incasinando per capire come fare un out analogica inversamente proporzionale all'ingresso,

ed ecco la risposta

Condividi questa discussione


Link discussione
Condividi su altri siti
Christian Bortotto

Grazie della spiegazione , ma siccome non ho molta dimestichezza con il ladder secondo voi per far questa sottrazione o una conversione inversamente proporzionale come dovrei muovermi?

o forse è meglio che usi l'SCL  

if ingresso = 0

then uscita = 10

end if

 

if ingresso = 1

then uscita = 9

end if

ecc ecc..

Condividi questa discussione


Link discussione
Condividi su altri siti
Lucky67
Quote

if ingresso = 0

then uscita = 10

end if

 

if ingresso = 1

then uscita = 9

end if

ecc ecc..

 

Quando tu leggi un segnale analogico non puoi pretendere di di leggere un valore perfettamente stabile e quindi una soluzione come quella da te prospettata oltre a limitare molto il campo di azione di una eventuale regolazione creerebbe una bella indeterminazione (a meno che tu non scriva un numero di if then tanti quanti sono i valori di risoluzione del campo analogico :blink:.)

In ladder, deve eseguire l'istruzione SUB (se non sbaglio) in maniera incondizionata (cioè ogni ciclo macchina) tra il valore che ti è stato suggerito e il valore analogico. Poi con un MOVE lo trasferisci all'uscita... 

Condividi questa discussione


Link discussione
Condividi su altri siti
batta

Prima di pensare al linguaggio da utilizzare dovresti leggere i manuali e capire come vengono elaborati i segnali analogici.

Leggere un segnale 0..10V non significa leggere valori da 0 a 10.

Lo stesso vale per segnali in corrente: se hai un segnale di 12 mA dal canale analogico mica leggerai 12.

In particolare, da un ingresso analogico 0..10V di un S7-1200 leggerai un valore da 0 a 27648 (da 0Hex a 6C00Hex).
Lo stesso valore vale per un segnale 4..20ma (4 ma --> 0; 20 mA --> 27648).

Uguale ragionamento per i segnali in uscita: se vuoi impostare a 5V un'uscita analogica 0..10V dovrai scrivere nel canale 13824 (la metà di 27648).

Nel tuo caso, anche se dubito molto che questa operazione possa assolvere la funzione di regolazione della valvola, ti basta fare: OUT := 27648 - IN;

Però, ripeto: sono quasi sicuro che questo non risolverà minimamente il tuo problema di regolazione.

Condividi questa discussione


Link discussione
Condividi su altri siti
Lucky67
Quote

Come posso fare per comandare anche a step la valvola in base all' entrata?

 

Se la domanda è questa dubito che voglia cercare una "regolazione"...almeno mi par di capire.....

Condividi questa discussione


Link discussione
Condividi su altri siti
Christian Bortotto

certo Batta lo so che non si leggono come da mio esempio , ma appunto era un esempio. Volevo sapere quele istruzioni usare con il 1200 in ladder.

Grazie lucky67

Condividi questa discussione


Link discussione
Condividi su altri siti
odx

l'if equivale a un blocco di confronto  ( operazioni di confronto in TIA )

 

Prendi un blocco di uguaglianza , sopra ci metti 1, sotto la tua variabile eventualmente approssimata vedi te.

 

Se invece vuoi tenere un range da 0 a 1 ... da 1 a 2 ... da 2 a 3 ... fai un confronto >= partendo dal numero più basso  0>=     1>= ... e via cosi, tanto vengono letti in sequenza e ti rimane solo il valore corretto in uscita a fine ciclo.

Un po' stringato come risposta lo so, + più veloce farlo che dirlo :D

 

Condividi questa discussione


Link discussione
Condividi su altri siti

Registrati o accedi per inserire messaggi

Devi essere un utente registrato per lasciare un messaggio. La registrazione è GRATUITA.

Crea un account

Iscriviti alla nostra comunità. È facile!

Registra un nuovo account

Connettiti

Hai già un account? Connettiti qui

Connettiti adesso


×