Vai al contenuto
PLC Forum


Scheda Analogica S7200 - Problema di disturbi


MrC

Messaggi consigliati

Sto leggendo un 4-20mA in un ambiente parecchio disturbato :

Il segnale è molto ondulante, e soprattutto ogni tanto arrivano dei picchi !!!

Secondo me manca qualcosa ai collegamenti, e di preciso vorrei sapere se il negativo dei segnali debba essere collegato al negativo dell'alimentatore 24V , e di conseguenza alla messa a terra dell'impianto .

Eventualmente cio non fosse sufficente, dovrei forse fare un filtro software per eliminare il picco ?

(Non mi va di "spalmarlo" nella media del segnale !!!)

Grazie

Link al commento
Condividi su altri siti


Di solito inoltre la massa dell'alimentatore va messa a terra e inoltre verifica la bontà dell'alimentatore.

Se non bastasse il software ti da la possibilità di filtrare questo segnale.

Vai in blocco di sistema - Filtri ingressi analogici- e metti il numero delle campionature che vuoi per la media, parti prima con valori bassi e mammano alzati.

Facci sapere

Buon lavoro da Cigognani

Link al commento
Condividi su altri siti

Ciao MrC. Ottima cosa i filtri digitali ma penso che dovresti cominciare a ripulire il collegamento hardware prima di tentare la strada del filtro software. Per esempio: usare un buon cavo schermato con la connessione dello schermo messa a terra da un solo lato, meglio al ricevitore, giá che il sorgente non mi pare troppo buono, visto il commento sulle ondulazioni e i picchi. Se la frequenza di campionamento non è troppo elevata, potresti aggiungere in parallelo ai morsetti del ricevitore un condensatore di capacitá adeguata (100/220 nF per intenderci, o anche superiore).

Se proprio non si puó ripulire il segnale, puoi sempre remotare la scheda di acquisizione, ma il costo puó essere piú elevato del beneficio .....

Saluti da ppm

Link al commento
Condividi su altri siti

Mi interessava saper se il segnale è ondulante perchè la grandezza

che misuri hanno delle componenti ondulantorie o è causato dl disturbo!

