Vai al contenuto
PLC Forum


Modbus Tcp/ip Tra 2 M340


giobos

Messaggi consigliati

Buonasera,

sono molto nuovo del forum e mi scuso per l'ignoranza. Ho fatto parecchie ricerche in questo forum ma non ho trovato qualcosa che fa al caso mio. Io ho due plc su due posti fisicamente separati dotati di moduli diversi e quindi ho 2 cpu (CPU 20302). Questi plc sono collegati ad uno switch al quale è collegato anche il pc dal quale io programmo uno dei due plc.

La cosa che voglio fare è molto semplice:

programmando il primo plc voglio comunicare al secondo plc di settare alta un'uscita di un suo modulo (facente parte del rack dove è installato chiaramente il secondo plc). Mi hanno detto che i due plc possono comunicare tramite Modbus TCP/IP. Ho guardato sulla guida di Unity Pro S ma ho fatto fatica a trovare come si fa.

Qualcuno ha qualche suggerimento?

Sono disperato perchè devo laurearmi a luglio e se non finisco mi sa che mi rimandano la laurea

Vi ringrazio tutti della collaborazione

Giovanni

P.S. mi scuso se non mi sono presentato nella sezione apposita..ma sono veramente di fretta. Lo farò comunque al più presto.

Link al commento
Condividi su altri siti


ciao,

potrei sbagliarmi (non credo),

con la porta ethernet a bordo cpu quel tipo di funzionalità non è possibile,

sulla porta ethernet è possibile solo la programmazione.

Per avere lo scambio dati modbus, almeno su una delle due cpu devi avere una scheda ethernet aggiuntiva,

cioè come scheda sul rack.

Con una di quelle schede puoi fare lo scanning I/O o le richieste modbus, e l'altra cpu semplicemente risponderà alle richieste,

ma non potrà farne.

saluti da

Valvolina

Link al commento
Condividi su altri siti

Puoi utilizzare la funzionalità di I/O scanning che dovresti trovare nelle pagine di configurazione della porta Ethernet .

Leggiti il manuale e vedrai che il tutto è relativamente semplice.

Vado a memoria : credo che la funzionalità di I/O scanning NON sia disponibile sulla porta ethernet della CPU ma sia disponibile solo sulle schede aggiuntive (NOE).

potrei sbagliarmi (non credo),

con la porta ethernet a bordo cpu quel tipo di funzionalità non è possibile,

sulla porta ethernet è possibile solo la programmazione.

Per avere lo scambio dati modbus, almeno su una delle due cpu devi avere una scheda ethernet aggiuntiva,

cioè come scheda sul rack.

Con una di quelle schede puoi fare lo scanning I/O o le richieste modbus, e l'altra cpu semplicemente risponderà alle richieste,

ma non potrà farne.

Purtroppo (o per fortuna) ti sbagli : tramite la porta ethernet della CPU è possibile gestire scambi modbus TCP/IP (o eventualmente Modbus RTU nel caso sia disponibile la porta seriale). A livello di programma occorre utilizzare le istruzioni Read_Var e Write_var.

La comunicazione può essere sia master che slave.

Link al commento
Condividi su altri siti

Grazie a tutti delle risposte!

Da quello che ho letto in giro, credo che la funzione di I/O Scanning sia disponibile solo sulle schede aggiuntive NOE.

@MAX.RISERVO

Ok ho trovato le due istruzioni (in FBD vado meglio). Il mio problema è il seguente:

come faccio a dire al PLC che programmo io (che presumo sia il MASTER) che c'è un altro PLC (presumo SLAVE) ad un certo indirizzo ip? Ma soprattutto c'è bisogno di configurarlo tramite programma? Se si, dove?

Inoltre il messaggio che devo passare è una variabile booleana, ma come faccio a dire alla CPU del secondo plc di settare alta una uscita di un suo modulo (DRA 0805), cioè che indirizzo devo dare alla CPU del primo? (sembra un discorso ingarbugliato, ma credetemi non è difficile)

Ringrazio tutti delle risposte, se ci sono manuali dove questa cosa è spiegata non esitate a dirmelo eh (ho provato a guardare sul manuale del plc ma non ho trovato esempi che fanno al caso mio)..mi rendo conto di essere un ignorante in materia.

Grazie a tutti!!!

Link al commento
Condividi su altri siti

  • 1 month later...

Ciao

comunicare tra 2 m340 è piuttosto semplice.

in linguaggio ld ingressi un fbb di nome ADDM e come input ci metti:

('Ethernet_1{139.156.2.171}') ethernte_1 sta per il nome della tua rete in comunicazione e poi indirizzo ip dell'altro plc.

l'uscita dell'fb la agganci ad un altro fbb di nome READ_VAR. non usare la linea normale per farlo ma usa la linea con la stellina.

in igresso a questo fbb metti per esempio

OBJ '%MW'

NUM- 0

NB- 2

GEST- una variabile temporanea identica sia ingresso che in uscita ARRAY 0..3 INT.

RECP- un array lungo il giusto per contenere quello che hai letto.

COSì LEGGI LA %MW0 E %MW1 sull'altro plc. lo fai in entrambi ed hai una bella comunicazione stabile e sicura su base ethernet.

Ciao

Link al commento
Condividi su altri siti

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