Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Segnale Analogico Impazzito?


Messaggi consigliati

Inserito:

Ciao a tutti...

Ho un bel quesito da porvi (almeno per me)!

Se ho un segnale analogico estremamente variabile, in ingresso al mio Siemens EM231:

che istruzione o serie di esse posso adottare (in FUP preferibilmente) per far fermare un motore ad un valore di

segnale analogico prefissato (es. 22800)? Senza che questo riparta qualche decimo di secondo (il contattore attacca e stacca freneticamente) dopo.

Se non mi sono espresso bene Vi farò un esempio pratico:

la pompa C si accende ogni qual volta che la pompa A si avvia ed il pH sia inferiore a 11 (3, 4, 5, 6, ecc..,)

la pompa C si deve fermare ogni qual volta che il pH raggiunge il valore 11 nella vasca in cui dosa (e nella quale

entra anche un "liquame" che tende a far abbassare lentamente il pH pompa A e B ). La pompa C non mi importa a che valore di pH si riaccende l'importante è che essa si riavvii almeno a pH 9 dopo essersi staccata a pH 11 (tolleranza).

Sembra abbastanza facile (e per molti di voi a quanto ho capito persino), ma credo che non lo è, in quanto il segnale analogico 4-20mA come ho gia detto, è variabilissimo.

Potrebbe trattarsi di un problema di collegamento del cavo bibolare a singola schermatura (camicia in rame) oppure di swich del modulo EM231 (1:ON; 2ON; 3OFF; 4OFF; 5OFF; 6OFF)?

Esiste un modo per estrapolare un valore ad es. 15000 (es.pH 9?), tenerlo in memoria, prenderne un altro dopo x tempo confrontarlo con il primo e se è vero accendere o mantenere accesa la B e se è falsa spengerla e tenere questo stato per x alla n per poi ripetere il ciclo di confronto per vedere cosa si è verificato.

Che caos vero?

comunque grazie a tutti coloro che mi rispondono e a coloro che intendono farlo!

Buon divertimento da Grog1.


Inserita:

Ciao Grog1,

Se ho un segnale analogico estremamente variabile, in ingresso al mio Siemens EM231:

Per prima cosa . ti consiglio di verificare il vero motivo dell'instabilita', in quanto se come dici tu dopo nel post, si tratta di un segnale 4-20mA e' molto strano...a meno che la grandezza fisica che il tuo trasduttore misura, sia estremente variabile e/o il sensore sia estrememente sensibile.

Per comiciare escludi subito eventuali problemi di "rumori" elettrici o cattive schermature , cavi di resistivita' eccessiva ecc. poi passa alla verifica del trasduttore, se veramante adatto a cio' che deve misurare , perche' una certa variabilita' va' bene ....ma non esageriamo.. ;)

he istruzione o serie di esse posso adottare (in FUP preferibilmente) per far fermare un motore ad un valore di

segnale analogico prefissato (es. 22800)? Senza che questo riparta qualche decimo di secondo (il contattore attacca e stacca freneticamente) dopo.

No, FUP no! per piacere.... :lol:

Ti aiuto volentieri ma in KOP , poi traducilo pure in FUP.. ;)

Allora, fermare un motore ad un valore prefissato , 22800 , cioe' 17,194mA , non sarebbe un problema, basterebbe fare:

U M10.0 //Flag comando motore

L PEW 288 //Carica valore canale analogico PEW288 , per esempio

L 22800 // Carica valore di confronto

<=I // Confronta se minore o uguale al valore di confronto

= A 1.0 // Attiva uscita motore

Di base cosi' funziona, se il valore analogico raggiunge o supera il valore intero con segno 22800, l'uscita si spegnera'.

Considerando che un'ingresso analogico, sul S7-300 , restituisce un valore intero con segno , compreso tra +0 =4mA e +27648=20mA , se ricordo bene... :lol: in condizioni ottimali , senza oscillazioni del segnale.

Ma se il tuo ingresso e' ballerino , devi adottare un'altra strategia, cioe' un valore di tolleranza +/- per la disattivazione dell'uscita , quindi devi creare una banda piu' o meno.

Quindi il valore di confronto deve essere ricalcolato con l'offset delle oscillazioni in negativo positivo che ti si possono presentare, per non avere un comportamento instabile dell'uscita.

Questa banda di tolleranza , puo' essere un valore costante da sommare o sottrarre al valore di confronto o un valore trasmesso da un pannello.

Esiste un modo per estrapolare un valore ad es. 15000 (es.pH 9?), tenerlo in memoria, prenderne un altro dopo x tempo confrontarlo con il primo e se è vero accendere o mantenere accesa la B e se è falsa spengerla e tenere questo stato per x alla n per poi ripetere il ciclo di confronto per vedere cosa si è verificato.

Si, un altro sistema , sarebbe un poco piu' complicato , cioe' creare un FIFO , dove il valore in ingresso analogico , viene shiftato piu' volte attraverso diverse word , in cicli temporali diversi , e poi ottenere un valore medio tra i vari campionamenti , per avere un valore da trattare piu' stabile.

Se ne era gia' palrato in precedenti discussioni ,

Vedi QUI...

E qui.....

E qui... parlando di S7-200...

Ciao

Ivan

Inserita:

Grazie per l'aiuto Ivan,

seguirò ciò che mi hai scritto e poi ti farò sapere come è andata.

p.s. ma perché in FUP no? Siete venuti alle mani? :lol:

Inserita:
ma perché in FUP no? Siete venuti alle mani?

No , non ancora, :lol:

A dire la verita' e' un linguaggio che senza un preciso motivo sin dall'inizio del mio lavoro non ho mai utilizzato quindi mi viene piu' spontaneo ed immediato leggere una lista istruzioni.

Quando mi trovai a modificare un'imipianto con il progetto originale scritto in FUP , anni or sono mi venne il nervoso.

Ciao

Ivan

  • 2 weeks later...
Inserita:

Ciao Ivan...

sono riuscito solo oggi a ritornare sull'impianto ed ho effettuato i dovuti controlli sulla connessione dei terminali ed il positivo faceva contatto con la schermatura.

Riparato il "danno" ho potuto verificare che effettivamente adesso il valore è molto meno oscillante :)

comunque il problema non l'ho del tutto risolto..... ho provato infatti ad adottare l'istruzione FIFO:

per prima cosa ho trasferito AIW0 in VW100

in EN ho messo SM0.4

in TBL ho messo VW100

in DATA ho messo VW200

in ENO ho lasciato >I

poi VW200 l'ho messo a confronto con il valore 10000 (<) per disabilitare q0.1 (la pompa che voglio far fermare

il compilatore di s7-200 mi dice che ho compilato bene ma quando faccio il test, quando si abilita (x 30 sec.) SM0.4 il box invece colorarsi di blu mi si colora di rosso.

PERCHE'?????????????

Scusami per l'ignoranza, ma io non voglio dargliela vinta :angry:

Ciao, aspetto buone nuove

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