Per quanto riguarda il condensatore o il filtro software è circa la stessa cosa (il condensatore ha

l'effeto di un filtro passa basso -> media) ma prima di effettuare ciò io controllerei prima i collegamenti del sensore alla scheda e le sue specifiche (impedenza di ingresso/condizionamento).

Altra cosa importante è cercare anche di capire quele è la causa dei picchi... infati se ad esempio

controlli dei relè o qualce altro dispositivo che tipicamente introduce picchi di corrente, e il tuo sensore è attivo

ti consiglio di inpiegare due differenti alimentatori, uno per i sensori e schede e laltro per l'alimentzione degli "elementi di disturbo".

Ciao

Link al commento
Condividi su altri siti

In allegato l'immagine del campionamento dell'ingresso analogico :

Vorrei eliminare i picchi, sto valutando se mettere 2 alimentatori, avete qualche idea di come imbastire il filtro software ?

Grazie

Link al commento
Condividi su altri siti

Il filtro software diminuisce la frequenza con cui acquisisci il segnale, quindi se il segnale varia te ne accorgi dopo un pò di tempo.

Se vuoi puoi provare il filtro che ti allego effettua un componamento nel tempo e se il valore cambia oltre un certo livello cambia l'output, altrimenti l'output rimane invariato.

E' molto adatto per i potenziometri di impostazione. Se devi fare una regolazione ovviamente non funziona.

Fammi sapere se và bene

Link al commento
Condividi su altri siti

Grazie Gigi , domani proverò senz'altro il filtro !!!

Il segnale mi arriva da un pressostato : devo mantenere costante la pressione in un collettore , modulando una pompa con un inverter .

Probabilmente mi servirebbe un software che mi andasse a eliminare i dati che sono chiaramente disturbati :

Ad esempio : se leggo 30 , 31 , 35 , 35 , 155 , 29 , 33 , 37 eccc ...

chiaramente devo eliminare il 155 .

Mi ricordo che a scuola c'erano delle funzioni che filtravano i segnali , in modo da avere un andamento a campana ...

Avrei bisogno di un filtro di quel tipo , ma sopratutto vorrei capire il perchè di quei picchi :

Che sia l'inverter ? i relè .... bohhh

Pensavo di provare a mettere 2 alimentatori : 1 x il PLC e sensori , e 1 per i relè

E' un metodo diffuso ?

Grazie

Link al commento
Condividi su altri siti

Se i relè vengono azionati di continuo (accendi/spegni) il secondo alimentatore porebbe dare qualche piccolo vantaggio, ma non credo che il tuo problema derivi da quello.

Verifica bene il collegamento di terra del modulo analogico del plc ed eventualmente prova a collegare lo 0V del plc al posto della terra. A volte riduce i disturbi in modo notevole.

Link al commento
Condividi su altri siti

Confermo quando detto da Gigi70, per mia esperienza in casi come questo è quasi sempre "colpa" di un cattivo collegamento delle masse. Controlla prima il circuito relativo alla alimentazione, successivamente concentrati sulla analogica. Un appunto l'alimentatore è uno switching o è lineare? A volte alcuni switching "rompono le balle" generando disturbi a tutto spiano.

Saluti

Link al commento
Condividi su altri siti

L'alimentatore è un SICOMP Siemens , non so se sia swicthing ...

Per quanto riguarda le masse, lo 0V dell'alimentatore, è stato collegato alla terra del quadro , quindi penso sia lo stesso collegarlo a 0V o a terra ...

Che ne dite ?

Link al commento
Condividi su altri siti

I cavi, anche quelli di terra anno una certa impedenza, quindi più è lingo il cavo e più l'imedenza aumenta.

Anche se l'impedenza e molto bassa (vicina a 0ohm).

I disturbi ad alta frequenza non "passano" nel cavo di terra, ma prefersiscono strade più brevi.

Quindi uno 0V può essere diverso dalla terra anche se è collegato a terra.

Ci sono molti libri e teorie, a volte discordanti sull'argomento, la cosa migliore per eliminare un disturbo è sperimentare e usare dei collegfamenti corti.

Link al commento
Condividi su altri siti

Domani mattina (giovedì) farò questa prova :

prendo il mio segnale 4-20mA , e interrompo il cavo con un isolatore galvanico :

4-20mA ] ISOLATORE [ 4-20mA

Vi faccio sapere se è servito a qualcosa !!!

Link al commento
Condividi su altri siti

Ho messo l'isolatore, i picchi sono meno frequenti, ma comunque sono ancora presenti ...

Pensavo di mettere un condensatore in ingresso al PLC , ma vorrei andare a fondo del problema !!!

Di che dimensione lo metto il condensatore ?

Grazie

Link al commento
Condividi su altri siti

  • 4 years later...

Salve a tutti,

vorrei implementare la diagnostica dei moduli I/O tramite software, ovvero utilizzare una qualche funzione che mi sappia dire "il modulo tot è in fault/spento/programmato male". Mamma siemens ha già preparato qualcosa di simile?

Grazie

SA

Link al commento
Condividi su altri siti

Certo che sì, leggi la guida di Step 7 sezione "guida ai blocchi organizzativi" troverai fra i tanti ob anche i seguenti, utilizzabili in base al tipo di cpu impiegata.

OB 80 Errore temporale

OB 81 Errore di alimentazione

OB 82 Allarme di diagnostica

OB 83 Allarme di estrazione/inserimento

OB 84 Errore hardware CPU

OB 85 Errore di esecuzione programma

OB 86 Avaria di un'apparecchiatura di ampliamento, di un sistema master DP o di una stazione con periferia decentrata

OB 87 Errore di comunicazione

OB 121 Errore di programmazione

OB 122 Errore di accesso alla periferia

Basta lavorare sulle variabili locali magari trasferendole da qualche parte ad esempio

CALL "BLKMOV"

SRCBLK :=P#L 0.0 BYTE 20

RET_VAL:=#RTV

DSTBLK :="Fault OB82".FAULTS

Ciao

Link al commento
Condividi su altri siti

Grazie per la risposta!

Quindi se ho ben capito (questo è il primo programma step7 che scrivo completamente, da zero), appena la CPU rileva un fault hardware, richiama l'esecuzione dell'ob specifico per quel fault (nel nostro caso dovrebbe essere l'82), e nelle variabili locali di quell'OB è contenuta l'informazione sul'errore, che io poi posso trasferire sulla zona allarmi che ho progettato.

Ma l'esecuzione dell'ob 82 è one shot o continua finchè c'è il fault?

Link al commento
Condividi su altri siti

L' Ob viene richiamato finchè persiste la causa dell'errore.

Se ad esempio hai un errore di accesso alla periferia, la cpu tenta di richiamare l' OB122, nel caso questo non sia stato caricato, la cpu passa in stop.

Questo vuol dire che bisogna stare molto attenti perchè in caso di errore con ob122 caricato, stando all'esempio che ti ho fatto, se non si gestisce bene il sistema, la cpu non va in stop e ciò potrabbe costituire una condizione di pericolo.

Leggiti bene gli . e se hai la cpu sotto mano fai qualche prova....nessuna spiegazione è meglio di una verifica sul campo....ciao

Link al commento
Condividi su altri siti

L' Ob viene richiamato finchè persiste la causa dell'errore.

Gli OB vengono richiamati su evento. In particolare, per usare la terminologia Siemens, vengono richiamati su evento "entrante" e su evento "uscente". In parole più comprensibili, l'OB viene richiamato una volta quando viene rilevato un tipo di anomalia, ed una volta quando viene rilevato il ritorno alla normalità.

Nel caso di errori di accesso alla periferia l'OB relativo viene richiamato continuamente perché continuamente da programma si cerca di accedere alla periferia.

Link al commento
Condividi su altri siti

Ho provato a scrivere una bozza di OB 82 per rilevare errori generici sui moduli:

ORGANIZATION_BLOCK "I/O_FLT1"

TITLE = "I/O Point Fault"

VERSION : 0.1

VAR_TEMP

OB82_EV_CLASS : BYTE ; //16#39, Event class 3, Entering event state, Internal fault event

OB82_FLT_ID : BYTE ; //16#XX, Fault identifcation code

OB82_PRIORITY : BYTE ; //Priority of OB Execution

OB82_OB_NUMBR : BYTE ; //82 (Organization block 82, OB82)

OB82_RESERVED_1 : BYTE ; //Reserved for system

OB82_IO_FLAG : BYTE ; //Input (01010100), Output (01010101)

OB82_MDL_ADDR : WORD ; //Base address of module with fault

OB82_MDL_DEFECT : BOOL ; //Module defective

OB82_INT_FAULT : BOOL ; //Internal fault

OB82_EXT_FAULT : BOOL ; //External fault

OB82_PNT_INFO : BOOL ; //Point information

OB82_EXT_VOLTAGE : BOOL ; //External voltage low

OB82_FLD_CONNCTR : BOOL ; //Field wiring connector missing

OB82_NO_CONFIG : BOOL ; //Module has no configuration data

OB82_CONFIG_ERR : BOOL ; //Module has configuration error

OB82_MDL_TYPE : BYTE ; //Type of module

OB82_SUB_MDL_ERR : BOOL ; //Sub-Module is missing or has error

OB82_COMM_FAULT : BOOL ; //Communication fault

OB82_MDL_STOP : BOOL ; //Module is stopped

OB82_WTCH_DOG_FLT : BOOL ; //Watch dog timer stopped module

OB82_INT_PS_FLT : BOOL ; //Internal power supply fault

OB82_PRIM_BATT_FLT : BOOL ; //Primary battery is in fault

OB82_BCKUP_BATT_FLT : BOOL ; //Backup battery is in fault

OB82_RESERVED_2 : BOOL ; //Reserved for system

OB82_RACK_FLT : BOOL ; //Rack fault, only for bus interface module

OB82_PROC_FLT : BOOL ; //Processor fault

OB82_EPROM_FLT : BOOL ; //EPROM fault

OB82_RAM_FLT : BOOL ; //RAM fault

OB82_ADU_FLT : BOOL ; //ADU fault

OB82_FUSE_FLT : BOOL ; //Fuse fault

OB82_HW_INTR_FLT : BOOL ; //Hardware interupt input in fault

OB82_RESERVED_3 : BOOL ; //Reserved for system

OB82_DATE_TIME : DATE_AND_TIME ; //Date and time OB82 started

END_VAR

BEGIN

NETWORK

TITLE =I/O MODULES FAULT - INCOMING EVENT

//Questa parte di OB82 viene eseguita in caso di evento "entrante" ovvero al

//verificarsi del fault

SET ;

U( ;

L #OB82_EV_CLASS;

L B#16#39; /// INCOMING EVENT CODE

==I ;

) ;

SPBN OUT;

///

/// DIGITAL INPUT MODULE FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 0; /// MODULE BASE ADDRESS

==I ;

) ;

U( ;

L #OB82_IO_FLAG;

L B#16#54; /// INPUT MODULE CODE

==I ;

) ;

S "Electronic Diag DB".DI_Module_1_Fault;

///

/// DIGITAL OUTPUT MODULE FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 0; /// MODULE BASE ADDRESS

==I ;

) ;

