Vai al contenuto
PLC Forum


Lettura Dinamica Dei Registri Con Cx-Protocol


valeria.dea

Messaggi consigliati

Ciao a tutti.

Lavoro su un PLC Omron CJ2M collegato in 485 con una centralina Motortech dalla quale vorrei leggere il contenuto di alcuni registri in sequenza. Utilizzo quindi la PMCR per implementare la comunicazione in ModBUS-RTU. Quello che vorrei realizzare è una lettura dinamica dei registri, ovvero decidere volta per volta quanti registri vorrò leggere (in questo caso l'indirizzo del registro di partenza invece sarà fisso).

Dal CX-Programmer darò in pasto alla PMCR l'area di memoria in cui è contenuto il numero di registri che vorrò leggere.

Il messaggio da inviare è il seguente

<a>+[03]+[0B38]+~(R(3),2)+<c>

dove vado a leggere dal 3° membro della struttura che passo alla PMCR, il valore che mi indica il numero di registri che voglio leggere.

Il messaggio di risposta dovrebbe contenere il valore in byte che attendo come risposta (al netto di indirizzo modbus, function e crc), mentre nel messaggio di invio la costruzione del frame modbus richiede un valore che intende un numero di registri da 16bit, quindi la metà.

Se in ricezione al messaggio inviato ci metto qualcosa di questo tipo

<a>+[03]+(R(3),1)+(W(13),R(3))+<c>

mi leggerà un valore dimezzato di registri perchè il valore che gli passo lo interpreta come numero di byte e non come numero di registri a 16bit.

C'è qualcuno che conosce la maniera per dirgli qual è il valore corretto oppure dovrò ovviare prevedendo un membro in struttura che mi dica anche il valore dei byte?

Sarebbe più soddisfacente fare il lavoro "pulito" e non dovergli ripetere una info già interpretabile.

Spero di aver spiegato bene il caso.

Vi ringrazio.

Saluti

Valeria

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