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




Lettura Memoria S7-300 - Tecniche di programmazione per lettura m


Messaggi consigliati

Inserito:

Salve a tutti,

innanzitutto complimenti per il forum.

Vorrei avere un parere riguardo il collegamento tra il mio pc e un plc siemens s7-300.

Premetto che il collegamento vero e proprio tra il mio pc e il plc non l'ho fatto io,anche perchè sono piùttosto ignorante in materia;sul mio pc è stata installata una scheda pci cp 5611 e comunica con il plc via mpi.

Siccome mi è stato affidato il lavoro di leggere dalla memoria del plc i vari dati e di stamparli a video appena essi cambiano,volevo sapere dove posso trovare maggiori informazioni sul tipo di programmazione che dovrò effettuare,quale\i linguaggi usare (anche se io preferisco java o c) e magari avere qualche breve esempio(anche con poche linee di codice). :D

Spero di essere stato sufficientemente chiaro,in caso contrario non esistate a farmi domande anche se non sono un esperto in materia.

Grazie in aticipo.

Filippo


Inserita:

Usa Libnodave

Sono librerie open source per collegamento ai PLC SIEMENS , la licenza è GPL!

Ciao

Inserita:

Ok,grazie adesso lo cerco...ma a me non serve un'interfaccia,in quanto poi devo aggiungere il programma per la gestione dei dati raccolti.

comunque guardo il programma che mi hai consigliato e in caso mi sorgono nuovi dubbi li posto..

Intanto grazie per l'aiuto. :)

Inserita:

Ciao a tutti,

ho scaricato il prgramma che mi avete consigliato (libdonave)...a rigurado volevo chiedervi se c'è bisogno di modificare qualcosa oppure se posso farlo girare inizialmente senza fare niente... :o

Inserita:
c'è bisogno di modificare qualcosa oppure se posso farlo girare inizialmente senza fare niente...

Non penso propio, sarebbe come dire che vai in giro in macchina a caso, senza sapere dove vuoi andare.

Dovrai implementare la libreria nel tuo codice, sia esso VBA o C++ ecc. ecc., per poi indicargli le aree di memoria che vuoi leggere dal PLC. Secondo me se non conosci bene il tuo PLC è meglio che chiedi a chi l'ha fatto come fare e sopratutto dove sono i dati, altrimenti rischi di fare danni!

Ciao

Inserita:

Grazie per il consiglio,ma a dir la verità il ragazzo che ha installato il plc e collegato al pc mi ha scritto il nome delle variabili e il loro tipo...io devo solo leggerle e memorizzare i dati. :D

Quindi voi dite di cercare di capire il più possibile dal codice del programma labdonave e poi sviluppare le parti che mi interessano oppure ho capito male?

Inserita:

potresti installare il programma SIMATIC S7, dalla tabella delle variabili andare a leggere tutte le variabili del programma.

Inserita:

ciao,

ho già fatto un programma che fa così...diciamo che regolo da programma lo spsotamento di mouse e tastiera così mi copio i dati...però vorrei qualcosa di un pò più professionale...anche perchè così il pc non doveva mai essere toccato neanche x errore altrimenti il programma andava in errore.

Piuttosto volevo sapere se c'è qualche guida del programmma che mi avete consigliato Libnodave.

Filippo

Inserita:

Ciao,

su libnodave trovi tutte le spiegazioni all'interno delle cartelle archiviate, c'è una cartella DOC che contiene documenti html con le indicazioni del codice sorgente. L'unico dubbio che ho è il tuo CP5611 che non so se è compatibile con libnodave. In ogni caso esistono altre soluzioni, come prodave, OPC. Meglio se contatti la SIEMENS e chiedi un offerta!

Ciao

Sergio

Inserita:

Se vuoi un consiglio spassionato dato le che non sei molto preparato in materia è utilizzare uno scada, potrebbe bastarti anche protool/pro di Siemens o altri scada, hanno già il driver integrato e non rischi di fare danni!