U( ;

L #OB82_IO_FLAG;

L B#16#55; /// INPUT MODULE CODE

==I ;

) ;

S "Electronic Diag DB".DO_Module_1_Fault;

///

/// ANALOG INPUT MODULE 1 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 304; /// MODULE BASE ADDRESS

==I ;

) ;

S "Electronic Diag DB".AI_Module_1_Fault;

///

/// ANALOG INPUT MODULE 2 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 320; /// MODULE BASE ADDRESS

==I ;

) ;

S "Electronic Diag DB".AI_Module_2_Fault;

///

/// ANALOG OUTPUT MODULE 1 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 336; /// MODULE BASE ADDRESS

==I ;

) ;

S "Electronic Diag DB".AO_Module_1_Fault;

NETWORK

TITLE =I/O MODULES FAULT - OUTCOMING EVENT

//Questa parte di OB82 viene eseguita in caso di evento "uscente" ovvero alla

//cessazione del fault

OUT: SET ;

///

/// DIGITAL INPUT MODULE FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 0; /// MODULE BASE ADDRESS

==I ;

) ;

U( ;

L #OB82_IO_FLAG;

L B#16#54; /// INPUT MODULE CODE

==I ;

) ;

R "Electronic Diag DB".DI_Module_1_Fault;

///

