Vai al contenuto
PLC Forum


D.d.p. Tra Fase E Conduttore Di Terra


Messaggi consigliati

Inserito:

ciao a tutti,

sto creando una piccola applicazione in c# .net (il nuovo ambiente di programmazione della microsoft) per interfacciarmi con un plc s7-300 tramite l'interfaccia OPC (www.opcfoundation.org); sto usando l'ambiente simatic net che è un add-on per l'ambiente di sviluppo s7.

il manuale (mn_opc_xx.pdf) è fatto discretamente soprattutto per quanto riguarda la parte teorica, ma purtroppo la parte pratica è abbastanza scarna, infatti rimanda innanzitutto ad un altro manuale che è lo standard OPC per l'accesso ai dati (si trova sul sito indicato sopra) per la descrizione dettagliata.

purtroppo la comunicazione usa gli oggetti COM di microsoft, che sono una tecnologia abbastanza complicata e soprattutto antiquata, in cui funziona ancora tutto con i puntatori e con molte altre cose scomode...

inoltre nel manuale della siemens sono riportati alcuni esempi in diversi linguaggi di programmazione, solo che sfortunatamente quello riguardante il framework .NET è in visual basic, e poi ce n'è un altro in C++... quindi io sono a piedi, senza esempi di codice e con una documentazione piuttosto criptica... inoltre non avendo mai programmato in C++ nè in visual basic faccio fatica a capire un po' di concetti di base, ad esempio:

1) qua e la vengono nominati degli oggetti VT_qualche cosa che mi sembra di capire che rappresentino i tipi di dati disponibili (ad esempio VT_BOOL per i booleani, VT_U1 per un formato numerico, ecc), solo che nell'esempio visual basic questi oggetti (che alla fine sono dei nomi simbolici per identificare un codice intero) sono usati direttamente, mentre in C# non riesco a fare una cosa del genere... ho cercato su internet e trovato una tabella di corrispondenze (in particolare mi diceva che VT_BOOL equivale a 11), ma non ho capito se deve essere definita dall'utente o è predefinita... in alternativa non c'è un metodo che permetta di ricavare il codice corrispondente al simbolo?

2) il problema più grosso... tutti i metodi dello standard OPC restituiscono dei valori HRESULT solo che, anche qui si parla di visual basic e C++ dove questi sono usati direttamente, mentre in C# io non posso... mi pare di aver capito che un HRESULT è una specie di codice di errore (e infatti nei prototipi delle funzioni dove c'è HRESULT mi chiede int), solo che non capisco bene come fare ad accedervi... infatti alcuni metodi restituiscono un puntatore all'HRESULT e fin li ci siamo, ma altri non lo fanno.

logicamente, essendo il tipo ritornato da un metodo dovrebbe essere possibile una cosa del tipo:

int a = metodo(parametri) ma se faccio così mi dice che il prototipo del metodo è void.... com'è possibile?

questo mi serve proprio di saperlo perchè senza poter leggere gli HRESULT non posso verificare se il risultato dell'esecuzione dei metodi è giusto o no.

Ringrazio in anticipo,

spero di essere stato chiaro


Inserita: (modificato)

ho iniziato verso gennaio questa strada

S7-300 , Opc Server e Visual C#.net

ci ho messo 2-3 settimane per capire la musica , piu che altro per i tipi di dati che si passano alle funzioni

dei quali molti sono ref e tutti array (System.Array).

ho trovato una dll che va bene per .NET , quindi codice safe

gli hresult sono per codice unsafe nel vecchio c++.

visual basic come al solito sempre paraculato dispone addirittura di un activex come sempre.

io ho gi afatto qualche macchina , addirittura presentate in fiera a bologna ed in spagna e ti posso garantire

che funziona da dio ed e' velocissimo quanto mai .

In questa dll c'e' il namespace che contiene tutte le classi , nonche interfacce ect.

quindi crei i tuoi oggetti opcserver, opcgroup ed opcitem .

l'item devi definirlo con una stringa che indica il protocollo (io uso S7-profibus), l'area di memoria dal quale attingere o scrivere dati , da qualitipo di dati e quanti .

si possono anche gestire gli eventi con metodi in piu svariate forme .

basta solo una licenza di comunciazione , una scheda cp anche in mpi , l'opc server ed il VC#.net.