Inserita:

Il problema di software tipo protool è che non sono open source...io pensavo di allacciarmi al codice del programma libnodave e da li crearmi il mio programma di archiviazione dati...mi sembra un'idea irrealizzabile? :huh:

Inserita:

no,non è irraggiungibile ma devi avere un minimo di conoscenza dell'oggetto con cui comunichi, se non hai questa conoscenza devi utilizzare qualcosa di già fatto

Inserita:

cioè?quali sono le cose fondamentali che dovrei sapere?così magari posso cominciare a guardarle...

Inserita:

Ciao,

nella cartella di libnodave c'è una sottocartella che si chiama "DOC".

Allinterno di questa vi sono dei file html con la documentazione relativa a libnodave.

Devi leggere questa (in inglese), per capire come testare la comunicazione, esistono fra l'altro dei progetti test. Come ti ho già detto non credo che libnodave funziona con il tuo CP 5611, pertanto se vuoi usare libnodave devi cambiare interfaccia ed aqcuistare un MPI adapter seriale oppure un NethLink TCP/IP-MPI.

Viceversa, nel caso in cui vuoi mantenere il CP5611, devi usare un altro drive come p.e. prodave, il quale penso sicuramente ti consente di sfruttare il CP5611, ma però questo ha un costo e di sicuro superiore ad una eventuale interfaccia seriale MPI.

Per accedere alle aree di memoria devi conoscerne l'ubicazione. I blocchi dati (DB) normalmente contengono i dati, i quali a cura del programmatore ti dovrebbero essere stati preparati. Per esempio DB10.DBX0.0 ti indica il primo bit del byte 0 del blocco dati DB10, dovendo leggere 100 byte del DB10 partendo dal byte 0, devi indicare al driver DB10.DBX0.0 BYTE 100. Come detto da MarcoEli sarebbe meglio che tu ti fai prima una cultura del PLC S7-300, sul sito support SIEMENS trovi tutta la documentazione.

Pertanto:

1) come prima cosa devi sapere dove sono i dati e come sono organizzati e in che formato (lo devi chiedere al programmatore che ha fatto il progetto).

2) Secondo devi essere in possesso del manuale del PLC S7-300 e della relativa documentazione

3) Devi stabilire quale interfaccia utilizzare (CP5611 o AdapterMPI)

4) In base alla scelta fatta al punto precedente decidi quale driver usare: libnodave o prodave.

Ciao

Sergio

PS. Forse uno scada ti facilita le cose!

Inserita:

Perfetto,sei stato molto chiaro...seguirò alla lettera i tuoi cosigli anche se ci vorra del tempo...e buona volontà!!!!

Se riscontrerò dei nuovi problemi continuerò a comunicarli in questo post.

Grazie :D

  • 2 years later...
Inserita:

Salve a tutti,

ho un paio di dubbi che mi assillano... nell'appartamento che ho appena acquistato sono montate prese da 10A (quelle con passo corto per intenderci) tutte collegate ad una linea Prese/Luce da 1,5 mm collegata ad un magnetotermico da 10A.

E' possibile sostituirne alcune per comodità con prese bipasso 10/16A mantenendo la sezione del cavo e il magnetotermico, cercando ovviamente di evitare di sovraccaricarle con apparecchi che richiedono un assorbimento superiore ai 10A ?

Secondo quesito la linea di potenza è invece cablata con sezione 2,5mm e controllata con magnetotermico da 20A, non è un pò troppo ? è corretto sostituirlo con un MT da 16A considerando un utilizzo normale: frigorifero, forno, lavatrice (la linea di potenza è praticamente relegata alle prese della cucina + una in bagno). Ed in questo caso invece è sensato sostituire eventuali prese da 10A con prese da 16A ?

Ringrazio con anticipo tutto il forum, Saluti

Simone

Pierluigi Borga
Inserita:

Benvenuto...

In risposta al primo quesito: è tecnicamente scorretto, certo se colleghi carichi che superano i 10A interverrà il MT da 10 A curva C, a protezione della linea e delle prese....quindi puoi sostituire le prese da 10 A con quelle da 16 A che risulteranno maggiormente protette.

Per il secondo : La linea prese è da 2,5 mmq e le prese stesse sono da 16 A quindi è meglio mettere un MT da 16 A curva C, penso che il contratto con l'Enel sia di 3,3 Kw disponibili...se è così vai tranquillo, anche perchè credo il fattore di contemporaneità sia basso....

Inserita:
In risposta al primo quesito: è tecnicamente scorretto

???

quindi puoi sostituire le prese da 10 A con quelle da 16 A che risulteranno maggiormente protette.

;)

ricordiamoci che il magnetotermico protegge IN PRIMIS le cordine di rame che in questo caso, da 1,5 mmq erano e da 1,5 mmq rimangono

per la seconda domanda, si, sarebbe più corretto un mt di taglia inferiore a 20A, però faccio una considerazione banale:

io ho un contratto enel da 3 kW, non mi è mai capitato che sganciasse il mio mt per sovraccarico prima che intervenisse il limitatore del contatore, ovvio che è solo la mia esperienza e quella di qualche altro milione di italiani (alcuni scrivono quì sul forum per cercare questo tipo di selettività ed evitarsi tre piani di scale a piedi e una corsa in giardino sotto la pioggia per riagganciare il contatore)

In definitiva, il mt andrebbe da 16A, ma se vuoi lasciarlo da 20A non è la fine del mondo, bisognerebbe anche considerare l'effettiva corrente di sgancio termico entro un tempo x a un determinato valore di sovraccarico... (te lo dico a bassa voce perchè qualcuno avrà certamente da ridire)

Inserita:
io ho un contratto enel da 3 kW, non mi è mai capitato che sganciasse il mio mt per sovraccarico prima

Sì, però il limitatore del Distributore non è presente ai fini di protezione da sovraccarico.

In definitiva, il mt andrebbe da 16A, ma se vuoi lasciarlo da 20A non è la fine del mondo

Sono d'accordo. Soprattutto se l'utente avesse l'avvertenza di rispettare le instruzioni delle varie ciabatte e multiprese che prevodono di non caricare oltre 1500 W ognuna di esse..

Del resto, ormai, in alcune norme estere (che avrebbero valore anche in Italia!) si scrive esplicitamente che le prese sino a 16 A possono essere protette con interruttore da 20 A.

Inserita:
Del resto, ormai, in alcune norme estere (che avrebbero valore anche in Italia!) si scrive esplicitamente che le prese sino a 16 A possono essere protette con interruttore da 20 A.

Il requisito fondamentale è che linea sia protetta con un MT da 20A. Se ad esempio la linea ha una sezione di 2,5mmq, in qualche tratto 1,5mmq e magari è estesa temo che un MT da 20A non sia indicato o sicuro.

Il modo migliore, come dico sempre, è utilizzare più linee (quindi + zone o tipi di utenze): in questo modo non si rischiano sovracarichi, si ha maggiore continutà di servizio e non si rischia nulla, naturalmente se si sono rispettate le norme e la regola d'arte.

Inserita:
Se ad esempio la linea ha una sezione di 2,5mmq, in qualche tratto 1,5mmq e magari è estesa temo che un MT da 20A non sia indicato o sicuro.

Le norme francesi per uso domestico prescrivono per la protezione delle prese da 16A:

- MT 16 A se alimentate con cavo da 1,5 mm²

- MT 20 A se alimentate con cavo da 2,5 mm²

Inserita:
Sì, però il limitatore del Distributore non è presente ai fini di protezione da sovraccarico.

Questo l'abbiamo scritto mille volte...

volevo solo dare dei dati statistici... (personali)

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