Vai al contenuto
PLC Forum


Im151 Cpu Pn In Modbus Con Gefran - Tante domande


nickS7

Messaggi consigliati

Salve a tutti,

devo far comunicare una IM151-8 CPU PN con un Rele statico di potenza della Gefran sul quale è installata una scheda Modbus Ethernet TCP (o IP??).

Ho installato e fatto tutto coma da manuale per la comunicazione Modbus di Siemens (incluso lo sblocco licenza dei blocchi FB per la comunicazione).

Ora nascono domande:

1) Modbus Ethernet TCP necessita nell'S7 dei blocchi di comunicazione Modbus o basta fare una comunicazione all'esterno del progetto in Netpro per Ethernet TCP/IP?

2) Se servono i blocchi di comunicazione Modbus-CPU PN, qualcuno mi può aiutare per capire come fare a farli parlare tra di loro?

3) ... qualsiasi ulteriore info relativa al Modbus e la comunicazione con S7 è benvenuta.

In attesa di aiuto dalla comunity di "colleghi" vi saluto dalla piovosa Germania

Modificato: da NickS7-3xx
Link al commento
Condividi su altri siti


Hai bisogno di comprare la libreria MODBUS TCP per CPU PROFINET (anche ET200S) .

In questa hai blocchi funzione per fare MODBUS TCP Server o client.

La libreria ha licenza ( legata a seriale della MMC usata) che abilita blocchi e toglie ssytem fault.

Buon lavoro

Link al commento
Condividi su altri siti

Grazie Luca,

ma se guardi/leggi ho scritto... Licenziato il tutto, acquistato etc etc etc.

Il fatto è che non ne vuole saèpere di dialogare con il GFX-4ir oin modbus.

Mi servirebbe sapere che registri puntare del modbus, se configurare la cpu come server o clilente, attiva o passiva.

Devo lòeggere 4 valori, temperatura attuale, corrente attuale, allarmi attuali e stato delle lampade irraggianti e scriverne uno solo, il Setpoint.

Qualcuno ha da adrmi qualche indicazione?

Grazie

Link al commento
Condividi su altri siti

Ciao Nick,

difficile dire cosa non funziona senza qualche codice di errore. Posso però darti una checklist di cose da vedere.

1) il GFX-4ir è sicuramente server, per cui la IM151-8 dovrà fare da client. Molto probabilmente, salvo indicazioni contrarie da documentazione, metterà a disposizione la porta TCP 502.

2) assicurati di parametrizzare in modo corretto il blocco di parametri tramite il wizard che puoi trovare sul sito della siemens, assieme a un documentino esplicativo (in italiano):

http://support.automation.siemens.com/WW/view/it/31535566

In particolare presta attenzione agli indirizzi IP e alle porte e a stabilire la connessione all'avviamento (connect at startup).

Dovrai poi definire quali registri del relè intendi mettere a disposizione della CPU.

3) Richiama il blocco modbus sia in OB100 che in OB1, nel manuale è descritto quali parametri fornire in OB100 e quali in OB1. Crea le DB che hai dichiarato nel wizard per accogliere i registri. A questo punto, cacciando tutto nel PLC, il blocco dovrebbe almeno segnalarti la connessione attiva, se così non è verifica la rete ethernet.

4) A questo punto puoi lanciare la richiesta del blocco (ENQ_ENR, se non ricordo male), ricordandoti di dire prima al blocco quali registri vuoi leggere/scrivere (nel Wizard definisci solo il massimo range possibile, la richiesta effettiva la espliciti qui).

Se non funzia, postaci il codice di errore.

buon lavoro!

Link al commento
Condividi su altri siti

Grazie,

è già un aiuto.

Il mio problema permane.

Premesso che di Modbus non so nulla, ma proprio nulla, vorrei capire che registri di modbus devo usare.

in pratica ho visto che ci sono i coils, gli holding e gli inputs più un altro di cui non ricordo il nome.

Andando per logica direi che devo usare gli inputs ma qui nasce il resto del guaio, come li devo indirizzare per andare a leggerli?

Gli inputs hanno tipologia 4 di dati, imposto questa come campo di dati ma poi non so su quale indirizzo puntare.

Per il momento il sistema mi si ferma in MODBUSPN, il bit CONNECTED è ancora false.

La mia rete è molto semplice 151PN - cavo da commercio diritto - GFX4-IR

Grazie x l'aiuto

Link al commento
Condividi su altri siti

Ciao,

per quanto riguarda gli indirizzi da puntare, questo dipende da cosa vuoi leggere dallo strumento.

Dovresti vedere nella documentazione dello strumento quali sono i registri che ti interessano, e sicuramente è riportata anche la tipologia (input, holding,...).

Per il registro in scrittura sarà sicuramente un holding.

Gli altri potrebbero essere input.

Esempio: da documentazione scopri che lo strumento memorizza i seguenti dati:

40001 temperatura attuale

40002 ...

40003 ...

40004 corrente attuale

Nel wizard imposti un'area di tipo input register, che va da 1 al 4, e ti crei la DB associata che sia lunga almeno 4 word.

Nei parametri di ingresso del blocco, poi, puoi dare l'indirizzo iniziale e il numero di registri da recuperare (per esempio, indirizzo iniziale 1, lunghezza 4 e recuperi tutta l'area).

Comunque se il bit CONNECTED non va su quando attivi ENQ_ENR, c'è qualche problema in rete.

Provato a collegarti alla 151-8 assieme allo strumento e a pingarlo?

Link al commento
Condividi su altri siti

Ciao Turbineboost,

finalmente sono riuscito a farlo funzionare.

Intanto ti ringrazio per il prezioso aiuto.

Poi per quanto riguarda il SW Siemens ... più che il SW direi il manuale.. beh, meglio lasciar perdere..

Ho impostato tutto da capo e definito la unit (che non avevo definito inizialmente) nonchè una area in un db di soli 3 word (che poi sono quelle che mi servono alla fine) e in data_typ se leggo il 4 e se scrivo il 3.

Ovviamente Siemens non si accontenta di tutto ciò, vuole anche che venga alzato un bit che identifica se il sistema deve scrivere o leggere.

Poi il tutto è stato impostato in modalità client attivo essendo il GFX un Server trasparente.

sono contento che funzioni...

Grazie

Ciao

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