non posso mandarti ne scriverti il codice , perche non mi sembra giusto , visto che le 2-3 settimane

le ho messe nel mio conto spese .

ho fatto poco fa un corso ad un paio di ingegneri che derivano dal java , fornendo anche il codice completo

compreso di trend storici , gestione allarme e trattamento dei dati tutto su files XML.

hai fatto una scelta piu che azzeccata , io credo che sia la migliore

buona fortuna

walter

ciao

p.s. scordati i dannati hresult , nel namespace ci sono classi dedicate agli errori , anche nei metodi dove leggi e scrivi sincrono o asincrono ci sono dei parametri che si passano per riferimento che titornano pieni di informazioni , come il timestamp , la qualita della comunicazione ect.

possono comunicare diversi pc col plc tramite opcserver , solo che ci vigliono piu licenze, io sto optando per web service dove il pc collegato al plc mi fa da web server per gli altir pc.

per adesso sto provando una classica situazione Client-Server tra 2 pc

...altro che visual basic

:D

Modificato: da walterword
Inserita: (modificato)

più o meno anch'io sto lavorando su questa strada e in effetti devo dire che capirci qualcosa è tutt'altro che facile :blink: la faccenda dei tipi di dati è davvero piuttosto incasinata.

comunque, adesso che sto un po' entrando nell'ottica qualche progresso lo faccio, l'architettura che uso è più o meno quella... per ora ti ringrazio per le dritte, non ti chiedo il codice visto che non sembra giusto neanche a me, spero che magari se avrò qualche problema specifico mi potrai dare una mano ancora, anche e soprattutto perchè con i tempi sono un po' con l'acqua alla gola :(

ti ringrazio ancora, ci sentiamo (ps. magari posto ancora in questa discussione per fare prima...)

ciao

Modificato: da captainfranz
  • 3 years later...
Inserita:

Salve a tutti :)

Ho messo in opera il picchetto dispersore per l'impianto di terra della mia abitazione. Il tutto a regola d'arte. Impianto elettrico realizzato a regola d'arte 1 mese fa. Ho effettuato le seguenti misure con un multimetro:

tensione fase-neutro 232 Volt (rete enel)

tensione neutro-terra 0 Volt

tensione fase-terra 232 Volt

Mi dicono che tra fase-terra la d.d.p. deve essere di 0 Volt, altrimenti c'è qualcosa che non quadra. Possibile? Ma se la differenza di potenziale è per appunto la differenza di potenziale ( in questo caso) tra un punto a 232 Volt (quindi la fase) e un punto a 0 Volt (per l'appunto della messa a terra) hanno sparato balle, o è giusto il mio ragionamento ? :huh::huh:

Inserita:

nei sistemi di distribuzione TT il neutro (centrostella )del trasformatore ENEL è messo a terra

per cui il punto "0" è la terra.

se avendo misurato la tensione Neutro-Terra ilvalore è 0 o Li vicino, vuol dire che

il tuo impianto di terra funziona egregiamente ed è tramite la resistenza di terra quasi come collegato al centrostella di Enel.

può succedere che si ha un valore di Neutro-Terra più elevato,

in questo caso può voler dire che la cabina in BT enel è abbastanza lontana dall'utenza.

in questo caso di solito Enel, speciamente quando la tratta di cavo Neutro è lunga, metta a terra il suo Neutro, vicino all'utenza.

Inserita:
Mi dicono che tra fase-terra la d.d.p. deve essere di 0 Volt

Mi sa che i tuoi dubbi nascono da qui, cioè sulla differenza di potenziale. <_<

Dire che la ddp tra 2 punti di un' impianto elettrico è 0 significa affermare che hanno la stessa tensione, ma non significa assolutamente che non vi sia del potenziale elettrico.

Faccio un esempio:

Potenziale della fase 232V - Potenziale di terra 0V = differenza di potenziale 232V (tutto regolare come nel tuo caso)

Potenziale della fase 232V - Potenziale di terra 232V = differenza di potenziale 0V (ALLARME ROSSO)

Potenziale della fase 232V - Potenziale di terra 10V = differenza di potenziale 222V (ALLARME GIALLO)

Probabilmente qualcuno voleva dire che il potenziale (e non la ddp) della terra deve essere 0 :rolleyes:

Saluti

Inserita: (modificato)

