I valori Modbus di Weintek sono errati: offset dei registri, tipi di dati e ordine delle parole

Una temperatura di 25,0 appare come 250. Un valore negativo diventa un numero superiore a 65.000. Un valore in virgola mobile si trasforma in un intero enorme. Questi sintomi possono verificarsi anche quando la comunicazione Modbus funziona.

Sommario

La domanda utile è: quali byte sono arrivati e come li ha interpretati l'HMI?

Iniziare dall'indirizzo, poi verificare tipo, ordine delle parole e scala. Cambiarli insieme può generare un numero plausibile senza risolvere la causa.

Guida a progetti EasyBuilder Pro che leggono Modbus TCP o RTU. Tipi di indirizzi e opzioni dipendono da driver e versione software.

Leggere i registri grezzi prima di cambiare il display

Salvare il progetto HMI e scegliere un valore errato verificabile indipendentemente.

Per il valore raccogliere:

  • Server, stazione o identificativo unità.
  • Voce della mappa registri e convenzione d'indirizzo.
  • Area input register o holding register.
  • Lunghezza, tipo dati, ordine parole e scala delle unità.
  • Indirizzo dell'oggetto HMI e formato numerico.

Se possibile, leggere singoli registri da 16 bit in esadecimale usando oggetti temporanei di sola lettura. Confrontare con monitor server o risposta acquisita. Considerare conversioni driver già attive: anche la diagnostica HMI può mostrare dati convertiti.

Non scrivere pattern di prova su setpoint o registri d'uscita attivi. Usare dispositivo isolato o area test riservata.

Se l'oggetto scompare o la comunicazione fallisce, ripristinare prima la lettura. La guida separata su oggetti HMI Weintek che scompaiono durante Modbus tratta quel problema.

Il registro 40001 e l'indirizzo 0 possono indicare la stessa posizione

Gli indirizzi nelle richieste Modbus partono da zero. Ogni produttore mappa le variabili su questi indirizzi. Il riferimento nel manuale può quindi differire da quello da inserire nell'HMI. Protocollo applicativo Modbus V1.1b3, sezioni 4.3–4.4.

Per dispositivo con riferimenti convenzionali holding register:

DescrizionePrimo holding registerUndicesimo holding register
Riferimento convenzionale4000140011
Indirizzo protocollo da zero010
Indice registro da uno111

Mappatura illustrativa, non valida universalmente per ogni manuale. Il produttore può indicare direttamente l'indirizzo del protocollo, anche in esadecimale.

La guida MODBUS TCP/IP standard Weintek elenca gli indirizzi 3x E 4x che iniziano da 1. Controllare la convenzione del driver prima di applicare un offset preso da altro client. Guida Weintek MODBUS TCP/IP, pagine 1–2.

Un errore di un indirizzo può restituire dati validi ma del parametro adiacente, o combinare metà di due valori a 32 bit. Una risposta riuscita non prova l'indirizzo corretto.

Controllare anche l'area: funzione 03 legge holding register, funzione 04 input register. Il solo numero dell'indirizzo non basta. 

Hai bisogno di un Altivar Drive di ricambio?

Scopri i nuovi dischi rigidi originali Altivar per interventi di manutenzione, risoluzione dei problemi e sostituzione.

schneider ATV320 (1)

Gli stessi bit possono indicare numeri diversi

Ogni registro Modbus contiene 16 bit. L'applicazione decide se significano intero senza segno, con segno, BCD, flag o parte di valore più grande.

Gli esempi calcolati mostrano l'importanza del formato:

Sequenza grezzaInterpretazioneRisultato
0xFF9CIntero 16 bit senza segno65436
0xFF9CIntero 16 bit con segno−100
0x1234Intero binario senza segno4660
0x1234BCD compattato1234
0x41480000Float IEEE 754 a 32 bit12.5
0x41480000Intero 32 bit senza segno1095237632

Le ultime due righe usano gli stessi 32 bit. Cambiare decimali non trasforma la lettura intera in float.

Il momento dell'errore dà indizi: positivi corretti ma negativi enormi indicano segno errato; un contatore errato oltre 32.767 suggerisce interpretazione signed 16 bit.

Per 32 bit su due registri da 16, verificare entrambi e l'indirizzo iniziale. Selezionare formato 32 bit non sposta l'indirizzo né valida il secondo registro.

Ordine delle parole e dei byte sono controlli distinti

Modbus invia prima il byte alto del registro da 16 bit, ma questo non stabilisce l'ordine delle due parole da 16 bit in un valore a 32 bit. Seguire la mappa del server. 

Esempio: il float 12,5 ha pattern IEEE 754 0x41480000:

Disposizione registri del serverRegister NRegister N+1
Parola alta prima0x41480x0000
Parola bassa prima0x00000x4148

L'HMI deve ricompor le parole nel pattern previsto prima di interpretarlo come float.

Per distinguere gli scambi, etichettare i quattro byte A B C D:

OperazioneSequenza byte risultante
Nessuno scambioA B C D
Scambiare le due parole a 16 bitC D A B
Scambiare i byte in ogni parolaB A D C
Eseguire entrambi gli scambiD C B A

«Swap» è ambiguo nel rapporto di manutenzione. Annotare l'operazione esatta e dove è stata applicata.

Dove Weintek gestisce la conversione

La guida TCP/IP descrive System Parameter Settings → Device Properties → Conversion per i tipi supportati. Identifica inoltre 5x come accesso holding register con doppio word swap. 5x è una convenzione del driver, non una nuova area standard Modbus. 

La guida RTU e RTU-over-TCP indica di selezionare 3x_Double O 4x_Double con conversione ABCD → CDAB. Applicare le istruzioni del driver realmente usato. 

Prima di aggiungere conversioni, controllare macro e trasferimenti già presenti. Due swap possono annullarsi. Cambiare un'opzione di dispositivo può alterare oggetti già corretti.

Trova il PLC giusto per il tuo sistema

Scopri nuove CPU PLC originali, moduli I/O, alimentatori e unità di comunicazione per progetti di manutenzione e automazione.

schneider PLC

Applicare la scala dopo la corretta decodifica

Se il dispositivo esprime temperatura in decimi di grado come intero con segno, un valore grezzo 253 corrisponde a 25,3 °C.

Questo differisce da un dispositivo che trasmette direttamente il float 25.3.

Tracciare il percorso del valore:

Registri server → numero decodificato → conversione unità → valore visualizzato

Identificare ogni fase. Se il PLC converte già l'unità e l'HMI divide di nuovo, la grandezza è errata anche con indirizzo e word order corretti.

Decimali, scala lineare e conversione unità devono avere uno scopo documentato. Non modificarli solo finché un valore sembra plausibile.

Confrontare più punti: a zero non si vede un errore ×10, e un solo punto intermedio può nascondere offset errato.

Aggiorna o sostituisci il tuo HMI

Trova pannelli HMI compatibili per modelli fuori produzione, aggiornamenti di macchine e sostituzione dell'interfaccia operatore.

interfaccia utente schneider

Domande frequenti

No. Prima distinguere riferimento convenzionale, indice da 1 o indirizzo protocollo da 0 nel manuale. Poi verificare la conversione del driver. Sottrarre 1 due volte crea un nuovo errore di offset.

Per 32 bit servono due registri dello stesso valore, nell'ordine corretto e con il tipo numerico previsto. Confrontare le due parole grezze prima di cambiare scaling.

No. Weintek usa 5x per holding register con scambio di parole e lettura funzione 03. Cambia l'interpretazione, non il banco di registri. 

Verificare le funzioni di scrittura supportate dal server, oltre a indirizzo e permessi. Il driver TCP Weintek usa funzione 16 per 4x in scrittura e funzione 06 per 6x in scrittura di un solo registro. Il dispositivo può richiedere funzioni di scrittura diverse da quelle di lettura.

Sì. Un registro adiacente può contenere un dato simile; una conversione errata può apparire plausibile a un punto operativo. Confrontare più valori noti, indirizzo, parole grezze e unità. La plausibilità non sostituisce la mappatura verificata.

Alimenta i tuoi progetti con HMI Omron, Weintek e Proface nuovi e originali: in stock, subito disponibili!

Verificare la correzione oltre un oggetto

Quando parole grezze e risultato coincidono, modificare solo l'impostazione errata in copia controllata del progetto.

Verificare positivi, negativi se applicabili, frazioni e limiti di esercizio. Se si cambia conversione del dispositivo, ricontrollare tutti gli oggetti sullo stesso driver.

Verificare poi allarmi, trend, ricette e macro collegati. Correggere il display numerico non garantisce che altre funzioni leggano correttamente gli stessi registri.

Convalidare separatamente la scrittura: lettura corretta non prova indirizzo, codifica o funzione scrittura. Testare comandi solo con procedura approvata, backup e piano di ripristino.

Se si valuta di sostituire l'HMI, fornire Kwoco modello pannello, interfacce e requisiti progetto. Valori errati da soli non dimostrano guasto hardware.

Contattaci

Basta compilare il tuo nome, indirizzo email e una breve descrizione della tua richiesta in questo modulo. Ti contatteremo entro 24 ore.

Prodotti in saldo

Unità CPU Omron CJ2M-CPU32

Fornitore di PLC Omron CJ1W-PA202 in Cina

Servoazionamento Mitsubishi serie MR-JE 400w MR-JE-40A

Hai bisogno di un incontro veloce?

Condividi il tuo modello o le specifiche e il nostro team ti aiuterà a trovare rapidamente la soluzione giusta.

Potresti trovare interessanti anche questi argomenti

Richiedi un preventivo

*Rispettiamo la tua privacy e manteniamo le tue informazioni riservate.