/// DIGITAL OUTPUT MODULE FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 0; /// MODULE BASE ADDRESS

==I ;

) ;

U( ;

L #OB82_IO_FLAG;

L B#16#55; /// INPUT MODULE CODE

==I ;

) ;

R "Electronic Diag DB".DO_Module_1_Fault;

///

/// ANALOG INPUT MODULE 1 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 304; /// MODULE BASE ADDRESS

==I ;

) ;

R "Electronic Diag DB".AI_Module_1_Fault;

///

/// ANALOG INPUT MODULE 2 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 320; /// MODULE BASE ADDRESS

==I ;

) ;

R "Electronic Diag DB".AI_Module_2_Fault;

///

/// ANALOG OUTPUT MODULE 1 FAULT

///

SET ;

U( ;

L #OB82_MDL_ADDR;

L 336; /// MODULE BASE ADDRESS

==I ;

) ;

R "Electronic Diag DB".AO_Module_1_Fault;

END_ORGANIZATION_BLOCK

Al di là degli indirizzi dei moduli che dipendono dalla mia configurazione hardware, può funzionare? Inparticolare, è corretto il modo di distinguere il modulo DI da quello DO, che hanno lo stesso base address? Non ho a disposizione la CPU per provare, mi sapreste dire se almeno in linea di principio sto lavorando correttamente?

Se inoltre volessi disabilitare l'errore di broken wire sui moduli AI, al di là di disabilitarlo in questa routine utilizzando le variabili riservate dell'ob82, posso agire sulla configurazione hardware disabilitando la diagnostica del singolo canale? Normalmente faccio i test di conduttore rotto via software in modo da poterli parametrizzare come preferisco.

