Vai al contenuto
PLC Forum


S7 Cp341 Rs422/485 - Comunicazione Modbus


rosatifrancesco

Messaggi consigliati

rosatifrancesco

Salve,

volevo sapere se qualcuno di voi a esperienza su questa scheda di comunicazione CP341 RS422/485.

Io avrei da mettere a disposizioni delle aree di memoria della cpu s7 313C per andare poi a leggere e a scrivere in modbus con un master profibus.

Le domande sono le seguenti:

Come faccio a impostare la comunicazione e le aree di memoria?

Posso provare il tutto usando come master modbus Hyper terminal del pc? (usando ovviamente un convertitore RS232--->RS485

Grazie

Link al commento
Condividi su altri siti


leggere e a scrivere in modbus con un master profibus.

???

impostare la comunicazione e le aree di memoria

apri la configurazione hardware e clicca sulla scheda: vedrai il pulsante "parametri"

lì configuri il protocollo modbus e le aree DB e M e I e Q e T

una volta configurato il protocollo non devi fare nient'altro nel software.

provare il tutto usando come master modbus Hyper terminal

con Hyper terminal vedi le risposte modbus sì

Link al commento
Condividi su altri siti

rosatifrancesco

grazie per le informazioni,

ma oltre a fare questo non devo fare niente altro:non devo caricare nessun altro blocco?? FB80,FB7,FB8 insomma non ci ho capito un beep..

Inoltre come devo impostare hyper terminal per attivare e provare la comunicazione??

Grazie

Link al commento
Condividi su altri siti

sì ok scusa ma lo davo per scontato...

devi copiare i blocchi FB80 FB7 FB8 DB80

fai la chiamata alla FB80 e inserisci i dati richiesti

in OB100 (come da esempio) fai l'init della scheda

Lascia stare hyper terminal

sarebbe meglio scaricare un simulatore modbus: ce n'è un'immensità in rete

Link al commento
Condividi su altri siti

rosatifrancesco

Grazie ancora ma devi capire che io sono nuovo di queste cose quindi ti chiedo di avere una attimo di pazienza:

1) faccio la configurazione hardware, selezionando sotto le proprietà, parametri della scheda il driver slave (modbus esclavo) e poi cliccando sulla busta del protocollo imposto sotto "modbus-slave" la velocità di trasmissione i bit di controllo e l'indirizzo slave "slave address", Poi sotto "FC 03,06,16" inserisco la DB che io voglio scambiare, io come da default ho lasciato DB1. Qua dentro non devo fare nessuna altra impostazione vero?? Lo "slave address" è riferito a quello che poi metto dentro FB80 (LADDR)?

2)carico i blocchi FC7,FC8,FB80 (qua come LADDR intende lo stesso numero che ho messo sotto parametri (slave address)?, OB100 (inizializzazione scheda), DB1 (che è quello che scambio) e in OB1 faccio la call a FB80.

3) io nell'esempio che ho c'è anche un DB80 ("istanza per FB80" ma devo caricare anche quello??

Così facendo il master che punta a questo indirizzo slave va a leggere e a scrivere la mia DB1. giusto?

Per testare il tutto io ho trovato un modulino di conversione rs232 a rs485 per usare il pc come master..mi sai però dire un buon link per scaricare un simulatore modbus?

Ti ringrazio infinitamente del tuo tempo.

Ciao

Link al commento
Condividi su altri siti

Qua dentro non devo fare nessuna altra impostazione vero??

no devi anche configurare la tendina Limits e rimetti come limiti la tua DB1.

devi configurare anche la tendina Interface e metti quanti fili hai.

Lo "slave address" è riferito a quello che poi metto dentro FB80 (LADDR)?

no. questo indirizzo si riferisce al primo indirizzo E del modulo CP341 che trovi nella configurazione Hardware. Tipicamente 272 o qualcosa così...

3) io nell'esempio che ho c'è anche un DB80 ("istanza per FB80" ma devo caricare anche quello??

certamente la DB80 contiene tutti i dati per far lavorare la scheda CP341

un buon link per scaricare un simulatore modbus?

un ottimo simulatore si chiama modscan32 (Win TECH Software) DEMO

Link al commento
Condividi su altri siti

rosatifrancesco

ciao,

sto provando il tutto, e ti volevo chiedee una delucidazione...con questo software il pc riesce ad emulare una rs485 o ci devo inserire nel mezzo un convertitore Rs232---> rs485??

grazie ancora

Link al commento
Condividi su altri siti

rosatifrancesco

ciao,

sono sempre io, la cpu è impostata correttamente ma adesso non riesco a capire se con il mod scan 32 imposto correttamente il discorso:

i collegamenti hardware sono i seguenti

rs232 pc -------> convertitore SYS-SCU01-OEEI (rs485)

9pinfem 9pinmaschio

2 rxd-------> txd

3 txd-------->rxd

7-8ponte 4-5ponte

5 gnd-------->9 gnd

riparto dal convertitore con due fili SDA(S-), SDB(S+)

Sul connettore a 15 poli che va su cp341 sul pin 11 ----->SDA(S-) sul pin 4 SDB(S+)

Se mi fornisci una mail ti invio il mio progetto Step7 così mi potresti controllare se è tutto ok e di conseguenza dirmi come devo impostare il modscan32 per riuscire a vedere qualcosa.

Lo so che ti sto rompendo altamente le scatole, ma ti chiedo gentilmente di aiutarmi, presto devo partire e non riesco a cavarci le gambe.

Ti ringrazio per la tua infinita gentilezza e spero che un giorno (anche se la vedo dura visto le tue conoscenze) riuscirò a darti una mano anche io.

Grazie ancora

Ciao

Link al commento
Condividi su altri siti

9pinfem 9pinmaschio

2 rxd-------> txd

3 txd-------->rxd

7-8ponte 4-5ponte

5 gnd-------->9 gnd

Attenzione che potrebbe essere necessario invertire i fili 2 col 3 (magari li inverte all'interno il convertitore... magari)

I ponti potrebbero dar fastidio.

E normalmente il 5 col 5.

Avrai preso lo schema dal tuo convertitore immagino.. non lo conosco quindi non lo so. Diciamo che normalmente il collegamento più semplice è solo:

2 -> 3

3 -> 2

5 -> 5

Se il convertitore ha degli switch (non lo so) ricorda di configurare tutto correttamente (magari degli switch per la velocità o degli switch per il 422 o per polarizzare etc.)

come devo impostare il modscan32 per riuscire a vedere qualcosa.

connection ->

tendina con "Direct Connection to COM1" ->

configuration come sulla scheda CP341 (hardware flow control non toccarlo) ->

premi su protocol selection ->

tansmission mode "STANDARD RTU" ->

premi ok ->

premi ok ->

device id = indirizzo slave

tendina con 03: HOLDING REGISTER

address 0001 = primo indirizzo word (1 equivale alla tua DB1.DBW0)

length 0100 = quante word vuoi leggere (metti un numero basso tale che non superi il numero di word dichiarate in DB1)

non appena hai "valid slave response" che incrementa allora stai comunicando

presto devo partire

dove starai mai andando???

Link al commento
Condividi su altri siti

rosatifrancesco

Tutto funziona!!!!

Grazie tanto del tuo ottimo aiuto.

Senza di te non ce l'avrei mai fatta.

Il modulo di conversione mi invertiva TXD con RXD

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