Vai al contenuto
PLC Forum


Comunicazione S7200-s7300


roma

Messaggi consigliati

Salve a tutti

Dovrei realizzare una comunicazione tra un plc s7300 (cpu 315 2DP)e un s7 200 (cpu 226) utilizzando il cavo mpi.

Da informazioni ricevute dalla siemens posso effettuare questo tipo di collegamento l'importane e rispettare la stessa velocita di comunicazione delle porte.

A questo punto avrei bisogno del vostro aiuto

se qualcuno ha esperienza o ha già realizzato un progetto simile le sarei molto grato dell'aiuto.

Link al commento
Condividi su altri siti


Matteo Montanari

Link al sito sito Siemens dove è spiegato il collegamento ta S7-300/400 e S7-200

devi configurare la porta del S7-200 con velocità di MPI (187,5)

e nel programma del Master (S7-300) interpellare il nodo MPI (stesso nodo utilizzato come PPI) del S7-200, leggendo e scrivendo area di dati.

Modificato: da keosmm
Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao

preciso, solo che devi usare le funzioni X-GET per leggere e X-PUT per scrivere, indirizzo della controparte è l'indirizzo del 200, il DB è il numero 0 (zero) per la memoria V)

Ciao

Link al commento
Condividi su altri siti

Grazie delle informazioni

rimane un dubbio non capisco cosa scrivere nel campo var_addr =

se devo leggere o scrivere nella variabile vb100 della cpu 226

se inserisco ab 4 scrivo nel byte 4 della cpu 226 e funziona.

Link al commento
Condividi su altri siti

se devo leggere o scrivere nella variabile vb100 della cpu 226

Prova: P#DB1.DBX100.0 BYTE 1

P# = Puntatore del bit...

DB1 = Blocco memoria V

DBX100.0 = V100.0 (si punta sempre a un bit)

BYTE 1 = dimensione di 1 byte.

Link al commento
Condividi su altri siti

Ciao,

Come vedemmo anteriormente nelle comunicazioni Multimasters, le CPU´s delle squadre S7 dispone di un tipo di comunicazione via MPI chiamato allaccio S7 (Comunicazione tra S7 300 e S7 200 mediante unioni non configurate).

Dette unioni che si realizzano in due interlocutori col fine di intercambar informazione, possono essere configurati (o statici) o non configurati (dinamici).

La coerenza nell'informazione trasmessa mediante questo metodo nelle CPU´s

300 sarà in qualsiasi caso sempre di 8 byti come massimo.

Una delle caratteristiche più interessanti dell'utilizzo di unioni no

configurati per la comunicazione si trova nel bonifico di informazione via

MPI tra S7 22x e squadre S7 300/400.

Supponiamo che desideriamo comunicare una squadra S7 300 con un altro S7 224.para

inviare e ricevere informazione via MPI. In prima istanza collegheremo entrambe le squadre

fisicamente. Di seguito realizzeremo una semplice programmazione nella squadra 300,

come mostra il programma aggiunto. In primo luogo vedremo come leggere una zona di

memoria di un 200 dal 300. Per ciò utilizzeremo la SFC67 (X_GET), addetta di

realizzare la comunicazione di lettura in un'unione non configurata. Il programma nell'OB1 è

il seguente:

CALL SFC 67 / / XGET: FUNZIONE DI ACCOGLIENZA PER UNIONI NON CONFIGURATE

REQ :=E124.7 / / PETIZIONE DI ACCOGLIENZA

CONT :=M100.0 / / CONTROLLO DI UNIONE

DEST_ID :=W#16#3 / / DIREZIONE MPI DELL'INTERLOCUTORE

VAR_ADDR:=P#M 0.0 BYTE 2 / / AREA DELL'INTERLOCUTORE A LEGGERE E VOLUME

RET_VAL :=MW2 / / RITORNO DI ERRORE

BUSY :=M4.0 / / INDICATORE DI ACCOGLIENZA

RD :=P#M 50.0 BYTE 2 / / AREA DOVE LASCIARE I DATI RICEVUTI

Per la scrittura di parametri nella squadra S7 22x dal S7 300 utilizzeremo

la funzione SFC68 (X_PUT). La chiamata alla funzione ha il seguente aspetto:

CALL X_PUT

REQ :=E4.6 / / segno di attivazione della scrittura

CONT :=M100.1 / / parametro di controllo

DEST_ID :=W#16#3 / / direzione dell'interlocutore MPI

VAR_ADDR:=P#A 0.0 Byte 2 / / zona a memoria a scrivere nell'interlocutore

SD :=P#M 90.0 Byte 2 / / fonte dell'informazione a scrivere

RET_VAL :=MW6 / / parola di stato

BUSY :=M4.1 / / autobus occupato

Orbene lascio una domanda nell'Aria, se vogliamo realizzare un driver di comunicazioni diretta via Profibus e non MPI/PPI che elementi disponibili ci sono? :blink:

Link al commento
Condividi su altri siti

Matteo Montanari

devi attendere sia il ciclo di scansione del "trasmettitore" sia il ciclo di scansione del "ricevitore".

dipende sempre da cosa devi fare con i segnali scambiati tra le CPU.

normalmente si utilizza un conteggio, sia per verificaare l'effettiva comunicazione sia per rendere "aggiornati" i dati.

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao

Nelle unioni col S7-200 bisogna tenere in conto che il S7-200 solo può essere partner passivo. La Comunicazione tra il S7-300 / 400 ed il S7-200 attraverso MPI si può fare anche attraverso Profibus DP.

Nella comunicazione basilare unilaterale bisogna richiamare alla funzione del sistema SFC67 (X_GET) per leggere dati di stazioni passive e la funzione del sistema SFC68 (X_PUT) per scrivere dati nella stazione passiva (Servitore). Questi moduli si chiamano solo dalla stazione attiva e per farlo la CPU deve stare in Stop. Il ciclo di scambio di dati dipende dal ciclo di scan del patner passivo (S7200) vedere nella configurazione.

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