Jump to content
PLC Forum


Modbus


francescot
 Share

Recommended Posts

Salve a tutti, dovrei (prima volta che uso il modbus) comunicare con una quindicina di visualizzatori in Modbus con una cpu 572623 con la scheda SCY 11601.

Qualcuno potrebbe darmi qualche dritta (devo solo leggere dati), è sufficiente eseguire READ_VAR magari alternativamente ai vari indirizzi?

Come devo gestire le aree di memoria del PLC? Non sono riuscito a trovare documentazione adeguata a tal proposito.

Grazie mille e buon lavoro.

Link to comment
Share on other sites


ES. lettura in slaves con indirizzo 1

lettura word

indirizzo da leggere indicato in MD 10

n° di word indicato in mw12

valori letti depositati inda mw 20 a mw 23

dignostica comunicazione inda mw 30 a mw 33.

READ_VAR(ADR#0.1.1,'%MW',%MD10,%MW12,%MW20:4,%MW30:4)

Buone Vacanze a chi le fa.

Link to comment
Share on other sites

Stefano Sormanni

Attenzione perchè ADR#0.1.1 significa Slot 0, Canale 1, Indirizzo Modbus 1. La SCY11601 ha solo il canale 0 (la SCY 21601 ha anche il canale 1) quindi dovrebbe essere ADR#x.0.1

Link to comment
Share on other sites

Vi ringrazio molto per le risposte, in effetti inserendo ADR#2.0.x riesco ad indirizzare i vair dispositivi.

Il problema è che quando faccio una lettura forzando manualmente il bit che abilita il READ_VAR non ho problemi, quando vado a leggere in sequenza 5 dispositivi "multiplexando" i READ_VAR ottengo, per ogni richiesta, una ricezione con codice d'eccezione e sembra che non si aggiornino i dati.

Il cavo di comunicazione è senza adattatore di linea, potrebbe essere questo?

Grazie e buon lavoro.

Link to comment
Share on other sites

dieri che il problema non e' il cavo visto che:

<<una lettura forzando manualmente il bit che abilita il READ_VAR non ho problemi>>

ricercherei piu nel multiplex !

hai provato a scrivere le isctruzioni read_var 5 volte ed interbloccarle tra di loro con il bit di attvita?

cosi da farle leggere una alla volta ?

usi il multiplex perche hai problemi di spazio ?

personalmente se non ho problemi di spazio io non uso multiplex anche perche se insorgono dei problemi e' piu "difficile" vederli!

bye

Link to comment
Share on other sites

Per multiplex io intendevo che lancio una read_var, e solo dopo che il bit di attività mi si è abbassato abilito la read_var dell'indirizzo successivo e così via. Secondo te così è corretto?

Link to comment
Share on other sites

Stefano Sormanni

devi fare così!, se però ricevi un codice d'eccezione significa che gli chiedi cose che non sono contemplate oppure che non riesce a collocarle (verifica es. le word di controllo della comunicazione).

prova poi a inviare il READ_VAR dopo 1 sec (con %S6) così riuscirai a vedere anche il codice di errore della 2a word di controllo.

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...