Vai al contenuto
PLC Forum


SCAMBIO DATI TRA S7-300 E S7-1500


gianrpx

Messaggi consigliati

Buongiorno a tutti,
presso un nostro cliente, da ormai molti anni abbiamo sviluppato un’infrastruttura tra le varie macchine esistenti dove attraverso le funzionalità di scambio dati di Siemens, offerte al tempo dal Siemens Step 7, andiamo a trasmettere info da una macchina ad un'altra e viceversa, sfruttando la rete ethernet.


Al momento abbiamo 8 PLC del tipo S7-314C-2 PN/DP e un PLC del tipo S7-315-2 PN/DP. 
Attraverso il programma NETPRO nel pacchetto Step7, è stata attivata la funzionalità di scambio dati, usando la CPU 315 come ID principale, una specie di gateway con tutte le altre, utilizzando il Collegamento S7, nella configurazione. In questo modo tutti i PLC han il loro ID nella rete.

 

Poi nelle varie CPU, utilizzando i blocchi di sistema FB12 e FB13, chiamati anche BSEND e BRCV, impostando dei DB di appoggio, vengono scambiati tutta una serie di info, tra consensi e stati macchina. Questo risulta molto utile perché evita di tirare una marea di cavi tra le macchine.

Adesso ci troviamo nella situazione dove verranno inserite delle nuove macchine, le quali per ovvie ragioni andranno a montare PLC della famiglia 1500, e mi trovo quindi nella situazione di dover fare uno scambio dati tra le macchine nuove e quelle esistenti.

Il progetto è sviluppato su Simatic Step 7 v5.5

Come posso integrare le due cose? Potete darmi qualche suggerimento?

Link al commento
Condividi su altri siti


Due modi secondo me.

Get/Put. attivi la comunicazione get/put e scambi i dati. questa assomigli a quella che usi già. in alternativa Comunicazione iDevice.

nel progetto della cpu 1500 crei con questa funzione un'interfaccia in byte. generi il file gsdml che importerai in S7. vedrai i byte come ingressi e uscite vere.

Link al commento
Condividi su altri siti

3 ore fa, walterword ha scritto:

se non vuoi avere rogne con le versioni dei file gsd o gsdml che vengono prodotti prendi un disaccoppiatore di rete DP/PN

Per scambio dati con get e put non servono file gsd/gsdml.
Addirittura, basta configurare il collegamento su una sola cpu.
È a costo zero, semplice da configurare e affidabile.

La soluzione con accoppiatore la considero ottima nel caso  le cpu siano su reti che devono rimanere separate.

Modificato: da batta
Link al commento
Condividi su altri siti

Ciao a tutti,

innanzi tutto vorrei ringraziarvi tutti per le vostre risposte, sempre utili e che permettono a me e ad altri di comprendere cose nuove o approfondire aspetti magari sconosciuti.

 

Il 25/12/2020 alle 21:39 , batta ha scritto:

Per scambio dati con get e put non servono file gsd/gsdml.
Addirittura, basta configurare il collegamento su una sola cpu.
È a costo zero, semplice da configurare e affidabile.

La soluzione con accoppiatore la considero ottima nel caso  le cpu siano su reti che devono rimanere separate.

 

Alla fine ho optato per la comunicazione PUT/GET, i dati da comunicare non erano molti ed è stata la via più semplice.

 

Ho comunque provato la comunicazione iDevice, che non avevo mai fatto, ho creato la il file GSD e caricato in Step 7. Lo scambio dati avveniva correttamente se non che al momento che io tolgo l'alimentazione, o stacco il cavo di rete nella cpu 1500, la cpu 300 va correttamente in errore, al ritorno della comunicazione della 1500 però, la cpu 300 va in stop. Probabilmente c'è ancora qualcosa da configurare, oppure un OB di sistema caricare. Non ho approfondito la cosa, perché il tempo è sempre tiranno, ma se avete qualche suggerimento, potrebbe essere utile ad altri.

Buone feste a tutti.

Link al commento
Condividi su altri siti

Put-Get sono due generiche funzioni per leggere e scrivere in rete tra plc siemens.

C'e' la tecnica del I/O device, un S7-300 può generare un gsd ed essere implementato via hw da un 1500 come generico device.

Personalmente, nel ultimo periodo (cassa integrazione) ho fatto poche esperienze riguardanti il problema che esponi.

Però trovi spesso grandi macchine o impianti con il vecchio S7-400. già sostituirlo con S7-319 per avere il safe è un'impresa. Ho dovuto riscrivere tutta la parte comunicazione in quanto cambiano le send e le receive su tcp ed un sacco di altre cose.

In un caso ho risolto semplicemente con un disaccoppiatore DP/PN. Lato DP per la S7-400 e lato PN per le nuove S7-300 e gli ultimi 1500 compresi gli Et200 SP.

E' un dispositivo tipo il dp/dp coupler , lo metti in hw ed assegni gli offset iniziali delle aree dati. Il sincronismo , la comunicazione e tutto il resto se la smazza la cpu master.

ciao  

Link al commento
Condividi su altri siti

Il 25/12/2020 alle 21:39 , batta ha scritto:

Per scambio dati con get e put non servono file gsd/gsdml.
Addirittura, basta configurare il collegamento su una sola cpu.
È a costo zero, semplice da configurare e affidabile.

La soluzione con accoppiatore la considero ottima nel caso  le cpu siano su reti che devono rimanere separate.

Esatto.

Link al commento
Condividi su altri siti

2 ore fa, ken ha scritto:

si ma perchè spendere soldi e complicarsi la vita quando hai pn/pn. perchè usare il profibus?

Questo è chiaro: nel caso si disponga di entrambe le reti, il Profibus nemmeno lo prendo in considerazione.
Ma se le reti devono rimanere separate, ecco che un accoppiatore PN/PN ti risolve tutti i problemi.
Esistono poi anche accoppiatori PN/DP (stranamente, mi pare si trovino solo di terze parti, e non a catalogo Siemens), che ti permettono di scambiare dati tra una CPU con porta PN ed una "vecchia" CPU che dispone solo del Profibus.

Link al commento
Condividi su altri siti

  • 7 months later...

Buongiorno a tutti, 

ma allaccio al discorso.. sto facendo un  nuovo progetto con diverse cpu 1500 e dovrò scambiare dati con altri PLC sempre stessa famiglia (siamo già d'accordo che saranno nella stessa rete con gli ip definiti). Abbiamo optato per la soluzione put/get e nel fare delle prove mi blocco quando vado a configurare più di collegamento. 

Presumendo che si possa fare, cioè da plc 1 voglio fare put/get con plc 2 (altro fornitore, stessa rete, ip assegnato) ma voglio fare anche put/get con plc 3 (diverso fornitore ancora, stessa rete, ip assegnato). Quando faccio la configurazione del secondo put/get vado a creare un secondo collegamento con un ID diverso dal primo. 

Entrambi collegamenti configurati come "partner sconosciuti" con ip diversi. 

Aggiungendo il secondo collegamento non mi funziona più neanche il primo!

Ovviamente tutto ricompilato e caricato..

 

Qualche idea? 

 

Grazie

Link al commento
Condividi su altri siti

2 ore fa, Zeljko ha scritto:

ma allaccio al discorso..

 

Non sei un nuovoutente, dovresti sapere che il regolamento (punto "s"), vieta gli accodamenti onde evitare confusione nelle risposte. inoltre questa discussione èferma da 20 mesi!

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...