Vai al contenuto
PLC Forum


Modbus


francescot

Messaggi consigliati

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 al commento
Condividi su altri siti


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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

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 al commento
Condividi su altri siti

  • 1 month later...

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