Grazie a tutti

Modificato: da S.angioni
Link al commento
Condividi su altri siti

  • 1 year later...

Ciao a tutti, ho appena scoperto questo forum, e spero che qualcuno mi possa aiutare!

Nell'ambito di un piccolo restyling che sto per operare alla mia camera da letto, vorrei realizzare una piccola modifica all'impianto elettrico:

in pratica, al posto del tradizionale lampadario, vorrei installare una serie di quattro faretti nella zona armadio, controllati da un interruttore (vorrei utilizzare un variatore soft touch) ed in aggiunta vorrei mettere un deviatore (sempre con variatore softtouch) che comandi due prese ai lati del letto alla quale collegare le lampade sul comodino. Sempre per controllare queste ultime vorrei mettere altri due deviatori ai lati del letto.

In aggiunta poi mi servono due normali bprese in zona comodini (nelle stesse scatole a 3 posti utilizzate per le prese comandate).

Vorrei il vostro aiuto per trovare il modo di ridurre al minimo il numero di cavi perchè purtroppo alla scatola di derivazione su quella parete mi arriva un unico tubo corrugato e neanche tanto grosso...

Una cosa ulteriore ma credo francamente impossibile vista la situazione sarebbe collegare anche altri due deviatori per controllare anche i faretti della zona armadio dal letto.

Vi posto un piccolo schema della situazione per chiarirvi meglio la situazione.

schemacamera.th.jpg

Link al commento
Condividi su altri siti

con quello schema mi hai rincoglionito ancora di9 più....... :lol::lol:

scherzo ovviamente.... sarebbe meglio però postare una piantina della stanza per valutare meglio il da farsi.... quell'unico tubo da quanto è? parte dalla derivazione? Immagino avrai già un interruttore di fianco alla porta per accendere la luce... giusto?

Una soluzione potrebbe essere sfruttare quell'unico tubo per portare su quella parete la linea prese, la linea luce, e il ritorno dell'interruttore che è già di fianco alla porta. metti una cassettina di derivazione e poi dirami le modifiche. Al posto del deviatore io userei dei pulsanti con relè in modo da diminuire il numero dei fili che passerai. Inoltre, visto che le prese ti servono per alimentare solo le luci dei comodini la linea prese la passerei da 2,5mm in modo da non "sovraffollare" il tubo.... con la piantina verrebbe tutto più semplice...

Link al commento
Condividi su altri siti

Lo schema che ho postato rappresenta già più o meno la piantina della stanza... infatti su un unica parete (quella sulla quale si appoggia la testiera del letto) sono presenti una scatola di derivazione alla quale arriva i fatidico unico tubo proprio dall'interruttore presente vicino alla porta d'ingresso. Da quella derivazione partono poi i tubi per le scatolette di prese e interruttori ai lati del letto.

Sempre dall'interruttore vicino alla porta parte un seconso tubo che va ai faretti sopra l'armadio.

Quello che a me interessa è sapere cosa passare in quell'unico tubo per far funzionare tutto...

Sicuramente ci saranno 3 fili per le prese immagino, e poi? bastano altri due per il controllo dei varioluce?

Per quanto riguarda il relè, avevo optato per i varioloce con funzione di deviatore, perchè a quanto ne so richiedono sempre solo due fili come i pulsanti con relè... se mi sbaglio correggetemi vi prego.

Ciao!

Link al commento
Condividi su altri siti

in casa hai presente linea prese e linea luce? oppure hai un unica linea? Io ti consiglio i pulsanti dimmerabili (con relè apposito) non ricordo se ho montato quelli della perry o della finder..... comunque sia sono più pratici da installare...

p.s.: senza vedere non posso dire di più, ma secondo me con la tubazione che hai tante cose levatele dalla mente, a meno che non cominci a fare qualche traccia.... le linee per alimentare la stanza vanno direttamente nella derivazione oppure passano dall'interruttorre (come mi è capitato di vedere in alcune vecchie abitazioni)?

Modificato: da acnide
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...