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




Comunicazione S7200-s7300


Messaggi consigliati

Inserito:

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.


Matteo Montanari
Inserita: (modificato)

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
Gabriele Corrieri
Inserita:

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

Inserita:

si le funzioni sono X-GET e X-PUT ma il db da dichiarare e' sempre il DB 1 corrispondente alle aree VB dell's7 200

Inserita:

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.

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

Inserita:

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:

Inserita:

Ok collegamento riuscito.

Tuttavia o natato che lo scambio di stato dei segnali tra i due patner e visibilmente ritardato è normale ?

Matteo Montanari
Inserita:

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.

  • 3 weeks later...
Inserita:

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.

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