Vai al contenuto
PLC Forum


Scambio Dati In Ethernet Tra Cpu S7300 2dp/pn


taymyr

Messaggi consigliati

Ciao a tutti,

ho la necessità di scambiare dati attraverso le porte ethernet di tre CPU317 2DP/PN.

Ho allestito l'hardware con le CPU e uno switch. Dal PC con Step7 leggo e trasferisco i dati ai vari PLC senza problema.

Non sono riuscito però, a capire come fare per scambiare i dati tra i vari PLC.

Rovistando qua e là, ho visto che si potrebbero usare i blocchi FC5 e FC6 ma, forse causa della scarsa conoscenza che ho riguardo allo scambio dati tra PLC, non ho capito come procedere.

Nei programmi di esempio inglobati in Step7 c'è un progetto che utilizza S7 400, ma dopo le opportune modifiche non sono riuscito ha farlo funzionare comunque.

Si parla di ID, di Configurazione hardware ...

Cioè? Pensavo di sapere cosa fossero, invece ...

ACT:=M 10.0,

ID:=MW 12, //ID del collegamento in base alla progettazione

LADDR:=W#16#0100, //=LADDR 256 dec.nella config. hardware

SEND := P#db99.dbx10.0 byte 240, //Buffer con dati di trasmissione

DONE:=M 10.1,

ERROR:=M 10.2,

STATUS:=MW 16

C'è per caso qualche esempio funzionante o qualcuno che può darmi la dritta giusta?

Grazie mille

Link al commento
Condividi su altri siti


Gianmario Pedrani

Prima devi creare i vari collegamenti con net-pro che trovi in configurazione hardware, quando crei il collegamento ti assegna un id che è quello che serve a te

Link al commento
Condividi su altri siti

Scusami Gianfranco, ma l'indirizzo che mi dici è:

ID Sottorete S7: 0030 - 0006?

Se è questo, non ho capito cosa devo mettere sul campo richiesto dal FC.

Penso però, che non sia questo. Probabilmente mi sfugge ancora la corretta procedura.

Se ci sono semplici esempi a riguardo, ti prego d'indicarmeli.

Grazie ancora

Link al commento
Condividi su altri siti

Da quello che ho capito, l'esempio indicato sembra andare bene solamente se si usa una CP.

Nel mio caso invece, l'ethernet è direttamente a bordo del PLC, infatti, se cerco di mandare in RUN il PLC va immediatamente in STOP a causa di un non meglio chiarito conflitto su FC5/6.

Io credo che la differenza con l'esempio riportato, sta nel fatto che avendo io delle CPU317 con ethernet devo impostare nel NET-PRO un collegameto del tipo "Collegamento S7" e non "Collegamento ISO-on-TCP" come nell'esempio. Questo fatto provoca, credo, lo STOP del PLC.

Non so cosa fare ...

AIUTOOOO!

Ciao e grazie.

Link al commento
Condividi su altri siti

Scusami Pigroplc,

non riesco a farlo funzionare. Ho dei dubbi:

- Nel segmento 3 del FB300 cosa devo scrivere in LOC_PORT e REM_PORT

ora c'è scritto 2000. Cosa indica?

Grazie e ciao

Link al commento
Condividi su altri siti

A me non risulta alcuna FB300, l'esempio l'ho modificato a mio uso e consumo ma penso di averlo scaricato da questo link:

https://support.automation.siemens.com/WW/l...mp;x=16&y=8

il problema è che si tratta di qualche mese fa e non mi ricordo più, certo è che ho cambiato gli indirizzi IP rispetto all'esempio e poi ho cambiato il parametro DEV_ID come da tabella che trovi nell'articolo linkato

pigroplc

Link al commento
Condividi su altri siti

:thumb_yello: Questo va che è una spada!

Pigroplc ti ringrazio per il suggerimento grandioso.

:lol: Grazie a tutti quelli che mi hanno supportato, grazie al sito PLCforum e a coloro che lo hanno creato.

Ciao da Stefano

Link al commento
Condividi su altri siti

Non ciò ancora perso un minuto di tempo sopra, ma d'impressione mi sembra un po' contorto scambiare dati da 1 PLC verso 2 o più PLC. Devo trovare il tempo per fare un po' di prove.

Così d'impressione, su ogni singolo PLC che deve "parlare" con più PLC, mi sembra che vadano copiati e rinominati i blocchi FB500, FC95, FC96 e DB500.

E' la strada giusta?

Ciao e grazie

Link al commento
Condividi su altri siti

nella call del blocco sottostante c'è solamente il parametro formale relativo allo start up della comunicazione, tipicamente coincidente con l'accensione del PLC.

CALL "TSEND_TRECV_ISO1" , "T_ISO-ON-TCP_IDB"

INIT_COM:="START-UP"

Se perdi un pò di tempo ad aggiungere anche l'indirizzo IP del blocco di comunicazione richiamato all'interno (quindi altri 4 parametri per esempio di formato byte) ti basta aggiungere un altro richiamo cambiando la DB di istanza.

In tutto qualche minuto di lavoro.......

pigroplc

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