Vai al contenuto
PLC Forum


Scrittura dint con scu041


Messaggi consigliati

Inserito:

Salve, vi chiedo aiuto, non riesco a scrivere una dint con un modulo scu041 con protocollo modbus in un inverter che da manuale richiede int32 , premetto che da hmi riesco senza problemi , grazie in anticipo


Inserita:

Dacci qualche ulteriore dettaglio. Per esempio, come fai, usi una FB? Usi un software tuo? Settaggi della SCU?

Inserita:
29 minuti fa, gig1978 scrisse:

con protocollo modbus

 

Se non ricordo male il protocollo modbus la vora a byte, quindi penso dovresti spacchettare l'intero da 32 bits i 4 bytes, se già non lo fa il drive della tua interfaccia.

Inserita:

No, il modbus trasferisce registri da 16bit (word), ma ci sono comandi dove si può scrivere o leggere più registri. Il come farlo dipende dalle routine che usa.

Inserita:

Scusate il ritardo , uso delle fb trovate in internet , con la funzione 06 riesco a scrivere una sola word ma con due non pensò che devo usare la funzione 10 (credo) perché in effetti sono due parametri dell’azionamento, in effetti scrive qualcosa ma non sono i valori che scrivo 

Inserita:

La funzione 0x06 scrive un solo registro, quindi 16 bit. Per scriverne più di uno (due per 32 bit), devi usare la 0x10 (16 in decimale), dove devi specificare il registro iniziale, quanti ne vuoi scrivere e ovviamente poi il buffer con i dati da scrivere nei registri.

Una cosa cui fare attenzione: di base il modbus non gestisce registri a 32bit, per cui in effetti te scriverai due registri a 16bit consecutivi, ma l'ordine (più e meno significativo) lo devi verificare col manuale dell'inverter, siccome non tutti hanno la stessa sequenza.

Inserita:

Si allora è come pensavo ho indicato il primo registro ho specificato quanti ne devo scrivere, come indico il buffer?

Inserita:

Questo è quello che ho trovato nel manuale”I valori a 32 bit sono formati da 2 registri affiancati da 16 bit.”

Inserita:

Per favore, dimmi quali FB stai usando, altrimenti non so come sono organizzati i dati

Inserita:

non ho il computer con me , se sei così gentile da aspettare lunedì mi faresti un grande favore

Inserita: (modificato)

eccomi , allego i dettagli della fb

EFB46B41-356D-479B-9396-81BE8D7A9EFE.jpeg

 

 

 

Modificato: da gig1978
Inserita:

Ciao. Allora, ho ritrovato quella FB, è da MyOmron. Era fatta per scrivere UN SOLO registro (parameter) in un inverter, ed è bloccata con un solo parametro (quindi 16 bit).

Anche se internamente usa la funzione 0x10 cioè write multiple register.

Andrebbe modificata per l'utilizzo con più registri consecutivi. Se Dio vuole, le FB di Omron non sono protette e le si possono modificare. Io quelle dell'EasyModbus per CP1 me le sono rifatte ex novo, non mi piacevano. Potresti semplicemente modificare quella. Non ho al momento molto tempo per fartelo io. Non è difficile, devi solo prevedere un ulteriore valore in ingresso, modificare a 2 il numero di registri da scrivere e preparare il buffer di scrittura.

Inserita:

quella che ho io e aperta , infatti ho modificato uint in dint e ho modificato 2 al numero di registri ,ma niente , te la posso girare in qualche modo?

Inserita: (modificato)

Eh, non basta quello, deve essere preparato il buffer ammodo.

Ok, inviala per email diretta

Ma non avere troppa furia, ho un collaudo a breve

 

Modificato: da Ctec
Inserita:

Sei un grande è ovvio che gli darai un occhiata quando puoi

Inserita:

Manda un MP a Ctec per chiedere la mail

Inserita:

Esatto. Poi la FB modificata la pubblicheremo qui sul forum, in modo che chiunque possa usufruirne.

L'unica cosa è che non ho PLC con modulo seriale separato, quindi la fase di test e debug la dovrai fare te...

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