Perfetto, era il ragionamento che cercavo di fare a chi asseriva il contrario.

Lui afferma che tra fase e neutro la d.d.p deve essere 0. Trattandosi di una differenza di potenziale significa che la terra sta allo stesso potenziale della fase, quindi nel mio caso 232V.

Per cui ---> 232-232 = 0

:o:o

comunque cercherò di spiegarglielo in modo + tecnico del xchè e come dovrebbe essere.

Del resto sono contento di avere realizzato (fortuna....) un potenziale di terra uguale allo 0.

Grazie comunque delle delucidazioni... mi erano crollati addosso anni di studio in ingegneria elettronica. :lol:

Modificato: da gostino
Inserita:
Lui afferma che tra fase e neutro la d.d.p deve essere 0

Si................ a interruttore aperto :lol:

Trattandosi di una differenza di potenziale significa che la terra sta allo stesso potenziale della fase, quindi nel mio caso 232V.

No! Assolutamente No! Errorissimo!

Casomai la terra sta allo stesso potenziale del neutro.

La terra ha potenziale 0, infatti quando misuri neutro-terra ottieni 0V (neutro 0 - terra 0 = ddp 0)

Se hai 0V di ddp tra fase e terra significa che hai un guasto franco verso massa.

Inserita:

CITAZIONE

Trattandosi di una differenza di potenziale significa che la terra sta allo stesso potenziale della fase, quindi nel mio caso 232V.

Riportavo lo scenario che si verificava in base a quanto di sbagliato asseriva il mio amico...

comunque ho inteso perfettamente. Grazie :lol:

Inserita:
se avendo misurato la tensione Neutro-Terra ilvalore è 0 o Li vicino, vuol dire che

il tuo impianto di terra funziona egregiamente ed è tramite la resistenza di terra quasi come collegato al centrostella di Enel.

Scusate l'intromissione, :lol: ma mi sembra che i criteri per il calcolo della resistenza di terra siano ben altri, non la semplice misurazione con un multimetro.

Il fatto che misura zero volt tra neutro e terra , con la corrente che eroga un multimetro di pochi milliampere , non ha nessun fondamento in termini di sicurezza ed impianti di messa a terra.

Fosse solo a puro scopo didattico?

Quando verso terra hai la corrente teorica di guasto? A quel punto quanto sarà la tensione?

Ciao

Ivan

Inserita:

io mi metto quatto quatto a leggere gli sviluppi della discussione!!!! ;)

Inserita:
con la corrente che eroga un multimetro di pochi milliampere

Scusate, volevo dire, con la corrente che "transita" in un multimetro di pochi mA.

La formula per determinare la resistenza che deve avere il circuito di terra , in funzione della corrente differenziale che si intende monitorare è: Idn x Re <= 50V.

Questo vale per ambienti ordinari.

Ciao

Ivan

Inserita:

Buongiorno,

la misura della resistenza di terra con un multimetro dovrebbe essere eseguita così:

salvo errori ed omissioni.....

rebt2.png

rebt2.13c357107a.jpg

Spero si veda.

ciao a tutti

Inserita:

Mi sembra che la discussione stia andando OT.

La discussione non si incentra su come e quale sia il metodo corretto per misurare la resistenza di terra, ma semplicemente sulle informazioni che qualcuno ha dato a gostino:

Mi dicono che tra fase-terra la d.d.p. deve essere di 0 Volt

Rilevare una tensione di 0V, misurata con un qualsiasi tester, tra fase e terra (oppure vedere il cercafase che si illumina se piantato sulla palina di terra(ok questa è grossa :lol: )) è sinonimo di problemi.

L' esatto contrario di quanto è stato detto a gostino.

Saluti

Del_user_23717
Inserita:
tensione neutro-terra 0 Volt

tensione fase-terra 232 Volt

Al di la delle giuste precisazioni di Ivan, questi valori rilevati ti dicono semplicemente che la terra è connessa ad un dispersore che sta facendo il suo lavoro, ma non sappiamo se la tua res. di terra sia sufficente, discreta o ottima.

Comunque sia chi ti ha detto che il potenziale tra fase e terra deve essere 0 Volt, probabilmente ha avuto un lapsus, in caso contrario, spero che non sia lo stesso tizio che ha fatto l'impianto elettrico e l'impianto di terra... a regola d'arte :rolleyes:

Ciao

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